The Legend of Kyrandia is a nice adventure from Westwood ported to many platforms such as DOS and the Amiga. This was the era where you could actually mess-up your game if you took decisions early one that much later would get you stuck.
One example is that at some point during the adventure, you are supposed to give an apple to Pipsqueak
in exchange for a chalice. Now, you will have encountered two apples in the game; one at the beginning of the game in your home from a vase and another one that is place after you have solved the Shadowland Labyrinth but if you have eaten the first apple and then bit out of the second apple, you will have no more apples to exchange for the chalice.
This guide thus focuses on other means to get your apple back and will give pointers on how to recover other items that you may have lost or cannot be bothered to look for on the entire map.
We found ourselves stuck at the following point during the adventure:
the first apple being gone, and the second apple being bitten into as you can see the apple core on the second slot from the top.
So we created two save games: one with the apple core in the inventory and another save game with the apple core thrown out of the inventory.
Now we transferred over the save games:
_KYRA002.SAV
with the apple core in the inventory slot._KYRA001.SAV
with the apple core thrown out of the inventory and on the ground.
Loading up both _KYRA002.SAV
and _KYRA001.SAV
in a hex editor that can compare files (HexFiend on OSX, for example), we compared the save with the apple core in the inventory slot _KYRA002.SAV
with the save without the apple core in the inventory slot _KYRA001.SAV
. This lead to the following set of interesting differences:
You can observe that at offeset 0x8f
the 27
from the save game with the apple core in the inventory (_KYRA002.SAV
) changes to FF
in the save game without the apple core (_KYRA001.SAV
).
Intuitively, FF
thus seems to mark an empty slot, whereas 27
seems to be the value of the item in that slot when it is occupied. So we need to change 27
the apple core into the apple.
Since the apple immediately turns into a core when you bite it, using some guesswork, we try to set the 27
apple core value to, perhaps, 26
- of course, this is just intuition and the full apple could be found at 35
instead.
So, overwriting the 27
in _KYRA002.SAV
with 26
, we save the file, transfer it and then load-up the game.
Good guess!
Let us take a look again at the hex values of an inventory save. There are 10
inventory slots, so 10
values should represent the contents of the inventory where, now we know, that FF
represents an empty slot. We also have seen from the screenshots that we have two trailing empty slots in the inventory which should be FF
. So, counting 10
from the last FF
we can correlate the hexadecimal values with the 10
inventory slots:
We can now change these values in the save game file, trying various values in the range 00
to FF
and we will change the contents of the inventory adding or removing items (in case of FF
).