PDA

View Full Version : igpSP 0.9-2Xb - GameBoy Advance Emulator for iPod



wraggster
May 4th, 2008, 18:18
Keripo (http://ipodlinux.org/forums/viewtopic.php?t=29996&sid=04388d3da2634f4347ae9f9c7f40eb39) today gives the iPod some GBA Emulation Loving, heres the full post from him:


After doing source code diffs with Zaphod's original gpSP port and zacaj's later port, I did a full and proper re-port of the Exophase's latest version of gpSP. My current version is mostly changes from Zaphod's original port (via hotdog and iBoy code) with the usage of the COP through zacaj's changes. The result is a patch file that allows for the building of the entirely separate iPod target (sound can be enabled in or disabled through recompiling).

I have not done much testing for this but it seems to be pretty fast (same speed or faster than zacaj's version due to clean code) and very stable (no memory issues when launched from PZ2 even). The only issue I can see is the menu-display issue that comes from removing the original screen clearing code and relying on hotdog. To compensate, I removed a few of the (probably) less-used menu items so that all the basic menu-items get shown. On nanos the menu is quite difficult to read but its the same layout as the GP2X and PSP versions (if you're familiar with them).

After looking a bit more into the source code apart from Zaphod/zacaj's changes, I believe igpSP can be further optimized by using Exophase's newer ARM alpha blending pass (which is "gp2x/video_blend.S"). The pixel blitting code can probably also be moved entirely to hotdog, which could lead to smoother graphics, a fixed menu, and faster (or maybe even slower) rendering. If you want to try building igpSP yourself, download Exophase's gpSP 0.9-2Xb source code, run the patch file that comes with the below download, "cd" into the newly created "ipod" folder, then type "make" or "make SOUND=1" with the 3.4.3 toolchain.

Now remember kids, DISTRIBUTION OF COPYRIGHT MATERIAL IS ILLEGAL! Download free, public domain roms from websites like PDRoms. Dump your own gba_bios.bin from a GameBoy Advance hardware you own. Other than that, enjoy and leave your results/feedback here!

Download:
http://ipodlinux.org/Image:IgpSP_0.9_2Xb.tar.gz
(pre-compiled, sound-less binary + patch file)

Last but not least, remember to give your thanks to Exophase (the amazing original writer of this emulator), ZodTTD (the GP2X porter), Zaphod (the original porter from whom most of my patch's changes come from), zacaj (who used COP to speed things up), ducky and fellni (who wrote iBoy, from which Zaphod borrowed code from), and the iPL Devs (who wrote the fast hotdog engine and, of course, iPodLinux). Remember kids, ARM dyna-rec + hotdog + COP = Win!

~Keripo