All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.3.4 - 2024-11-12
- Debian package for
plastic
. .desktop
file andman
page forplastic
.- More checks in CI.
- Gamepad support for the Egui UI.
- Updated dependancies to latest versions.
- Some machines having issues with initializing audio (Amjad50/dynwave#2).
- Some bugs with keyboard controls on some terminals.
- Menu bar similar to the EGui UI to select files and save/load state, etc...
- File explorer in the terminal to open files and select games
0.3.1 - 2024-10-19
- There were some issues with the README and crates.io, so fixed that, no change to the code.
0.3.0 - 2024-10-19
- Major refactor to project structure, the emulation structure and UIs [#6]
- Used EGui instead of all the other UIs, which is cross platform
- Changed
SaveError::Other
toSaveError::SerializationError
- Removed unused
CartridgeError::Other
- Bugfix when Ui resumes while there is no cartridge
- Moving to edition 2021
- Fixed module inception error in clippy
- In CI, added
rust-audit
to check for security vulnerabilities - Improved public API, and documentation
- Moved all blargg tests into
tests/blargg_tests.rs
- Removed all sources from test roms files
- Added
save_load_test
to test save/load state feature
0.2.2 - 2020-11-07
- Numerous optimizations in emulation.
- Windows slow performance bug, this was due to the way we handled sleep between frames.
0.2.1 - 2020-09-09
- Windows GUI crash bug. (0626860)
- Labels in Save/Load state menus not updating when running a new game. (853705a)
- Backend exit (UI still present), in the case of loading a new game that has an unsupported mapper. (3972696)
CHANGELOG
compare releases links.
0.2.0 - 2020-09-09
- Cartridge with INES2.0 header format support.
- Mapper 10 (MMC4).
- Mapper 11 (Color Dreams).
- Mapper 12.
- Mapper 66 (GxROM).
- PPU color emphasis support. (69c70be)
- Native windows GUI provider.
- Save state feature.
- This
CHANGELOG
file.
- Removed all
Rc<RefCell<>>
usages from the APU structure.
- Mappers bank out of range bug. (e42f3ee & 8b2ba0e)
- Most PPU timing accuracy (Now most tests pass!).
- Some APU timing and internal accuracy.
- GTK application was able to run only a single instance at a time. (d29c27d)
- Slow emulation in windows due to Windows's Sleep API. (1ac20ac)
0.1.0 - 2020-08-20
- Initial implementation of the CPU6502.
- Cirrus CI system.
- Interrupt support for the CPU.
- Initial implementation of the PPU2C02.
- Initial implementation of the cartridge.
- Mapper 0 (NROM).
- TV (display).
- CHR RAM support in cartridge.
- SFML GUI.
- PPU Sprite rendering support.
- Mapper 1 (MMC1).
- Mapper 2 (UxROM).
- Mapper 3.
- Mapper 4 (MMC3).
- Emulator tests for CPU and PPU.
- Added joystick (PS4 controller) support for SFML GUI.
- Initial implementation of the APU using sine waves (it was so bad).
- MIT licence.
- [Codecov] coverage meter.
- Completed implementation of IRQ support for Mapper 4 (MMC3).
- Support for SRAM (battery powered RAM) to save into
*.nes.sav
file. - Implementation of CPU unofficial instructions.
- Mapper 7 (AxROM).
- Mapper 9 (MMC2).
- GTK GUI.
- TUI UI (because its fun).
- joystick support fo TUI through Gilrs to make it easier to play.
- IRQ support for APU.
- Ability to Pause, Resume and Reset emulation.
- Support for file drag in GTK GUI.
- Moved from Cirrus to GithubActions for CI.
- Major rewrite for APU channels and internals (the right way to do it).
- This is the first release and has SO many rewrites and bug fixes.