The file (starts at address $0800) is segmented in the following parts: $0800 - $0bff Split table $0c00 - $0cff Some kind of "zeropage", for saving single indipendent data $0d00 - $14ff Charset 0 $1500 - $1cff Block definitions of charset 0 $1d00 - $24ff Charset 1 $2500 - $2cff Block definitions of charset 1 $2d00 - $34ff Charset 2 $3500 - $3cff Block definitions of charset 2 $3d00 - end Levelmap The categories themselves look like this (the following hexdumps depend on the level example): Split table ============ $0800 - $0803: Table entry on position 0 $0804 - $0807: Table entry on position 1 $0808 - $080b: Table entry on position 2 ... $0bfc - $0bff: Table entry on position 255 Example Pos. 0: $0800: 00 00 "line" (low/highbyte) $0802: 03 "what": 00=BG, 01=MC1, 02=MC2, 03=CHR $0803: 02 "value" Pos. 1: $0804: 00 00 "line" (low/highbyte) $0806: 00 "what": 00=BG, 01=MC1, 02=MC2, 03=CHR $0807: 09 "value" ... Pos. 255: $0bfc: ff ff "line" (low/highbyte) $0bfe: ff "what": 00=BG, 01=MC1, 02=MC2, 03=CHR $0bff: ff "value" Zeropage ============= This zeropage contains more values than listed here, but not all of them belong to the level. Some of them are setting of the editor (eg. $0c0c: number of the currently used tile). The interesting values are: $0c00: 14 00 Level size - columns (low/highbyte) $0c02: 5c 01 Level size - rows (low/highbyte) $0c04: 0d Initial color M1 $0c05: 00 Initial color M2 $0c06: 00 00 Map editor view: coordinate of upper left tile (row) $0c08: 50 01 Map editor view: coordinate of upper left tile (column) $0c0c: 6f Map editor view: current tile $0c0d: 00 Initial color BO ($d020) $0c0e: 0d Initial color BG ($d021) $0c26: 02 Initial charset $0c28: 09 Block editor view: fixed color 0 $0c29: 08 Block editor view: fixed color 1 $0c2a: 0e Block editor view: fixed color 2 Block definitions ==================== Addresses depending charset 0: $1500 - $15ff: Upper left tile character $1600 - $16ff: Lower left tile character $1700 - $17ff: Upper right tile character $1800 - $18ff: Lower right tile character $1900 - $19ff: Color of upper left tile character $1a00 - $1aff: Color of lower left tile character $1b00 - $1bff: Color of upper right tile character $1c00 - $1cff: Color of lower right tile character depending charset 1 the tables are located at $2500-$2cff depending charset 2 the tables are located at $3500-$3cff. Levelmap: ============ The tiles are stored rowvise in the memory. In the level example the length of the rows is 348 ($015c) $3d00: 6f Tile row 0, column 0 $3d01: 6f Tile row 1, column 0 $3d02: 6f Tile row 2, column 0 ... $3e5b: 03 Tile row 347, column 0 $3e5c: 6e Tile row 0, column 1 $3e5d: 6e Tile row 1, column 1 ... $3fb7: e4 Tile row 347, column 1 $3fb8: 78 Tile row 0, column 2 $3fb9: 6e Tile row 1, column 2 ... $4113: 00 Tile row 347, column 2 ... ... $582f: 01 Tile row 347, column 19 Original document by Rapid Eraser/Forum64.de Translation by Veto/Oxyron Corrections and proposals are welcome :)