Liked what you read? Please subscribe for more technical updates, so you won't miss any nice tips or tricks I have to share with you. =)

Subscribe in a reader

February 28, 2008

How to: Add ROMs to play with gpSPhone


I'm sure those of you who wanted to jailbreak your iPhone/iPod Touch wanted to install the ability to run GBA Roms (NES and PSX are also available) so that they can run their favourite GBA games on the run. However, I am not going to tell you where you can find ROMs. Having a ROM for something you do not own (the original game itself) is illegal in some parts.

Where to find ROMs?

Oh and if you're looking for ROMs, try elsewhere. Use google at your disposal. :) There are a lot of listed ROMs sites which have fairly a nice collection. Be very careful of what sites you visit, some of them has too many pop-ups and might prompt you to install unverified ActiveX controls.

What the hell is this guide for then?

This guide is only for: How to put ROMs into your beloved iPhone/iPod Touch. Some people just don't understand how to read the title. I made it pretty clear, I'm very sure of it.

Do I need to download anything?


Click the image to download the BIOS file.

If you have installed gpSPhone through the Installer app, then you might need a few other stuffs to complete the application.

The application says you'll need to download a bios first, so you'll need to download a GBA BIOS. Go here to download the BIOS. Some emulators has bios in it which you can also use. And you can also run the GBA ROM in your PC's emulator!

Then you put the bios (it's should be named as gba_bios.bin) into the folder. You can use iPhoneBrowser to traverse through the directory of your iPhone/iPod Touch. Drop the bios file inside the (it's inside /Applications/ folder, and now you're ready to use it.

What's next? (Changing permissions to the BIOS)

Follow my other post here for instructions on how to change the permissions for the BIOS file.

Where to put the ROMs

Oh I almost forgot, you'll need to dump the ROMs into specific folder. Use iphonebrowser to navigate your file directory.

For firmware 1.1.2 and below

(Depends on your emulator though, non-updated emulators, please use this folder structure)

Place your ROMs inside this specified folder:

/private/var/root/Media/ROMs/GBA (it's case sensitive)

NOTE: If there's still no games, and you're using FW <= 1.1.2, change the "root" into "mobile". It's possible that you updated the emulator, so that it works in FW 1.1.3 (and possibly future firmwares too).

For firmware 1.1.3 (and possibly future ones)

Place your ROMs inside this specified folder:

/private/var/mobile/Media/ROMs/GBA (it's case sensitive)

If folder does not exist, create one.

NOTE: If the game doesn't appear, it seems that the emulator app isn't updated. Try updating to the latest one, and make sure it's compatible with FW 1.1.3.

You can dump all your ROMs inside there. Be sure to rename it something logical so that when you run the application, you will know what game is that.
For gpSPhone v1.2.0 and higher:

If it's in *.zip file, you need to extract the *.gba file, or you can leave it in zip format provided that it's a single *.gba file inside. Leaving in the zip will compress the file a little, so that you can save space.

What? Somemore? (Changing permissions to the ROMs folders)

Thanks to several readers who share their experiences in not getting their games to save the state, when using FW 1.1.3.

To do this, please download Term-vt100. You can also use MobileFinder (Squid won't work!).


I'm assuming that you've created the folder via iphonebrowser. If you haven't done so, please do it.

Next, type in these to change the permission of the folder:

chmod -R 777 /private/var/root/Media/ROMs/* (for FW <= 1.1.2, and older emulators)
chmod -R 777 /private/var/mobile/Media/ROMs/* (for FW>= 1.1.3)

You can type in both to play safe. But if you're absolutely sure which one to use, you can use them.


Simply navigate into where you dump all your ROMs. Hit the parent folder (e.g. GBA), then hit on Modify then tap on all buttons (read, write, exec) to give it full permission (777) to that folder.

Note: If you don't change file permissions to these folders (the ROMs doesn't really need to change the permissions), you cannot save the state of the games you're playing.

"ipSP requires a Gameboy Advance..." error

If you're reading this post for that, you've reached to the wrong place.

Here's the information you're looking for.

Shit I'm lost/stuck! I need help!

If you need help, just contact me and I'll see what I can do. If you play nice, I might give extra pointers for you too. =)

Good luck.


Damian said...

Hey I'm sure you've covered this somewhere but I haven't stumbled across the solution yet. So I'm running the latest version of gpSPhone on my 3G 8GB blackrained 3.1.2 FW iphone. I have quadruple checked the locations of the gba_bios.bin and roms as well as changed the file permissions for the entire gpSPhone to 755 and the roms to 777. The emulator boots fine, I can select a rom and then when I try to load said rom it brings up the keypad with a black emulation screen for 2 1/2 to 3 sec then crashes to SB. Any clues as to ho to fix this would be much appreciated :)

Thanks in advance.

w4dsy said...

hey, i have recently jailbroken my iphone 3Gs 3.1.2(7D11) using blackra1n. everything went smoothly and i have no problems playing the games... however im having problems saving my gameboy4iphone games - in particular pokemon. i use cydia and apparently i should change the permission of my ROMs to 777 but i don't know how to.... as u can probably tell im a beginner at this so any help you can give me wud be much appreciated as iv tried everything i can think of but nothing seems to work.

Yusry said...

This is the first comment after years of not logging in, so I'm speaking out of memory.

If I remember correctly, Pokemon games uses a "time save state" for game saves. That's why, no one wanted to play Pokemon on emulation (especially on iPhone / iPod Touch) cause the saves are usually broken.

Try other games. It's not about the jailbreak, it's about the game itself.


Yusry is a technology freak, he plays a lot with his iPod Touch since day 1. He is also into programming and gets excited trying out new softwares. He is also a member of a local Singaporean band named Dermapthera. You can read his other blog at