Releases: lukexor/tetanes
tetanes-v0.11.0
0.11.0 - 2024-06-12
⛰️ Features
- Shader support with crt-easymode (#285) - (e5042ef)
- Auto-save cfg at a set interval (#279) - (e6941d8)
- Add UI persistence. closes #257 (#277) - (4c861f7)
- Added config and save/sram state persistence to web (#274) - (8c7f6df)
- Added always on top option. enabled shortcut for embed viewports - (489f61e)
- Added data man demo and changed name of nebs n' debs to demo - (d7d2bae)
- Added mapper 11 - (03d2074)
🐛 Bug Fixes
- Fixed a number of issues caused by the crt-shader PR - (8c31927)
- Ntsc tweaks - (3042fa7)
- Fixed some frame clocking issues - (80ef7b5)
- Fixed blocking checking for updates on start - (f48c634)
- Revert rfd features back - (30cec26)
- Fixed Data Man url - (882004a)
- Cleaned up pausing, parking, and control flow. Closes #251 - (72cf88a)
- Remove unfocused/occluded pausing for now until a less error-prone cross-platform solution can be designed - (a5549e6)
- Remove bold from controls - (0cfa0e9)
- Fix excess redraw requests - (caf88c0)
- Fixed wasm resizing to be restricted by browser viewport (#243) - (b59d4c9)
- Disable rewind when low on memory. clear rewind memory when disabled - (4d5e1c4)
- Remove redrawing every clock - (8cea6c1)
- Fixed web build relative urls - (1423bdb)
- Fixed a number of issues with loading roms and unintentionally blocking wasm - (e257575)
- Fix clock timing on web. closes #234 - (57d323d)
- Fix frame stats when toggled via menu. closes #233 - (347066b)
- Add scrolling to lists - (62ff074)
- Fix changing slider/drag values - (8580135)
🚜 Refactor
- Removed a number of panic cases and cleaned up platform checks - (bdb71a9)
- Frame timing cleanup - (1e920fd)
- Some initialization error handling cleanup - (507d9a0)
- Small gui cleanup - (880e9ee)
📚 Documentation
- Fixed docs and changelog - (4c7a694)
⚙️ Miscellaneous Tasks
tetanes-core-v0.11.0
⛰️ Features
- Added config and save/sram state persistence to web (#274) - (8c7f6df)
- Added mapper 11 - (03d2074)
- Updated game database mapper names - (86d246b)
🐛 Bug Fixes
- Ntsc tweaks - (3042fa7)
- Fixed fast forwarding - (a6f87bb)
- Cleaned up pausing, parking, and control flow. Closes #251 - (72cf88a)
- Disable rewind when low on memory. clear rewind memory when disabled - (4d5e1c4)
🚜 Refactor
- Removed a number of panic cases and cleaned up platform checks - (bdb71a9)
- Add Sram trait and some mapper cleanup - (ad03755)
📚 Documentation
🧪 Testing
TetaNES v0.10.0
[0.10.0] - 2024-05-16
⛰️ Features
-
(mapper) Added Vrc6 mapper - (fd2075d)
-
Added controller support - (7550bce)
-
Initial re-structure of painter and viewports - (5feabbe)
-
Perf stats and ui cleanup - (8d7d0d4)
-
Switched to lazy APU catch-up - (4a95de3)
-
Add headless options, run_ahead methods, audio fixes, and performance improvements - (a1a1b9b)
-
Added run-ahead feature - (3349045)
-
Add cycle-accurate feature - (6d0db9f)
-
Added rewind - (4cc7b65)
🐛 Bug Fixes
-
(ppu) Fixed oam read stomping on sprite0's y-byte - (dc51191)
-
(wasm) Overhauled wasm build - (2892587)
-
Revert frame buffer back to u16 to fix emphasis - (bc7f5fa)
-
Made ppu warm optional, default to false - (1693681)
-
Revert 240pee rename - (f82f763)
-
Fixed 240pee test rom path - (77f9702)
-
Fixed saving config - (361447f)
-
Fixed setting APU sample_rate - (ed52eb7)
-
Fixed selecting audio sample rate - (24d6bfc)
-
Disabled webgpu since it panics on a double borrow currently - (c93e7ad)
-
Remove toggling vsync and fixed wasm frame rate - (f937396)
-
Some timing and ui fixes - (fe9d123)
-
Fixed exrom irq - (7cc2540)
-
Removed unused revision - (4376c9a)
-
Cleaned up mappers - (22c97e2)
-
Documentation and ui updates - (38fc88f)
-
Fixed apu tests - (6ff1362)
-
More audio fixes - (7e0f2f5)
-
Fixed mmc5 pulse channels - (0588103)
-
Some fixes for audio channels sounding off - (46a773d)
-
Fixed apu region sample_period - (2a440ca)
-
Fixed some frame rate performance issues - (ca304b0)
-
Fixed replay and rewind - (55dc8d7)
-
Fixed some path and config issues - (ef60f1b)
-
Fixed some region, configs, and features - (e5d4f4a)
-
Fixed chr_ram test - (d24009b)
-
Fixed apu linear counter loading - (76ae795)
-
Read nes2.0 region header - (0c70e87)
-
Fixed chr-rom writing - (50724a6)
-
Improved PAL support - (acb4db8)
🚜 Refactor
-
(cpu) Moved DMA values inside CPU - (7257d18)
-
Various event/UI cleanup - (bd1f984)
-
Config overhaul and keybind menus - (1fbb4ba)
-
Thread local irq - (cc9cbea)
-
Various cleanup - (889e41f)
-
Some audio cleanup - (6eeff9e)
-
Major config overhaul - (34076be)
-
Major platform and error handling overhaul - (eb6e546)
-
Audio mixer overhaul and .raw recording - (44cc47c)
-
Fixed audio - (fe26c1b)
-
Clean up some wasm code - (dd489d3)
-
Inlined puffin for now - (945ff0e)
-
Moved audio filtering/decimation to apu - (4a38d23)
-
Major module overhaul - (ca92f51)
-
Various updates - (da213ae)
-
Cleaned up menus - (dd9e726)
-
Made ram_state consistent - (81d3bc9)
📚 Documentation
- Updated docs - (806c078)
- Updated readme - (16db37d)
- Fixed docs - (3de4078)
- Added temporary readme - (bf0d5db)
- Fixed README - (6d48eec)
- Fix README for real - (a5fd672)
- Fix README - (05abf3c)
- Updated README - (ffb7b21)
- Updated README roadmap - (0941d86)
⚡ Performance
- Improved cpu usage - (e17a901)
🧪 Testing
⚙️ Miscellaneous Tasks
tetanes-core-v0.10.0
chore: Release package tetanes-core version 0.10.0
TetaNES Web v0.2.0
Full Changelog: tetanes-v0.9.0...tetanes-web-v0.2.0
TetaNES v0.9.0
⛰️ Features
- Added famicom 4-player support (fixes #78 - (141e4ed)
- Added clock_inspect to Cpu - (34944e6)
- Added
Mapper::empty()
- (30678c1)
🐛 Bug Fixes
-
(events) Fixed toggling menus - (f30ade8)
-
Fixed wasm - (7abd62a)
-
Fixed warnings - (f88d760)
-
Fixed a number of bugs - (5fd85af)
-
Fixed default tile attr - (9002fa8)
-
Fixed exram mode - (8507984)
-
Fix crosshair changes - (10d843e)
-
Fix audio on loading another rom - (d7cc16c)
-
Improved wasm render performance - (561be90)
-
Web audio tweaks - (5184e11)
-
Fixed game genie codes - (0206d6f)
-
Fixed update rate clamping - (2133b84)
-
Fix resetting sprite presence - (d219ce0)
-
Fixed missing Reset changes - (808fcac)
-
Fixed missed clock changes - (1b5313b)
-
Fixed toggling debugger - (e7bcfc1)
-
Fixed resetting output_buffer - (0802b2b)
-
Fixed confirm quit - (48d6538)
🚜 Refactor
- Various updates - (da213ae)
- Small renames - (0dea0b6)
- Various cleanup - (8d25103)
- Cleaned up some interfaces - (da3ba1b)
- Genie code cleanup - (e483eb5)
- Added region getters - (74d4a76)
- Cleaned up setting region - (45dc2a4)
- Flatten NTSC palette - (792d7db)
- Converted system palette to array of tuples - (284f54b)
- Condensed MapRead and MapWrite to MemMap trait - (bce1c77)
- Made control methods consistent - (f93040d)
- Switch u16 addresses to use from_le_bytes - (d8936af)
- Moved genie to it's own module - (77b571f)
- Cleaned up Power and Clock traits - (533c0c3)
- Cleaned up bg tile fetching - (0710f16)
- Move NTSC palette declaration - (9edffd1)
- Cleaned up memory traits - (c98f7ff)
- Swapped lazy_static for once_cell - (cc9e67f)
⚡ Performance
- Cleaned up inlines - (b791cc3)
- Added inline to cart clock - (eb9a0e0)
- Changed decoding loops - (a181ed4)
- Performance tweaks - (0c06758)
🎨 Styling
- Fixed nightly lints - (3bab00d)
🧪 Testing
⚙️ Miscellaneous Tasks
- Increase MSRV - (684e771)
TetaNES v0.8.0
Added
- Added
Mapper 024
andMapper 026
support. - Added
Mapper 071
support. - Added
Mapper 066
support. - Added
Mapper 155
support. #36 - Added configurable keybindings via
config.json
. - Added
Config
menu. - Added
Keybind
menu (still a WIP). - Added
Load ROM
menu. - Added
About
menu. - Added
Zapper
light gun support with a mouse. - Added lots of automated test roms.
- Added
4-Player
support. #32 - Added audio
Dynamic Rate Control
feature. - Added
Cycle Accurate
feature.
Changed
- Various
README
improvements. - Default
VSync
totrue
. - Default
MMC1
to PRG RAM enable. - Changed audio filtering and playback.
- Redesigned
TetaNES Web
UI and improved performance.
Fixed
- Fixed Power Cycle/Reset affecting
ppuaddr
. - Fixed reset causing
segfault. #50 - Fixed reset and load updating the correct ROM
banks. #51 - Fixed
OAM
emulation. #31 - Fixed
DMA
emulation. #30 - Fixed 512k
SxROM
games. - Fixed
IRQ
andNMI
emulation.
Removed
- Removed
vcpkg
feature support due to flaky failures.
Breaking
- Major refactor of all features, affecting save and replay files.
- Removed several command-line flags in favor of
config.json
andConfig
menu.
TetaNES v0.7.0
Full Changelog: v0.6.1...v0.7.0
RustyNES v0.6.1
Major Changes
- Changed project name to "TetaNES"
Technical Changes
- Removed Dynamic Dispatch of Mappers by using enum_dispatch
- Various refactoring
RustyNES v0.6.0
Notable Features
RustyNES
is now 100% cycle accurate- MMC5/ExROM Mapper support
- Play games like Castlevania III, Uncharted Waters, and Laser Invasion
- FourScreen support in MMC3 games
- Games like Rad Racer II and Gauntlet
- GameGenie support
- Action Recording & Replay
- Instant Rewind (5 seconds, when enabled)
- In-Window Debug Screen
- Mouseover features for PPU Debug windows indicating tile numbers
- NTSC TV Artifacts Effects Toggle
Technical Changes
- All CPU opcodes implemented, including unofficial ones
- Added PixEngine dependency for better UI graphics handling
- Fixed IRQ handling in MMC3/MMC5
- Fixed NMI handling in PPU
- APU Timing improvements
- More passing test roms
Known Issues
See the Github issue tracker