{"repo":"Amjad50/plastic","free":true,"listed":false,"github":"https://github.com/Amjad50/plastic","clone":"git clone https://github.com/Amjad50/plastic.git","description":"NES emulator in rust with egui and TUI","language":"Rust","stars":582,"topics":["nes","emulator","rust","nes-emulator","hacktoberfest","ratatui","terminal","tui"],"license":"MIT","category":"cli-tools","readme_excerpt":"NES emulator in Rust plastic is a [NES][NES-wiki] emulator built from scratch using [Rust][Rust]. This is a personal project for fun and to experience emulating hardware and connecting them together. - Building and installation - Dependencies - Installing - Building - Components - Interfaces - EGui UI - TUI - Controls - Keyboard - Gamepad - License - References Building and installation Dependencies For linux, this project depends on alsa and libudev , you can install them using: Installing You can install the latest version of plastic or plastic tui using cargo: If you are using Debian/Ubuntu, you can directly install the .deb package from here If you are using Arch Linux, plastic is available in the official repositories: Building If you want to experience the latest development version, you can build Plastic yourself. For example: Components - [x] 6502 CPU, all official and unofficial instructions with accurate timing (without BCD mode). - [x] Picture Processing Unit, almost accurate with some small timing issues that would not effect most games. - [x] Cartridge and INES file handling (still missing INES2.0) - [x] Mappers: - [x] Mapper 0 - [x] Mapper 1 - [x] Mapper 2 - [x] Mapper 3 - [x] Mapper 4 - [ ] Mapper 5 (Milestone) - [ ] Mapper 6 - [x] Mapper 7 - [ ] Mapper 8 - [x] Mapper 9 - [x] Mapper 10 - [x] Mapper 11 - [x] Mapper 66 - [x] Audio Processing Unit: - [x] 2 Pulse wave(square) - [x] Triangle - [x] Noise - [x] DMC - [x] IRQ support - [x] Controller: controllable usin","default_branch":null,"files":null,"tree":[],"storefront":"/r/Amjad50","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/Amjad50/plastic/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}