Homebrew CitrAGB - 3DS GBA Emulator (WIP)

DSoryu

GBA/NDS Maniac
Member
Joined
May 5, 2010
Messages
2,373
Trophies
2
Location
In my house
XP
4,827
Country
Mexico
LoL you arguing about age, I'm 22, in two months 23, the old ones are the best lol.

BTW, does this emulator support special features like the gyroscope in Wario Ware?
 
  • Like
Reactions: Idaho

LaronX

Well-Known Member
Member
Joined
Dec 13, 2014
Messages
135
Trophies
0
Age
34
XP
189
Country
Gambia, The
I get a cut in half black screen.

Next, download game_config.txt from here and a sample homebrew application here to make sure everything is set up right before you run regular GBA ROMs

I don't get this part. Should I just save the page as a .txt in the root of the SD card or what is meant?
 

357A

Active Member
Newcomer
Joined
Jul 14, 2012
Messages
25
Trophies
1
XP
598
Country
United States
Wow, I feel your pain (only I'm actually 10, you just sound like it)


O_O geez, I remember being 10 and lurking GBATemp's Wiibrew section without an account, as opposed to now, where I lurk GBATemp's 3DS/Wii U Homebrew Section... not signed in to my account...

Also, to (sort of) stay relevant to the thread:

tIXJZPy.jpg
 

kangaroogreen

Well-Known Member
Newcomer
Joined
Jun 4, 2013
Messages
75
Trophies
0
Location
Trying to dump every game I own.
XP
138
Country
Canada
Using either the git or the compiled .3dsx version in the OP results in a crash and system restart once the emulator is selected from the homebrew launcher.

Not sure if it affects anything or not, but I'm running it on a 2ds. Haven't had any issues with any other programs yet though.
 

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
Using either the git or the compiled .3dsx version in the OP results in a crash and system restart once the emulator is selected from the homebrew launcher.

Not sure if it affects anything or not, but I'm running it on a 2ds. Haven't had any issues with any other programs yet though.

Make sure you have ninjhax 1.1b, otherwise it will crash. Also, the latest ctrulib breaks linearMemAlign at the moment.
 

kraan

Well-Known Member
Newcomer
Joined
Dec 12, 2014
Messages
84
Trophies
0
Age
33
Location
Merowe
Website
www.matsindia.wordpress.com
XP
85
Country
So any update on fps upgrade coming soon? Or are we waiting for another ninjhax update?

So far, the addition of sound is very nice, been testing some zelda and while it crashes every now and then, it certainly seems playable.
 

The Real Jdbye

*is birb*
Member
Joined
Mar 17, 2010
Messages
23,377
Trophies
4
Location
Space
XP
13,994
Country
Norway
Greets all,

So I've been working on a thing for a while. I had originally abandoned the project because I thought it was unable to be done without the use of dynamic recompilation, however as it turns out it was in fact possible. I present my 3DS GBA Emulator: CitrAGB, a 3DS GBA emulator based on gpsp.

t0wIZum.png

ht0cjXh.png


As of now, compatibility is technically on-par with whatever gpsp's interpreter is able to handle, however, due to the nature of the port some games will not run or crash on particular parts. Flipping the screen to it's proper orientation did a bit of damage which might take a bit to get fixed up, and a lot of things still need implementation. But, on the plus side, many games that do run actually run fairly well, around 50% speed in optimal cases, or as low as 20% if the game uses extremely inefficient idle loops. In the future I also plan on hopefully porting gpsp's dynrec CPU to be able to work on the 3DS as well, once smea updated ninjhax to allow developers to set RAM pages executable. This will increase emulation speed dramatically.

Controls:
A, B, Start, Select, L, R, and the D/C-Pad all map out to their rightful GBA buttons. Y is bound to select, and X currently exits back to the homebrew menu

Sauce Code:
You can find the source code for CitrAGB on my GitHub here. Once again, this is very much a work in progress and extremely buggy, but the bugs will be fixed and the emulator refined with time. However, if you encounter bugs let me know the game name and when the bug occurs so I have games to test against while fixing bugs.

Installation Instructions:
First, grab the .3dsx here and rename it/place it in sd:/3ds/<name of .3dsx>. Next, download game_config.txt from here and a sample homebrew application here to make sure everything is set up right before you run regular GBA ROMs. The last thing you will need is gba_bios.bin. You can either dump this/find this online, or you can use Normatt's open source GBA bios here. A proper GBA bios dump is preferred, although Normatt's bios hasn't shown any issues as of yet. Once you have gba_bios.bin, place it either in the root of your SD card or in /gba.

After downloading everything, your SD card structure should look something like this:
game_config.txt
gba_bios.bin
demo.gba
/3ds/<3dsx name>/<3dsx name>.3dsx

Currently Known Bugs:
  • Any video issues which may arise
  • Loading games from folders is iffy right now. Also, avoid using spaces in ROM names for now.
  • Some games get stuck on loops and never get to render. Please report these games so I have games to test against.
Special Thanks
Big thanks to Normatt, smea, yellows8 and plutoo for helping me get this working. Probably wouldn't have got anywhere in some places without your help.
Would probably be better to base this off TempGBA or its forks/ports, as a lot of things are broken in the original gpSP that TempGBA fixes. But nice work regardless :)
 

