If you appreciate the work done within the wiki, please consider supporting The Cutting Room Floor on Patreon. Thanks for all your support!

Notes:Super Adventure Island II

From The Cutting Room Floor
Jump to navigation Jump to search

This page contains notes for the game 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.


(Source: HarroSIN via leonhart.us)