View difference between Paste ID: 1YU3v4Gs and RCtQGf6c
SHOW: | | - or go back to the newest paste.
1-
MM JP VC save file manipulation - Documentation
1+
MM US VC save file manipulation - Documentation
2
--------------------------------------------------
3
4-
The save data is stored in the  EEP_NZSJ  file.
4+
The save data is stored in the  EEP_NZSE  file.
5-
The game ID is  000100014e41524a  - the folder in sd:\savegames\ must be
5+
The game ID is  000100014e415245  - 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.
7+
Both 2 save slots are twice in that file, probably as a backup copy.
8-
Each save slot is 0x4000 bytes long (=16 kilobytes).
8+
Each save slot is 0x2000 bytes long (=8 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):
12+
Addresses of save slots (0x2000 bytes each):
13-
Slot #1:	0x00000 to 0x03FFF
13+
Slot #1:	0x00000 to 0x01FFF
14-
Slot #2:	0x04000 to 0x07FFF
14+
Slot #1 copy:	0x02000 to 0x03FFF
15-
Slot #3:	0x08000 to 0x0BFFF
15+
Slot #2:	0x04000 to 0x05FFF
16-
Slot #1 copy:	0x10000 to 0x13FFF
16+
Slot #2 copy:	0x06000 to 0x07FFF
17-
Slot #2 copy:	0x14000 to 0x17FFF
17+
18-
Slot #3 copy:	0x18000 to 0x1BFFF
18+
19
Slot offset +	0x0002C to 0x00033
20
21
Addresses of Lottery, Spiderhouse, Bomber code, checksum (0x32 bytes total):
22
Slot offset +	0x00FEC to 0x0100B
23
24-
Slot offset +	0x01370 to 0x0138F
24+
25
		0x18000 to 0x18005
26
   (unsure on this one, didn't take a closer look)
27-
		0x0C000 to 0x0C005
27+
28
29
Filename details:
30
The filename is 8 bytes. Each byte is 1 character of the file name.
31
The characters are stored in the same order as ingame, so 0x0002C is the first character.
32
HEX codes for characters are:
33
0 - 9:		00 to 09
34
A - Z:		0A to 23
35
a - z:		24 to 3D
36-
A - Z:		AB to C4
36+
Space:		3E
37-
a - z:		C5 to DE
37+
Dot:		40
38-
Space:		DF
38+
Hyphen:		3F
39-
Dot:		EA
39+
40-
Hyphen:		E4
40+
41
Lottery, Spiderhouse, Bomber code, checksum details:
42
43
The Lottery code is 9 bytes. Each byte is 1 digit of a Lottery number.
44
The Lottery digits are stored in the same order as ingame, so 0x00FEC is the first digit on the first day.
45
46-
The Lottery digits are stored in the same order as ingame, so 0x01370 is the first digit on the first day.
46+
47
The Spiderhouse colors are stored in the same order as ingame, so 0x00FF5 is the first color to hit.
48
49-
The Spiderhouse colors are stored in the same order as ingame, so 0x01379 is the first color to hit.
49+
50
The Bomber code digits are stored in the same order as ingame, so 0x00FFB is the first digit of the code.
51
52-
The Bomber code digits are stored in the same order as ingame, so 0x0137F is the first digit of the code.
52+
53
The checksum is the sum of all bytes prior to the checksum in the save slot.
54
--> This means it's the sum of all bytes from  0x00000 to 0x01009.
55
--> For a completely new, untouched slot it is  685B + filename + codes (lottery, spider, bomber).
56-
--> This means it's the sum of all bytes from  0x00000 to 0x0138D.
56+
57-
--> For a completely new, untouched slot it is  77D0 + filename + codes (lottery, spider, bomber).
57+
58
Example (save slot #1, fresh file):
59
_____________________________________________________________
60
| ...							    |
61
| 0x00020:  04 00 00 00 5A 45 4C 44 41 33 00 00 15 2C 31 2E |
62
| 0x00030:  3E 3E 3E 3E 00 30 00 30 00 30 00 00 00 00 00 00 |
63-
| 0x00020:  04 00 00 00 5A 45 4C 44 41 33 00 00 B6 CD D2 CF |
63+
64-
| 0x00030:  DF DF DF DF 00 30 00 30 00 30 00 00 00 00 00 00 |
64+
| 0x00FE0:  00 00 00 00 00 00 00 00 00 00 00 00 01 02 03 01 |
65
| 0x00FF0:  02 03 01 02 03 00 01 02 03 02 03 05 04 03 02 01 |
66-
| 0x01370:  01 02 03 01 02 03 01 02 03 00 01 02 03 02 03 05 |
66+
| 0x01000:  00 35 FA 74 01 01 FA FB 8A AC 6A 1F 00 00 00 00 |
67-
| 0x01380:  04 03 02 01 00 35 FA 74 01 01 FA FB 8A AC 7E 9C |
67+
68
‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾‾
69
The filename here is	"Link    ".	 (Hex: 15 2C 31 2E 3E 3E 3E 3E)
70-
The filename here is	"Link    ".	 (Hex: B6 CD D2 CF DF DF DF DF)
70+
71
The Lottery codes are	"123, 123, 123". (Hex: 01 02 03 01 02 03 01 02 03)
72
The Spiderhouse code is "R B Y G Y G".	 (Hex: 00 01 02 03 02 03)
73
The Bomber code is	"5 4 3 2 1".	 (Hex: 05 04 03 02 01)
74
[The following part is static, don't change that: 00 35 FA 74 01 01 FA FB 8A AC]
75
The checksum is		"6A 1F"		 (685B + filename + the three codes).
76-
The checksum is		"7E 9C"		 (77D0 + filename + the three codes).
76+
77
That means you can switch around the Bomber code without modyfying the checksum!
78
The checksum can be easily calculated using the Windows calculator in scientific mode.
79
80
Don't forget that everything you change in save slot #1 also has to be changed in the COPY!