Here are some of my notes from adding a "Free Play" option to Time Machine.
If you read my notes on Farfalla, this is a continuation of that effort.
Time Machine was released with two ROM configurations, a 2 x 2764 and a 3 x 2532. The software seems to be the same for both. I started, initially, with the 2 x 2764 ROM version of Time Machine, thinking that it would be similar to Farfalla, especially since I had not been as happy with the Soccer Kings 2532 hack described earlier.
|Start Address||End Address||Device||Bank|
I built the memory image from the ROM banks, broken up and rearranged as described in the Farfalla document. Looking at a hex dump of the image, there are no obviously empty blocks as I would have expected there to be. Unlike Farfalla, the ROM space at 0x6000 is not all bytes of 0xff. The data there doesn't look to be useful, but I can't assume it to be random garbage either.
After disassembly, the source code doesn't reveal any use of the 0x6000 block, so it is probably free, but still, I'm not sure.
Looking some more at the 2764 and 2532 memory maps, I eventually found that my 2764 memory map had two code blocks swapped. This affected getting Soccer Kings' code in to the right places in the 2764s, which is why the earlier attempt did not work.
I used that information, and built a 2 x 2764 image set out of the 3 x 2532 images.
ROM1 Bank1 - Stays the same (ROM1 Bank1)
ROM2 Bank1 - Stays the same (ROM2 Bank1)
ROM3 Bank1 - Moves to ROM2 Bank3
ROM1 Bank2 - Stays the same (ROM1 Bank2)
ROM2 Bank2 – Stays the same (ROM2 Bank2)
ROM3 Bank2 - Moves to ROM2 Bank4
ROM1 has free space.
ROM2 is full.
Put hacking code @ 6000, 6040 (ROM1 Bank4)
From here, it is similar to Farfalla. Find the three sections of the original code, insert a jump to my revised code, and return to the original.
Disables "Coin Meter" check Patch [07 FF] to [07 00] @0x2976 (0x0876 in ROM2 image)
Disable credit = 0? check
Patch [0C 1F 22] to [1F 60 00] @0x123C (0x123C in ROM2 image)
Prevent credit decrement less than 0
Patch [A4 01] to [C0 C0] @0x127E (0x127E in ROM2 image)
Patch to [0C 1F 22] to [1F 60 18] @0x126D (0x126D in ROM2 image)
PinMAME tested – OK 19 February 2011
Game tested – OK 21 February 2011
David Gersic firstname.lastname@example.org
Copyright © 2011. All rights reserved.
This document may be freely distributed so long as the content is not modified.