Notes:Super Adventure Island II

Level Layout: Foreground (BG Layer #2)
The foreground level layout defines the tiles with collision detection. This layer is also responsible for World Map tile placement.

Example: Light Gate @ 17A6D5 (Header Starts) Example: Light Gate @ 17A6EB (Tile Data Starts)

Foreground level header is 22 bytes: 0x00-0x01:	Tilesheet? 0x02		Unknown 0x03-0x04:	Local pointer to tile data 0x05:		Unknown 0x06-0x07:	Number of 32x32 tiles on the X axis 0x08-0x09:	Number of 32x32 tiles on the Y axis 0x0A-0x0B:	Number of screens on the X axis 0x0C-0x0D:	Number of screens on the Y axis 0x0E:		Unknown 0x0F:		Tile size? 0x10-0x13:	Camera position? 0x14-0x15:	Number of bytes in tile data

Tile data follows, one byte for each tile.

In ROM, the tiles are stored in 64 bytes for one 8 by 8 screen, and continues along the X axis for each screen. In RAM, the tiles are drawn line by line, until the X axis is filled and then wraps around to the next Y line.

$7E:6000 to $7E:6FFF in memory appeares to be occupied by this data.

Level Layout: World Map
The World Map is in a similar format. The header for the World Map beings at 0x8D000 in ROM. Standard header followed by two bytes for each tile. 512 declared tiles from 0x0000 to 0xFF01 (Remember: Little endian). The map is drawn with 16x16 tiles rather than 32x32 tiles.