https://github.com/wavemotion-dave/DS994a
Version 1.8 is released. I spent the last 4 days working on the last of the glitches. DS-Lite/Phat users rejoice for speed has been found!
V1.8: 19-Feb-2024 by Wavemotion Dave
DS994a has come a long way - the last two releases have been about improving the accuracy of emulation without sacrificing emulation speed. The design philosophy remains the same: have the ability to play Hunt the Wumpus on the toilet. As such, I'm okay sacrificing a bit of accuracy to make the games playable at full frame rate ... fortunately I found some significant speedups in the VDP rendering. Turns out a lot of what gets written is the background color which I've now optimized for. I also realized that much of the VDP scanline rendering is to even boundaries and instead of writing a byte, I can write 16-bits or 32-bits at a time which gained a ton of speed.
Most actively developed emulators asymptotically approach 100% accuracy - but never quite reach it. I'd now put DS994a about 95% in terms of accuracy - all your favorites should play smoothly even on older hardware. Enjoy!
Version 1.8 is released. I spent the last 4 days working on the last of the glitches. DS-Lite/Phat users rejoice for speed has been found!
V1.8: 19-Feb-2024 by Wavemotion Dave
- Improvements to the TMS9918a emulation to fix 5th sprite handling and improve collision detection. Megademo, Eric in Monsterland and Interceptor all work correctly now.
- Fix for Robots of Death II and NUTS so they start properly (was hanging on Speech detection).
- DSi now supports up to 8192K (8MB) banked ROMs (the older DS still supports 512K). The Dragon's Lair demo will run but won't process speech/sound as the emulation is not fast enough.
- Optimized VDP rendering and CPU memory read/writes to be a bit faster to help with older DS-Lite/Phat. This gives a 5-50% speedup in video rendering depending on the game. The megademo will sustain 60fps throughout.
- Improved memory density so that we end up with more cache-hits than misses when dealing with CPU memory - this gives a nice speedup of several percent across the board.
- Lots of code comments and refactoring improvements as time permitted.
DS994a has come a long way - the last two releases have been about improving the accuracy of emulation without sacrificing emulation speed. The design philosophy remains the same: have the ability to play Hunt the Wumpus on the toilet. As such, I'm okay sacrificing a bit of accuracy to make the games playable at full frame rate ... fortunately I found some significant speedups in the VDP rendering. Turns out a lot of what gets written is the background color which I've now optimized for. I also realized that much of the VDP scanline rendering is to even boundaries and instead of writing a byte, I can write 16-bits or 32-bits at a time which gained a ton of speed.
Most actively developed emulators asymptotically approach 100% accuracy - but never quite reach it. I'd now put DS994a about 95% in terms of accuracy - all your favorites should play smoothly even on older hardware. Enjoy!