Overlay Tables
Particle Overlay Table
Version | Offset | VRom | VRam | ||
---|---|---|---|---|---|
Debug | 13FF20 | 00DD4F20 | 00DD5364 | 801F69E0 | 801F6E24 |
J 1.0 | 101C90 | 00C60C90 | 00C610D4 | 801A9330 | 801A9774 |
J 1.1 | 101F90 | 00C60F90 | 00C613D4 | 801A9570 | 801A99B4 |
U 1.0 | 1089E0 | 00C449E0 | 00C44E24 | 801AE4A0 | 801AE8E4 |
PAL 1.0 | 109260 | 00D93260 | 00D936A4 | 801AEFC0 | 801AF404 |
PAL 1.1 | 109380 | 00D93380 | 00D937C4 | 801AF360 | 801AF7A4 |
JP GC | 106B80 | 00C4BB80 | 00C4BFC4 | 801ACFA0 | 801AD3E4 |
USA GC | 106AC0 | 00C51AC0 | 00C51F04 | 801ACF00 | 801AD344 |
PAL GC | 107380 | 00DA0380 | 00DA07C4 | 801AD920 | 801ADD64 |
The particle effect manages the particle effect files (overlays). It defines a particle effect's id, maps the particle's code to a virtual address, and during gameplay is used to find the overlay in ram
Format
xxxxxxxx yyyyyyyy aaaaaaaa bbbbbbbb
rrrrrrrr pppppppp ????????
- x y: Start/End Virtual Rom addresses of the particle effect's file
- a b: Start/End Virtual Ram addresses of the particle effect's file
- r: Ram address of the overlay, when loaded into ram. Set to 0 in Rom
- p: ?, possibly a pointer to the initialization routine
- ?: Unknown, set to 0x01000000 in Rom
Actor Overlay Table
Version | VRom | VRam | Size | ||
---|---|---|---|---|---|
Debug | DD5A50 | ? | ? | ? | 5640 |
US 1.0 | C45510 | ? | 801AEFD0 | ? | 5640 |
USA GC | C52280 | C578A0 | ? | ? | 5640 |
The actor table manages the actor files (overlays). It defines an actor's number, maps the actor to a virtual address, and during gameplay is used to find the overlay in ram.
Format
xxxxxxxx yyyyyyyy aaaaaaaa bbbbbbbb
pppppppp iiiiiiii nnnnnnnn ????cc??
This breaks down into-
x y: Start/End Virtual Rom addresses of the actor file
a b: Start/End Virtual Ram addresses of the actor file
p: Ram address of actor file (00000000 if overlay isn't loaded, or if in ROM)
i: Virtual Ram address of the start of the actor instance initialization variables, located within the file
n: Address of actor filename (Debug ROM only, value is 0 in commercial roms)
c: Number of actor instances of this type currently loaded (ram only)
Note: The record for Link's actor in rom (the first record in the table) only sets the vram address that points to the start of the variable info for Link's actor, and the actor file name pointer if it's the Debug Rom.