ROM Hack How do you open .gba files ( to see the sprites,sounds, etc...)?

Marugi

Active Member
OP
Newcomer
Joined
Nov 19, 2013
Messages
39
Trophies
0
XP
134
Country
United States
Hi everyone,
I was wondering how to open .gba files ( to see the sprites,sounds, etc...). Just tell me what program to use ( or give me a link).

Thanks,
Marugi
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,796
Trophies
3
XP
28,412
Country
United Kingdom
There is no such program. Everything in a commercial GBA rom (quite a bit of homebrew differs mind you) is packed at C/include/in binary levels and there is no filesystem.

Some things like the sappy sound format, the most popular but not as popular as SDAT on the DS mind you, can be scanned for. http://filetrip.net/gba-downloads/tools-utilities/download-sappy-2006-mod-171-f30549.html can help there.

Likewise some games like Pokemon, Advance Wars, Doom and Golden Sun (tap Golden Sun Atrius into a search engine) have been extensively reverse engineered and have things you can pull apart that way.

After this it is typically more conventional hacking methods like just looking with a tile editor ( http://home.arcor.de/minako.aino/TilEd2002/ , http://filetrip.net/nds-downloads/utilities/download-crystaltile2-2010-09-06-f23649.html ), tracing, text hacking/extraction methods like relative search, compression searching, corruption and beyond.

If you just want to rip graphics (be it sprites, backgrounds, level overviews and whatever else) then emulators are probably your best bet. You can combine emulators with a few hacking techniques as well if you like and it is often good to do so.
 

Marugi

Active Member
OP
Newcomer
Joined
Nov 19, 2013
Messages
39
Trophies
0
XP
134
Country
United States
There is no such program. Everything in a commercial GBA rom (quite a bit of homebrew differs mind you) is packed at C/include/in binary levels and there is no filesystem.

Some things like the sappy sound format, the most popular but not as popular as SDAT on the DS mind you, can be scanned for. http://filetrip.net/gba-downloads/tools-utilities/download-sappy-2006-mod-171-f30549.html can help there.

Likewise some games like Pokemon, Advance Wars, Doom and Golden Sun (tap Golden Sun Atrius into a search engine) have been extensively reverse engineered and have things you can pull apart that way.

After this it is typically more conventional hacking methods like just looking with a tile editor ( http://home.arcor.de/minako.aino/TilEd2002/ , http://filetrip.net/nds-downloads/utilities/download-crystaltile2-2010-09-06-f23649.html ), tracing, text hacking/extraction methods like relative search, compression searching, corruption and beyond.

If you just want to rip graphics (be it sprites, backgrounds, level overviews and whatever else) then emulators are probably your best bet. You can combine emulators with a few hacking techniques as well if you like and it is often good to do so.

Sappy wouldn't work for some reason (run-time error '339': Component 'vbalCbEx6.ocx' or one of its dependencies not correctly registered: a file is missing or invalid.)
P.S. the only coding I know is python.

and i just need the games music files and sprites.
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,796
Trophies
3
XP
28,412
Country
United Kingdom
I am guessing you are on a newer version of windows.
OCX file errors usually mean you lack the VB runtimes, trouble is it can get odd trying to get things to work using newer windows. Not impossible but odd. I imagine we will see far more of this as VB was the go to programming language of choice for a lot of ROM hacking tools. If you still have an XP machine/VM then try that.

On sprites and music. Do check to see if it has already been ripped, quite a few people ripped both for the GBA.
I went through textures and sprites
http://gbatemp.net/threads/how-to-rip-textures-from-games.361530/

Sound wise it tends to be try sappy and if that does not work then you get to learn sound hacking proper. I cover it a bit in my hacking docs that I linked to earlier ( http://gbatemp.net/threads/gbatemp-rom-hacking-documentation-project-rewritten-for-2012.73394/ ).
 

Marugi

Active Member
OP
Newcomer
Joined
Nov 19, 2013
Messages
39
Trophies
0
XP
134
Country
United States
I am guessing you are on a newer version of windows.
OCX file errors usually mean you lack the VB runtimes, trouble is it can get odd trying to get things to work using newer windows. Not impossible but odd. I imagine we will see far more of this as VB was the go to programming language of choice for a lot of ROM hacking tools. If you still have an XP machine/VM then try that.

On sprites and music. Do check to see if it has already been ripped, quite a few people ripped both for the GBA.
I went through textures and sprites
http://gbatemp.net/threads/how-to-rip-textures-from-games.361530/

Sound wise it tends to be try sappy and if that does not work then you get to learn sound hacking proper. I cover it a bit in my hacking docs that I linked to earlier ( http://gbatemp.net/threads/gbatemp-rom-hacking-documentation-project-rewritten-for-2012.73394/ ).

So sappy doesnt work on windows&?
 

Heran Bago

Where do puyo come from?
Member
Joined
Nov 6, 2005
Messages
3,100
Trophies
0
Age
35
Location
Foggy California
Website
heranbago.com
XP
1,187
Country
United States
I'm going to copy and paste an earlier post of mine. This relates to GBA audio samples.


Hi welcome to another exciting ROM hacking effort post. Today we’ll learn how to dub your own voice into a GBA game and then share your work with the world. We start undubbing Zelda Link to the Past as a hands-on example. If you’re new to this or like what you see then check out the last couple posts by univbee and I.

otxRT0G.jpg



Tools:
- A cheap pair of headphones
- An audio editor that can support raw PCM data. I recommend anything with Cool Edit in the name. Adobe Audition CS6 and CS3 support PCM but not anything in between. Any version of Cool Edit Pro should work too. I don’t know anything about Goldwave or Audacity.
- An IPS Patcher like Lunar IPS.


Raw Voice Samples

Start off by making a copy of your ROM and change the file extention to .pcm. Open it in your audio editor and make sure your speakers are off.

MkEUGiw.png


GBA games use straight up raw waveform (wav) audio samples for many sound effects and instruments in songs. These are called “voice samples” whether they’re instruments or voice acting or whatever. While the games can have whatever quality they want 95% of the time they use a sample rate of 11025. Open it as a signed mono 8-bit PCM.

GnnAn1y.png


Like everything else in a ROM audio samples are just numbers. In a hex editor a game looks like numbers, in a tile editor it looks like colorful fuzz, and this is what the GBA ROM looks like in an audio editor.

Look closely at the image above. Most of the file is full volume white noise. Listening to this game data as audio is uncomfortable and actually bad for your audio equipment. That's why you have the crappy headphones. When you’re really digging for voice samples you might have to listen to a lot of it but here we can see a part of the game data that is more structured looking starting around 3:10.

KXrbE59.png


Most of the audio we can hear starts with a tiny ‘blip’ and sounds like instruments in varying pitches. Link to the past does something that very few GBA games do; it uses a few different sample rates so certain instruments are higher quality than most GBA shlock.

Seen in the picture above are all of Link’s voice clips. Each one has a tiny line in front of it that the audio editor interprets as a blip. This is actually a little important piece of data. It’s a header that says “yo this is a voice sample.” We don’t even want to bother with a hex editor so we’re leaving that alone.

15OC1VM.png


Using wicked zooming we can start the to-be-changed selection a little after that header. It’s good to give yourself room so feel free to start a little later. There is no way anyone is going to hear another 100th of a second before Link really starts screaming.

Muuz2wM.png


Silencing the audio just replaces your selection with 00s. Keep it selected and open up your personal recording you made of all the sounds in Zelda LttP. Or go to the Webpage with every Zelda sound ever.

36lvZda.png


Copy and mix-paste in the new sound. It’s important that your new sound is shorter than the old one. Mix-paste will combine the silence and your new sound while retaining the size of your selection.

Then you have to save the ROM again as PCM data. This part is not totally straight forward and is impossible in Adobe Audition CS4, CS5, CS5.5. In fact at this point in the tutorial hit a snag where I couldn’t figure out how to get Audition CS6 to save the whole file as a .pcm without subtly changing data throughout and ruining the ROM. Christ. Someone please figure this out for me.
I could use just that part and memory addresses but believe me this whole process is easier when you don’t even touch a hex editor.

So I just fell back on using Cool Edit Pro 2.0 and redid the whole process and just saved. Pictures still apply.

[video type="youtube"]KQXK9W0D-9Q[/video]
There now Link sounds like Link when he falls. This might be worth finishing if apathy or real life - the two nemeses of any good ROM hacker - don’t kick in first.

Using this technique you can redub certain games. It’s nice to just silence Mario and company saying “Woo-Hoo! Just what I needed!” in all those Mario Advance games but I like Yoshi making modern Yoshi noises.
People have put this technique to work making the music in the GBA Final Fantasy titles not sound like total garbage. There’s also one that changes Link in Minish Cap to sound like Link in Wind Waker.

The basic principles of audio sample editing can apply to other systems while the process and settings can vary a bit. Actual audio clips in some NES and Genesis games like the SEEGAA logo in Sonic games are just a quick edit away.

These things are so easy to find and edit for the same reasons as the graphics in my last effortpost. These all raw and uncompressed for quick and easy access to the game’s memory. This is the stuff that needs to load up instantly at the cost of being uncompressed and taking up more space.





IPS Patches

Distributing and redistributing ROMs is a legal grey area and some ROM hackers are absolutely terrified by this. By creating a patch that only contains the changes you’ve made and info about where those changes go you can distribute files that are completely composed of your original work. If you’re worried about all of the stolen art and intellectual property in your patch that you add or modify with the game then congratulations you’re either overthinking this or you understand why only distributing a patch doesn’t make sense and is inconvenient.

Popular ROM hacking website Romhacking.net only accepts patch files. Most game ROMs use IPS patches. Big games or ISO images often use PPF patches but we’re not doing that.

NlCCcz1.png

[super]Yeah this is simple stuff.[/super]

To make an IPS patch you take the original ROM and your modified ROM. When you click “Create IPS patch” in Lunar IPS it will prompt for the two files, look at the differences, and drop out a patch. Now when someone has this patch and original file they can make a copy of your ROM hack all by themselves.

When creating or using an IPS patch it’s important to note the what version of the game the original ROM file is. Depending on the game the results could be a disaster. Different regional releases of games can be quite different. Super Mario Bros. has two versions, one with and one without the title screen. In this case you can compare your modified ROM against all versions of the original game and then release multiple patches even if you only ever modified one version of the game.

Some games by dumped by piracy groups have specials intro or trainer screens when you start up the game. Usually these are placed in free space at the end of the ROM and aren’t a problem but sometimes they can be. Try out your patch on a clean ROM before uploading it somewhere.

Personal recommendation - distribute your ROM hack as both a patch and a ready-to-go ROM separately. Most everyone would prefer to just get the ROM, but some sites prefer the patches. If you are ethically or legally concerned about uploading a ROM somewhere then don’t do it, that’s what the patches exist for.
 
  • Like
Reactions: pasc

Mizat

Member
Newcomer
Joined
Aug 5, 2018
Messages
15
Trophies
0
Age
33
Location
Michigan
XP
106
Country
United States
I was wondering if any tools exist that would do the same, with the Zelda Oracle games? any ideas?
OK soryy, I saw that the audio post was on a link to the past and I guess I'll check that out and other guides you created!?
 
Last edited by Mizat,

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,796
Trophies
3
XP
28,412
Country
United Kingdom
The Zelda Oracles games are for the gameboy color which is a different system. That said if it did not appear on a floppy disc, CD, DVD and is older than the DS then it probably won't have a file system. The Gameboy/Gameboy Color family very much falling into that category.
Still while they are perhaps not as well known as some other entries (a pity really as they are spectacular games) there are some people doing stuff to them. I am not familiar with any of the tools here for it but the following two links should be a start (do note in the right hand side, at least on a PC browser, there is a thing saying ROM map (the others are not done at time of writing) which you can click on and see where other people before you found things in the ROM.
http://datacrystal.romhacking.net/wiki/The_Legend_of_Zelda:_Oracle_of_Ages
http://datacrystal.romhacking.net/wiki/The_Legend_of_Zelda:_Oracle_of_Seasons
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    SylverReZ @ SylverReZ: https://www.youtube.com/shorts/X2x6pu6vSjU