PDA

View Full Version : ax86 (Android x86 emulator WIP News) - Old PC Games Emulator for Android



wraggster
March 26th, 2013, 00:57
via http://ax86.patrickaalto.com/ablog.html

During the past couple of weeks I have been mainly fixing issues in the Raspberry Pi version rpix86 (http://rpix86.patrickaalto.com/) of my emulator. I just today released version 0.03 of it, and I hope that this version will now be able to support most of the possible keyboard/mouse input devices. My plan is to now move my main focus back to ax86, as I have been neglecting it for a while now. Of course all the changes and fixes I have made to rpix86 in the core emulation features will also affect ax86, but I have also spent quite some time working on the rpix86-specific features.
I did spend some time last week working on ax86, though. I started by first implementing the same audio features as what I did for rpix86. Currently they both can play SB digital audio and PC speaker sounds in addition to the AdLib support that has been working for a while already. I also noticed that Doom kept crashing randomly after I added the digital audio features to ax86. Since the addition of digital audio should not have caused any changes to the core emulation besides sending interrupts more frequently, I took a closer look at the interrupt synchronization, and noticed that I did not have proper mutex locks in one part of the interrupt handling system. I added the mutex locking and Doom stopped crashing. It is now quite nice to play Doom on my Android tablet, as it runs pretty fast and now also plays all the audio properly.
I had (somewhat stupidly) named my Android project "ax86Test" instead of "ax86" when I created it, so next I decided to rename it to the proper name. I don't need to keep it as a "test" project any more, as I am pretty sure it will actually work. :-) However, I made a mistake when renaming it, so that the whole project got lost from Eclipse. It took me a while to get it loaded and fixed again, but now after the renaming I noticed that it crashes if it does not find the 4DOS.COM command interpreter. Since my plan is to have ax86 automatically download 4DOS.COM if it is missing, I think this is now a good time to work on that feature. In rpix86 this was easy to do, I can simply call system("wget ftp://ftp.jpsoft.com/4dos/files/4dos.com"), but I think I will need to do this somewhat differently in Android. I will also need to let the user determine what directory to use as the C:\ root directory, what sort of a keyboard emulation to use, and so on. Quite a bit of work that is specific to the Android environment.