rbi-asmhack.nes =============== rbi-asmhack.nes is, as far as a player would notice, identical to the original RBI Baseball. However, the following changes have been made: - "Long" batting averages- any 3-digit BA may be used - "Per-pitcher batting"- individual batting data is loaded for each pitcher - "Long" ERAs- any 3-digit ERA may be used The format in which data is stored in this ROM is the format that will be used in the rewrite of RBI Editor (if, god forbid, it's ever complete). This release is a "preview" for ROM hackers to see where the new data is stored, and how to edit it. "Long" batting averages (lba) For each batter, the 9th byte of their data stores their batting average (minus .150). In the new format, the 9th byte stores the first number of their batting average. The last two numbers are stored in the 15th byte, in hexadecimal. For example, to use a batting average of .290, store "02" in the batter's 9th byte, and "5A" (90 converted to hex) in the 15th byte. "Per-pitcher batting" (ppb) The area from ROM offset FE10 to FF4F is used to store ppb and long ERA data. 8 bytes are used for each pitcher: 01 02 03 04 05 06 07 08 BA HR Cnt Pwr(h) Pwr(l) Spd lba lera 32 bytes are used per team, so team 1 data starts at FE10, team 2 at FE30, ... team 10 at FF30. 8 bytes are used per pitcher, so for each team, pitcher 1 data starts at (wherever that pitcher's team data starts + 0), pitcher 2 starts at (above + 8), pitcher 3 at (above + 16), and pitcher 4 at (above + 24). Determine where the pitcher's data starts, and edit that pitcher's 8 bytes as shown above. "Long" ERAs (lera) The format for leras is very similar to that used for lbas. In the original ROM, the 9th byte of data for each pitcher stores his ERA (plus 100). In the new format, this 9th byte is used to store only the first digit of the ERA. The last two numbers are stored in the 8th byte of the pitcher data as shown above, after the "lba" byte of ppb data. For example, to use an ERA of 1.25, store "01" in the pitcher's 9th byte (in the same place ERAs were stored in the original ROM), and store "19" (25 converted to hex) in the 8th byte of that pitcher's ppb data. For example, to edit the 3rd pitcher of team 9 (Righti on the American team), giving him an ERA of 3.27 and batting data as follows: .198 BA, 1 HR, 80 contact, 800 power, and 100 speed: Store the first digit of the era in the same place the ERA was stored for him in the original ROM: 08F8=03 Team 9 ppb data starts at FF10, plus (16*3rd pitcher)= FF20. 20 21 22 23 24 25 26 27 FF20: 01 01 50 20 03 64 62 1B FF20= first digit of BA FF21= number of homeruns FF22= contact (80 converted to hex) FF23-4= power (800 converted to hex, reversed) FF25= speed (100 converted to hex) FF26= last two digits of BA (62 converted to hex) FF27= last two digits of ERA (27 converted to hex)