Here are some of my notes from adding a "Free Play" option to Soccer Kings.
If you read my notes on Soccer Kings, this is a continuation of that effort.
I was not happy with overwriting the printer text block at 0x2000, even though that's not really ever used. After figuring out that I had made a mistake on my original attempt to convert the 2532 images to 2764 images, when I did Time Machine, I fixed that and now this is possible for Soccer Kings as well.
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)
Fortunately, I had already located the code I wanted to patch, so it was just a matter of locating it again and patching it with different jump destination addresses.
Found credit decrement code. Is somewhat obscured in this ROM, unlike the simple plain code in Farfalla.
114F : 0C 1F 22 loda,r0 X1F22 1152 : 84 01 addi,r0 0x01 1154 : C8 FA strr,r0 *X1150 ; Credit decrement happens here. *1150 contains 0x1F22 credits address in RAM 12EC: loda r0 [0x1f22] ; Load credits value from RAM ... 12F6: A4 01 sub, r0 0x01 ; Credit decrement 12F8: 3F 11 54 bsta, 0x1154 ; Store updated credits
Disables "Coin Meter" check
Patch [07 FF] to [07 00] @0x2B56 (0xB56 in ROM2 image)
Disable credit = 0? check
Patch [0C 1F 22] to [1F 60 00] @0x12CA (0x12CA in ROM2 image)
Prevent credit decrement less than 0
Patch [A4 01] to [C0 C0] @0x12F6 (0x12F6 in ROM2 image)
Patch to [0C 1F 22] to [1F 60 18] @0x12EC (0x12EC in ROM2 image)
PinMAME tested – OK 19 February 2011
Game tested – OK 21 February 2011
David Gersic email@example.com
Copyright © 2011. All rights reserved.
This document may be freely distributed so long as the content is not modified.