Posted By: wraggster
Pate has posted a new release of his Dos Emulator for DS, heres whats new:
For the last week I have been working on the EGA support and also on the few remaining unsupported modrm bytes. For the EGA support testing I have been using Duke Nukem 2, which is currently quite playable. My EGA support is still far from complete, and thus the game has still some visual glitches, but they don't seem to affect the gameplay.
For some reason Duke Nukem 2 seems to take FOREVER to load, and it has a tendency to crash at the end of the inital intro (I haven't yet figured out why this happens), so you might want to hit Enter at the "NEO LA: THE FUTURE" screen to skip the intro and go to the main menu immediately. Also the music lags pretty heavily at the intro, and it feels quite sluggish overall, but luckily the actual gameplay seems to run at a reasonable speed.
I spent a long time debugging a problem with the EGA palette, until I realized that DN2 uses the VGA palette registers also in the 16-color EGA mode. I hadn't realized the VGA graphics work like that, so I kept debugging the wrong places in the code. I also had to add two new SoundBlaster DSP commands, for playing 2-bit ADPCM samples and for playing silence. A bit strange that there is actually an SB command for playing silence for a certain amout of time, but I guess it can be used for some audio synchronization stuff. Anyways, DN2 is now working well enough that I thought it was time to release version 0.03.
I have also added nearly all of the 8086 opcodes and their modrm bytes, there are only a few remaining. Many of the 80286 opcodes/modrm bytes are still missing, though, and you might also get "Unsupported opcode" errors if a game uses the ES register to point to the graphics screen, as I have only coded support for those modrm bytes that I have encountered in the games I have tested. If the "Unsupported opcode" error has an opcode with "es:" in it, then this is the cause.
The next version should have practically all the normal opcodes/modrm bytes supported, and I hope to improve the graphics support as well. The current 16-color routines should work with only minor changes on all the 16-color modes, including 640x350 and 640x480 modes, so adding support to those modes for the next version might also be possible. Whether games that use those modes will be playable within a 256x192 window is another matter, though.
Download and Give Feedback Via Comments