TODO: entity placement TODO: remembering treasure chests and other progress-related things on revisit. Possibly have events triggered on reentry to a screen segment. A "page" is a 256-byte block. map page $00..$0F: palette entries $10..$11: tile 2K chr bank $12..$15: sprite 1K chr bank $16: tileset table page $17: song number $18: width in screens $19: height in screens $20..$2F: Location name $30..$AF: 64-entry zone table (2 bytes little-endian each), indirect jump table for player event handling. (high address of 0 means no event) first screen page $00..$EF: 16*15 metatile entries first zone page $00..$EF: 16*15 4-bit obs + 4-bit zone $F0..$FF: index in map's zone table (0 is the default zone) second screen page second zone page . . . final screen page final zone page viewer variables: camera : (x : word, y : word) map pointer tileset pointer