|
April 18th, 2010, 18:17 Posted By: wraggster
Pate has posted some fresh news concerning his Dos emulator for the DS:
The next version 0.11 of DSx86 will run Master of Orion! Last week I worked on Mode-X and EMS handling improvements, and I got MOO to start the actual game. I haven't played it much yet, but it seems to run fine.
After I got MOO to run, i noticed that the current D-Pad mouse emulation is rather awkward. It looks like MOO is very mouse-oriented and has clickable buttons on the screen for all the commands and other options, so on Saturday morning I decided to see how much work it would be to swap the screens and use the touchscreen for the mouse handling. MOO is such a big game that I could not easily test it in No$GBA (by including all it's files into the DSx86 project), so I searched for other mouse-specific games in my DOS test game directory. I found Electranoid, which I had tried to run some versions ago, but it needed mouse emulation and more EMS memory than I had made available back then. However, now I got it to run, as I have increased the EMS memory shown to DOS.
I had used a static block of 512KB for EMS emulation until now, and I noticed that I have about 1.5 megabytes of heap space available even after that. So, I decided to remove the static EMS block, and instead use 1.5MB of the heap for my EMS memory, which still leaves about 512KB of heap free for system and libFAT stuff. I don't want to use all of the heap space just in case those functions allocate memory for their internal buffers or stuff like that. Anyways, the total EMS memory will be 1.5MB on DSx86 version 0.11, of which about 1.3MB is free after 4DOS has taken it's swap space.
With that much EMS memory I could still fit Electranoid into the DSx86.nds memory space and was able to test my new touchpad mouse functions with No$GBA. I got the new mouse emulation to work pretty well after just a few hours of work. This made Master of Orion much more playable, as you can just click on a UI button without needing to move the mouse cursor first.
I made the SELECT button behave as a toggle between the keyboard and mouse usage of the bottom screen, so you can swap the screens easily during gameplay, whenever you need to type your name or stuff like that into the game. If you have mapped the SELECT key to a PC key, the SELECT key will emulate the mapped PC key when in keyboard mode, but will swap the screens back when in touchpad mouse mode. The current D-Pad mouse emulation mode is still available, for those games that might work better with that kind of mouse handling.
Today (Sunday) I have been refactoring the internal DOS file functions of DSx86 (a scary task!) to use a proper System File Table. This is needed for file handle duplication, among other things, which in turn seems to be needed by 4DOS when running more complicated BAT files. I just got the new functions to work sufficiently so that the bundled 4DOS starts when running in No$GBA, but I haven't yet dared to test it on my real hardware, using libFAT. I'll continue this work during the next week, as such an extensive change requires quite a bit of testing. I have also received quite a few debug logs from version 0.10, thanks for those! Fixing the issues in those will keep me busy for the next week and weekend.
For more information and downloads, click here!
There are 1 comments - Join In and Discuss Here
|
|