DS2x86 V0.03: DOS Emulator for Nintendo DS

The version I released today, 0.24, is built with the latest libnds, so that it can run in DSi mode if you have a Nintendo DSi and a suitable flash cart that enables DSi mode. I am only aware of one such flash cart, CycloDS iEvolution. Running in DSi mode means that the CPU runs at 133MHz instead of the normal 66MHz, so the emulation runs at double speed (20MHz 286 instead of 10MHz 286). If you don't have such a flash cart or you run DSx86 on a DS Lite (or original DS Phat), this new version does not bring any enhancements, sorry. I plan to add the smoother screen scaling features, and other improvements on my TODO list, in the future, though.

The DS2x86 version 0.03 has a lot of work done in the protected mode features, so that it currently runs Doom. I was able to fix the problem I had last weekend with the textures (the cause was a bug in my 64-bit division algorithm), and I also added some preliminary audio support. The problem with the audio in Doom is that it request an interrupt after every 128 samples, while the shortest interrupt interval my current SB emulation allows is 3*128 samples (but adjusted by the playing frequency). Thus, to make the audio in Doom work, I had to adjust the playing frequency to be only 22050/3 Hz, which makes the interrupts happen at about every 128 input samples. I will improve my audio support in the future, but I did not have time to code a better emulation method by today. There are some other minor improvements and bug fixes as well, but no major new features. The high-resolution screen modes and AdLib audio are still missing, for example. It is possible (though not very likely) that this version runs also other DOS4GW games, so feel free to test it!

The next things I plan to do are to look into enhancing the original DSx86 with some proper DSi mode support, and I also want to add profiler features to DS2x86 so that I can start improving it's performance. I believe it should run Doom better than what it currently does, so I want to see what are the most time-consuming operations and try to improve the speed of those operations. I also want to continue work on the Borland DOS Extender (using the Jazz Jackrabbit game) and implement the higher-resolution screen modes.

Again, please send me the debug logs, as those will help me in developing DS2x86 (and DSx86) further!

Subscribe for Latest News