Author Topic: Micro Machines 2: Turbo Tournament (MD)  (Read 128699 times)

0 Members and 1 Guest are viewing this topic.

Offline Maxim

  • Hero Member
  • *****
  • Posts: 974
RE: Micro Machines 2: Turbo Tournament (MD)
« Reply #150 on: July 22, 2007, 06:27:41 AM »
I've emailed the files to JonLeung now.

Offline The Ultimate Koopa

  • Hero Member
  • *****
  • Posts: 509
RE: Micro Machines 2: Turbo Tournament (MD)
« Reply #151 on: July 22, 2007, 08:09:20 AM »
Cool. So, it's the rest of MM96 you're doing next?

Offline The Ultimate Koopa

  • Hero Member
  • *****
  • Posts: 509
RE: Micro Machines 2: Turbo Tournament (MD)
« Reply #152 on: July 22, 2007, 08:34:38 AM »
Also, yeah I do know that probably all of the MM96 tracks that are from MM2 have some kind of difference. E.g. on Roller Coaster, where you usually go through one of two possible rolls of wallpaper, in MM96, there's only one. Also, in Raining Champ, the MM2 version only has rain, but the MM96 one has thunder and lightning as well.

Offline The Ultimate Koopa

  • Hero Member
  • *****
  • Posts: 509
RE: Micro Machines 2: Turbo Tournament (MD)
« Reply #153 on: July 22, 2007, 08:35:40 AM »
Also, did you make that Level Select code? If so, could you do one for MM96?

Offline Maxim

  • Hero Member
  • *****
  • Posts: 974
RE: Micro Machines 2: Turbo Tournament (MD)
« Reply #154 on: July 22, 2007, 09:10:54 AM »
It's easy to do.



1. Load the ROM in a hex editor

2. Find the level names (0x4548b)

3. Copy/paste and number them in hex from 0

4. Write the number sequence for the start of time trial mode:

BBQ Burnoff = 02

Science Lab = 40

Hammer Havoc = 33

5. Search the ROM for those bytes (0x452c5)

6. Type the values from your list to replace the Time Trial tracks - remember to back up the original though.

Offline The Ultimate Koopa

  • Hero Member
  • *****
  • Posts: 509
RE: Micro Machines 2: Turbo Tournament (MD)
« Reply #155 on: July 22, 2007, 01:06:04 PM »
Firstly, what's the best hex editor to use?

Offline Maxim

  • Hero Member
  • *****
  • Posts: 974
RE: Micro Machines 2: Turbo Tournament (MD)
« Reply #156 on: July 22, 2007, 02:01:22 PM »
Whichever one you like. I use frhed but it's hardly the most advanced one in the world.

Offline The Ultimate Koopa

  • Hero Member
  • *****
  • Posts: 509
RE: Micro Machines 2: Turbo Tournament (MD)
« Reply #157 on: July 22, 2007, 02:53:26 PM »
Maxim Said:
It's easy to do.



1. Load the ROM in a hex editor

2. Find the level names (0x4548b)

3. Copy/paste and number them in hex from 0

4. Write the number sequence for the start of time trial mode:

BBQ Burnoff = 02

Science Lab = 40

Hammer Havoc = 33

5. Search the ROM for those bytes (0x452c5)

6. Type the values from your list to replace the Time Trial tracks - remember to back up the original though. Don't type too many, it'll break the ROM - there's room for 27.



Some of the levels are likely to be broken, eg. the ones called OLDTRACK.



You can use the same numbers in a "value" Action Replay code search which can help when you want to trigger certain tracks (eg. bonus games) in modes other than Time Trial. (The bonus tracks have no circuit defined so they bug out in Time Trial mode.)
I found the level names and edited "Driller Killer" to "Toolbox Terror" just to test it. But firstly, what do you mean by "0x4548b"? And, where do you get the number sequence for the start of time trial mode? Also, how do you search for things like 0x4548b and 0x452c5? I'm completely new to this BTW. <_<

Offline Maxim

  • Hero Member
  • *****
  • Posts: 974
RE: Micro Machines 2: Turbo Tournament (MD)
« Reply #158 on: July 23, 2007, 02:25:05 AM »
This is getting somewhat off-topic.



1. Load the ROM into a hex editor

2. Find the level names



There's a text search function in most hex editors. In MM2 they're capitalised, in MM96 they're Title Cased; in either case, it's a bit of luck that they're in ASCII. There are tools for finding text in other encodings, anyway.



Finding the text is a starting point for reverse engineering the level data. In this case, it's extremely easy because the text is all together and that's a good indicator that the text ordering tells you the level data ordering.



