Hacking Ripping an intro from a GBA rom

amaki123

New Member
OP
Newbie
Joined
Sep 8, 2023
Messages
1
Trophies
0
Age
23
XP
17
Country
France
How exactly do you rip an intro (cracktro to be specific) from a GBA rom? Is there any tool to do that?
I tried hex editing but this would always corrupt the rom and throw jump errors on the emulator..
 

FAST6191

Techromancer
Editorial Team
Joined
Nov 21, 2005
Messages
36,798
Trophies
3
XP
28,346
Country
United Kingdom
Some of the intro removing tools would also have an option to "draw" (think draw water from a well, a plough on a field, or magic from an item) the intro, though they don't always work (turns out if you can code an intro you can also colour a bit outside the lines to make the lives of removal tools that bit more annoying).
GBATA might have it https://www.romhacking.net/utilities/601/

Many of the intros were ripped as standalone efforts though and quite often feature in now very old lists of homebrew games, though how many of those are still online or captured in any meaningful fashion in the internet archive/wayback machine I do not know. https://web.archive.org/web/2008050...advance-roms.info/download_gba_roms_pd600.htm for the sort of thing I am thinking of though that particular example is not sporting many in the quick scan of it I had.
I did a search for Rising Sun intro gba and got a normal rom site but featuring some. https://demozoo.org/groups/11589/ also notes some things.
https://www.pouet.net/prodlist.php might have something as well but skews more into the Demoscene as it is generally known today (though if you want cool art like you see in intros from the same sorts of people then hey).

It would also not be the absolute worst thing to learn how to do.
The hope it works method is to get the clean ROM, get the intro bearing one and compare them.
In most cases the GBA ROM will work the same for the first few instructions and then branch to the end of the ROM where they stuck the intro (if right near the start of the ROM is a change this might be that jump) which is basically a standalone program. Cracks (the GBA needed a few https://gbatemp.net/threads/buying-a-gba-flash-cart-in-2013.341203/page-18#post-4756995 ) and Trainers might be a bit different in that they might edit other parts of the ROM as well, though in those cases the same principle applies and you are mostly concerned with the new additions rather than presumably minor alterations.
Anyway after the intro exits (maybe timer related, might need user input) it will return the game to just after the jump and it would carry on from there. A better hack might alter this exit to loop back to the start, or maybe do some kind of exception handler for when it can't find the game as it is presumably blank but seriously optional in this.
The short version then becomes look at the comparison between stock and intro bearing. The first few instructions (usually the header and a bit of IO like setting the key parts of memory up to not be random values) will probably be the same but shortly afterwards will be a jump to somewhere in the 08000000-09FFFFFF region, in normal operation/ROM hacks this is where the juicy aspects of the binary tend to be but here you might see something else. If it is not then it will not be too many more instructions.
Your job to draw it (might as well use the existing term) would then be identify the jump to the intro and then blank everything in the ROM that comes after it (aka all the parts of the commercial game) until you hit the data for the intro. You will have to leave it the same size as the basic trimmed (or untrimmed) ROM but most emulators support running things from a zip anyway -- changing it to be as small as you can is not impossible but a nightmare as you would have to recode all the pointers and any sneaky maths some things might have done in that.

This change of execution location is also where I would key in if I was doing it as a proper ROM hack. It is not entirely different in concept to doing autoboot patches for ? in 1 games or always boot to a minigame type patches -- take as little IO as you can (or remake it if you are good enough) and force a jump to the area of code that deals with the (mini)game you care about.
 

The Real Jdbye

*is birb*
Member
Joined
Mar 17, 2010
Messages
23,296
Trophies
4
Location
Space
XP
13,861
Country
Norway
How exactly do you rip an intro (cracktro to be specific) from a GBA rom? Is there any tool to do that?
I tried hex editing but this would always corrupt the rom and throw jump errors on the emulator..
Change the entry point address (located at the very beginning of the ROM) back to the default value. I think there are tools that can do this without manual hex editing. The entry point address is usually the same IIRC, so you can compare with any no-intro ROM to see what the value should be.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
    NinStar @ NinStar: unless nintendo is going to start selling consoles at a loss that thing won't be cheap based on...