DS2x86 v0.08 Alpha is released. DS2x86 is a version of DSx86 for the SuperCard DSTwo flash cart. DSx86 is a PC emulator for Nintendo DS.
This version has a lot of previously missing opcodes implemented, so a few more games might run again. I did not have time to add support for new INT calls or I/O ports into this version, so those errors will still happen in the games that previously had these errors. I hope to be able to handle these in the upcoming versions.
I have also debugged some ill-behaving games, but sadly that has been mostly frustrating work with no clear improvements in the behaviour. I have collected a lot of information and have been able to close in on the actual problems, but have not yet been able to solve them yet.
After spending many days with various problems in the games, and getting frustrated, I decided to see if I could get Windows 3.00a to run in Standard Mode also in DS2x86. This basically meant porting the 16-bit protected mode features I had coded into the original DSx86 to DS2x86. This work progressed better, so that this version can run Windows 3.00a in both Real and Standard mode. The Enhanced mode would need support for virtual memory, which is not coded in yet, so that mode does not work.
The problem in Windows 3.00a that I have been fighting with today was that opening some programs, like Paintbrush, gave an error "File PBRUSH.DLL not found" or similar. I checked the Windows directory and the file does exist, and I even checked my SD card for errors, but still I got that error. Next I checked my emulated DOS System File Table contents, which has room for 64 entries, but there were only 16 entries used so that was not the cause. I debugged my DOS file routines, and made sure the directory and file name are exactly correct, and then found out that it was the DS2 SDK fopen() function that returned NULL for the file. Finally it then occurred to me to check the the SDK file system functions (which luckily come with source) to see what the file table size is there, and it had only 16 entries! So, I doubled the size to 32 entries, and now Windows 3.00a seems to run. I think I could increase the table to 64, to match my emulated DOS file table, but I'll do that later when I have more time to test that everything still works. |
DS2x86 v0.08 Alpha Changelog:This version has the following improvements: - A lot of new opcodes implemented! - Windows 3.00a can be run in either Real or Standard mode. - Improved BSOD reporting further, now errors in the core emulation are reported in the dsx86dbg.log file. - Some other bug fixes and improvements. |
Download: DS2x86 v0.08 AlphaSource:
Here
Random Related Topic
0 Comments
Post a Comment