Rockbox Technical Forums

Rockbox Development => Feature Ideas => Topic started by: sunrize777 on May 15, 2022, 01:04:28 PM

Title: GBA Games on iPod Classic (6th or 7th gen) using iGPSP
Post by: sunrize777 on May 15, 2022, 01:04:28 PM
Now I know that lots of people have talked about this before and came up with hard solutions or ideas to running GBA games on Rockbox (as in it would take a lot of work to implement any of these ideas). But i have a couple of suggestions of resolving this issue once and for all. Please be aware that during this entire post I will be referring to the iPod Classics and the iPod 6th and 7th gen mainly.

I know that Rockboy has the ability to emulate GB and GBC games at around 50 fps (usually higher) for my iPod 7th gen with a frame skip fluctuating between 1 and 0. And I have seen the ability to emulate GBA games (slowly) while using iGPSP (an iPodLinux port of gpSP, a Game Boy Advance emulator) with lower specs than an actual GameBoy Advance console (in this case the iPod 5.5th gen), so it is definitely possible. The iPod 7th gen however, uses a CPU identical to the one on the GameBoy Advance console, and the possibility of running GBA games on the iPod Classic smoothly is evident as I can run Doom and Duke 3D smoothly on the iPod, (I can even play pacman with the necessary files which was meant for Atari any ways). This point is also clearly made in this forum:

https://forums.rockbox.org/index.php/topic,53284.msg246063.html#msg246063

- Can sb explain why Rockbox can allow you to play Doom or Duke Nukem but not a relatively simple GBA game like Zelda: Minish Cap or Link to the Past? I understand Spyro:Attack of the Rhynocs would be too much for the hardware, but TLoZ is rather simple, isn't it? An even simpler game would be Pokemon; Fire Red and Leaf Green are virtually identical to Red and Green or whatever the originals are.

In this forum they state that everything is good and all except for the emulator itself, that it would be extremely complicated and strenuous to build an emulator for GBA.
The following link is an emulator for GBA built to run on ZeroSlackr a port of iPodLinux featuring a custom kernel, bootloader, app launcher, and multiple ported games and emulators (including the GBA emulator)
https://github.com/iPodLinux-Community/igpSP
The whole ZeroSlackr Project can be found here as it contains emulators for a lot of other consoles as well.
https://github.com/ProjectZeroSlackr
The only problem is that iPod Linux cannot run on the iPod 6th and 7th gen due to the enhanced security code Apple wrote on the iPod for firmware hacking, so there is no bootloader for iPod 6th or 7th gen.

A couple of solutions (starting from the easiest to the hardest solutions (in terms of time and effort to make and compile an effective solution))

1) To take the iPod 6th gen bootloader and make it launch ZeroSlackr instead of rockbox (In this case the whole ZeroSlackr Program is already runnable on the iPod Classic)

2) To take iGPSP and port it into rockbox (In this case the whole emulator is already written)

3) To do whatever you did to Doom to get it to run as a rock file and do the same to Pokemon FireRed or any other GBA game really.

Thanks for listening to me rant, i just needed to get my whole line of thought in this post so that anyone reading this post would understand where im going with this idea and the logic that makes me press on this subject so hard.

Thanks in advance for any help or thoughts to this post in advance,
Sunrize777



 
Title: Re: GBA Games on iPod Classic (6th or 7th gen) using iGPSP
Post by: saratoga on May 15, 2022, 04:17:15 PM
Porting a GBA emulator to rockbox is both reasonable and something that might be a lot of fun. I don't see any reason you can't do it.
Title: Re: GBA Games on iPod Classic (6th or 7th gen) using iGPSP
Post by: amachronic on May 16, 2022, 06:06:11 AM
RB has a bootloader for the 6G. No reason why that couldn't be modified to load Linux.

Porting an emulator might be simpler in some ways (debugging bootloaders may not be fun).

I think both solutions you suggested are doable.
Title: Re: GBA Games on iPod Classic (6th or 7th gen) using iGPSP
Post by: sunrize777 on May 16, 2022, 08:38:24 AM
Porting a GBA emulator to Rockbox is both reasonable and something that might be a lot of fun. I don't see any reason you can't do it.
RB has a bootloader for the 6G. No reason why that couldn't be modified to load Linux.

Porting an emulator might be simpler in some ways (debugging bootloaders may not be fun).

I think both solutions you suggested are doable.

Oh, one thing I forgot to mention is that I don't know C well enough to port it into Rockbox myself, so this is merely a feature idea. I could try to learn C well enough myself to port the emulator to Rockbox, but I don't think it would work out. Would anyone mind trying? If not, I guess I'll have to do it myself, So any help with porting it would be much appreciated.
Title: Re: GBA Games on iPod Classic (6th or 7th gen) using iGPSP
Post by: saratoga on May 16, 2022, 09:52:15 AM
Given the number of previous threads on over the last 15 years I think it is safe to say the idea has been well suggested already.
Title: Re: GBA Games on iPod Classic (6th or 7th gen) using iGPSP
Post by: sunrize777 on May 16, 2022, 11:25:24 AM
Given the number of previous threads on over the last 15 years I think it is safe to say the idea has been well suggested already.

Heck I'm 14 years old myself! Well all I wanted to do really was to sum up all the facts to show that it is an easy implementation, but if you already know that this is a possibility, I guess all that's left for me to do is to start coding! Any help with porting it would be much appreciated. Hopefully I can start porting soon and start a personal project.

Thanks for the help,
Sunrize777
Title: Re: GBA Games on iPod Classic (6th or 7th gen) using iGPSP
Post by: bluebrother on May 16, 2022, 02:47:53 PM
Heck I'm 14 years old myself! Well all I wanted to do really was to sum up all the facts to show that it is an easy implementation, but if you already know that this is a possibility, I guess all that's left for me to do is to start coding!

Summing up facts is pointless unless there is someone interested and willing to put in the actual work hours. Given the age of that device this definitely will be the hardest problem. But if you're up to it the better. Just don't expect lots of people to find too much interest in such a thing these days. Just look at the development activity and active developers these days compared to like 10 years ago.

Also, if an approach appears to be simple it doesn't mean it will be easy to do, and it doesn't show in any way that it would be simple. In software you're usually hitting a lot of snakes along the way.
Title: Re: GBA Games on iPod Classic (6th or 7th gen) using iGPSP
Post by: sunrize777 on May 16, 2022, 11:39:54 PM
Summing up facts is pointless unless there is someone interested and willing to put in the actual work hours. Given the age of that device this definitely will be the hardest problem. But if you're up to it the better. Just don't expect lots of people to find too much interest in such a thing these days. Just look at the development activity and active developers these days compared to like 10 years ago.

Also, if an approach appears to be simple it doesn't mean it will be easy to do, and it doesn't show in any way that it would be simple. In software you're usually hitting a lot of snakes along the way.


As I already said I’ve decided that if the developers know that it’s a possibility but won’t attempt it, I’ll try it myself. I’ve realized that almost no one is willing to put any more work into the firmwares like iPodLinux anymore. I even talked to the developer of the GBA emulator, Keripo, and he said he had long stopped working on the project, since 2014 actually, so that’s that, I’ll have to try it myself.
As for the warning of building software, thanks
Sunrize777