I need the event flags as follows:
Flag | Address | bit | Corresponding address in item-repository |
The final dungeon appeared | $05DA | bit1 | $6415 |
Got the ship Artemis | $05E3 | bit6 | $641E |
NOT beated Samoylenko (zero) | $05E5 | bit3 | $6420 |
Eliminated Princess Moon | $05E5 | bit1 | $6420 |
First of all, I put a Healing Herb (0x3C), and a Spellbook of Dispell (0x7C). And I put 48 items considering event flags. Memory is as follows:
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
63F0: .. .. .. .. .. .. .. .. - .. .. .. .. .. .. 30 3C
6400: 7C 3E 3F 3F 3F 3F 3F 3F - 3F 3F 05 3F 3F 3F 3F 3F
6410: 24 05 3F 3F 3F 3F 3F 3F - 3F 3F 3F 3F 3F 3F 3F 3F
6420: 55 3F 03 21 74 3A 2D 3F - 3F 3F 3F 24 05 67 77 40
6430: 12 03 00 00 00 00 00 00 - 7B AD 0D 00 00 .. .. ..
...
6470: .. .. .. .. .. .. .. 00 - 03 04 01 00 00 .. .. ..
I take the 49th empty item:
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
63F0: .. .. .. .. .. .. .. .. - .. .. .. .. .. .. 3B 7C
6400: 3E 3F 3F 3F 3F 3F 3F 3F - 3F 05 3F 3F 3F 3F 3F 24
6410: 05 3F 3F 3F 3F 3F 3F 3F - 3F 3F 3F 3F 3F 3F 3F 55
6420: 3F 03 21 74 3A 2D 3F 3F - 3F 3F 24 05 67 77 77 12
6430: 03 00 00 00 00 00 00 7B - AD 0D 00 00 00 .. .. ..
...
6470: .. .. .. .. .. .. .. 03 - 04 01 00 00 .. .. .. ..
Now the item-count is 0x3B, so you can overwrite $643A, $643B, ... (town bookmark) by putting some items. I put a Spellbook of Healing (0x91) as ship position y, and I put a Spellbook of Outflame (0x71) as ship position x (but I modify the ship position x later):
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
63F0: .. .. .. .. .. .. .. .. - .. .. .. .. .. .. 3D 7C
6400: 3E 3F 3F 3F 3F 3F 3F 3F - 3F 05 3F 3F 3F 3F 3F 24
6410: 05 3F 3F 3F 3F 3F 3F 3F - 3F 3F 3F 3F 3F 3F 3F 55
6420: 3F 03 21 74 3A 2D 3F 3F - 3F 3F 24 05 67 77 77 12
6430: 03 00 00 00 00 00 00 7B - AD 0D 91 71 00 .. .. ..
...
6470: .. .. .. .. .. .. .. 03 - 04 01 00 00 .. .. .. ..
I take the 49th empty item again:
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
63F0: .. .. .. .. .. .. .. .. - .. .. .. .. .. .. 7B 3E
6400: 3F 3F 3F 3F 3F 3F 3F 3F - 05 3F 3F 3F 3F 3F 24 05
6410: 3F 3F 3F 3F 3F 3F 3F 3F - 3F 3F 3F 3F 3F 3F 55 3F
6420: 03 21 74 3A 2D 3F 3F 3F - 3F 24 05 67 77 77 77 03
6430: 00 00 00 00 00 00 7B AD - 0D 91 71 00 00 .. .. ..
...
6470: .. .. .. .. .. .. .. 04 - 01 00 00 .. .. .. .. ..
Now the item-count is 0x7B, so you can overwrite $647A (character id of 4th), ... by putting some items. I put a Source of Magic (0x5D) as the character id of 4th:
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
63F0: .. .. .. .. .. .. .. .. - .. .. .. .. .. .. 7C 3E
6400: 3F 3F 3F 3F 3F 3F 3F 3F - 05 3F 3F 3F 3F 3F 24 05
6410: 3F 3F 3F 3F 3F 3F 3F 3F - 3F 3F 3F 3F 3F 3F 55 3F
6420: 03 21 74 3A 2D 3F 3F 3F - 3F 24 05 67 77 77 77 03
6430: 00 00 00 00 00 00 7B AD - 0D 91 71 00 00 .. .. ..
...
6470: .. .. .. .. .. .. .. 04 - 01 00 5D .. .. .. .. ..
Now I save and load from savedata 2 to load the character data of 0x5D. And I modify the ship position x at the same time. When the savedata is loaded. the program adds the current town and the first town to the town bookmark. So bit0 and bit3 of $643A is enabled, and the ship position x is modified to 0x79 from 0x71:
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
63F0: .. .. .. .. .. .. .. .. - .. .. .. .. .. .. 7C 3E
6400: 3F 3F 3F 3F 3F 3F 3F 3F - 05 3F 3F 3F 3F 3F 24 05
6410: 3F 3F 3F 3F 3F 3F 3F 3F - 3F 3F 3F 3F 3F 3F 55 3F
6420: 03 21 74 3A 2D 3F 3F 3F - 3F 24 05 67 77 77 77 03
6430: 00 00 00 00 00 00 7B AD - 0D 91 79 00 00 .. .. ..
...
6470: .. .. .. .. .. .. .. 04 - 01 00 5D .. .. .. .. ..
I put a Spellbook of Outcold (0x70). The item-count is 0x7C, so $647B becomes 0x70:
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
63F0: .. .. .. .. .. .. .. .. - .. .. .. .. .. .. 7D 3E
6400: 3F 3F 3F 3F 3F 3F 3F 3F - 05 3F 3F 3F 3F 3F 24 05
6410: 3F 3F 3F 3F 3F 3F 3F 3F - 3F 3F 3F 3F 3F 3F 55 3F
6420: 03 21 74 3A 2D 3F 3F 3F - 3F 24 05 67 77 77 77 03
6430: 00 00 00 00 00 00 7B AD - 0D 91 79 00 00 .. .. ..
...
6470: .. .. .. .. .. .. .. 04 - 01 00 5D 70 .. .. .. ..
I take the 49th empty item again. The ship position is moved to valid address, and the character id of 4th becomes 0x70:
00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
63F0: .. .. .. .. .. .. .. .. - .. .. .. .. .. .. 3D 3F
6400: 3F 3F 3F 3F 3F 3F 3F 05 - 3F 3F 3F 3F 3F 24 05 3F
6410: 3F 3F 3F 3F 3F 3F 3F 3F - 3F 3F 3F 3F 3F 55 3F 03
6420: 21 74 3A 2D 3F 3F 3F 3F - 24 05 67 77 77 77 77 00
6430: 00 00 00 00 00 7B AD 0D - 91 79 00 00 00 .. .. ..
...
6470: .. .. .. .. .. .. .. 01 - 00 5D 70 .. .. .. .. ..
Now I can "save" the character data of 4th to event flags. And I can sail to the final dungeon with the ship.
In this game, the random number is not so drastically changed for a short time. So you might need to go back hundreds of frame to change the destiny.