One of the things I like about the dingoo is its ability to show video game history. I thought it would be cool to emulate some more old systems like the Fairchild Channel F, Odyssey 2 (which does emulate nicely in native) and Bally Astrocade. I looked into Channel F emulators and found only one: the MESS emulators (Multi Emulator Super System), which is a collection of console and computer emulators bundled together like MAME. In fact, it's built using some MAME source and its structure.
For the last few days I've worked on porting AdvanceMESS (http://advancemame.sourceforge.net
) and I've had some success. It built fine and with a little configuration assistance from Ayla, I was able to get it running in Dingux. There's good and bad to report.
The good is that a number of emulators have worked, some without any available alternatives on the dingoo. I've only tested a handful so far, but MESS supports quite a few. One bit of good news is that Fairchild Channel F emulation appears to work pretty well, as does the Bally Astrocade. Colecovision, NES, GameGear, SMS and Atari 2600 all worked, but slowly. You see, the MESS project focuses on accurate
emulation, rather than fast emulation, which is not in our favor. Before I move on, here are some screenshots:Alien Invaders - Fairchild Channel FGalaxian - Bally AstrocadeBurgertime - ColecovisionShining Force - Sword of Hajya - GameGearPhantasy Star - Master System
As you can see, colors are a little messed up on SMS and GameGear (GG looks worse on the screen... there are 1 pixel green outlines around everything). Everything else looks fine. Sound is good, but as with the emulators, very slow. I didn't have much luck with Vectrex, Odyssey2, Intellivision or VC4000.
I was able to improve speed by overclocking and rebuilding with profiling (thanks again Ayla). I was also able to build binaries that support only one emulator, which dropped the size of the executable from 12MB to 3.5MB., so that's a win as well. I also improved speed by increasing the sync_speed option, but sound suffered greatly. I haven't played with frameskip yet, but there's that as well. Still, you shouldn't need to use frameskip on Pitfall.
What I'm wondering now is if it's possible to streamline and optimize some of these emulators, perhaps sacrificing some accuracy for the sake of playability. At this point I don't see much point in focusing on the emulators that have alternatives. But it would be nice to have those that don't. Already I'd say Channel F and Astrocade are playable and close to normal speed.
It's also possible that I could find some configuration options that help improve performance as well, both in build configuration and the AdvanceMESS configuration. I'm still learning more about it as I go.
Thing is, while I'm a programmer with a lot of Linux experience, I don't have much experience with emulator code. So any assistance with this would be really appreciated, even if it was just to see what may be possible.