Previous Page | Next Page

by unknownfile at 1:32 PM EDT on April 5, 2006
I've been having some fun patching GBA cracktros in the last little while, I'm surprised how badly assembled the cracktros were. I'm gonna post some later if I'm bored enough. ;p
by unknownfile at 8:20 AM EDT on April 6, 2006
I'm going to be working on a generic GSF ripping guide. Stay tuned...

AND HERE IT IS:

GSF Ripping Guide
by UNKNOWNFILE

v0.0 - initial release

CHAPTER 1: Getting stuff together:

You'll need:

- no$gba for debugging and instruction editing
- VisualBoy Advance for looking for song reads
- IDA Pro
- Highly Advance v0.11 or newer
- a good knowledge of RISC-based architecture (ARM is in ways similar to PowerPC and MIPS)
- various bits and bobs

CHAPTER 2: Finding the song select

Song numbers can either be found in memory (usually GAX-based games leave a song offset read
in the 0x300000 section), or in a register (generic driver games ALWAYS use a register). If you
can determine where this is, set a breakpoint if it's a big function. With generic driver games,
the song number will usually end up in r0.

The way I usually rip GAX games is that I look in the driver bank for what song is currently playing
then I search through the ROM for that exact same identifier then switch it with other known song
reads. Now this is usually troublesome, see chapter 4 for more stuff.

CHAPTER 3: Hacking the game and removing unused data

Once you've found the song select, you must then remove other unneeded functions, either by NOPing
them out, or placing the following asm code in a good place (preferably after the song select):

function_cpucut:
swi 2h // swi 20000h in ARM
b function_cpucut

This will cut the CPU and prevent further operations past that point.

CHAPTER 4: Minigsfs!

By now you've probably created your GSFLib, so here comes the next step:

Minigsfs can be created with minigsf.exe. But suppose you have just tweaked a byte read, now
you will need to create a binary file:

(all of these are reversed)
first 4 bytes: Entry point (either 0x80000000 or 0x20000000)
next 4 bytes: The offset we want to inject our data in (never start with an 0x0!)
next 4 bytes: The size of our data
next x bytes: the data itself

Then, using bin2psf, create the file using the following command:

bin2psf minigsf 0x22 file.bin

Now add a _lib=whatever.gsflib tag, and it should then work. (note: replace whatever.gsflib with the
gsflib's filename)

CHAPTER 5: Optimization

gsfopt -l *.minigsf

'nuff said. It will occasionally dump the GSFLib as one of the song names, so just rename it
and you should be done.

edited 12:56 PM EDT April 6, 2006
by unknownfile at 3:36 PM EDT on April 6, 2006
Megaman Battle Chip Challenge is up at GSF Central (though I encourage Jayster to not use craptapper next time)
by marioman at 4:52 AM EDT on April 7, 2006
And Mega Man Battle Network 5 has been updated on the 15th?!?!? UF, you are GOOD - I have never seen a person update a set in the future like that. :) Thanks Jayster for the BCC set. Now all Mega Man games for the GBA are available at GSF central.

By the way, did you ever get the MPA delay fixed? I have been trying to listen to the set, but it is kind of annoying ot have to wait four seconds to figure out which track you are listening to. Thanks for looking into that.
by unknownfile at 7:30 AM EDT on April 7, 2006
Just a feeble request for you:

Bug CS2 to add a silence suppression function.
by marioman at 9:58 AM EDT on April 7, 2006
OK, I will try to get a hold of him. You never really said if you were going to talk to him or not. I will get on that immediately.

--EDIT--

Well, I tried. Apparently, the E-mail address on the GSF page is able to be read by all of the admins. Therefore, I got a kind E-mail from UF telling me to quit spamming the account. (Honest mistake on my part.)

UF, I think I am going about this the wrong way. Why don't you give me the correct E-mail address and THEN I will contact CS2. Otherwise, I cannot do anything.

edited 3:49 PM EDT April 7, 2006
by unknownfile at 11:59 AM EDT on April 7, 2006
Try going to #psf on irc.zirc.org, and msg CS2 as whoever he is in that channel.
by marioman at 6:53 PM EDT on April 7, 2006
I don't use IRC, and I do not have the time to devote to setting it up, finding CS2, and then being fussed at for not knowing how to use it properly. Maybe someone who is more capable will do something.

Anyway, I would hope that it gets fixed soon. I would do all I could to tag it. However, if it is nobody if going to look at it, I guess I will have hold off on my tags.

--EDIT--

I looked at the gsflib myself, but No$GBA seems to have trouble reading parts of the code. There are quite a few functions in there that say IntWait, but when I hex edit them out the gsflib ceases to work.

edited 3:36 PM EDT April 8, 2006
by FireDivine at 11:38 AM EDT on April 8, 2006
I can't connect to the IRC myself ATM. v.v
by unknownfile at 12:00 PM EDT on April 8, 2006
Marioman: learn ARM/THUMB and try again.

Previous Page | Next Page
Go to Page 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217

Search this thread

Show all threads

Reply to this thread:

User Name Tags:

bold: [b]bold[/b]
italics: [i]italics[/i]
emphasis: [em]emphasis[/em]
underline: [u]underline[/u]
small: [small]small[/small]
Link: [url=http://www.google.com]Link[/url]

[img=https://www.hcs64.com/images/mm1.png]
Password
Subject
Message

HCS Forum Index
Halley's Comet Software
forum source
Generated in 0.0174s;