Hacking slus help!
I'm fairly new to this so bare with me on this! I found another slus that is more on my level since it has labels added to it. I would be more than happy to send the slus to anyone willing to help. The game is "MX 2002 Ricky Carmichael" . Let's cut to the chase shall we.. :)
Let's say I want to unlock all the tracks or motocross courses in the game. So I found the labeled section in ps2dis which is name "locked_tracks". Below this are 25 addresses which I think could possibly mean, there are 25 tracks locked in total. To go about making codes for codebreaker to unlock these tracks, I would need to convert all of these addresses in cb form which gives me a total of 25 codes I would need to test? However I got stuck on one part. I have no idea what formats the commands I am supposed to use are in? I looked on hellions site and all of the formats/commands/writes were for gameshark. Can I use the same digits that hellion lists or are there more writes specifically for cb? I am guessing, now I'm not saying this is right or not, but this would be considered a Boolean variable? And what I would need to do is use the 8 byte format, assuming that I could use gameshark's commands for cb, and then ad a 1 at the end and convert to cb and that's it?
Jeez, I've never even heard of that game...
The command formats are the same between GS and CB, so what's on Hellion's site is perfectly usable. Write the code in raw format as shown and encrypt it for CB and away you go.
As to what you need to plug into your code...hard to say...If you knew something about what you were looking for (number of tracks you need to unlock) it'd be easier. Try invoking analyzer, selecting the labeled bit of data (hit space while the line is highlighted) and jumping to referrers. You might get lucky and find a comparison that'll help decipher it.
Failing that, they could've used several ways to indicate the track is unlocked. If you can't figure it out from the disassembled binary, you could always try a 32-bit write of various values to the address with the label on it and see what you get. A little trial-and-error is necessary sometimes. If it's a small number of tracks, they probably did use 8-bits to indicate each one.
Ok, that sort of makes sense. I looked at codes that have already been made for this game and converted to hex, then typed g to find the address in the scus. The labels match up with the adresses so i'm kind of following along.. However I came accross ANOTHER prob which i really do not understand. I can come up with the first 8 digits of the code i want to make but the last 8 digits, the values at the end, i cannot make sense of. Let's say I am looking at an adress that reads "00416F90" .. How would I know what digits are supposed to be at the end when converted to cb because when i look at gsccc.com they have all sorts of values at the ends of there codes and am not understanding where they got em from? Like I said, the first 8 digits are piece of cake. Also, without knowing the last values, how am I supposed to know which write to use as hellions suggest?
Well, you can't know what the value needs to be just by looking at an address. That's what I was talking about with using the analyzer. You either need to be able to figure out from the SLUS what a likely value is, or you need to know enough about the game (or games in general) to make a few educated guesses.
Since you're looking to unlock something, it's a flag of some sort being used. Likely values are 0, if they used negated logic and 1 if they used positive logic. They probably use a maximum of 8-bits to flag a track as locked/unlocked. If they're using more than that, pray these guys never get a job with your favorite gaming company. They might also use individual bits as flags, in which case the value FF will accomplish a lot. Doing that isn't useful unless you need to flag an awful lot of values or you're trying to minimize the size of the save file, so it's probably some variation of the first option.
Like I said before, some trial-and-error is necessary. Since you have the address and the game in your hands, you'll figure it out eventually.