ZodTTD has updated gpSPhone, a Gameboy Advance emulator, for iPhone.

Release notes:

Things have progressed quickly for gpSPhone lately. This is due to my push to improve my emulator’s frameworks for the iPhone & iPod Touch. By focusing on one emulator I have had time to fix some major bugs along the way and even add some new features. My goal is to soon update all my emulator projects to this current framework.

So what’s new in this vastly improved version of gpSPhone? Version 5.0.0 brings extremely smooth playback along with increased performance, and pretty awesome sound too!

I spent a long time hunting down the issue I was having with multitouch slowing my emulators down much more than it should. I have now figured out why, and fixed it in v5.0.0. For those wondering what was wrong, it came down to thread priorities, the AudioToolbox run loop, and the newly used sched_yield function. Then mix in iPhone firmware 2.2 frameworks. Whew!

Here’s a nice list of new features in v5.0.0 since the v4 series:

Improved performance due to better thread scheduling.
Improved performance due to the addition of the use of the R9 register.
Very smooth playback with a refresh rate of 60 FPS.
No more slowdown from multitouch.
Added a nice cheat menu and brought back cheats. Add a “rom-name”.cht file compatible with gpSP where “rom-name” is the name of the ROM minus the extension. Place the .cht file in the same location as the ROM (/var/mobile/Media/ROMs/GBA).
Improved menu system. Along with the cheat menu is in-game saves without the need to restart the game!
New controller skin feature and new artwork by k.nitsua added. Now the last variable of the controller skin txt file controls the opacity. With 0-100, 0 being transparent, and 100 being opaque, you can now have opaque/solid landscape skins. The old landscape skin is still in place as Skin #2 with Scaling turned on.
A bunch of minor bug fixes.
KEEP IN MIND THIS: Save states from previous public releases of gpSPhone (prior to v5.0.0) are NOT compatible with this version and most likely never will be again. This is due to the addition of a new save state data element, the use of R9. Battery saves/cart saves will still work fine in v5.0.0. But old save states from pre-v5.0.0 WILL CRASH gpSPhone! Sorry, it just had to be done

THIS VERSION USES iPhone v2.2 FRAMEWORKS…So make sure you use iPhone firmware 2.2 or later!

Regardless of these two points, this release is bound to make many people very happy! Feedback is welcome as usual.