October 23rd, 2011, 23:43 Posted By: wraggster
During the last week I was rather busy with other things besides this project. We have a deadline approaching for the project I work on in my daytime job, so after a full workday of coding I have been a bit too tired to work on DS2x86. I have mainly done some experiments and studying of the recently released DSTwo SDK 1.2 sources, especially on the NDS side.
The only progress in DS2x86 I have managed to make with the DSTwo SDK is that I have switched DS2x86 to use the new version 1.2. At first I got a black screen, but pretty soon I realized that this was caused by the SDK 1.2 again using the same format of the st_buf structure as what was in use in the original SDK. The SDK version 0.13 had an extra member in this structure, and as I use the fields of this structure directly in my DS2x86 code, this caused the problem. After I aligned the fields properly in DS2x86, it began to work with SDK 1.2. It almost looks like the new 1.2 version is built on top of the original 0.12 (or 0.11) version of the SDK, instead of the previous 0.13 version. I haven't studied the differences very closely, so I'm not sure if this is really the case.
The next step was to try and build the NDS side from the sources, and this is where I spent most of last week. I needed to search for the correct DevKitPro revision from the svn repository, but even after I found revision 1949 (from August 2007) with which I managed to compile the code (with quite a few warning messages, though), I was not able to link it due to some missing files. Luckily a GBATemp user called Normmatt was able to provide me with a more complete old DevKitPro version, which was able to link ds2_firmware.dat completely, though again with a lot of warnings. Anyways, this version of ds2_firmware.dat is still slightly different from the original included in the SDK 1.2, but it mostly works. I can start up DS2x86 with it, and type commands on the DOS prompt, but whenever there is disk activity (so the bottom screen should blink the "HDD" text), something goes wrong and eventually the system hangs.
I am not terribly concerned about that problem, though, as my current goal is to port the ds2_firmware.dat sources over to the latest DevKitPro, so that I can really start working on using the ARM7 for AdLib emulation and such. My primary goal is simply to have the touchscreen/key input transferred to the MIPS side, and the top screen data transferred back. After I get this done, if there is interest I might release the ported sources so that if any of you are interested in completing the lower screen and audio transfer for the SDK you can do so. I will continue with the data transfers specific to DS2x86, so after that the sources will not be of much use to other coders.
I have just managed to create the build environment for ds2_firmware.dat using the latest DevKitPro, but it does not have any DSTwo SDK -specific features in it yet. That's what I plan to do during the upcoming weeks. I'll keep you updated on my progress with my blog posts. This work means that no new versions of DSx86 or DS2x86 will be released for a few weeks now, sorry for that. I hope that I can eventually make some really worthwhile improvements to DS2x86 using the new SDK 1.2, though.
For more information and downloads, click here!
There are 0 comments - Join In and Discuss Here