Anyway, you find the first letter of the first name (Raining Champ) at offset 0x4548b. That's a hexadecimal number telling you what position in the file I am referring to. There's usually a bunch of numbers at the left telling you the address, but it ends in 0, and the data it shows has 16 bytes on a line. The status bar will tell you exactly which byte the cursor is on, it'll be the same row address as on the left but with the last digit changed. There's probably a "go to" function to jump to any given address, which is why I posted it.



3. Copy paste and number



Counting text strings in hex is hard work. I copy/pasted the block of text into a text editor, split it up to one track per line, and then wrote numbers before each, to make it easy to find which number means which track.



Since we're dealing with a raw binary file, we need to deal with values as hex numbers. 2 digits of hex means 1 byte. So we number them. Anyone who deals with computers knows that you normally number things starting at 0. So number them 00, 01, 02, 03, ... 09, 0A, 0B, 0C, 0D, 0E, 0F, 10, 11, 12, ... etc.



The next thing I did was to fire up Kega and do an Action Replay code search using these values. I just started a bunch of levels and assumed there'd be a byte in RAM that matched the number from my list; Kega helped find which byte. From that, I can make a PAR code that will override the level by force. Unfortunately, PAR codes are a bit screwy when they are moved from Kega to Gens, and it's a hassle to modify them, you end up having to input all possible values and selectively enable the right one. But it did confirm that my numbering was correct. I posted the PAR code for MM2 earlier in this thread.



4. Write the number sequence for the start of Time trial

5. Search the ROM for those bytes

6. Type the values from your list



After using the PAR code for a while, I wondered if it'd be easier to do a ROM hack. I noted the first three tracks in Time Trial mode, looked up their numbers, and then searched the ROM for those numbers. At first I tried a 16-bit search - the Mega Drive has a 16-bit CPU so they might be 16-bit numbers - by searching for the bytes with 00s in between, but that drew a blank; then I searched for them without the 00s and I got one hit, at offset . I overwrote the data with some other values - 00 01 02 etc - and saved to a new file, since I don't want to lose the original data. I loaded up the modified one and sure enough, the first Time Trial track had become Raining Champ. The relevant offset for the time trial track data in MM96 is 0x452c5.



So, the short version: hex editor, go to offset 0x452c5, type in numbers from your list, but no more than 27 (and no values outside the list) otherwise you'll break the game. Because you can break it, always make a backup.



Some of the values will show up as title cards (eg. Pro Hovercraft and Unused in MM2) but then bug out when you start the race.



To map the bonus tracks, I went back to the PAR code and applied it on a bonus track title card, enabling me to get any bonus track while the game was in the right mode.

Offline The Ultimate Koopa

  • Hero Member
  • *****
  • Posts: 509
RE: Micro Machines 2: Turbo Tournament (MD)
« Reply #159 on: July 23, 2007, 03:58:44 AM »
I successfully replaced all 27 Time Trial tracks with ones that aren't usually on that mode, but firstly is there no way of, say, extending the number of possible Time Trial tracks to a greater number than 27?

Offline Maxim

  • Hero Member
  • *****
  • Posts: 974
RE: Micro Machines 2: Turbo Tournament (MD)
« Reply #160 on: July 23, 2007, 05:54:27 AM »
Not easily. It's not that hard to make 2 or 3 versions that cover all of them.

Offline The Ultimate Koopa

  • Hero Member
  • *****
  • Posts: 509
RE: Micro Machines 2: Turbo Tournament (MD)
« Reply #161 on: July 23, 2007, 11:49:34 AM »
Is there away of making the number just before the course name say, 28, 29, 30, etc? If you extended the ROM somehow, would it be possible to insert the new courses? Also, is there an offset for the speed of the vehicle on a particular course? I.e. make Turbo Turns a bit slower or faster etc (the vehicle's speed)?

Offline Maxim

  • Hero Member
  • *****
  • Posts: 974
RE: Micro Machines 2: Turbo Tournament (MD)
« Reply #162 on: July 24, 2007, 12:05:45 AM »
Anything is possible, but probably very hard. It's so easy to fake the numbers, why bother? As for making Turbo Turns slower: let go of the accelerator. I'm sure the vehicle stats are in there somewhere but I have no idea where.

Offline The Ultimate Koopa

  • Hero Member
  • *****
  • Posts: 509
RE: Micro Machines 2: Turbo Tournament (MD)
« Reply #163 on: July 24, 2007, 07:35:12 AM »
Hey, just thought, could you do the Chopper level maps for Micro Machines, "The Potted Passage", "The Shrubbery Twist", and "The Leafy Bends"?

Offline Maxim

  • Hero Member
  • *****
  • Posts: 974
RE: Micro Machines 2: Turbo Tournament (MD)
« Reply #164 on: July 24, 2007, 10:29:39 AM »
Why not the whole game? I'm taking a break from pure mapping now - I'm a bit burnt out after MM2 - but I am still messing around with some related things.