DarkFlare69

Well-Known Member
Member
Joined
Dec 8, 2014
Messages
5,147
Trophies
2
Location
Chicago
XP
4,751
Country
United States
So any update on fps upgrade coming soon? Or are we waiting for another ninjhax update?

So far, the addition of sound is very nice, been testing some zelda and while it crashes every now and then, it certainly seems playable.
I play The Minish Cap and it never crashes for me o.o
 

Slushie3DS

Cold Beverage Lover
Member
Joined
Jan 9, 2015
Messages
707
Trophies
0
Age
29
XP
420
Country
United States
I've been following the Ninjhax scene since shortly after Smea released his SSSpwn work, and your project has peaked my interest. I've been lurking, watching, and waiting for your project to grow. I have officially purchased an edition of Cubic Ninja, and your project will definitely be the first I attempt to use.

Thank you for how much effort you have put in to this project.
 
  • Like
Reactions: Kikirini

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've been following the Ninjhax scene since shortly after Smea released his SSSpwn work, and your project has peaked my interest. I've been lurking, watching, and waiting for your project to grow. I have officially purchased an edition of Cubic Ninja, and your project will definitely be the first I attempt to use.

Thank you for how much effort you have put in to this project.

Thanks, always glad to know my work is appreciated.

Also, just got my Gateway set up for stuff, so I'm going to see if I can't get it working as a .cia. Might be a while before I get something but I'm hoping I can get it working even better than what I have set up with ninjhax at the moment, so we'll see.
 

Kikirini

Zelda Fangirl
Member
Joined
May 18, 2011
Messages
1,142
Trophies
0
Age
34
Location
Vermont, USA
Website
kuroshouri.com
XP
1,214
Country
United States
Thanks, always glad to know my work is appreciated.

Also, just got my Gateway set up for stuff, so I'm going to see if I can't get it working as a .cia. Might be a while before I get something but I'm hoping I can get it working even better than what I have set up with ninjhax at the moment, so we'll see.
Just got my gateway too, can't wait to see what you make!
 

kraan

Well-Known Member
Newcomer
Joined
Dec 12, 2014
Messages
84
Trophies
0
Age
33
Location
Merowe
Website
www.matsindia.wordpress.com
XP
85
Country
T
I've been following the Ninjhax scene since shortly after Smea released his SSSpwn work, and your project has peaked my interest. I've been lurking, watching, and waiting for your project to grow. I have officially purchased an edition of Cubic Ninja, and your project will definitely be the first I attempt to use.

Thank you for how much effort you have put in to this project.

his was my main reason to get into HB myself as well. I never had a SNES or other Nintendo thingies (I was 12 when I got my first playstation 1 <3) but GBA is what homebrew is about (for me).
Thanks, always glad to know my work is appreciated.

Also, just got my Gateway set up for stuff, so I'm going to see if I can't get it working as a .cia. Might be a while before I get something but I'm hoping I can get it working even better than what I have set up with ninjhax at the moment, so we'll see.

If you would be able to improve the GW version/setup, does that mean an improvement for Ninjhax as well or not (necessarily)?
I'm kind of afraid that GW will make Ninjhax Homebrew obsolete.
 

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
T
If you would be able to improve the GW version/setup, does that mean an improvement for Ninjhax as well or not (necessarily)?
I'm kind of afraid that GW will make Ninjhax Homebrew obsolete.

The main problem right now with Ninjhax is the cache invalidation, and unfortunately there's not a whole lot I can do about that one since smea obfuscated the code under the hb service. What he gave was a generic flush+invalidate function which just invalidates the entire cache. What I need is a function which can flush+invalidate the part in RAM I actually modified, and I can't do that right now with Ninjhax. Although now that I'm actually looking at the SVCs available to the system, I'm not entirely sure if there even *is* a function which can invalidate part of the cache, so I might need to do some looking around.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    SylverReZ @ SylverReZ: @K3Nv2, RIP Felix does great videos on the PS3 yellow-light-of-death.