Homebrew CitrAGB - 3DS GBA Emulator (WIP)

DarkFlare69

Well-Known Member
Member
Joined
Dec 8, 2014
Messages
5,147
Trophies
2
Location
Chicago
XP
4,750
Country
United States
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.
 

Gettwobirdsstone

Triforce Guardian
Member
Joined
Jul 1, 2012
Messages
372
Trophies
0
Age
38
Location
Behind you breathing heavily
XP
329
Country
Canada
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.
 

shinyquagsire23

SALT/Sm4sh Leak Guy
OP
Member
Joined
Nov 18, 2012
Messages
1,977
Trophies
2
Age
26
Location
Las Vegas
XP
3,765
Country
United States
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.
 

hippy dave

BBMB
Member
Joined
Apr 30, 2012
Messages
9,881
Trophies
2
XP
29,234
Country
United Kingdom
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 :)
 

henn64

I don't know what I'm doing with my life.
Member
Joined
Dec 26, 2012
Messages
680
Trophies
0
Age
25
Location
The Great White South
XP
470
Country
Canada
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?
 

shinyquagsire23

SALT/Sm4sh Leak Guy
OP
Member
Joined
Nov 18, 2012
Messages
1,977
Trophies
2
Age
26
Location
Las Vegas
XP
3,765
Country
United States
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.
 

michyprima

Well-Known Member
Member
Joined
Feb 19, 2014
Messages
219
Trophies
0
Age
30
XP
201
Country
Italy
if settings pages as executable is already doable with gateway's homebrew way, what is setting you back from experimenting?
 

shinyquagsire23

SALT/Sm4sh Leak Guy
OP
Member
Joined
Nov 18, 2012
Messages
1,977
Trophies
2
Age
26
Location
Las Vegas
XP
3,765
Country
United States
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...).
 

michyprima

Well-Known Member
Member
Joined
Feb 19, 2014
Messages
219
Trophies
0
Age
30
XP
201
Country
Italy
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

General chit-chat
Help Users
    ZeroT21 @ ZeroT21: Pretty sure anyone buying the switch just for that got duped