Advertisement
eN-t

MM JP VC save file manipulation - Documentation

Dec 14th, 2014
314
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.66 KB | None | 0 0
  1. MM JP VC save file manipulation - Documentation
  2. --------------------------------------------------
  3.  
  4. The save data is stored in the EEP_NZSJ file.
  5. The game ID is 000100014e41524a - the folder in sd:\savegames\ must be
  6. named like that for SaveGame Manager GX to be able to install it.
  7. All 3 save slots are twice in that file, probably as a backup copy.
  8. Each save slot is 0x4000 bytes long (=16 kilobytes).
  9. If you want to edit a save slot, you have to edit both the "real" one and the "copy".
  10. --------------------------------------------------
  11.  
  12. Addresses of save slots (0x4000 bytes each):
  13. Slot #1: 0x00000 to 0x03FFF
  14. Slot #2: 0x04000 to 0x07FFF
  15. Slot #3: 0x08000 to 0x0BFFF
  16. Slot #1 copy: 0x10000 to 0x13FFF
  17. Slot #2 copy: 0x14000 to 0x17FFF
  18. Slot #3 copy: 0x18000 to 0x1BFFF
  19.  
  20. Address of filename (0x8 bytes):
  21. Slot offset + 0x0002C to 0x00033
  22.  
  23. Addresses of Lottery, Spiderhouse, Bomber code, checksum (0x32 bytes total):
  24. Slot offset + 0x01370 to 0x0138F
  25.  
  26. Address of settings (targetting, audio, ...):
  27. 0x0C000 to 0x0C005
  28. (unsure on this one, didn't take a closer look)
  29. --------------------------------------------------
  30.  
  31. Filename details:
  32. The filename is 8 bytes. Each byte is 1 character of the file name.
  33. The characters are stored in the same order as ingame, so 0x0002C is the first character.
  34. HEX codes for characters are:
  35. 0 - 9: 00 to 09
  36. A - Z: AB to C4
  37. a - z: C5 to DE
  38. Space: DF
  39. Dot: EA
  40. Hyphen: E4
  41. --------------------------------------------------
  42.  
  43. Lottery, Spiderhouse, Bomber code, checksum details:
  44.  
  45. The Lottery code is 9 bytes. Each byte is 1 digit of a Lottery number.
  46. The Lottery digits are stored in the same order as ingame, so 0x01370 is the first digit on the first day.
  47.  
  48. The Spiderhouse code is 6 bytes. Each byte is 1 color of the code. The colors are 0123 = RBYG.
  49. The Spiderhouse colors are stored in the same order as ingame, so 0x01379 is the first color to hit.
  50.  
  51. The Bomber code is 5 bytes. Each byte is 1 digit of the Bomber code.
  52. The Bomber code digits are stored in the same order as ingame, so 0x0137F is the first digit of the code.
  53.  
  54. The checksum is 2 bytes. It is an unsigned short.
  55. The checksum is the sum of all bytes prior to the checksum in the save slot.
  56. --> This means it's the sum of all bytes from 0x00000 to 0x0138D.
  57. --> For a completely new, untouched slot it is 77D0 + filename + codes (lottery, spider, bomber).
  58. --------------------------------------------------
  59.  
  60. Example (save slot #1, fresh file):
  61. _____________________________________________________________
  62. | ... |
  63. | 0x00020: 04 00 00 00 5A 45 4C 44 41 33 00 00 B6 CD D2 CF |
  64. | 0x00030: DF DF DF DF 00 30 00 30 00 30 00 00 00 00 00 00 |
  65. | ... |
  66. | 0x01370: 01 02 03 01 02 03 01 02 03 00 01 02 03 02 03 05 |
  67. | 0x01380: 04 03 02 01 00 35 FA 74 01 01 FA FB 8A AC 7E 9C |
  68. | ... |
  69. ‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
  70. The filename here is "Link ". (Hex: B6 CD D2 CF DF DF DF DF)
  71. ...
  72. The Lottery codes are "123, 123, 123". (Hex: 01 02 03 01 02 03 01 02 03)
  73. The Spiderhouse code is "R B Y G Y G". (Hex: 00 01 02 03 02 03)
  74. The Bomber code is "5 4 3 2 1". (Hex: 05 04 03 02 01)
  75. [The following part is static, don't change that: 00 35 FA 74 01 01 FA FB 8A AC]
  76. The checksum is "7E 9C" (77D0 + filename + the three codes).
  77.  
  78. That means you can switch around the Bomber code without modyfying the checksum!
  79. The checksum can be easily calculated using the Windows calculator in scientific mode.
  80.  
  81. Don't forget that everything you change in save slot #1 also has to be changed in the COPY!
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement