A bit of context for those who come to this thread asking what "tempgba" and "dstwo" are: TempGBA is a project I improved on the Supercard DSTwo, a flashcart for the Nintendo DS. It contains a MIPS processor, the JZ4740 by Ingenic, clocked nominally at 360 MHz but rather safely overclockable to 396 MHz (the default is kept at 360 MHz for battery life and because not that many games require 396 MHz). TempGBA is a GBA emulator for this DSTwo-on-Nintendo-DS combination.
The lineage of the emulator is not exactly "gpSP-Exophase 0.9 -> TempGBA", however. It's actually "gpSP-Exophase 0.9 -> gpSP Kai-Takka 3.2 with some updates -> NDSGBA-Supercard 1.21 -> TempGBA-Nebuleon-Normmatt-BassAceGold 1.44".
I did do some work on the core which could be transferred to gpSP-Exophase 0.9, or even better yet to gpSP Kai-Takka 3.2. Most of all, I improved the code generation and code storage/flushing so that some GBA games recompile far less code... but some modifications to the MIPS assembly stub and recompiler were required. Those would need to be implemented anew in non-MIPS devices. The GCW Zero being a MIPS device, it would be far easier.
However, NDSGBA-Supercard is not flexible at all. Being a Chinese team, Supercard did not think to keep the code cross-platform using conditional compilation (#ifdef) per platform where required, or even a cross-platform source directory and per-platform source directories. As a result, cross-platform or more general code is intertwined with DSTwo details like needing to communicate with a Nintendo DS, and all other previously supported platforms are stripped out of the TempGBA source directory. I have lost a lot of hope to be able to take the code and compile it again on the PSP, the GP2X Caanoo or the PC.
I am waiting for a unit to develop on. And then I may start handling the project in a more "cross-platform code separated from per-platform" manner, like Snes9x.
- - - - -
Re: #2 (GameYob)
Yes, GameYob would be good to have on the GCW Zero, but I'm afraid that has also become a project deeply intertwined with the DS's rendering details. In particular, it hooks into the Nintendo DS vertical and horizontal blanking interrupts to more efficiently emulate the Game Boy LCD interrupt.
Addendum: And the GBA BIOS to run GB games with the "GBA flag" on the GBA is not really the GBA BIOS. It's just a modified GBC BIOS that sets a bit in a register to indicate to the GBC game that it runs on a GBA. Only 2 games use this bit in their processing. There's the Zelda game that give you the Advance Shop, and then there's another I forgot. GameYob doesn't need the GBA BIOS for that.