Homebrew CitrAGB - 3DS GBA Emulator (WIP)

  • Thread starter Thread starter shinyquagsire23
  • Start date Start date
  • Views Views 579,792
  • Replies Replies 1,234
  • Likes Likes 74
Basically anything that gpsp can run, this (should) run. So maybe, maybe not. Testing is definitely appreciated so that I can find issues with my porting and fix those to get back to gpsp's true compatability.

Also, I just pushed a new 3dsx. This one reverts the previous method I used to rotate the screen and instead writes to a GBA framebuffer, and then uses this framebuffer and translates it over to the screen via software. In the future I'll probably map this buffer to a texture and render it in hardware instead. However, this fixes a number of graphics-related crashes, which is good. I also fixed input, so you'll be able to progress a lot more now in games and further testing.
I'll be trying out a list of about 10 games, I'll tell you which ones work good and which ones don't. And ok nice job.
 
ok, though i had wrong file. great emulator, better than the other one. its a little bit faster also. so you have to exit out of citragb to change roms. just for reference... crash bandicoot works, about 50% speed, firered and leaf about 30%, DKC 2 20%, and liquid crystal works, not sure about RTC. didnt play past the instructions.
 
ok, though i had wrong file. great emulator, better than the other one. its a little bit faster also. so you have to exit out of citragb to change roms. just for reference... crash bandicoot works, about 50% speed, firered and leaf about 30%, DKC 2 20%, and liquid crystal works, not sure about RTC. didnt play past the instructions.

I've managed to get Fire Red at 50% through an idle loop optimization by knizz (might try and find it again). The main limiter is definitely CPU at this point though, which isn't the worst case but certainly isn't the best thing to be limited by. We might be able to optimize the interpreter some, but I'm personally hoping we can get dynamic recompilation some time soon since the fork of gpsp I used happens to have a usable ARM11 dynrec core which we might be able to take advantage of. I might also add a percentage counter so we can get some hard numbers on how fast we are going, or at least sound.
 
Just tried this out with Fire Emblem. It ended up freezing after some graphical issues, but it was running at a pretty good speed. I'm impressed! I can't wait to see it develop further.
 
This is looking good btw, just gave it a try with Guru Logic Champ, running fine besides some funky colours in transitions. Bit slow but almost fine for this kind of game, however I'm gonna wait for more speed & sound, seeing as the sound in this game is one of the things that makes it so addictive :)
 
I've managed to get Fire Red at 50% through an idle loop optimization by knizz (might try and find it again). The main limiter is definitely CPU at this point though, which isn't the worst case but certainly isn't the best thing to be limited by. We might be able to optimize the interpreter some, but I'm personally hoping we can get dynamic recompilation some time soon since the fork of gpsp I used happens to have a usable ARM11 dynrec core which we might be able to take advantage of. I might also add a percentage counter so we can get some hard numbers on how fast we are going, or at least sound.

Can Ninjhax get to the Pica? It would probably be helpful for sharing the CPU's load in future homebrew apps.

EDIT: Okay so it does, but how well? What can't you do with it?
 
Can Ninjhax get to the Pica? It would probably be helpful for sharing the CPU's load in future homebrew apps.

EDIT: Okay so it does, but how well? What can't you do with it?

From what I hear it's still a work in progress, but works well for simple things like 2D and basic 3D. I'll probably do it so that I'm not flipping the texture manually every frame, but right now it's important to get sound working as well as the CPU limitations out.
 
if settings pages as executable is already doable with gateway's homebrew way, what is setting you back from experimenting?
 
I have a bug with the .cia when i launch a rom it says gamepak files not found.what can i do?
 
I have a bug with the .cia when i launch a rom it says gamepak files not found.what can i do?
Make sure the file doesn't have any spaces in the name and it's not in a folder. These can cause it to crash. The folder thing is fixable, (I just haven't got to it), but I'm not sure how to fix the thing with the spaces.

The first time the homebrew started but I got an error...
Now the homebrew crashes when I try to selecting a game :(
Make sure the ROM isn't in a folder, sometimes folders let you go through, but most of the time it just crashes. Still investigating this one.


StapleButter uses the Pica for hardware acceleration in blargSnes.
Aye, I'm aware of that. Main issue right now isn't drawing slowdowns but rather CPU slowdowns instead. Optimizing drawing could certainly help a bit but I'm probably going to focus more on improving the CPU's efficiency.


if settings pages as executable is already doable with gateway's homebrew way, what is setting you back from experimenting?

I wasn't aware of this. Any documentation on this? If they do in fact have this set up for homebrew devs I'll have to try doing this once my Gateway arrives (assuming they update for 9.2 by then...).
 
I wasn't aware of this. Any documentation on this? If they do in fact have this set up for homebrew devs I'll have to try doing this once my Gateway arrives (assuming they update for 9.2 by then...).

There must be a way because of how ninjhax works.
If a game can do this (cubic ninja can) then a cia homebrew can.

I would love to experiment but I know basically nothing about how the GBA works.

If I get enough knowledge about it I would love to collaborate on this project.
 

Site & Scene News

Popular threads in this forum