User Tools


This is an old revision of the document!


Resource Table

The resource table is still being researched, so the information here is incomplete. The table is located at 0xE473F0 to 0xE4C078 in the ROM, and contains data that references blocks of data following the table. It appears that different types of data are contained in this table, since the level data only inhabits the data between 0xE473F0 and 0xE493A8.

Each entry in the table is defined by the same 8-byte struct:

table_entry {
  uint dataLength;
  uint dataOffset;
}

Note: The data offset is the offset in the ROM minus the offset of the table (0xE473F0).

Level Data

Level data is found between 0xE473F0 and 0xE493A8 in the ROM. There are a total of 145 levels (8 full courses of 18 holes and an extra one for the driving range). Each level has 7 different entries in the table:

0x00: Level height data (1 / 2)
0x08: Level height data (2 / 2)
0x10: ? (Contains tree locations)
0x18: ? (is always 0x34 bytes long)
0x20: ?
0x28: ?
0x30: Surface mapping (whether ground is rough, fair, green, etc)