User Tools

Site Tools


kirby64_the_crystal_shards:eeprom

EEPROM

Kirby 64 uses a 512 byte EEPROM chip to store save data. Software mirrors of the data are kept at 0x800EC9F8 and 0x800ECBB0 in RAM.

High level structure

OffsetSizeDescription
0x0000x0CHeader
0x00C0x04Header checksum
0x0100x54File 1 data
0x0640x04File 1 checksum
0x0680x54File 2 data
0x0BC0x04File 2 checksum
0x0C00x54File 3 data
0x1140x04File 3 checksum

Checksums are generated by adding the sum of all the 32-bit words in a section to 0x97538642. The function that performs this operation is at 0x800B8F34.

File structure

OffsetTypeDescription
0x0u32Latest Unlocked World
0x4u32Latest Unlocked Level
0x8u32Unknown
0xCu32Number of Cutscenes Watched
0x10u8Percentage Complete
0x11u8Sound Setting (0 for stereo, 1 for mono)
0x12u8HUD Display Option
0x13u8Unknown
0x18u16100-Yard Hop Record
0x1Au16Bumper Crop Bump Record
0x1Cu16Checkerboard Chase Record

Debug Cheat Code

It is possible to get a file with 100% completion using the function at 800BA5C4 with A0 set to the file you want to complete. This can be done in the vanilla game using a cheat code. Requirements:

  • A second controller
  • File 2 must be deleted
  • File 3 must be initialized (but not yet started)

Steps:

  • Reset the game
  • Wait until the HAL Laboratory logo shows up
  • Hold L on the second controller
  • Press the button combo: C-up, C-up, R, C-right, C-left, Start.
  • File 3 should be 100% completed now.
kirby64_the_crystal_shards/eeprom.txt · Last modified: 2021/03/22 23:21 by someone2639