Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision |
super:data_maps:ram_map [2016/09/06 18:50] – black_falcon | super:data_maps:ram_map [2018/04/26 01:55] – 7E:0B4D-0B55 added to RAM addresses kazuto |
---|
| 7E:0019 Misc. Direct Page Temporary Values |
^ RAM Adress ^ Description ^ | 7E:0013 Commmon horizontal subpixel value or X coordinate |
| 7E:0019 | Misc. Direct Page Temporary Values | | 7E:0015 Commmon vertical subpixel value or Y coordinate |
| 7E:0013 | Commmon horizontal subpixel value or X coordinate | | 7E:0017 Commmon type or index value |
| 7E:0015 | Commmon vertical subpixel value or Y coordinate | | 7E:0019 Commmon palette value (sometimes unused) |
| 7E:0017 | Commmon type or index value | | 7E:0027 16 bit multiplier |
| 7E:0019 | Commmon palette value (sometimes unused) | | 7E:0029 16 bit multiplier |
| 7E:0027 | 16 bit multiplier | | 7E:002D 32 bit product |
| 7E:0029 | 16 bit multiplier | | 7E:002F Misc. Direct Page Temporary Value |
| 7E:002D | 32 bit product | | 7E:003D Direct Page version of 7E:071F |
| 7E:002F | Misc. Direct Page Temporary Value | | 7E:0051 Value for $2100 with $80:91EE (referred to as 'A') Screen Display Register a000bbbb a: 0=screen on 1=screen off, b = brightness |
| 7E:003D | Direct Page version of 7E:071F | | 7E:0052 Value for $2101 with 'A'(in-game = 03, paused = 01) OAM Size and Data Area Designation aaabbccc a = Size, b = Name Selection, c = Base Selection |
| 7E:0051 | Value for $2100 with $80:91EE (referred to as 'A') Screen Display Register a000bbbb a: 0=screen on 1=screen off, b = brightness | | 7E:0055 Value for $2105 with 'A' BG Mode and Tile Size Setting abcdefff abcd = BG tile size (4321): 0 = 8x8 1 = 16x16, e = BG 3 High Priority, f = BG Mode |
| 7E:0052 | Value for $2101 with 'A'(in-game = 03, paused = 01) OAM Size and Data Area Designation aaabbccc a = Size, b = Name Selection, c = Base Selection | | 7E:0056 Value for $07EC with 'A' |
| 7E:0055 | Value for $2105 with 'A' BG Mode and Tile Size Setting abcdefff abcd = BG tile size (4321): 0 = 8x8 1 = 16x16, e = BG 3 High Priority, f = BG Mode | | 7E:0057 Value for $2106 with 'A' Mosaic Size and BG Enable aaaabbbb a = Mosaic Size b = Mosaic BG Enable |
| 7E:0056 | Value for $07EC with 'A' | | 7E:0058 Value for $2107 with 'A' BG 1 Address and Size aaaaaabb a = Screen Base Address (Upper 6-bit), b = Screen Size |
| 7E:0057 | Value for $2106 with 'A' Mosaic Size and BG Enable aaaabbbb a = Mosaic Size b = Mosaic BG Enable | | 7E:0059 Value for $2108 with 'A' BG 2 Address and Size aaaaaabb a = Screen Base Address (Upper 6-bit), b = Screen Size |
| 7E:0058 | Value for $2107 with 'A' BG 1 Address and Size aaaaaabb a = Screen Base Address (Upper 6-bit), b = Screen Size | | 7E:005A Value for $2109 with 'A' BG 3 Address and Size aaaaaabb a = Screen Base Address (Upper 6-bit), b = Screen Size |
| 7E:0059 | Value for $2108 with 'A' BG 2 Address and Size aaaaaabb a = Screen Base Address (Upper 6-bit), b = Screen Size | | 7E:005B Value for $2109 during interrupt 0006 (VRAM Address of tiles and size for BG3) |
| 7E:005A | Value for $2109 with 'A' BG 3 Address and Size aaaaaabb a = Screen Base Address (Upper 6-bit), b = Screen Size | | 7E:005C Value for $210A with 'A' BG 4 Address and Size aaaaaabb a = Screen Base Address (Upper 6-bit), b = Screen Size unused |
| 7E:005B | Value for $2109 during interrupt 0006 (VRAM Address of tiles and size for BG3) | | 7E:005D Value for $210B with 'A' BG 1 & 2 Tile Data Designation aaaabbbb a = BG 2 Tile Base Address, b = BG 1 Tile Base Address |
| 7E:005C | Value for $210A with 'A' BG 4 Address and Size aaaaaabb a = Screen Base Address (Upper 6-bit), b = Screen Size unused | | 7E:005E Value for $210C with 'A' BG 3 & 4 Tile Data Designation aaaabbbb a = BG 4 Tile Base Address, b = BG 3 Tile Base Address |
| 7E:005D | Value for $210B with 'A' BG 1 & 2 Tile Data Designation aaaabbbb a = BG 2 Tile Base Address, b = BG 1 Tile Base Address | | 7E:005F Value for $211A with 'A' Initial Setting for Mode 7 aa0000bc a = Screen Over b = Vertical Flip c = Horizontal Flip |
| 7E:005E | Value for $210C with 'A' BG 3 & 4 Tile Data Designation aaaabbbb a = BG 4 Tile Base Address, b = BG 3 Tile Base Address | | 7E:0060 Value for $2123 with 'A' BG 1 and 2 Window Mask Settings |
| 7E:005F | Value for $211A with 'A' Initial Setting for Mode 7 aa0000bc a = Screen Over b = Vertical Flip c = Horizontal Flip | | 7E:0061 Value for $2124 with 'A' BG 3 and 4 Window Mask Settings aaaabbbb a = BG 4 Window Settings b = BG 3 Window Settings |
| 7E:0060 | Value for $2123 with 'A' BG 1 and 2 Window Mask Settings aaaabbbb a = BG 2 Window Settings b = BG 1 Window Settings | | 7E:0062 Value for $2125 with 'A' OBJ and Color Window Settings aaaabbbb a = Color Window Settings b = OBJ Window Settings |
| 7E:0061 | Value for $2124 with 'A' BG 3 and 4 Window Mask Settings aaaabbbb a = BG 4 Window Settings b = BG 3 Window Settings | | 7E:0063 Value for $2126 with 'A' Window 1 Left Position Designation |
| 7E:0062 | Value for $2125 with 'A' OBJ and Color Window Settings aaaabbbb a = Color Window Settings b = OBJ Window Settings | | 7E:0064 Value for $2127 with 'A' Window 1 Right Position Designation |
| 7E:0063 | Value for $2126 with 'A' Window 1 Left Position Designation | | 7E:0065 Value for $2128 with 'A' Window 2 left Position Designation |
| 7E:0064 | Value for $2127 with 'A' Window 1 Right Position Designation | | 7E:0066 Value for $2129 with 'A' Window 2 Right Position Designation |
| 7E:0065 | Value for $2128 with 'A' Window 2 left Position Designation | | 7E:0067 Value for $212A with 'A' BG 1, 2, 3 and 4 Window Logic Settings aabbccdd a = BG 4 b = BG 3 c = BG 2 d = BG 1 |
| 7E:0066 | Value for $2129 with 'A' Window 2 Right Position Designation | | 7E:0068 Value for $212B with 'A' Color and OBJ Window Logic Settings 0000aabb a = Color Window b = OBJ Window |
| 7E:0067 | Value for $212A with 'A' BG 1, 2, 3 and 4 Window Logic Settings aabbccdd a = BG 4 b = BG 3 c = BG 2 d = BG 1 | | 7E:0069 Value for $6A and $212C with 'A' Background and Object Enable (Main Screen) 000abcde a = Object b = BG 4 c = BG 3 d = BG 2 e = BG 1 |
| 7E:0068 | Value for $212B with 'A' Color and OBJ Window Logic Settings 0000aabb a = Color Window b = OBJ Window | | 7E:006A Value for $212C (when?) Background and Object Enable (Main Screen) 000abcde a = Object b = BG 4 c = BG 3 d = BG 2 e = BG 1 |
| 7E:0069 | Value for $6A and $212C with 'A' Background and Object Enable (Main Screen) 000abcde a = Object b = BG 4 c = BG 3 d = BG 2 e = BG 1 | | 7E:006B Value for $212D with 'A' Background and Object Enable (Sub Screen) 000abcde a = Object b = BG 4 c = BG 3 d = BG 2 e = BG 1 |
| 7E:006A | Value for $212C (when?) Background and Object Enable (Main Screen) 000abcde a = Object b = BG 4 c = BG 3 d = BG 2 e = BG 1 | | 7E:006C Value for $212E with 'A' Window Mask Designation for Main Screen 000abcde a = Object b = BG 4 c = BG 3 d = BG 2 e = BG 1 |
| 7E:006B | Value for $212D with 'A' Background and Object Enable (Sub Screen) 000abcde a = Object b = BG 4 c = BG 3 d = BG 2 e = BG 1 | | 7E:006D Value for $212F with 'A' Window Mask Designation for Sub Screen 000abcde a = Object b = BG 4 c = BG 3 d = BG 2 e = BG 1 |
| 7E:006C | Value for $212E with 'A' Window Mask Designation for Main Screen 000abcde a = Object b = BG 4 c = BG 3 d = BG 2 e = BG 1 | | 7E:006E Value for $70 with 'A' |
| 7E:006D | Value for $212F with 'A' Window Mask Designation for Sub Screen 000abcde a = Object b = BG 4 c = BG 3 d = BG 2 e = BG 1 | | 7E:006F Value for $2130 with 'A' Initial Settings for Color Addition aabb00cd a = Main Color Window On/Off, b = Sub Color Window On/Off, c = Fixed Color Add/Subtract Enable, d = Direct Select |
| 7E:006E | Value for $70 with 'A' | | 7E:0070 Value for $2130 during interrupt 0006 (Which windows to add/subtract from) |
| 7E:006F | Value for $2130 with 'A' Initial Settings for Color Addition aabb00cd a = Main Color Window On/Off, b = Sub Color Window On/Off, c = Fixed Color Add/Subtract Enable, d = Direct Select | | 7E:0071 Value for $73 with 'A' |
| 7E:0070 | Value for $2130 during interrupt 0006 (Which windows to add/subtract from) | | 7E:0072 Value for $2131 with 'A' Add/Subtract Select and Enable abcdefgh a = 0 for Addition, 1 for Subtraction, b = 1/2 Enable c = Back Enable, d = Object Enable, efgh = Enable BG 4, 3, 2, 1 |
| 7E:0071 | Value for $73 with 'A' | | 7E:0073 Value for $2131 during interrupt 0006 (Which layers to modify, and whether to add or to subtract) |
| 7E:0072 | Value for $2131 with 'A' Add/Subtract Select and Enable abcdefgh a = 0 for Addition, 1 for Subtraction, b = 1/2 Enable c = Back Enable, d = Object Enable, efgh = Enable BG 4, 3, 2, 1 | | 7E:0074 Value 1 for $2132 with 'A' Fixed Color Data abcddddd a = Blue b = Green c = Red ddddd = Color Data |
| 7E:0073 | Value for $2131 during interrupt 0006 (Which layers to modify, and whether to add or to subtract) | | 7E:0075 Value 2 for $2132 with 'A' Fixed Color Data abcddddd a = Blue b = Green c = Red ddddd = Color Data |
| 7E:0074 | Value 1 for $2132 with 'A' Fixed Color Data abcddddd a = Blue b = Green c = Red ddddd = Color Data | | 7E:0076 Value 3 for $2132 with 'A' Fixed Color Data abcddddd a = Blue b = Green c = Red ddddd = Color Data |
| 7E:0075 | Value 2 for $2132 with 'A' Fixed Color Data abcddddd a = Blue b = Green c = Red ddddd = Color Data | | 7E:0077 Value for $2133 with 'A' Screen Initial Settings ab00cdef a = External Sync, b = ExtBG Mode, c = Pseudo 512 Mode, d = Vertical Size, e = Object-V Select, f = Interlace |
| 7E:0076 | Value 3 for $2132 with 'A' Fixed Color Data abcddddd a = Blue b = Green c = Red ddddd = Color Data | | 7E:0078 First value for $211B with 'A' Mode 7 Matrix Parameter A always changed while zooming and while rotating |
| 7E:0077 | Value for $2133 with 'A' Screen Initial Settings ab00cdef a = External Sync, b = ExtBG Mode, c = Pseudo 512 Mode, d = Vertical Size, e = Object-V Select, f = Interlace | | 7E:0079 Second value for $211B with 'A' Mode 7 Matrix Parameter A |
| 7E:0078 | First value for $211B with 'A' Mode 7 Matrix Parameter A always changed while zooming and while rotating | | 7E:007A First value for $211C with 'A' Mode 7 Matrix Parameter B |
| 7E:0079 | Second value for $211B with 'A' Mode 7 Matrix Parameter A | | 7E:007B Second value for $211C with 'A' Mode 7 Matrix Parameter B |
| 7E:007A | First value for $211C with 'A' Mode 7 Matrix Parameter B | | 7E:007C First value for $211D with 'A' Mode 7 Matrix Parameter C |
| 7E:007B | Second value for $211C with 'A' Mode 7 Matrix Parameter B | | 7E:007D Second value for $211D with 'A' Mode 7 Matrix Parameter C |
| 7E:007C | First value for $211D with 'A' Mode 7 Matrix Parameter C | | 7E:007E First value for $211E with 'A' Mode 7 Matrix Parameter D always seems to be the same like $78 |
| 7E:007D | Second value for $211D with 'A' Mode 7 Matrix Parameter C | | 7E:007F Second value for $211E with 'A' Mode 7 Matrix Parameter D |
| 7E:007E | First value for $211E with 'A' Mode 7 Matrix Parameter D always seems to be the same like $78 | | 7E:0080 First value for $211F with 'A' Mode 7 Center Position X |
| 7E:007F | Second value for $211E with 'A' Mode 7 Matrix Parameter D | | 7E:0081 Second value for $211F with 'A' Mode 7 Center Position X |
| 7E:0080 | First value for $211F with 'A' Mode 7 Center Position X | | 7E:0082 First value for $2120 with 'A' Mode 7 Center Position Y |
| 7E:0081 | Second value for $211F with 'A' Mode 7 Center Position X | | 7E:0083 Second value for $2120 with 'A' Mode 7 Center Position Y |
| 7E:0082 | First value for $2120 with 'A' Mode 7 Center Position Y | | 7E:0084 Value for $4200 - NMI, V/H Count, and Joypad Enable a0bc000d a = NMI b = V-Count c = H-Count d = Joypad |
| 7E:0083 | Second value for $2120 with 'A' Mode 7 Center Position Y | | 7E:0085 HDMA channels to turn on? Not sure for what, looks like for Layer 3 blending for something. |
| 7E:0084 | Value for $4200 - NMI, V/H Count, and Joypad Enable a0bc000d a = NMI b = V-Count c = H-Count d = Joypad | | 7E:0086 ROM Access Speed. Probably never changed. |
| 7E:0085 | HDMA channels to turn on? Not sure for what, looks like for Layer 3 blending for something. | | 7E:0087 - 7E:0088 Never seems to be written to except by RAM-clearing routines. |
| 7E:0086 | ROM Access Speed. Probably never changed. | | 7E:0089 - 7E:008A Never seems to be written to except by RAM-clearing routines. |
| 7E:0087 - 7E:0088 | Never seems to be written to except by RAM-clearing routines. | | 7E:008B - 7E:008C Controller 1 Input |
| 7E:0089 - 7E:008A | Never seems to be written to except by RAM-clearing routines. | | 7E:008D - 7E:008E Controller 2 Input. ALL Controller 2 Unused (Debug mode) |
| 7E:008B - 7E:008C | Controller 1 Input | | 7E:008F - 7E:0090 Controller 1 Buttons newly pressed this frame |
| 7E:008D - 7E:008E | Controller 2 Input. ALL Controller 2 Unused (Debug mode) | | 7E:0091 - 7E:0092 Controller 2 Buttons newly pressed this frame |
| 7E:008F - 7E:0090 | Controller 1 Buttons newly pressed this frame | | 7E:0093 - 7E:0094 Mirror of $8F (common) or $8B (Input, no new buttons held, $A3 was 1/is now 0) |
| 7E:0091 - 7E:0092 | Controller 2 Buttons newly pressed this frame | | 7E:0095 - 7E:0096 Mirror of $91 (common) or $8D (Input, no new buttons held, $A5 was 1/is now 0) |
| 7E:0093 - 7E:0094 | Mirror of $8F (common) or $8B (Input, no new buttons held, $A3 was 1/is now 0) | | 7E:0097 - 7E:0098 Controller 1 Input from previous frame (updated at end of button-updating routine - this will always mirror $8B except during the button-updating routine) |
| 7E:0095 - 7E:0096 | Mirror of $91 (common) or $8D (Input, no new buttons held, $A5 was 1/is now 0) | | 7E:0099 - 7E:009A Controller 2 Input from previous frame (updated at end of button-updating routine - this will always mirror $8D except during the button-updating routine) |
| 7E:0097 - 7E:0098 | Controller 1 Input from previous frame (updated at end of button-updating routine - this will always mirror $8B except during the button-updating routine) | | 7E:00A3 - 7E:00A4 Controller 1: If (Input, no new buttons held) $A3 is decremented. If it now = #$0000, then $A3 = $89. If no Input or no new buttons, $A3 = $87. |
| 7E:0099 - 7E:009A | Controller 2 Input from previous frame (updated at end of button-updating routine - this will always mirror $8D except during the button-updating routine) | | 7E:00A5 - 7E:00A6 Controller 2: If (Input, no new buttons held) $A5 is decremented. If it now = #$0000, then $A5 = $89. If no Input or no new buttons, $A5 = $87. |
| 7E:00A3 - 7E:00A4 | Controller 1: If (Input, no new buttons held) $A3 is decremented. If it now = #$0000, then $A3 = $89. If no Input or no new buttons, $A3 = $87. | | 7E:00A7 - 7E:00A8 Optional Next Interrupt Jump Index (must be a multiple of 2)(0 = unused) |
| 7E:00A5 - 7E:00A6 | Controller 2: If (Input, no new buttons held) $A5 is decremented. If it now = #$0000, then $A5 = $89. If no Input or no new buttons, $A5 = $87. | | 7E:00A9 - 7E:00AA Optional Next 'Optional Next' Interrupt Jump Index (must be a multiple of 2)(0 = unused) |
| 7E:00A7 - 7E:00A8 | Optional Next Interrupt Jump Index (must be a multiple of 2)(0 = unused) | | 7E:00AB - 7E:00AC Interrupt Jump Index (must be a multiple of 2) |
| 7E:00A9 - 7E:00AA | Optional Next 'Optional Next' Interrupt Jump Index (must be a multiple of 2)(0 = unused) | | 7E:00B1 - 7E:00B2 Value for $210D (X scroll of BG 1) |
| 7E:00AB - 7E:00AC | Interrupt Jump Index (must be a multiple of 2) | | 7E:00B3 - 7E:00B4 Value for $210E (Y scroll of BG 1) |
| 7E:00B1 - 7E:00B2 | Value for $210D (X scroll of BG 1) | | 7E:00B5 - 7E:00B6 Value for $210F (X scroll of BG 2) |
| 7E:00B3 - 7E:00B4 | Value for $210E (Y scroll of BG 1) | | 7E:00B7 - 7E:00B8 Value for $2110 (Y scroll of BG 2) |
| 7E:00B5 - 7E:00B6 | Value for $210F (X scroll of BG 2) | | 7E:00B9 - 7E:00BA Value for $2111 (X scroll of BG 3) |
| 7E:00B7 - 7E:00B8 | Value for $2110 (Y scroll of BG 2) | | 7E:00BB - 7E:00BC Value for $2112 (Y scroll of BG 3) |
| 7E:00B9 - 7E:00BA | Value for $2111 (X scroll of BG 3) | | 7E:00BD - 7E:00BE Value for $2113 (X scroll of BG 4) |
| 7E:00BB - 7E:00BC | Value for $2112 (Y scroll of BG 3) | | 7E:00BF - 7E:00C0 Value for $2114 (Y scroll of BG 4) |
| 7E:00BD - 7E:00BE | Value for $2113 (X scroll of BG 4) | | 7E:00D0 - 7E:02AF Table of entries to update graphics, 7 bytes: Size (2 bytes), source address (3 bytes), VRAM target (2 bytes) (Unsure of size) |
| 7E:00BF - 7E:00C0 | Value for $2114 (Y scroll of BG 4) | | 7E:02D0 - 7E:02D1 Something for Mode 7? |
| 7E:00D0 - 7E:02AF | Table of entries to update graphics, 7 bytes: Size (2 bytes), source address (3 bytes), VRAM target (2 bytes) (Unsure of size) | | 7E:0330 - 7E:0331 'Stack' pointer for 00D0 table |
| 7E:02D0 - 7E:02D1 | Something for Mode 7? | | 7E:0334 - 7E:0335 Something for Mode 7? |
| 7E:0330 - 7E:0331 | 'Stack' pointer for 00D0 table | | 7E:0340 - 7E:035B Table of entries to read from graphics, 9 bytes: VRAM target(cannot be 0, 2 bytes), and all other DMA data (7 bytes) (Unsure of size) |
| 7E:0334 - 7E:0335 | Something for Mode 7? | | 7E:035C - 7E:035D 0000; garbage write for end of table. |
| 7E:0340 - 7E:035B | Table of entries to read from graphics, 9 bytes: VRAM target(cannot be 0, 2 bytes), and all other DMA data (7 bytes) (Unsure of size) | | 7E:0360 - 7E:0361 'Stack' pointer for 0340 table |
| 7E:035C - 7E:035D | 0000; garbage write for end of table. | | 7E:0370 - 7E:058F *ALL* OAM data (according to routine at 80:933A) |
| 7E:0360 - 7E:0361 | 'Stack' pointer for 0340 table | | 7E:0590 - 7E:0591 Index for 0370 |
| 7E:0370 - 7E:058F | *ALL* OAM data (according to routine at 80:933A) | | 7E:0592 - 7E:0593 Read during X-Ray setup |
| 7E:0590 - 7E:0591 | Index for 0370 | | 7E:05A2 - 7E:05A3 Percent of message box is open? Or something like that. Max of #$1800 |
| 7E:0592 - 7E:0593 | Read during X-Ray setup | | 7E:05A4 - 7E:05A5 Something for message boxes. Seems to be related to graphics and tilemaps |
| 7E:05A2 - 7E:05A3 | Percent of message box is open? Or something like that. Max of #$1800 | | 7E:05A6 - 7E:05A7 Something for message boxes. Seems to be related to graphics and tilemaps |
| 7E:05A4 - 7E:05A5 | Something for message boxes. Seems to be related to graphics and tilemaps | | 7E:05AC - 7E:05AD Minimum X scroll on minimap |
| 7E:05A6 - 7E:05A7 | Something for message boxes. Seems to be related to graphics and tilemaps | | 7E:05AE - 7E:05AF Maximum X scroll on minimap |
| 7E:05AC - 7E:05AD | Minimum X scroll on minimap | | 7E:05B0 - 7E:05B1 Minimum y scroll on minimap |
| 7E:05AE - 7E:05AF | Maximum X scroll on minimap | | 7E:05B2 - 7E:05B3 Maximum Y scroll on minimap |
| 7E:05B0 - 7E:05B1 | Minimum y scroll on minimap | | 7E:05B4 1 = Game is waiting for an NMI, 0 = Game is processing current frame |
| 7E:05B2 - 7E:05B3 | Maximum Y scroll on minimap | | 7E:05B5 Something for animating minimap cursor (used as a general purpose... animation index, I guess) |
| 7E:05B4 | 1 = Game is waiting for an NMI, 0 = Game is processing current frame | | 7E:05B6 - 7E:05B7 Frame counter. Incremented EVERY NMI when processing has been completed (05B4 has been set) |
| 7E:05B5 | Something for animating minimap cursor (used as a general purpose... animation index, I guess) | | 7E:05B8 - 7E:05B9 I'm guessing this is some sort of HBlank check. Used by message boxes for smooth opening/closing |
| 7E:05B6 - 7E:05B7 | Frame counter. Incremented EVERY NMI when processing has been completed (05B4 has been set) | | 7E:05BA How many NMI's elapsed while this frame has been processing. Never used, only for statistics. |
| 7E:05B8 - 7E:05B9 | I'm guessing this is some sort of HBlank check. Used by message boxes for smooth opening/closing | | 7E:05BB The most NMI's elapsed while waiting for a frame to process. Caps at FF. |
| 7E:05BA | How many NMI's elapsed while this frame has been processing. Never used, only for statistics. | | 7E:05BC - 7E:05BD High bit is a flag to write to VRAM (for BG3?). Cleared during 80:9632, when you enter a door, set in 82:E4A9 |
| 7E:05BB | The most NMI's elapsed while waiting for a frame to process. Caps at FF. | | 7E:05BE - 7E:05BF Offset for VRAM. Used by 80:9632, when you enter a door |
| 7E:05BC - 7E:05BD | High bit is a flag to write to VRAM (for BG3?). Cleared during 80:9632, when you enter a door, set in 82:E4A9 | | 7E:05C0 - 7E:05C2 Source for VRAM update, including bank byte. Used by 80:9632, when you enter a door |
| 7E:05BE - 7E:05BF | Offset for VRAM. Used by 80:9632, when you enter a door | | 7E:05C3 - 7E:05C4 Size of VRAM update. Used by 80:9632, when you enter a door |
| 7E:05C0 - 7E:05C2 | Source for VRAM update, including bank byte. Used by 80:9632, when you enter a door | | 7E:05C5 - 7E:05C6 Mirror of $8F, only enabled with debug mode. Used for debug functions. |
| 7E:05C3 - 7E:05C4 | Size of VRAM update. Used by 80:9632, when you enter a door | | 7E:05C7 - 7E:05C8 Also mirrors $8F sometimes with debug mode. Not sure when. |
| 7E:05C5 - 7E:05C6 | Mirror of $8F, only enabled with debug mode. Used for debug functions. | | 7E:05C9 - 7E:05CA 'Swap' of missiles for debug mode. Select + R + B |
| 7E:05C7 - 7E:05C8 | Also mirrors $8F sometimes with debug mode. Not sure when. | | 7E:05CB - 7E:05CC 'Swap' of super missiles for debug mode. Select + R + B |
| 7E:05C9 - 7E:05CA | 'Swap' of missiles for debug mode. Select + R + B | | 7E:05CD - 7E:05CE 'Swap' of power bombs for debug mode. Select + R + B |
| 7E:05CB - 7E:05CC | 'Swap' of super missiles for debug mode. Select + R + B | | 7E:05CF - 7E:05D0 Top bit is set if weaponry is 'swapped' at the moment. |
| 7E:05CD - 7E:05CE | 'Swap' of power bombs for debug mode. Select + R + B | | 7E:05D1 - 7E:05D2 Debug mode. Set to 80:8004 at game start, unused in the normal rom. |
| 7E:05CF - 7E:05D0 | Top bit is set if weaponry is 'swapped' at the moment. | | 7E:05D3 - 7E:05D4 Save/Load Scroll position toggle. Requires 80:8006 to be set |
| 7E:05D1 - 7E:05D2 | Debug mode. Set to 80:8004 at game start, unused in the normal rom. | | 7E:05D5 - 7E:05D6 Saved X-Scroll position ($0911). Unused (Debug mode) |
| 7E:05D3 - 7E:05D4 | Save/Load Scroll position toggle. Requires 80:8006 to be set | | 7E:05D7 - 7E:05D8 Saved Y-Scroll position ($0915). Unused (Debug mode) |
| 7E:05D5 - 7E:05D6 | Saved X-Scroll position ($0911). Unused (Debug mode) | | 7E:05D9 - 7E:05DA Previous frame's 008B during the pause screen? (as is up to 05E4) |
| 7E:05D7 - 7E:05D8 | Saved Y-Scroll position ($0915). Unused (Debug mode) | | 7E:05DB - 7E:05DC Frames left to wait for this same set of buttons being held down till significant |
| 7E:05D9 - 7E:05DA | Previous frame's 008B during the pause screen? (as is up to 05E4) | | 7E:05DD - 7E:05DE Potential value for 05DB? |
| 7E:05DB - 7E:05DC | Frames left to wait for this same set of buttons being held down till significant | | 7E:05DF - 7E:05E0 Buttons held down for 05DD frames |
| 7E:05DD - 7E:05DE | Potential value for 05DB? | | 7E:05E1 - 7E:05E2 Buttons newly held down for 05DD frames |
| 7E:05DF - 7E:05E0 | Buttons held down for 05DD frames | | 7E:05E3 - 7E:05E4 Buttons previously held down for 05DD frames |
| 7E:05E1 - 7E:05E2 | Buttons newly held down for 05DD frames | | 7E:05E5 - 7E:05E6 Random Number |
| 7E:05E3 - 7E:05E4 | Buttons previously held down for 05DD frames | | 7E:05E7 - 7E:05E8 Often used to check bits for completed tasks/picked up items |
| 7E:05E5 - 7E:05E6 | Random Number | | 7E:05E9 - 7E:05EA 16-bit multiplier A. Used by 80:82D6 |
| 7E:05E7 - 7E:05E8 | Often used to check bits for completed tasks/picked up items | | 7E:05EB - 7E:05EC 16-bit multiplier B. Used by 80:82D6 |
| 7E:05E9 - 7E:05EA | 16-bit multiplier A. Used by 80:82D6 | | 7E:05F1 - 7E:05F4 16-bit * 16-bit result registers. Used by routine 80:82D6 |
| 7E:05EB - 7E:05EC | 16-bit multiplier B. Used by 80:82D6 | | 7E:05F5 - 7E:05F6 Disable sounds |
| 7E:05F1 - 7E:05F4 | 16-bit * 16-bit result registers. Used by routine 80:82D6 | | 7E:05F7 - 7E:05F8 Disable automap |
| 7E:05F5 - 7E:05F6 | Disable sounds | | 7E:05F9 - 7E:05FA used during message boxes, has index for selected choice for save message |
| 7E:05F7 - 7E:05F8 | Disable automap | | 7E:05FB - 7E:05FC Delay for scrolling when holding a direction in the pause screen. 00 = free scrolling (hold) 01+ = number of 'scrolls' until free scrolling |
| 7E:05F9 - 7E:05FA | used during message boxes, has index for selected choice for save message | | 7E:05FD - 7E:05FE Which direction the map scrolls in the pause screen |
| 7E:05FB - 7E:05FC | Delay for scrolling when holding a direction in the pause screen. 00 = free scrolling (hold) 01+ = number of 'scrolls' until free scrolling | | 7E:05FF - 7E:0601 Related to above, seems to be a timer for how long between 'scrolls', and also an index for which value to load to change the map position |
| 7E:05FD - 7E:05FE | Which direction the map scrolls in the pause screen | | 7E:0607 - 7E:0608 Sound index used during earthquakes after collecting SpeedBooster and at the statues |
| 7E:05FF - 7E:0601 | Related to above, seems to be a timer for how long between 'scrolls', and also an index for which value to load to change the map position | | 7E:0609 - 7E:060A Delay between sounds during earthquakes. Used with $7E:0607 |
| 7E:0607 - 7E:0608 | Sound index used during earthquakes after collecting SpeedBooster and at the statues | | 7E:060B - 7E:060C First byte at enemy's graphic pointer address (used during enemy detecting collisions with projectiles or Samus). Possibly number of tilemaps in multi-tilemap enemies. |
| 7E:0609 - 7E:060A | Delay between sounds during earthquakes. Used with $7E:0607 | | 7E:060D - 7E:060E First byte at enemy's ?special hitbox? pointer address |
| 7E:060B - 7E:060C | First byte at enemy's graphic pointer address (used during enemy detecting collisions with projectiles or Samus). Possibly number of tilemaps in multi-tilemap enemies. | | 7E:060F - 7E:0610 Number of projectiles to check for by enemy collision detection? (mirror of $0CCE) |
| 7E:060D - 7E:060E | First byte at enemy's ?special hitbox? pointer address | | 7E:0617 - 7E:0618 0 = allow Soft Reset via Start+Select+L+R. Unused (Debug mode) |
| 7E:060F - 7E:0610 | Number of projectiles to check for by enemy collision detection? (mirror of $0CCE) | | 7E:0619 - 7E:0628 List of words: If negative, low-byte is index to new music/instruments. If positive, use as new track number (*2 = SPC 581E index) |
| 7E:0617 - 7E:0618 | 0 = allow Soft Reset via Start+Select+L+R. Unused (Debug mode) | | 7E:0629 - 7E:0638 List of words: Timer till current command should process. Minimum of 8. |
| 7E:0619 - 7E:0628 | List of words: If negative, low-byte is index to new music/instruments. If positive, use as new track number (*2 = SPC 581E index) | | 7E:0639 - 7E:063A 'Next Available' Index for 0619 and 0629. Increments of 2, loops from E to 0 |
| 7E:0629 - 7E:0638 | List of words: Timer till current command should process. Minimum of 8. | | 7E:063B - 7E:063C 'Next to process' Index for 0619 and 0629. Increments of 2, loops from E to 0 |
| 7E:0639 - 7E:063A | 'Next Available' Index for 0619 and 0629. Increments of 2, loops from E to 0 | | 7E:063D - 7E:063E Currently processing value of 0619,x. (Current new music/instrument or new track) |
| 7E:063B - 7E:063C | 'Next to process' Index for 0619 and 0629. Increments of 2, loops from E to 0 | | 7E:063F - 7E:0640 Currently processing value of 0629,x. (Time left to process current command) |
| 7E:063D - 7E:063E | Currently processing value of 0619,x. (Current new music/instrument or new track) | | 7E:0641 - 7E:0642 Unused? Never seems to be written to except by ram clearing routines |
| 7E:063F - 7E:0640 | Currently processing value of 0629,x. (Time left to process current command) | | 7E:0643 Currently playing index of queued sound clips? For most of Samus? |
| 7E:0641 - 7E:0642 | Unused? Never seems to be written to except by ram clearing routines | | 7E:0644 Currently playing index of queued sound clips? For most of enemies? |
| 7E:0643 | Currently playing index of queued sound clips? For most of Samus? | | 7E:0645 Currently playing index of queued sound clips? Miscellaneous? |
| 7E:0644 | Currently playing index of queued sound clips? For most of enemies? | | 7E:0646 Current index of queued sound clips? For most of Samus? |
| 7E:0645 | Currently playing index of queued sound clips? Miscellaneous? | | 7E:0647 Current index of queued sound clips? For most of enemies? |
| 7E:0646 | Current index of queued sound clips? For most of Samus? | | 7E:0648 Current index of queued sound clips? Miscellaneous? |
| 7E:0647 | Current index of queued sound clips? For most of enemies? | | 7E:0649 Current 'state' of sound clip: 0 = waiting, 1 = sent, waiting for confirmation from SPC, 2 = pause before clearing it, 3 = cleared, waiting for confirmation from SPC, 4 = unused code. For most of Samus? |
| 7E:0648 | Current index of queued sound clips? Miscellaneous? | | 7E:064A Current 'state' of sound clip. For most of enemies? |
| 7E:0649 | Current 'state' of sound clip: 0 = waiting, 1 = sent, waiting for confirmation from SPC, 2 = pause before clearing it, 3 = cleared, waiting for confirmation from SPC, 4 = unused code. For most of Samus? | | 7E:064B Current 'state' of sound clip. Miscellaneous? |
| 7E:064A | Current 'state' of sound clip. For most of enemies? | | 7E:064C Current track index (SPC ram: 581E,x index, 0-7) |
| 7E:064B | Current 'state' of sound clip. Miscellaneous? | | 7E:064D Sound clip currently playing? For most of Samus? |
| 7E:064C | Current track index (SPC ram: 581E,x index, 0-7) | | 7E:064E Sound clip currently playing? For most of enemies? |
| 7E:064D | Sound clip currently playing? For most of Samus? | | 7E:064F Sound clip currently playing? Miscellaneous? |
| 7E:064E | Sound clip currently playing? For most of enemies? | | 7E:0650 Delay before clearing soundclip |
| 7E:064F | Sound clip currently playing? Miscellaneous? | | 7E:0651 Delay before clearing soundclip |
| 7E:0650 | Delay before clearing soundclip | | 7E:0652 Delay before clearing soundclip |
| 7E:0651 | Delay before clearing soundclip | | 7E:0653 Maximum allowed queue number for new sound trying to play |
| 7E:0652 | Delay before clearing soundclip | | 7E:0654 Maximum allowed queue number for new sound trying to play |
| 7E:0653 | Maximum allowed queue number for new sound trying to play | | 7E:0655 Maximum allowed queue number for new sound trying to play |
| 7E:0654 | Maximum allowed queue number for new sound trying to play | | 7E:0656 - 7E:0665 Queue of sound clips? For most of Samus? |
| 7E:0655 | Maximum allowed queue number for new sound trying to play | | 7E:0666 - 7E:0675 Queue of sound clips? For most of enemies? |
| 7E:0656 - 7E:0665 | Queue of sound clips? For most of Samus? | | 7E:0676 - 7E:0685 Queue of sound clips? Miscellaneous? |
| 7E:0666 - 7E:0675 | Queue of sound clips? For most of enemies? | | 7E:0686 Timer for next |
| 7E:0676 - 7E:0685 | Queue of sound clips? Miscellaneous? | | 7E:071D Flag - Samus's top sprites need to be loaded to VRAM. |
| 7E:0686 | Timer for next | | 7E:071E Flag - Samus's bottom sprites need to be loaded to VRAM. |
| 7E:071D | Flag - Samus's top sprites need to be loaded to VRAM. | | 7E:071F - 7E:0720 Pointer to DMA data (bank 92) for Samus's top sprites (3 byte address, 2 byte part 1 size, 2 byte part 2 size) |
| 7E:071E | Flag - Samus's bottom sprites need to be loaded to VRAM. | | 7E:0721 - 7E:0722 Pointer to DMA data (bank 92) for Samus's bottom sprites (3 byte address, 2 byte part 1 size, 2 byte part 2 size) |
| 7E:071F - 7E:0720 | Pointer to DMA data (bank 92) for Samus's top sprites (3 byte address, 2 byte part 1 size, 2 byte part 2 size) | | 7E:0723 - 7E:0724 Frames between changes in screen brightness while pausing the game. |
| 7E:0721 - 7E:0722 | Pointer to DMA data (bank 92) for Samus's bottom sprites (3 byte address, 2 byte part 1 size, 2 byte part 2 size) | | 7E:0725 - 7E:0726 Counter for frames between changes in screen brightness. |
| 7E:0723 - 7E:0724 | Frames between changes in screen brightness while pausing the game. | | 7E:0727 Used by pause screen (map/items/transitions - main index to look up code) and Game Over screen (not sure) |
| 7E:0725 - 7E:0726 | Counter for frames between changes in screen brightness. | | 7E:0729 - 7E:072A Frames to flash L/R/Start button on pause screen |
| 7E:0727 | Used by pause screen (map/items/transitions - main index to look up code) and Game Over screen (not sure) | | 7E:072D - 7E:072E Used as a timer in the pause screen for selection flashing |
| 7E:0729 - 7E:072A | Frames to flash L/R/Start button on pause screen | | 7E:072F - 7E:0730 Used as a timer in the pause screen for reserve tank flashing |
| 7E:072D - 7E:072E | Used as a timer in the pause screen for selection flashing | | 7E:073B - 7E:073C Timer/counter for L and R button backgrounds' color animation (Top byte initialized to 00 but unused (8bit) during routine) |
| 7E:072F - 7E:0730 | Used as a timer in the pause screen for reserve tank flashing | | 7E:0741 - 7E:0742 Used as an animation index in the pause screen for selection flashing |
| 7E:073B - 7E:073C | Timer/counter for L and R button backgrounds' color animation (Top byte initialized to 00 but unused (8bit) during routine) | | 7E:0743 - 7E:0744 Used as an animation index in the pause screen for reserve tank flashing |
| 7E:0741 - 7E:0742 | Used as an animation index in the pause screen for selection flashing | | 7E:074F - 7E:0750 Index for animation and color for L and R button backgrounds' color animation (Top byte initialized to 00 but unused (8bit) during routine) |
| 7E:0743 - 7E:0744 | Used as an animation index in the pause screen for reserve tank flashing | | 7E:0751 - 7E:0752 Which button lights up for 0729 frames when changing screens from pause screen (00 = none, 01 = L, 02 = R) |
| 7E:074F - 7E:0750 | Index for animation and color for L and R button backgrounds' color animation (Top byte initialized to 00 but unused (8bit) during routine) | | 7E:0753 - 7E:0754 Which buttons show on the pause screen ('SAMUS' R = 00, neither (unpausing) = 01, 'MAP' L = 02). Often used to check active screen. |
| 7E:0751 - 7E:0752 | Which button lights up for 0729 frames when changing screens from pause screen (00 = none, 01 = L, 02 = R) | | 7E:0755 Which list is selected on the equipment pause screen |
| 7E:0753 - 7E:0754 | Which buttons show on the pause screen ('SAMUS' R = 00, neither (unpausing) = 01, 'MAP' L = 02). Often used to check active screen. | | 7E:0756 Which item of the list is selected on the equipment pause screen |
| 7E:0755 | Which list is selected on the equipment pause screen | | 7E:0757 Delay counter for reserve tank sound |
| 7E:0756 | Which item of the list is selected on the equipment pause screen | | 7E:0765 Backup value for 58 during pause screen |
| 7E:0757 | Delay counter for reserve tank sound | | 7E:0766 Backup value for 59 during pause screen |
| 7E:0765 | Backup value for 58 during pause screen | | 7E:0767 Backup value for 5A during pause screen |
| 7E:0766 | Backup value for 59 during pause screen | | 7E:0768 Backup value for 5D during pause screen |
| 7E:0767 | Backup value for 5A during pause screen | | 7E:0769 Backup value for 5E during pause screen |
| 7E:0768 | Backup value for 5D during pause screen | | 7E:076A Backup value for 52 during pause screen |
| 7E:0769 | Backup value for 5E during pause screen | | 7E:076B Backup value for B1 during pause screen |
| 7E:076A | Backup value for 52 during pause screen | | 7E:076C Backup value for B5 during pause screen |
| 7E:076B | Backup value for B1 during pause screen | | 7E:076D Backup value for B9 during pause screen |
| 7E:076C | Backup value for B5 during pause screen | | 7E:076E Backup value for B3 during pause screen |
| 7E:076D | Backup value for B9 during pause screen | | 7E:076F Backup value for B7 during pause screen |
| 7E:076E | Backup value for B3 during pause screen | | 7E:0770 Backup value for BB during pause screen |
| 7E:076F | Backup value for B7 during pause screen | | 7E:0771 Backup value for 55 during pause screen |
| 7E:0770 | Backup value for BB during pause screen | | 7E:0772 Backup value for 091B during pause screen |
| 7E:0771 | Backup value for 55 during pause screen | | 7E:0773 Backup value for 091C during pause screen |
| 7E:0772 | Backup value for 091B during pause screen | | 7E:0774 Backup value for 57 during pause screen |
| 7E:0773 | Backup value for 091C during pause screen | | 7E:0775 Backup value for 71 during pause screen |
| 7E:0774 | Backup value for 57 during pause screen | | 7E:077A - 7E:077B Bit 1 controls flashing for Samus's helmet icon while loading |
| 7E:0775 | Backup value for 71 during pause screen | | 7E:077C - 7E:077D Pallete value for status bar. Sharable. |
| 7E:077A - 7E:077B | Bit 1 controls flashing for Samus's helmet icon while loading | | 7E:0789 - 7E:078A Flag. Current area's map has been collected, display boss and blue rooms. (Blue rooms will not be marked on pause map until Samus leaves the area) |
| 7E:077C - 7E:077D | Pallete value for status bar. Sharable. | | 7E:078B - 7E:078C Which save in the current area to load from? Might alternatively be X/Y of save station on map |
| 7E:0789 - 7E:078A | Flag. Current area's map has been collected, display boss and blue rooms. (Blue rooms will not be marked on pause map until Samus leaves the area) | | 7E:078D - 7E:078E DDB pointer for current room transition |
| 7E:078B - 7E:078C | Which save in the current area to load from? Might alternatively be X/Y of save station on map | | 7E:078F - 7E:0790 BTS of the door that lead to this room. Never read. |
| 7E:078D - 7E:078E | DDB pointer for current room transition | | 7E:0791 - 7E:0792 Current room transition direction. 0 = right, 1 = left, 2 = down, 3 = up. +4 = Close a door on next screen |
| 7E:078F - 7E:0790 | BTS of the door that lead to this room. Never read. | | 7E:0793 - 7E:0794 Door bitflags(low byte) and room transition direction (high byte) |
| 7E:0791 - 7E:0792 | Current room transition direction. 0 = right, 1 = left, 2 = down, 3 = up. +4 = Close a door on next screen | | 7E:0795 - 7E:0796 If set, not an elevator? |
| 7E:0793 - 7E:0794 | Door bitflags(low byte) and room transition direction (high byte) | | 7E:0797 - 7E:0798 Currently transitioning the room |
| 7E:0795 - 7E:0796 | If set, not an elevator? | | 7E:0799 - 7E:079A Direction of current elevator (0000 = down, 8000 = up) |
| 7E:0797 - 7E:0798 | Currently transitioning the room | | 7E:079B - 7E:079C Current room mdb (Room ID in SMILE) |
| 7E:0799 - 7E:079A | Direction of current elevator (0000 = down, 8000 = up) | | 7E:079D - 7E:079E First byte of room mdb, unknown (Apparently room # for this region) |
| 7E:079B - 7E:079C | Current room mdb (Room ID in SMILE) | | 7E:079F - 7E:07A0 Region Number |
| 7E:079D - 7E:079E | First byte of room mdb, unknown (Apparently room # for this region) | | 7E:07A1 - 7E:07A2 Room's Automap X coordinate |
| 7E:079F - 7E:07A0 | Region Number | | 7E:07A3 - 7E:07A4 Room's Automap Y coordinate |
| 7E:07A1 - 7E:07A2 | Room's Automap X coordinate | | 7E:07A5 - 7E:07A6 Current room's width in blocks |
| 7E:07A3 - 7E:07A4 | Room's Automap Y coordinate | | 7E:07A7 - 7E:07A8 Current room's height in blocks |
| 7E:07A5 - 7E:07A6 | Current room's width in blocks | | 7E:07A9 - 7E:07AA Number of screens wide current room is. Used only by scrolling? (and beams) |
| 7E:07A7 - 7E:07A8 | Current room's height in blocks | | 7E:07AB - 7E:07AC Number of screens tall current room is, used by beams at the least. |
| 7E:07A9 - 7E:07AA | Number of screens wide current room is. Used only by scrolling? (and beams) | | 7E:07AD - 7E:07AE 7th byte of room mdb. Target screen Y position for Samus while moving down (used by scrolling) |
| 7E:07AB - 7E:07AC | Number of screens tall current room is, used by beams at the least. | | 7E:07AF - 7E:07B0 8th byte of room mdb. Target screen Y position for Samus while moving up (used by scrolling) |
| 7E:07AD - 7E:07AE | 7th byte of room mdb. Target screen Y position for Samus while moving down (used by scrolling) | | 7E:07B1 - 7E:07B2 9th byte of previous room's mdb |
| 7E:07AF - 7E:07B0 | 8th byte of room mdb. Target screen Y position for Samus while moving up (used by scrolling) | | 7E:07B3 - 7E:07B4 9th byte of this room's mdb (GFX Bitflag) |
| 7E:07B1 - 7E:07B2 | 9th byte of previous room's mdb | | 7E:07B5 - 7E:07B6 Room's doorout pointer |
| 7E:07B3 - 7E:07B4 | 9th byte of this room's mdb (GFX Bitflag) | | 7E:07B7 - 7E:07B8 Roomstate test pointer (used when testing roomstate conditions) |
| 7E:07B5 - 7E:07B6 | Room's doorout pointer | | 7E:07B9 - 7E:07BA Area of current room, in blocks |
| 7E:07B7 - 7E:07B8 | Roomstate test pointer (used when testing roomstate conditions) | | 7E:07BB - 7E:07BC Current roomstate pointer |
| 7E:07B9 - 7E:07BA | Area of current room, in blocks | | 7E:07BD - 7E:07BF 3 byte pointer to current room tilemap (Level Data Pointer) |
| 7E:07BB - 7E:07BC | Current roomstate pointer | | 7E:07C0 - 7E:07C2 3 byte pointer. Something for the tiles. 8F0000,[8FE7A7,[graphics set * 2]]. Decompressed to 7E:A800 |
| 7E:07BD - 7E:07BF | 3 byte pointer to current room tilemap (Level Data Pointer) | | 7E:07C3 - 7E:07C5 Another 3 byte pointer. Something for the tiles. 8F0003,[8FE7A7,[graphics set * 2]]. Room tiles. Decompressed to 7E:2000, 5000 bytes? |
| 7E:07C0 - 7E:07C2 | 3 byte pointer. Something for the tiles. 8F0000,[8FE7A7,[graphics set * 2]]. Decompressed to 7E:A800 | | 7E:07C6 - 7E:07C8 Another 3 byte pointer. Colors? 8F0006,[8FE7A7,[graphics set * 2]]. Decompressed to 7E:C200 |
| 7E:07C3 - 7E:07C5 | Another 3 byte pointer. Something for the tiles. 8F0003,[8FE7A7,[graphics set * 2]]. Room tiles. Decompressed to 7E:2000, 5000 bytes? | | 7E:07C9 - 7E:07CA Music track index (0 = off, 1-4 = fixed, 5-7 = song/instrument dependant) |
| 7E:07C6 - 7E:07C8 | Another 3 byte pointer. Colors? 8F0006,[8FE7A7,[graphics set * 2]]. Decompressed to 7E:C200 | | 7E:07CB - 7E:07CC Music song/instrument index |
| 7E:07C9 - 7E:07CA | Music track index (0 = off, 1-4 = fixed, 5-7 = song/instrument dependant) | | 7E:07CD - 7E:07CE Pointer to room FX1 |
| 7E:07CB - 7E:07CC | Music song/instrument index | | 7E:07CF - 7E:07D0 Room's enemy population pointer |
| 7E:07CD - 7E:07CE | Pointer to room FX1 | | 7E:07D1 - 7E:07D2 Room's enemies allowed pointer (gets names and palletes, also gets list name for 7E:D552) |
| 7E:07CF - 7E:07D0 | Room's enemy population pointer | | 7E:07DF - 7E:07E0 Pointer to room FX2 |
| 7E:07D1 - 7E:07D2 | Room's enemies allowed pointer (gets names and palletes, also gets list name for 7E:D552) | | 7E:07E9 - 7E:07EA Pointer to routine (or unused; 0000). Used in scroll routines. |
| 7E:07DF - 7E:07E0 | Pointer to room FX2 | | 7E:07EC Some sort of very special-case write during DMA or HDMA, probably (see 88:8435 and related RAM - if not with that still almost surely bank 88 related). Noted use when leaving Ridley's room in Ceres. |
| 7E:07E9 - 7E:07EA | Pointer to routine (or unused; 0000). Used in scroll routines. | | 7E:07F3 - 7E:07F4 Currently loaded song/instrument index |
| 7E:07EC | Some sort of very special-case write during DMA or HDMA, probably (see 88:8435 and related RAM - if not with that still almost surely bank 88 related). Noted use when leaving Ridley's room in Ceres. | | 7E:07F5 - 7E:07F6 Currently loaded track index |
| 7E:07F3 - 7E:07F4 | Currently loaded song/instrument index | | 7E:07F7 - 7E:08F6 Map tiles explored for current area (1 tile = 1 bit). |
| 7E:07F5 - 7E:07F6 | Currently loaded track index | | 7E:08F7 - 7E:08F8 How many blocks X the screen is scrolled? |
| 7E:07F7 - 7E:08F6 | Map tiles explored for current area (1 tile = 1 bit). | | 7E:08F9 - 7E:08FA How many blocks Y the screen is scrolled? (up = positive) |
| 7E:08F7 - 7E:08F8 | How many blocks X the screen is scrolled? | | 7E:08FB - 7E:08FC How many blocks X Layer 2 is scrolled? |
| 7E:08F9 - 7E:08FA | How many blocks Y the screen is scrolled? (up = positive) | | 7E:08FD - 7E:08FE How many blocks Y Layer 2 is scrolled? (up = positive) |
| 7E:08FB - 7E:08FC | How many blocks X Layer 2 is scrolled? | | 7E:08FF - 7E:0900 How many blocks X the screen was scrolled previously (Checked to know when to update blocks) |
| 7E:08FD - 7E:08FE | How many blocks Y Layer 2 is scrolled? (up = positive) | | 7E:0901 - 7E:0902 How many blocks Y the screen was scrolled previously (Checked to know when to update blocks) (up = positive) |
| 7E:08FF - 7E:0900 | How many blocks X the screen was scrolled previously (Checked to know when to update blocks) | | 7E:0903 - 7E:0904 How many blocks X Layer 2 was scrolled previously (Checked to know when to update blocks) |
| 7E:0901 - 7E:0902 | How many blocks Y the screen was scrolled previously (Checked to know when to update blocks) (up = positive) | | 7E:0905 - 7E:0906 How many blocks Y Layer 2 was scrolled previously (Checked to know when to update blocks) (up = positive) |
| 7E:0903 - 7E:0904 | How many blocks X Layer 2 was scrolled previously (Checked to know when to update blocks) | | 7E:0907 - 7E:0908 How many blocks X BG1 is scrolled? |
| 7E:0905 - 7E:0906 | How many blocks Y Layer 2 was scrolled previously (Checked to know when to update blocks) (up = positive) | | 7E:0909 - 7E:090A How many blocks Y BG1 is scrolled? (up = positive) |
| 7E:0907 - 7E:0908 | How many blocks X BG1 is scrolled? | | 7E:090B - 7E:090C How many blocks X BG2 is scrolled? |
| 7E:0909 - 7E:090A | How many blocks Y BG1 is scrolled? (up = positive) | | 7E:090D - 7E:090E How many blocks Y BG2 is scrolled? (up = positive) |
| 7E:090B - 7E:090C | How many blocks X BG2 is scrolled? | | 7E:090F - 7E:0910 Screen's subpixel X position. |
| 7E:090D - 7E:090E | How many blocks Y BG2 is scrolled? (up = positive) | | 7E:0911 - 7E:0912 Screen's X position in pixels |
| 7E:090F - 7E:0910 | Screen's subpixel X position. | | 7E:0913 - 7E:0914 Screen's subpixel Y position |
| 7E:0911 - 7E:0912 | Screen's X position in pixels | | 7E:0915 - 7E:0916 Screen's Y position in pixels |
| 7E:0913 - 7E:0914 | Screen's subpixel Y position | | 7E:0917 - 7E:0918 Layer 2's X scroll in room in pixels? |
| 7E:0915 - 7E:0916 | Screen's Y position in pixels | | 7E:0919 - 7E:091A Layer 2's Y scroll in room in pixels? (up = positive) |
| 7E:0917 - 7E:0918 | Layer 2's X scroll in room in pixels? | | 7E:091B - 7E:091C BG2 scroll percent to screen scroll (0 = 100, 1 = ?) (1 byte for X, 1 byte for Y) |
| 7E:0919 - 7E:091A | Layer 2's Y scroll in room in pixels? (up = positive) | | 7E:091D - 7E:091E BG1 X scroll offset due to room transitions (Translates between screen scroll and BG1 scroll) |
| 7E:091B - 7E:091C | BG2 scroll percent to screen scroll (0 = 100, 1 = ?) (1 byte for X, 1 byte for Y) | | 7E:091F - 7E:0920 BG1 Y scroll offset due to room transitions (Translates between screen scroll and BG1 scroll) |
| 7E:091D - 7E:091E | BG1 X scroll offset due to room transitions (Translates between screen scroll and BG1 scroll) | | 7E:0921 - 7E:0922 BG2 X scroll offset due to room transitions (Translates between Layer 2 scroll and BG2 scroll) |
| 7E:091F - 7E:0920 | BG1 Y scroll offset due to room transitions (Translates between screen scroll and BG1 scroll) | | 7E:0923 - 7E:0924 BG2 Y scroll offset due to room transitions (Translates between Layer 2 scroll and BG2 scroll) |
| 7E:0921 - 7E:0922 | BG2 X scroll offset due to room transitions (Translates between Layer 2 scroll and BG2 scroll) | | 7E:0925 - 7E:0926 How many times the screen has scrolled? Stops at 40. |
| 7E:0923 - 7E:0924 | BG2 Y scroll offset due to room transitions (Translates between Layer 2 scroll and BG2 scroll) | | 7E:0927 - 7E:0928 X offset of room entrance for room transition (multiple of 100, screens) |
| 7E:0925 - 7E:0926 | How many times the screen has scrolled? Stops at 40. | | 7E:0929 - 7E:092A Y offset of room entrance for room transition (multiple of 100, screens. Adjusted by 20 when moving up) |
| 7E:0927 - 7E:0928 | X offset of room entrance for room transition (multiple of 100, screens) | | 7E:092B - 7E:092C Movement speed for room transitions (subpixels per frame of room transition movement) |
| 7E:0929 - 7E:092A | Y offset of room entrance for room transition (multiple of 100, screens. Adjusted by 20 when moving up) | | 7E:092D - 7E:092E Movement speed for room transitions (pixels per frame of room transition movement) |
| 7E:092B - 7E:092C | Movement speed for room transitions (subpixels per frame of room transition movement) | | 7E:0932 Flag? If negative, screen is done scrolling for room transition? |
| 7E:092D - 7E:092E | Movement speed for room transitions (pixels per frame of room transition movement) | | 7E:0933 - 7E:0934 Some sort of variable limit of Screen's X scrolling (= high byte of 091B * 0911, unless 091B = 0 or 1?) (Seems to be used by vram updating as well... lots of different uses) |
| 7E:0932 | Flag? If negative, screen is done scrolling for room transition? | | 7E:0939 - 7E:093A Screen's X position in pixels, before checking legality. Seems to have different uses at other times. |
| 7E:0933 - 7E:0934 | Some sort of variable limit of Screen's X scrolling (= high byte of 091B * 0911, unless 091B = 0 or 1?) (Seems to be used by vram updating as well... lots of different uses) | | 7E:093F - 7E:0940 Unknown. Initialized to 0 by Ceres(?) Ridley |
| 7E:0939 - 7E:093A | Screen's X position in pixels, before checking legality. Seems to have different uses at other times. | | 7E:0943 Timer type/setup (00 = inactive, 01 = Ceres start, 02 = MB start, 03 = pause a moment, go to 4, 04 = timer running, wait a moment, then go to 5, 5 = timer moving, 6 = timer in place and running) |
| 7E:093F - 7E:0940 | Unknown. Initialized to 0 by Ceres(?) Ridley | | 7E:0945 Timer, centiseconds (in decimal) |
| 7E:0943 | Timer type/setup (00 = inactive, 01 = Ceres start, 02 = MB start, 03 = pause a moment, go to 4, 04 = timer running, wait a moment, then go to 5, 5 = timer moving, 6 = timer in place and running) | | 7E:0946 Timer, seconds (in decimal) |
| 7E:0945 | Timer, centiseconds (in decimal) | | 7E:0947 Timer, minutes (in decimal) |
| 7E:0946 | Timer, seconds (in decimal) | | 7E:0948 Timer mode counter, or lower byte of X position |
| 7E:0947 | Timer, minutes (in decimal) | | 7E:0949 Timer's X position (pixels) |
| 7E:0948 | Timer mode counter, or lower byte of X position | | 7E:094A Timer's Y position (1/100 pixels) |
| 7E:0949 | Timer's X position (pixels) | | 7E:094B Timer's Y position (pixels) |
| 7E:094A | Timer's Y position (1/100 pixels) | | 7E:0950 - 7E:0951 Area selected in the polygon map screen |
| 7E:094B | Timer's Y position (pixels) | | 7E:0952 - 7E:0953 Save slot selected, 0 - 2 (or menu item on save slot screen, 0 - 5) |
| 7E:0950 - 7E:0951 | Area selected in the polygon map screen | | 7E:0956 - 7E:0957 Size for VRAM update of BG1 Tilemap. Used by horizontal scrolling routine. |
| 7E:0952 - 7E:0953 | Save slot selected, 0 - 2 (or menu item on save slot screen, 0 - 5) | | 7E:095A - 7E:095B Offset for VRAM update of BG1 Tilemap. Used by horizontal scrolling routine. |
| 7E:0956 - 7E:0957 | Size for VRAM update of BG1 Tilemap. Used by horizontal scrolling routine. | | 7E:0962 - 7E:0963 Flag to update VRAM BG1 tilemap during NMI because of horizontal scroll |
| 7E:095A - 7E:095B | Offset for VRAM update of BG1 Tilemap. Used by horizontal scrolling routine. | | 7E:0964 - 7E:0965 Size for VRAM update onto screen 1 BG1 tilemap. Used by vertical scrolling routine. |
| 7E:0962 - 7E:0963 | Flag to update VRAM BG1 tilemap during NMI because of horizontal scroll | | 7E:0966 - 7E:0967 Size for VRAM update onto screen 2 (X >= 100) BG1 tilemap. Sometimes used by vertical scrolling routine. |
| 7E:0964 - 7E:0965 | Size for VRAM update onto screen 1 BG1 tilemap. Used by vertical scrolling routine. | | 7E:0968 - 7E:0969 Offset for VRAM, screen 1 BG1 tilemap. Used by vertical scrolling routine. |
| 7E:0966 - 7E:0967 | Size for VRAM update onto screen 2 (X >= 100) BG1 tilemap. Sometimes used by vertical scrolling routine. | | 7E:096A - 7E:096B Offset for VRAM, screen 2 BG1 tilemap. Sometimes used by vertical scrolling routine. |
| 7E:0968 - 7E:0969 | Offset for VRAM, screen 1 BG1 tilemap. Used by vertical scrolling routine. | | 7E:096C - 7E:096D Source address for top half of VRAM update, screen 2 BG1 tilemap, in bank 7E. Sometimes used by vertical scrolling routine. |
| 7E:096A - 7E:096B | Offset for VRAM, screen 2 BG1 tilemap. Sometimes used by vertical scrolling routine. | | 7E:096E - 7E:096F Source address for bottom half of VRAM update, screen 2 BG1 tilemap, in bank 7E. Sometimes used by vertical scrolling routine. |
| 7E:096C - 7E:096D | Source address for top half of VRAM update, screen 2 BG1 tilemap, in bank 7E. Sometimes used by vertical scrolling routine. | | 7E:0970 - 7E:0971 Flag to update VRAM BG1 tilemap because of vertical scroll |
| 7E:096E - 7E:096F | Source address for bottom half of VRAM update, screen 2 BG1 tilemap, in bank 7E. Sometimes used by vertical scrolling routine. | | 7E:0972 - 7E:0973 Size for VRAM update. Used by elevator background loading routine (80:8D49) |
| 7E:0970 - 7E:0971 | Flag to update VRAM BG1 tilemap because of vertical scroll | | 7E:0974 - 7E:0975 Size for VRAM update. Sometimes used by elevator background loading (80:8D49) |
| 7E:0972 - 7E:0973 | Size for VRAM update. Used by elevator background loading routine (80:8D49) | | 7E:0976 - 7E:0977 Offset for VRAM. Used by elevator background loading (80:8D49) |
| 7E:0974 - 7E:0975 | Size for VRAM update. Sometimes used by elevator background loading (80:8D49) | | 7E:0978 - 7E:0979 Offset for VRAM. Sometimes used by elevator background loading (80:8D49) |
| 7E:0976 - 7E:0977 | Offset for VRAM. Used by elevator background loading (80:8D49) | | 7E:097A - 7E:097B Source address for VRAM, bank 7E. Sometimes used by elevator background loading (80:8D49) |
| 7E:0978 - 7E:0979 | Offset for VRAM. Sometimes used by elevator background loading (80:8D49) | | 7E:097C - 7E:097D Source address for VRAM, bank 7E. Sometimtes used by elevator background load (80:8D49) |
| 7E:097A - 7E:097B | Source address for VRAM, bank 7E. Sometimes used by elevator background loading (80:8D49) | | 7E:097E Unknown. Zeroed by elevator background loading routine (80:8D49) |
| 7E:097C - 7E:097D | Source address for VRAM, bank 7E. Sometimtes used by elevator background load (80:8D49) | | 7E:0980 - 7E:0981 Size for VRAM update. Used by ???? routine (80:8E2B) |
| 7E:097E | Unknown. Zeroed by elevator background loading routine (80:8D49) | | 7E:0982 - 7E:0983 Size for VARM update. Sometimes used by ???? routine (80:8E2B) |
| 7E:0980 - 7E:0981 | Size for VRAM update. Used by ???? routine (80:8E2B) | | 7E:0984 - 7E:0985 Offset for VRAM. Used by ???? routine (80:8E2B) |
| 7E:0982 - 7E:0983 | Size for VARM update. Sometimes used by ???? routine (80:8E2B) | | 7E:0986 - 7E:0987 Offset for VRAM. Sometimes used by ???? routine (80:8E2B) |
| 7E:0984 - 7E:0985 | Offset for VRAM. Used by ???? routine (80:8E2B) | | 7E:0988 - 7E:0989 Source address for VRAM, bank 7E. Used by ???? routine (80:8E2B) |
| 7E:0986 - 7E:0987 | Offset for VRAM. Sometimes used by ???? routine (80:8E2B) | | 7E:098A - 7E:098B Source address for VRAM, bank 7E. Sometimes used by ???? routine (80:8E2B) |
| 7E:0988 - 7E:0989 | Source address for VRAM, bank 7E. Used by ???? routine (80:8E2B) | | 7E:098C Unknown. Zeroed by ???? routine (80:8E2B) |
| 7E:098A - 7E:098B | Source address for VRAM, bank 7E. Sometimes used by ???? routine (80:8E2B) | | 7E:0990 - 7E:0991 Current X position of block(s) on screen Layer 1 or 2 to update? |
| 7E:098C | Unknown. Zeroed by ???? routine (80:8E2B) | | 7E:0992 - 7E:0993 Current Y position of block(s) on screen Layer 1 or 2 to update? |
| 7E:0990 - 7E:0991 | Current X position of block(s) on screen Layer 1 or 2 to update? | | 7E:0994 - 7E:0995 Current X position of block(s) in VRAM BG1 or 2 tilemap to update? |
| 7E:0992 - 7E:0993 | Current Y position of block(s) on screen Layer 1 or 2 to update? | | 7E:0996 - 7E:0997 Current Y position of block(s) in VRAM BG1 or 2 tilemap to update? |
| 7E:0994 - 7E:0995 | Current X position of block(s) in VRAM BG1 or 2 tilemap to update? | | 7E:0998 - 7E:0999 Game state. |
| 7E:0996 - 7E:0997 | Current Y position of block(s) in VRAM BG1 or 2 tilemap to update? | | 01 = Title screen |
| 7E:0998 - 7E:0999 | Game state. \\ 01 = Title screen \\ 04 = menus \\ 05 = Load area \\ 06 = Loading game \\ 07 = Samus being electrified in save capsule \\ 08 = normal gameplay \\ 0C = pausing \\ 0F = paused \\ 12 = unpausing \\ 15, 17, 18, 19, 1A = Dead or dying \\ 22 = Landing on Zebes \\ 23 = Timer up \\ 24 = blackout and gameover (Ceres explodes if not escaping Zebes) \\ 2A = intro demos | | 04 = menus |
| 7E:099C - 7E:099D | Pointer to next frame of code in bank 82 for room transitions | | 05 = Load area |
| 7E:099E - 7E:099F | Which option in the title screen menus Samus has selected | | 06 = Loading game |
| 7E:09A2 - 7E:09A3 | Equipped items | | 07 = Samus being electrified in save capsule |
| 7E:09A4 - 7E:09A5 | Collected items | | 08 = normal gameplay |
| 7E:09A6 | Equipped beams | | 0C = pausing |
| 7E:09A7 | Equipped Charge beam | | 0F = paused |
| 7E:09A8 | Collected beams | | 12 = unpausing |
| 7E:09A9 | Collected Charge beam | | 15, 17, 18, 19, 1A = Dead or dying |
| 7E:09AA - 7E:09AB | Up See ControllerInput.txt | | 22 = Landing on Zebes |
| 7E:09AC - 7E:09AD | Down | | 23 = Timer up |
| 7E:09AE - 7E:09AF | Left | | 24 = blackout and gameover (Ceres explodes if not escaping Zebes) |
| 7E:09B0 - 7E:09B1 | Right | | 2A = intro demos |
| 7E:09B2 - 7E:09B3 | Shoot | | 7E:099C - 7E:099D Pointer to next frame of code in bank 82 for room transitions |
| 7E:09B4 - 7E:09B5 | Jump | | 7E:099E - 7E:099F Which option in the title screen menus Samus has selected |
| 7E:09B6 - 7E:09B7 | Run | | 7E:09A2 - 7E:09A3 Equipped items |
| 7E:09B8 - 7E:09B9 | Item Cancel | | 7E:09A4 - 7E:09A5 Collected items |
| 7E:09BA - 7E:09BB | Switch Item | | 7E:09A6 Equipped beams |
| 7E:09BC - 7E:09BD | Aim Down | | 7E:09A7 Equipped Charge beam |
| 7E:09BE - 7E:09BF | Aim Up | | 7E:09A8 Collected beams |
| 7E:09C0 - 7E:09C1 | 1 = Auto Reserve tanks, 2 = manual | | 7E:09A9 Collected Charge beam |
| 7E:09C2 - 7E:09C3 | Samus's health | | 7E:09AA - 7E:09AB Up See ControllerInput.txt |
| 7E:09C4 - 7E:09C5 | Samus's max health | | 7E:09AC - 7E:09AD Down |
| 7E:09C6 - 7E:09C7 | Samus's missiles | | 7E:09AE - 7E:09AF Left |
| 7E:09C8 - 7E:09C9 | Samus's max missiles | | 7E:09B0 - 7E:09B1 Right |
| 7E:09CA - 7E:09CB | Samus's super missiles | | 7E:09B2 - 7E:09B3 Shoot |
| 7E:09CC - 7E:09CD | Samus's max super missiles | | 7E:09B4 - 7E:09B5 Jump |
| 7E:09CE - 7E:09CF | Samus's power bombs | | 7E:09B6 - 7E:09B7 Run |
| 7E:09D0 - 7E:09D1 | Samus's max power bombs | | 7E:09B8 - 7E:09B9 Item Cancel |
| 7E:09D2 - 7E:09D3 | Currently selected status bar item | | 7E:09BA - 7E:09BB Switch Item |
| 7E:09D4 - 7E:09D5 | Samus's max reserve tanks | | 7E:09BC - 7E:09BD Aim Down |
| 7E:09D6 - 7E:09D7 | Samus's reserve tanks | | 7E:09BE - 7E:09BF Aim Up |
| 7E:09D8 - 7E:09D9 | Samus's reserve missiles. Only used by missile pickup routine(91:DF80) | | 7E:09C0 - 7E:09C1 1 = Auto Reserve tanks, 2 = manual |
| 7E:09DA - 7E:09DB | Game time, frames | | 7E:09C2 - 7E:09C3 Samus's health |
| 7E:09DC - 7E:09DD | Game time, seconds | | 7E:09C4 - 7E:09C5 Samus's max health |
| 7E:09DE - 7E:09DF | Game time, minutes | | 7E:09C6 - 7E:09C7 Samus's missiles |
| 7E:09E0 - 7E:09E1 | Game time, hours | | 7E:09C8 - 7E:09C9 Samus's max missiles |
| 7E:09E2 - 7E:09E3 | Japanese Text (1 = on) | | 7E:09CA - 7E:09CB Samus's super missiles |
| 7E:09E4 - 7E:09E5 | Moonwalk flag (1 = on) | | 7E:09CC - 7E:09CD Samus's max super missiles |
| 7E:09EA - 7E:09EB | Icon Cancel flag (1 = on) | | 7E:09CE - 7E:09CF Samus's power bombs |
| 7E:0A04 - 7E:0A05 | Item selected for auto-cancel | | 7E:09D0 - 7E:09D1 Samus's max power bombs |
| 7E:0A06 - 7E:0A07 | Mirror's Samus's health. Used to check to update health display | | 7E:09D2 - 7E:09D3 Currently selected status bar item |
| 7E:0A08 - 7E:0A09 | Mirror's Samus's missiles. Used to check to update missile count | | 7E:09D4 - 7E:09D5 Samus's max reserve tanks |
| 7E:0A0A - 7E:0A0B | Mirror's Samus's supers. Used to check to update super count | | 7E:09D6 - 7E:09D7 Samus's reserve tanks |
| 7E:0A0C - 7E:0A0D | Mirror's Samus's power bombs. Used to check to update power bomb count | | 7E:09D8 - 7E:09D9 Samus's reserve missiles. Only used by missile pickup routine(91:DF80) |
| 7E:0A0E - 7E:0A0F | Mirror's 09D2. Used to check to update select display | | 7E:09DA - 7E:09DB Game time, frames |
| 7E:0A10 - 7E:0A11 | Mirrors 0A1E. Used to check to update sound. | | 7E:09DC - 7E:09DD Game time, seconds |
| 7E:0A12 - 7E:0A13 | Mirror's Samus's health. Used to check to make hurt sound and flash. | | 7E:09DE - 7E:09DF Game time, minutes |
| 7E:0A14 - 7E:0A15 | $8B from previous frame. Used when $0A42 = #$E6C9 | | 7E:09E0 - 7E:09E1 Game time, hours |
| 7E:0A16 - 7E:0A17 | $8F from previous frame. Used when $0A42 = #$E6C9 | | 7E:09E2 - 7E:09E3 Japanese Text (1 = on) |
| 7E:0A1C - 7E:0A1D | Samus's current position/state | | 7E:09E4 - 7E:09E5 Moonwalk flag (1 = on) |
| 7E:0A1E | X-Direction Samus is moving? 8 = right, 4 = left | | 7E:09EA - 7E:09EB Icon Cancel flag (1 = on) |
| 7E:0A1F | Samus's movement type | | 7E:0A04 - 7E:0A05 Item selected for auto-cancel |
| 7E:0A20 - 7E:0A21 | Samus's position/state from the previous frame? | | 7E:0A06 - 7E:0A07 Mirror's Samus's health. Used to check to update health display |
| 7E:0A22 | X-Direction Samus was moving last frame? | | 7E:0A08 - 7E:0A09 Mirror's Samus's missiles. Used to check to update missile count |
| 7E:0A23 | Samus's movement type last frame? | | 7E:0A0A - 7E:0A0B Mirror's Samus's supers. Used to check to update super count |
| 7E:0A24 - 7E:0A25 | Previous *different* position/state? | | 7E:0A0C - 7E:0A0D Mirror's Samus's power bombs. Used to check to update power bomb count |
| 7E:0A26 | X-Direction during the previous *different* position/state? | | 7E:0A0E - 7E:0A0F Mirror's 09D2. Used to check to update select display |
| 7E:0A27 | Movement type during the previous *different* position/state? | | 7E:0A10 - 7E:0A11 Mirrors 0A1E. Used to check to update sound. |
| 7E:0A28 - 7E:0A29 | Potential new value for Samus's current position/state. Controller-attempted move, taking Samus's previous pose, buttons, and momentum into account in that order. | | 7E:0A12 - 7E:0A13 Mirror's Samus's health. Used to check to make hurt sound and flash. |
| 7E:0A2A - 7E:0A2B | Potential new value for Samus's current position/state? Interruption via 90:DDE9; enemy damage or bomb jump, also grapple connection. | | 7E:0A14 - 7E:0A15 $8B from previous frame. Used when $0A42 = #$E6C9 |
| 7E:0A2C - 7E:0A2D | Potential new value for Samus's current position/state. Natural following of previous pose (generally used by transitional poses). | | 7E:0A16 - 7E:0A17 $8F from previous frame. Used when $0A42 = #$E6C9 |
| 7E:0A2E - 7E:0A2F | Momentum routine index? JSR index for EC16,X, bank 91 (Cause of Yapping Maw Super Jump crash. I think. (91:8304 --> 91:EBEE --> ...) \\ 00: RTS, \\ 01: $91:EBF5 spinjump?, \\ 02: STZ $0B4A \\ 03: RTS \\ 04: Jump related (90:98BC) \\ 05: collision detection? \\ 06: Stop all movement 07: todo with moving and aiming \\ 08: clears speed \\ not momentum? | | 7E:0A1C - 7E:0A1D Samus's current position/state |
| 7E:0A30 - 7E:0A31 | JSR index for EC28,X, bank 91. Related to 0A2A. 01 = hurt(18AA)? and DE82,X routine(X = 0A1F) does SEC (todo), 03 = hurt(0A52, !0A56)? and DFB5,X (X = 0A1F) does SEC (todo), 04 = unused code?, 05 = possibly set by 91:E16D (unknown use), 09 and 0A = grapple related (also death related?) | | 7E:0A1E X-Direction Samus is moving? 8 = right, 4 = left |
| 7E:0A32 - 7E:0A33 | JSR index for EC3E,X, bank 91. Related to 0A2C, source? 01 = hurt($0A2C = 29/2A if hurt movement, else $0A1C), 03 = animation loop transition, 02 = , 06 and 07 = death related, 08 = hurt during animation loop transition | | 7E:0A1F Samus's movement type |
| 7E:0A34 - 7E:0A35 | Bitflag? 1 = Samus collided with an enemy below because of new vertical radius? 2 = collided with an enemy above same reason. Jump index for FE8A. | | 7E:0A20 - 7E:0A21 Samus's position/state from the previous frame? |
| 7E:0A36 - 7E:0A37 | Bitflag? Bits set if 94:96AB SECs. Jump index for FE92. | | 7E:0A22 X-Direction Samus was moving last frame? |
| 7E:0A38 - 7E:0A39 | $12 after 94:96AB, $12 was -$0A3A | | 7E:0A23 Samus's movement type last frame? |
| 7E:0A3A - 7E:0A3B | Difference between old vertical radius and new vertical radius | | 7E:0A24 - 7E:0A25 Previous *different* position/state? |
| 7E:0A3C - 7E:0A3D | $12 after 94:96AB, $12 was $0A3A | | 7E:0A26 X-Direction during the previous *different* position/state? |
| 7E:0A3E - 7E:0A3F | $12 after A0:A8F0, $12 was $0A3A and $0B02 was 2 | | 7E:0A27 Movement type during the previous *different* position/state? |
| 7E:0A40 - 7E:0A41 | $12 after A0:A8F0, $12 was $0A3A and $0B02 was 3 | | 7E:0A28 - 7E:0A29 Potential new value for Samus's current position/state. Controller-attempted move, taking Samus's previous pose, buttons, and momentum into account in that order. |
| 7E:0A42 - 7E:0A43 | Pointer to code to run every frame, normally E695. Very high level. Handles Samus's size, controller input, elevator status, button transitions, pallete, gravity, overlapping blocks, weapon selecting/firing/cooldown, and sound management(?). | | 7E:0A2A - 7E:0A2B Potential new value for Samus's current position/state? Interruption via 90:DDE9; enemy damage or bomb jump, also grapple connection. |
| 7E:0A44 - 7E:0A45 | Pointer to code to run every frame, normally E725. Seems to change for different game modes (7E:0998). Very high level. Handles Samus's contact damage, movement, animation, hurt, block collision reaction, automatic transitions, pausing, and minimap | | 7E:0A2C - 7E:0A2D Potential new value for Samus's current position/state. Natural following of previous pose (generally used by transitional poses). |
| 7E:0A46 - 7E:0A47 | Bit 0002 enables horizontal slope detection | | 7E:0A2E - 7E:0A2F Momentum routine index? JSR index for EC16,X, bank 91 (Cause of Yapping Maw Super Jump crash. I think. (91:8304 --> 91:EBEE --> ...) \\ 00: RTS, \\ 01: $91:EBF5 spinjump?, \\ 02: STZ $0B4A \\ 03: RTS \\ 04: Jump related (90:98BC) \\ 05: collision detection? \\ 06: Stop all movement 07: todo with moving and aiming \\ 08: clears speed \\ not momentum? |
| 7E:0A48 - 7E:0A49 | Something to do with Samus's pallete. | | 7E:0A30 - 7E:0A31 JSR index for EC28,X, bank 91. Related to 0A2A. 01 = hurt(18AA)? and DE82,X routine(X = 0A1F) does SEC (todo), 03 = hurt(0A52, !0A56)? and DFB5,X (X = 0A1F) does SEC (todo), 04 = unused code?, 05 = possibly set by 91:E16D (unknown use), 09 and 0A = grapple related (also death related?) |
| 7E:0A4A - 7E:0A4B | Almost always 0. Occassionally used to mess with Samus's pallete (flashing blue from Metroids, rainbow from acquiring hyper beam) | | 7E:0A32 - 7E:0A33 JSR index for EC3E,X, bank 91. Related to 0A2C, source? 01 = hurt($0A2C = 29/2A if hurt movement, else $0A1C), 03 = animation loop transition, 02 = , 06 and 07 = death related, 08 = hurt during animation loop transition |
| 7E:0A4C - 7E:0A4D | Samus's subunit health? Only affected by environmental damage (0A4E) | | 7E:0A34 - 7E:0A35 Bitflag? 1 = Samus collided with an enemy below because of new vertical radius? 2 = collided with an enemy above same reason. Jump index for FE8A. |
| 7E:0A4E - 7E:0A4F | Deal damage to Samus (1/65536th) | | 7E:0A36 - 7E:0A37 Bitflag? Bits set if 94:96AB SECs. Jump index for FE92. |
| 7E:0A50 | Deal damage to Samus (1) Will be adjusted by suit divisors | | 7E:0A38 - 7E:0A39 $12 after 94:96AB, $12 was -$0A3A |
| 7E:0A52 - 7E:0A53 | Something for Samus getting hurt (direction?) | | 7E:0A3A - 7E:0A3B Difference between old vertical radius and new vertical radius |
| 7E:0A54 - 7E:0A55 | Direction Samus moves when she gets hurt. 0 = left, 1 = right | | 7E:0A3C - 7E:0A3D $12 after 94:96AB, $12 was $0A3A |
| 7E:0A56 - 7E:0A57 | Bomb jump direction? | | 7E:0A3E - 7E:0A3F $12 after A0:A8F0, $12 was $0A3A and $0B02 was 2 |
| 7E:0A58 - 7E:0A59 | Pointer to code to run (JMP from 90:E94B) (Once every frame, depending on 7E:0A44) Seems to affect Samus's movement type. | | 7E:0A40 - 7E:0A41 $12 after A0:A8F0, $12 was $0A3A and $0B02 was 3 |
| 7E:0A5A - 7E:0A5B | Pointer to code to run (JMP from 90:E097) (Once every frame, depending on 7E:0A44). Special instructions for things like when Ridley runs away from Ceres. (E0E6 = handle timer code) | | 7E:0A42 - 7E:0A43 Pointer to code to run every frame, normally E695. Very high level. Handles Samus's size, controller input, elevator status, button transitions, pallete, gravity, overlapping blocks, weapon selecting/firing/cooldown, and sound management(?). |
| 7E:0A5C - 7E:0A5D | Pointer to code to run (JMP from 90:EB4E) (Once every frame?) Displays Samus and certain graphics (e.g. grapple)? | | 7E:0A44 - 7E:0A45 Pointer to code to run every frame, normally E725. Seems to change for different game modes (7E:0998). Very high level. Handles Samus's contact damage, movement, animation, hurt, block collision reaction, automatic transitions, pausing, and minimap |
| 7E:0A60 - 7E:0A61 | Pointer to code to run (JMP from 90:E90F) (Once every frame, depending on 7E:0A42) Looks like it handles controller input for Samus's poses. | | 7E:0A46 - 7E:0A47 Bit 0002 enables horizontal slope detection |
| 7E:0A64 - 7E:0A65 | Flag, Samus is currently grappled onto something | | 7E:0A48 - 7E:0A49 Something to do with Samus's pallete. |
| 7E:0A66 - 7E:0A67 | Divisor for Samus's horizontal speed(2^n). Can range from 2^0 to 2^4. Also slows down animations linearly, no limit. | | 7E:0A4A - 7E:0A4B Almost always 0. Occassionally used to mess with Samus's pallete (flashing blue from Metroids, rainbow from acquiring hyper beam) |
| 7E:0A68 - 7E:0A69 | Samus's super jump timer. Also used by crystal flash. | | 7E:0A4C - 7E:0A4D Samus's subunit health? Only affected by environmental damage (0A4E) |
| 7E:0A6A - 7E:0A6B | Samus's health warning is on | | 7E:0A4E - 7E:0A4F Deal damage to Samus (1/65536th) |
| 7E:0A6C - 7E:0A6D | Pointer to momentum related table for 0A1F: momentum increase in pixels (2 bytes), momentum increase in subpixels (2 bytes), momentum max in pixels (2 bytes), momentum max in subpixels (2 bytes), momentum decrease in pixels (2 bytes), momentum decrease in subpixels (2 bytes) | | 7E:0A50 Deal damage to Samus (1) Will be adjusted by suit divisors |
| 7E:0A6E - 7E:0A6F | Samus's contact damage index | | 7E:0A52 - 7E:0A53 Something for Samus getting hurt (direction?) |
| 7E:0A72 | Samus's visor pallete timer | | 7E:0A54 - 7E:0A55 Direction Samus moves when she gets hurt. 0 = left, 1 = right |
| 7E:0A73 | Samus's visor pallete index | | 7E:0A56 - 7E:0A57 Bomb jump direction? |
| 7E:0A74 - 7E:0A75 | Samus's pallete index or something? | | 7E:0A58 - 7E:0A59 Pointer to code to run (JMP from 90:E94B) (Once every frame, depending on 7E:0A44) Seems to affect Samus's movement type. |
| 7E:0A76 - 7E:0A77 | Hyper Beam | | 7E:0A5A - 7E:0A5B Pointer to code to run (JMP from 90:E097) (Once every frame, depending on 7E:0A44). Special instructions for things like when Ridley runs away from Ceres. (E0E6 = handle timer code) |
| 7E:0A78 - 7E:0A79 | Pause time, ala energy tank and x-ray scope. | | 7E:0A5C - 7E:0A5D Pointer to code to run (JMP from 90:EB4E) (Once every frame?) Displays Samus and certain graphics (e.g. grapple)? |
| 7E:0A7A - 7E:0A7B | Pointer to routine for use when game is controlling controller input. Not sure what the routine is for. | | 7E:0A60 - 7E:0A61 Pointer to code to run (JMP from 90:E90F) (Once every frame, depending on 7E:0A42) Looks like it handles controller input for Samus's poses. |
| 7E:0A7C - 7E:0A7D | Timer for how long to use current game-controlling input | | 7E:0A64 - 7E:0A65 Flag, Samus is currently grappled onto something |
| 7E:0A7E - 7E:0A7F | Pointer (Y value) to entry for game-controlling input. Entry may be a pointer to asm, if so Y will be used again after the asm as a pointer to an entry for game-controlling input. Otherwise the entries start with the frames to run (2 bytes), current input (2 bytes), then current new input (2 bytes). | | 7E:0A66 - 7E:0A67 Divisor for Samus's horizontal speed(2^n). Can range from 2^0 to 2^4. Also slows down animations linearly, no limit. |
| 7E:0A82 - 7E:0A83 | Angle from X-Ray to Samus. | | 7E:0A68 - 7E:0A69 Samus's super jump timer. Also used by crystal flash. |
| 7E:0A84 - 7E:0A85 | Intro Samus controls. Calculated controls to use (put into 8B and 0A8C) | | 7E:0A6A - 7E:0A6B Samus's health warning is on |
| 7E:0A86 - 7E:0A87 | Intro Samus controls. Calculated controls to use (put into 8F and 0A8E) | | 7E:0A6C - 7E:0A6D Pointer to momentum related table for 0A1F: momentum increase in pixels (2 bytes), momentum increase in subpixels (2 bytes), momentum max in pixels (2 bytes), momentum max in subpixels (2 bytes), momentum decrease in pixels (2 bytes), momentum decrease in subpixels (2 bytes) |
| 7E:0A88 - 7E:0A89 | Flag for if game is using game-input instead of player input (8000+ = game input) | | 7E:0A6E - 7E:0A6F Samus's contact damage index |
| 7E:0A8A - 7E:0A8B | How many frames of input have been saved to bank B8. Yeeeaah. Enabled with 808002, otherwise never used | | 7E:0A72 Samus's visor pallete timer |
| 7E:0A8C - 7E:0A8D | Intro Samus controls. Mirror of 8B when game is controlling Samus. | | 7E:0A73 Samus's visor pallete index |
| 7E:0A8E - 7E:0A8F | Intro Samus controls. Mirror of 8F when game is controlling Samus. | | 7E:0A74 - 7E:0A75 Samus's pallete index or something? |
| 7E:0A90 - 7E:0A91 | Controller input (8B) from game from 2 frames ago. Used when $0A42 = #$E6C9 | | 7E:0A76 - 7E:0A77 Hyper Beam |
| 7E:0A92 - 7E:0A93 | Controller input (8F) from game from 2 frames ago. Used when $0A42 = #$E6C9 | | 7E:0A78 - 7E:0A79 Pause time, ala energy tank and x-ray scope. |
| 7E:0A94 - 7E:0A95 | Frames till next Samus Animation Frame | | 7E:0A7A - 7E:0A7B Pointer to routine for use when game is controlling controller input. Not sure what the routine is for. |
| 7E:0A96 - 7E:0A97 | Samus Animation Frame | | 7E:0A7C - 7E:0A7D Timer for how long to use current game-controlling input |
| 7E:0A9A - 7E:0A9B | Animation frame skip. 8000 means don't reset 0A96? (when changing poses?) | | 7E:0A7E - 7E:0A7F Pointer (Y value) to entry for game-controlling input. Entry may be a pointer to asm, if so Y will be used again after the asm as a pointer to an entry for game-controlling input. Otherwise the entries start with the frames to run (2 bytes), current input (2 bytes), then current new input (2 bytes). |
| 7E:0A9E - 7E:0AA1 | Cleared by jumping routine. Unknown uses. | | 7E:0A82 - 7E:0A83 Angle from X-Ray to Samus. |
| 7E:0AA6 | Flag; Arm cannon is open / opening (else arm cannon is closed / closing) | | 7E:0A84 - 7E:0A85 Intro Samus controls. Calculated controls to use (put into 8B and 0A8C) |
| 7E:0AA7 | Flag; Arm cannon is transitioning between open and closed | | 7E:0A86 - 7E:0A87 Intro Samus controls. Calculated controls to use (put into 8F and 0A8E) |
| 7E:0AA8 - 7E:0AA9 | Frame number of Arm cannon graphic (0 = closed/none, 3 = fully open) | | 7E:0A88 - 7E:0A89 Flag for if game is using game-input instead of player input (8000+ = game input) |
| 7E:0AAA - 7E:0AAB | 1 if arm cannon selection has changed this frame, else 2 | | 7E:0A8A - 7E:0A8B How many frames of input have been saved to bank B8. Yeeeaah. Enabled with 808002, otherwise never used |
| 7E:0AAC - 7E:0AAD | 0 if arm cannon graphic isn't shown, 1 if drawn in front of Samus, 2 if drawn behind(?) Samus | | 7E:0A8C - 7E:0A8D Intro Samus controls. Mirror of 8B when game is controlling Samus. |
| 7E:0AAE - 7E:0AAF | Index value for Samus's echoes (00, 02) | | 7E:0A8E - 7E:0A8F Intro Samus controls. Mirror of 8F when game is controlling Samus. |
| 7E:0AAF | Index value to find routine for Samus's echoes? Only when she ends a Super Jump? | | 7E:0A90 - 7E:0A91 Controller input (8B) from game from 2 frames ago. Used when $0A42 = #$E6C9 |
| 7E:0AB0 - 7E:0AB1 | X position of echo 0 (pixels) | | 7E:0A92 - 7E:0A93 Controller input (8F) from game from 2 frames ago. Used when $0A42 = #$E6C9 |
| 7E:0AB2 - 7E:0AB3 | X position of echo 2 (pixels) | | 7E:0A94 - 7E:0A95 Frames till next Samus Animation Frame |
| 7E:0AB8 - 7E:0AB9 | Y position of echo 0 (pixels) | | 7E:0A96 - 7E:0A97 Samus Animation Frame |
| 7E:0ABA - 7E:0ABB | Y position of echo 2 (pixels) | | 7E:0A9A - 7E:0A9B Animation frame skip. 8000 means don't reset 0A96? (when changing poses?) |
| 7E:0AC0 - 7E:0AC1 | Horizontal speed for echo 0 | | 7E:0A9E - 7E:0AA1 Cleared by jumping routine. Unknown uses. |
| 7E:0AC2 - 7E:0AC3 | Horizontal speed for echo 2 | | 7E:0AA6 Flag; Arm cannon is open / opening (else arm cannon is closed / closing) |
| 7E:0AC8 - 7E:0AC9 | Which tileset for Samus's top half to save to VRAM? Written to, but virtually never used. | | 7E:0AA7 Flag; Arm cannon is transitioning between open and closed |
| 7E:0ACA - 7E:0ACB | Which tileset for Samus's bottom half to save to VRAM? Written to, but virtually never used. | | 7E:0AA8 - 7E:0AA9 Frame number of Arm cannon graphic (0 = closed/none, 3 = fully open) |
| 7E:0ACC - 7E:0ACD | What kind of timer to use for 0A68? 2*this = JSL index for 91:D72D. | | 7E:0AAA - 7E:0AAB 1 if arm cannon selection has changed this frame, else 2 |
| 7E:0ACE - 7E:0ACF | Some unknown related to running (0 if running with speed boots) | | 7E:0AAC - 7E:0AAD 0 if arm cannon graphic isn't shown, 1 if drawn in front of Samus, 2 if drawn behind(?) Samus |
| 7E:0AD0 - 7E:0AD1 | Some unknown related to running (1 if running with speed boots) | | 7E:0AAE - 7E:0AAF Index value for Samus's echoes (00, 02) |
| 7E:0AD4 - 7E:0ADB | Atmospheric graphics animation timers (1-4). 8000+ means 'don't run related code during timer' | | 7E:0AAF Index value to find routine for Samus's echoes? Only when she ends a Super Jump? |
| 7E:0ADC - 7E:0AE3 | Atmospheric graphics X position (1-4) | | 7E:0AB0 - 7E:0AB1 X position of echo 0 (pixels) |
| 7E:0AE4 - 7E:0AEB | Atmospheric graphics Y position (1-4) | | 7E:0AB2 - 7E:0AB3 X position of echo 2 (pixels) |
| 7E:0AEC - 7E:0AF3 | Atmospheric graphics type/animation frame number (1-4) | | 7E:0AB8 - 7E:0AB9 Y position of echo 0 (pixels) |
| 7E:0AF6 - 7E:0AF7 | Samus's X position in pixels | | 7E:0ABA - 7E:0ABB Y position of echo 2 (pixels) |
| 7E:0AF8 - 7E:0AF9 | Samus's sub-pixel X position | | 7E:0AC0 - 7E:0AC1 Horizontal speed for echo 0 |
| 7E:0AFA - 7E:0AFB | Samus's Y position in pixels | | 7E:0AC2 - 7E:0AC3 Horizontal speed for echo 2 |
| 7E:0AFC - 7E:0AFD | Samus's sub-pixel Y position | | 7E:0AC8 - 7E:0AC9 Which tileset for Samus's top half to save to VRAM? Written to, but virtually never used. |
| 7E:0AFE - 7E:0AFF | Samus's X radius | | 7E:0ACA - 7E:0ACB Which tileset for Samus's bottom half to save to VRAM? Written to, but virtually never used. |
| 7E:0B00 - 7E:0B01 | Samus's Y radius | | 7E:0ACC - 7E:0ACD What kind of timer to use for 0A68? 2*this = JSL index for 91:D72D. |
| 7E:0B02 - 7E:0B03 | What kind of collision detection to use for Samus. 03 = below, 02 = above, 01 = right, 00 = left | | 7E:0ACE - 7E:0ACF Some unknown related to running (0 if running with speed boots) |
| 7E:0B04 - 7E:0B05 | Samus's X position on screen (0AF6 - 0911) | | 7E:0AD0 - 7E:0AD1 Some unknown related to running (1 if running with speed boots) |
| 7E:0B06 - 7E:0B07 | Samus's Y position on screen (0AFA - 0915) | | 7E:0AD4 - 7E:0ADB Atmospheric graphics animation timers (1-4). 8000+ means 'don't run related code during timer' |
| 7E:0B0A - 7E:0B0B | 'Ideal' placement for $0911. | | 7E:0ADC - 7E:0AE3 Atmospheric graphics X position (1-4) |
| 7E:0B0C - 7E:0B0D | Unused? Never seems to be written to except by ram clearing routines | | 7E:0AE4 - 7E:0AEB Atmospheric graphics Y position (1-4) |
| 7E:0B0E - 7E:0B0F | 'Ideal' placement for $0915. | | 7E:0AEC - 7E:0AF3 Atmospheric graphics type/animation frame number (1-4) |
| 7E:0B10 - 7E:0B11 | Samus's previous X position in pixels. (Used for scrolling only?) | | 7E:0AF6 - 7E:0AF7 Samus's X position in pixels |
| 7E:0B12 - 7E:0B13 | Samus's previous sub-pixel X position. (Used for scrolling only?) | | 7E:0AF8 - 7E:0AF9 Samus's sub-pixel X position |
| 7E:0B14 - 7E:0B15 | Samus's previous Y position in pixels. (Used for scrolling only?) | | 7E:0AFA - 7E:0AFB Samus's Y position in pixels |
| 7E:0B16 - 7E:0B17 | Samus's previous sub-pixel Y position. (Used for scrolling only?) | | 7E:0AFC - 7E:0AFD Samus's sub-pixel Y position |
| 7E:0B18 - 7E:0B19 | Frames of yellow from firing charge beam left | | 7E:0AFE - 7E:0AFF Samus's X radius |
| 7E:0B1A - 7E:0B1B | STZ'd when Samus lands, hits her head on the cieling, or she hits a block while shinesparking. Never seems to be read | | 7E:0B00 - 7E:0B01 Samus's Y radius |
| 7E:0B1C - 7E:0B1D | Unused? Never seems to be written to except by ram clearing routines | | 7E:0B02 - 7E:0B03 What kind of collision detection to use for Samus. 03 = below, 02 = above, 01 = right, 00 = left |
| 7E:0B1E - 7E:0B1F | Unused? Never seems to be written to except by ram clearing routines | | 7E:0B04 - 7E:0B05 Samus's X position on screen (0AF6 - 0911) |
| 7E:0B20 - 7E:0B21 | Used for bouncing as a ball when you land. Set to 0601 on the first bounch, and 0602 on the second bounce. STZ'd when changing poses or direction | | 7E:0B06 - 7E:0B07 Samus's Y position on screen (0AFA - 0915) |
| 7E:0B22 - 7E:0B23 | Flag. Samus is falling after crashing into something from a shinespark | | 7E:0B0A - 7E:0B0B 'Ideal' placement for $0911. |
| 7E:0B24 - 7E:0B25 | Temp value, used during Samus's graphics calculations. Sharable. | | 7E:0B0C - 7E:0B0D Unused? Never seems to be written to except by ram clearing routines |
| 7E:0B26 - 7E:0B27 | Temp value, used during Samus's graphics calculations. Sharable (even with the above byte). | | 7E:0B0E - 7E:0B0F 'Ideal' placement for $0915. |
| 7E:0B2C - 7E:0B2D | Samus's vertical speed (1/65536ths pixel/frame). Unsigned | | 7E:0B10 - 7E:0B11 Samus's previous X position in pixels. (Used for scrolling only?) |
| 7E:0B2E - 7E:0B2F | Samus's vertical speed (pixels/frame). Unsigned | | 7E:0B12 - 7E:0B13 Samus's previous sub-pixel X position. (Used for scrolling only?) |
| 7E:0B32 - 7E:0B33 | Vertical acceleration in sub-pixels. (Vertical rate of acceleration for super jumps) | | 7E:0B14 - 7E:0B15 Samus's previous Y position in pixels. (Used for scrolling only?) |
| 7E:0B34 - 7E:0B35 | Vertical acceleration in pixels. Not recommended for use. (Vertical rate of acceleration for super jumps) | | 7E:0B16 - 7E:0B17 Samus's previous sub-pixel Y position. (Used for scrolling only?) |
| 7E:0B36 - 7E:0B37 | 00 = Samus is on the ground (?) 01 = Samus is moving up, 02 = Samus is moving down | | 7E:0B18 - 7E:0B19 Frames of yellow from firing charge beam left |
| 7E:0B38 - 7E:0B39 | Cleared when Samus lands after jumping or falling. If Samus is morphed and bounces, it only clears on the last bounce. | | 7E:0B1A - 7E:0B1B STZ'd when Samus lands, hits her head on the cieling, or she hits a block while shinesparking. Never seems to be read |
| 7E:0B3A - 7E:0B3B | Unused? Never seems written to except by ram clearing routines | | 7E:0B1C - 7E:0B1D Unused? Never seems to be written to except by ram clearing routines |
| 7E:0B3C - 7E:0B3D | Flag to check Samus's speed counter. Reason why temporary blue suit cannot become permanent. | | 7E:0B1E - 7E:0B1F Unused? Never seems to be written to except by ram clearing routines |
| 7E:0B3E - 7E:0B3F | Upper byte is Samus's 'speed' counter. Lower byte is used for some weird animation counter thing for incrementing upper byte. | | 7E:0B20 - 7E:0B21 Used for bouncing as a ball when you land. Set to 0601 on the first bounch, and 0602 on the second bounce. STZ'd when changing poses or direction |
| 7E:0B40 - 7E:0B41 | Flag, Samus's echoes sound is playing. | | 7E:0B22 - 7E:0B23 Flag. Samus is falling after crashing into something from a shinespark |
| 7E:0B42 - 7E:0B43 | Samus's horizontal speed forward. (pixels/frame) | | 7E:0B24 - 7E:0B25 Temp value, used during Samus's graphics calculations. Sharable. |
| 7E:0B44 - 7E:0B45 | Samus's horizontal speed forward (1/65536ths pixel/frame) | | 7E:0B26 - 7E:0B27 Temp value, used during Samus's graphics calculations. Sharable (even with the above byte). |
| 7E:0B46 - 7E:0B47 | Samus's horizontal 'momentum' forward (pixels/frame) | | 7E:0B2C - 7E:0B2D Samus's vertical speed (1/65536ths pixel/frame). Unsigned |
| 7E:0B48 - 7E:0B49 | Samus's horizontal 'momentum' forward (1/65536ths pixel/frame) | | 7E:0B2E - 7E:0B2F Samus's vertical speed (pixels/frame). Unsigned |
| 7E:0B4A - 7E:0B4B | Something to do with momentum and speed. Cause of mockball. (0 = increasing momentum, !0(always 1?) = decreasing momentum) | | 7E:0B32 - 7E:0B33 Vertical acceleration in sub-pixels. (Vertical rate of acceleration for super jumps) |
| 7E:0B4C | 1/256 Multiplier for momentum subtraction (0 = normal momentum subtraction) | | 7E:0B34 - 7E:0B35 Vertical acceleration in pixels. Not recommended for use. (Vertical rate of acceleration for super jumps) |
| 7E:0B56 - 7E:0B57 | Moves Samus this distance horizontally, in subpixels. | | 7E:0B36 - 7E:0B37 00 = Samus is on the ground (?) 01 = Samus is moving up, 02 = Samus is moving down |
| 7E:0B58 - 7E:0B59 | Moves Samus this distance horizontally, in pixels. | | 7E:0B38 - 7E:0B39 Cleared when Samus lands after jumping or falling. If Samus is morphed and bounces, it only clears on the last bounce. |
| 7E:0B5A - 7E:0B5B | Moves Samus this distance vertically, in subpixels. | | 7E:0B3A - 7E:0B3B Unused? Never seems written to except by ram clearing routines |
| 7E:0B5C - 7E:0B5D | Moves Samus this distance vertically, in pixels. | | 7E:0B3C - 7E:0B3D Flag to check Samus's speed counter. Reason why temporary blue suit cannot become permanent. |
| 7E:0B5E - 7E:0B5F | Samus is currently firing in this direction (will fire beams even if you aren't pressing fire) | | 7E:0B3E - 7E:0B3F Upper byte is Samus's 'speed' counter. Lower byte is used for some weird animation counter thing for incrementing upper byte. |
| 7E:0B60 - 7E:0B61 | Used for the SBA attacks. Cleared by Spazer. Set to 0004 by Wave, but unused. Used as a rotation speed with Ice and Plasma | | 7E:0B40 - 7E:0B41 Flag, Samus's echoes sound is playing. |
| 7E:0B62 - 7E:0B63 | Pallete index for Samus's charge. | | 7E:0B42 - 7E:0B43 Samus's horizontal speed forward. (pixels/frame) |
| 7E:0B64 - 7E:0B6D | Projectile X position in pixels | | 7E:0B44 - 7E:0B45 Samus's horizontal speed forward (1/65536ths pixel/frame) |
| 7E:0B6E - 7E:0B77 | Bomb X position in pixels | | 7E:0B46 - 7E:0B47 Samus's horizontal 'momentum' forward (pixels/frame) |
| 7E:0B78 - 7E:0B81 | Projectile Y position in pixels | | 7E:0B48 - 7E:0B49 Samus's horizontal 'momentum' forward (1/65536ths pixel/frame) |
| 7E:0B82 - 7E:0B8B | Bomb Y position in pixels | | 7E:0B4A - 7E:0B4B Something to do with momentum and speed. Cause of mockball. (0 = increasing momentum, !0(always 1?) = decreasing momentum) |
| 7E:0B8C - 7E:0B95 | Projectile X position in sub-pixels | | 7E:0B4C 1/256 Multiplier for momentum subtraction (0 = normal momentum subtraction) |
| 7E:0B96 - 7E:0B9F | Bomb X position in sub-pixels | | 7E:0B4D - 7E:0B55 Unused in the normal game |
| 7E:0BA0 - 7E:0BA9 | Projectile Y position in sub-pixels | | 7E:0B56 - 7E:0B57 Moves Samus this distance horizontally, in subpixels. |
| 7E:0BAA - 7E:0BB3 | Bomb Y position in sub-pixels | | 7E:0B58 - 7E:0B59 Moves Samus this distance horizontally, in pixels. |
| 7E:0BB4 - 7E:0BBD | Projectile X radius (radius or width?). Pixels | | 7E:0B5A - 7E:0B5B Moves Samus this distance vertically, in subpixels. |
| 7E:0BBE - 7E:0BC7 | Bomb X radius, pixels | | 7E:0B5C - 7E:0B5D Moves Samus this distance vertically, in pixels. |
| 7E:0BC8 - 7E:0BD1 | Projectile Y radius (radius or height?). Pixels | | 7E:0B5E - 7E:0B5F Samus is currently firing in this direction (will fire beams even if you aren't pressing fire) |
| 7E:0BD2 - 7E:0BDB | Bomb Y radius, pixels | | 7E:0B60 - 7E:0B61 Used for the SBA attacks. Cleared by Spazer. Set to 0004 by Wave, but unused. Used as a rotation speed with Ice and Plasma |
| 7E:0BDC - 7E:0BE5 | Projectile X speed (1/256th pixel/frame?). | | 7E:0B62 - 7E:0B63 Pallete index for Samus's charge. |
| 7E:0BE6 - 7E:0BEF | Bomb X speed | | 7E:0B64 - 7E:0B6D Projectile X position in pixels |
| 7E:0BF0 - 7E:0BF9 | Projectile Y speed | | 7E:0B6E - 7E:0B77 Bomb X position in pixels |
| 7E:0BFA - 7E:0C03 | Bomb Y speed | | 7E:0B78 - 7E:0B81 Projectile Y position in pixels |
| 7E:0C04 - 7E:0C0D | Projectile accelerating direction. Starting at 0: Ur, UR, R, DR, Dr, Dl, DL, L, UL, Ul. A - F = glitchy, 10+ = kill beam, including plasma (hit an enemy) | | 7E:0B82 - 7E:0B8B Bomb Y position in pixels |
| 7E:0C0E - 7E:0C17 | Bomb accelerating direction. Cleared on bomb drop, but pretty much unused | | 7E:0B8C - 7E:0B95 Projectile X position in sub-pixels |
| 7E:0C18 - 7E:0C21 | Projectile type array. 8000+ = live, X0YY = beam, YY = beamtype, X1XX = missile, X2XX = super missile, X7XX = dead beam, X8XX = dead missile/super | | 7E:0B96 - 7E:0B9F Bomb X position in sub-pixels |
| 7E:0C22 - 7E:0C2B | Bomb type array. 8000+ = live, X3XX = power bomb, X5XX = bomb | | 7E:0BA0 - 7E:0BA9 Projectile Y position in sub-pixels |
| 7E:0C2C - 7E:0C35 | Projectile damage array. | | 7E:0BAA - 7E:0BB3 Bomb Y position in sub-pixels |
| 7E:0C36 - 7E:0C3F | Bomb damage array | | 7E:0BB4 - 7E:0BBD Projectile X radius (radius or width?). Pixels |
| 7E:0C40 - 7E:0C53 | Projectile PLM-like instruction array? (projectiles, then bombs) | | 7E:0BBE - 7E:0BC7 Bomb X radius, pixels |
| 7E:0C54 - 7E:0C67 | Projectile PLM-like delay array? | | 7E:0BC8 - 7E:0BD1 Projectile Y radius (radius or height?). Pixels |
| 7E:0C68 - 7E:0C69 | Pointer to code for projectile #1 | | 7E:0BD2 - 7E:0BDB Bomb Y radius, pixels |
| 7E:0C6A - 7E:0C71 | Pointer to code for projectiles #2-5 | | 7E:0BDC - 7E:0BE5 Projectile X speed (1/256th pixel/frame?). |
| 7E:0C72 - 7E:0C73 | Pointer to code for bomb #1 | | 7E:0BE6 - 7E:0BEF Bomb X speed |
| 7E:0C74 - 7E:0C7B | Pointer to code for bombs #2-5 | | 7E:0BF0 - 7E:0BF9 Projectile Y speed |
| 7E:0C7C - 7E:0C85 | Links super missile halves together (top byte is a flag, linked if set. Bottom byte tells linked index) | | 7E:0BFA - 7E:0C03 Bomb Y speed |
| 7E:0C86 - 7E:0C8F | Bomb timer array | | 7E:0C04 - 7E:0C0D Projectile accelerating direction. Starting at 0: Ur, UR, R, DR, Dr, Dl, DL, L, UL, Ul. A - F = glitchy, 10+ = kill beam, including plasma (hit an enemy) |
| 7E:0C90 - 7E:0C9B | Timer for projectile trails | | 7E:0C0E - 7E:0C17 Bomb accelerating direction. Cleared on bomb drop, but pretty much unused |
| 7E:0CB8 - 7E:0CD7 | Projectile Sprite data pointer | | 7E:0C18 - 7E:0C21 Projectile type array. 8000+ = live, X0YY = beam, YY = beamtype, X1XX = missile, X2XX = super missile, X7XX = dead beam, X8XX = dead missile/super |
| 7E:0CCC - 7E:0CCD | Cooldown counter | | 7E:0C22 - 7E:0C2B Bomb type array. 8000+ = live, X3XX = power bomb, X5XX = bomb |
| 7E:0CCE - 7E:0CCF | Projectile counter? | | 7E:0C2C - 7E:0C35 Projectile damage array. |
| 7E:0CD0 - 7E:0CD1 | Current charge for Samus's beams | | 7E:0C36 - 7E:0C3F Bomb damage array |
| 7E:0CD2 - 7E:0CD3 | Bomb counter | | 7E:0C40 - 7E:0C53 Projectile PLM-like instruction array? (projectiles, then bombs) |
| 7E:0CD6 - 7E:0CD7 | Charge beam animation frame (main spark on cannon) | | 7E:0C54 - 7E:0C67 Projectile PLM-like delay array? |
| 7E:0CD8 - 7E:0CD9 | Charge beam animation frame (3 outer sparks) | | 7E:0C68 - 7E:0C69 Pointer to code for projectile #1 |
| 7E:0CDA - 7E:0CDB | Charge beam animation frame (other 3 outer sparks) | | 7E:0C6A - 7E:0C71 Pointer to code for projectiles #2-5 |
| 7E:0CDC - 7E:0CDD | Charge beam animation delay (main spark on cannon) | | 7E:0C72 - 7E:0C73 Pointer to code for bomb #1 |
| 7E:0CDE - 7E:0CDF | Charge beam animation delay (3 outer sparks) | | 7E:0C74 - 7E:0C7B Pointer to code for bombs #2-5 |
| 7E:0CE0 - 7E:0CE1 | Charge beam animation delay (other 3 outer sparks) | | 7E:0C7C - 7E:0C85 Links super missile halves together (top byte is a flag, linked if set. Bottom byte tells linked index) |
| 7E:0CE2 - 7E:0CE3 | X position of powerbomb explosion | | 7E:0C86 - 7E:0C8F Bomb timer array |
| 7E:0CE4 - 7E:0CE5 | Y position of powerbomb explosion | | 7E:0C90 - 7E:0C9B Timer for projectile trails |
| 7E:0CE6 - 7E:0CE7 | 0100 + Screen X position of powerbomb explosion | | 7E:0CB8 - 7E:0CD7 Projectile Sprite data pointer |
| 7E:0CE8 - 7E:0CE9 | 01FF - Screen Y position of powerbomb explosion | | 7E:0CCC - 7E:0CCD Cooldown counter |
| 7E:0CEA - 7E:0CEB | Power bomb 'radius' | | 7E:0CCE - 7E:0CCF Projectile counter? |
| 7E:0CEC - 7E:0CED | Power bomb pre-explosion flash radius | | 7E:0CD0 - 7E:0CD1 Current charge for Samus's beams |
| 7E:0CEE - 7E:0CEF | Special powerbomb timer | | 7E:0CD2 - 7E:0CD3 Bomb counter |
| 7E:0CF0 - 7E:0CF1 | Power bomb radius speed (88:8DE7 is radius acceleration) | | 7E:0CD6 - 7E:0CD7 Charge beam animation frame (main spark on cannon) |
| 7E:0CF2 - 7E:0CF3 | Some kind of pointer. Seemed to change with the PowerBomb flash palette. | | 7E:0CD8 - 7E:0CD9 Charge beam animation frame (3 outer sparks) |
| 7E:0CF4 - 7E:0CF5 | Flags. First bit set if Samus is in liquid, last bit cleared when grapple beam hits grapple block. | | 7E:0CDA - 7E:0CDB Charge beam animation frame (other 3 outer sparks) |
| 7E:0CF6 - 7E:0CF7 | Unknown, set to A when grapple is fired | | 7E:0CDC - 7E:0CDD Charge beam animation delay (main spark on cannon) |
| 7E:0CF8 - 7E:0CF9 | Force slow/stupid-scrolling? Screen scrolls at 3 pixels per frame. Enabled during grappling, disabled when grapple beam is newly shot. | | 7E:0CDE - 7E:0CDF Charge beam animation delay (3 outer sparks) |
| 7E:0CFA - 7E:0CFB | Something for grapple beam graphics (Angle from grapple beam to Samus) | | 7E:0CE0 - 7E:0CE1 Charge beam animation delay (other 3 outer sparks) |
| 7E:0CFC - 7E:0CFD | Same as above; angle from grapple beam to Samus). This is write-only memory. >_> | | 7E:0CE2 - 7E:0CE3 X position of powerbomb explosion |
| 7E:0CFE - 7E:0CFF | Cleared when starting grapple beam. Length of grapple beam? Stops at #$0080, I think | | 7E:0CE4 - 7E:0CE5 Y position of powerbomb explosion |
| 7E:0D00 - 7E:0D01 | Set to C when starting grapple beam. Speed of grapple beam? Added to 0CFE every frame | | 7E:0CE6 - 7E:0CE7 0100 + Screen X position of powerbomb explosion |
| 7E:0D02 - 7E:0D03 | X offset of grapple point relative to Samus | | 7E:0CE8 - 7E:0CE9 01FF - Screen Y position of powerbomb explosion |
| 7E:0D04 - 7E:0D05 | Y offset of grapple point relative to Samus | | 7E:0CEA - 7E:0CEB Power bomb 'radius' |
| 7E:0D06 - 7E:0D07 | Sub-pixel X position of Grapple point? | | 7E:0CEC - 7E:0CED Power bomb pre-explosion flash radius |
| 7E:0D08 - 7E:0D09 | X position of Grapple point | | 7E:0CEE - 7E:0CEF Special powerbomb timer |
| 7E:0D0A - 7E:0D0B | Sub-pixel Y position of Grapple point? | | 7E:0CF0 - 7E:0CF1 Power bomb radius speed (88:8DE7 is radius acceleration) |
| 7E:0D0C - 7E:0D0D | Y position of Grapple point | | 7E:0CF2 - 7E:0CF3 Some kind of pointer. Seemed to change with the PowerBomb flash palette. |
| 7E:0D0E - 7E:0D0F | 32-bit running sum of X speed * 64 | | 7E:0CF4 - 7E:0CF5 Flags. First bit set if Samus is in liquid, last bit cleared when grapple beam hits grapple block. |
| 7E:0D10 - 7E:0D11 | 32-bit running sum of X speed * 64 | | 7E:0CF6 - 7E:0CF7 Unknown, set to A when grapple is fired |
| 7E:0D12 - 7E:0D13 | 32-bit running sum of Y speed * 64 | | 7E:0CF8 - 7E:0CF9 Force slow/stupid-scrolling? Screen scrolls at 3 pixels per frame. Enabled during grappling, disabled when grapple beam is newly shot. |
| 7E:0D14 - 7E:0D15 | 32-bit running sum of Y speed * 64 | | 7E:0CFA - 7E:0CFB Something for grapple beam graphics (Angle from grapple beam to Samus) |
| 7E:0D16 - 7E:0D17 | X position of start of grapple beam | | 7E:0CFC - 7E:0CFD Same as above; angle from grapple beam to Samus). This is write-only memory. >_> |
| 7E:0D18 - 7E:0D19 | Y position of start of grapple beam | | 7E:0CFE - 7E:0CFF Cleared when starting grapple beam. Length of grapple beam? Stops at #$0080, I think |
| 7E:0D1A - 7E:0D1B | X position of start of grapple beam previous frame | | 7E:0D00 - 7E:0D01 Set to C when starting grapple beam. Speed of grapple beam? Added to 0CFE every frame |
| 7E:0D1C - 7E:0D1D | Y position of start of grapple beam previous frame | | 7E:0D02 - 7E:0D03 X offset of grapple point relative to Samus |
| 7E:0D1E - 7E:0D1F | Unknown. Cleared when starting grapple beam | | 7E:0D04 - 7E:0D05 Y offset of grapple point relative to Samus |
| 7E:0D20 - 7E:0D21 | Unknown. Cleared when starting grapple beam | | 7E:0D06 - 7E:0D07 Sub-pixel X position of Grapple point? |
| 7E:0D22 - 7E:0D23 | X Speed of grapple point | | 7E:0D08 - 7E:0D09 X position of Grapple point |
| 7E:0D24 - 7E:0D25 | Y Speed of grapple point | | 7E:0D0A - 7E:0D0B Sub-pixel Y position of Grapple point? |
| 7E:0D26 - 7E:0D27 | Unknown. Cleared when starting grapple beam | | 7E:0D0C - 7E:0D0D Y position of Grapple point |
| 7E:0D28 - 7E:0D29 | Unknown. Cleared when starting grapple beam | | 7E:0D0E - 7E:0D0F 32-bit running sum of X speed * 64 |
| 7E:0D2A - 7E:0D2B | Unknown. Cleared when starting grapple beam | | 7E:0D10 - 7E:0D11 32-bit running sum of X speed * 64 |
| 7E:0D2C - 7E:0D2D | Unknown. Cleared when starting grapple beam | | 7E:0D12 - 7E:0D13 32-bit running sum of Y speed * 64 |
| 7E:0D2E - 7E:0D2F | Unknown. Cleared when starting grapple beam | | 7E:0D14 - 7E:0D15 32-bit running sum of Y speed * 64 |
| 7E:0D30 - 7E:0D31 | Unknown. Cleared when starting grapple beam | | 7E:0D16 - 7E:0D17 X position of start of grapple beam |
| 7E:0D32 - 7E:0D33 | Pointer to code for grapple beam. Usually C4F0 (start beam, not active), C703 is firing beam (not hitting anything), C856 is force-cancel beam? | | 7E:0D18 - 7E:0D19 Y position of start of grapple beam |
| 7E:0D34 - 7E:0D35 | Direction to fire (grapple beam specific?) | | 7E:0D1A - 7E:0D1B X position of start of grapple beam previous frame |
| 7E:0D36 - 7E:0D37 | Unknown. Cleared when starting grapple beam | | 7E:0D1C - 7E:0D1D Y position of start of grapple beam previous frame |
| 7E:0D38 - 7E:0D39 | Unknown. Cleared when starting grapple beam | | 7E:0D1E - 7E:0D1F Unknown. Cleared when starting grapple beam |
| 7E:0D3A - 7E:0D3B | Unknown. Set to 2 when starting grapple beam | | 7E:0D20 - 7E:0D21 Unknown. Cleared when starting grapple beam |
| 7E:0D3C - 7E:0D3D | Unknown. Cleared when starting grapple beam | | 7E:0D22 - 7E:0D23 X Speed of grapple point |
| 7E:0D3E - 7E:0D3F | Grapple point animation timer. Set to 5 when starting grapple beam | | 7E:0D24 - 7E:0D25 Y Speed of grapple point |
| 7E:0D40 - 7E:0D41 | Grapple point animation pointer. Set to 8200 when starting grapple beam | | 7E:0D26 - 7E:0D27 Unknown. Cleared when starting grapple beam |
| 7E:0D42 - 7E:0D61 | Grapple segment animation instruction timers. Similar to PLM setup | | 7E:0D28 - 7E:0D29 Unknown. Cleared when starting grapple beam |
| 7E:0D62 - 7E:0D81 | Grapple segment animation instruction pointers. Similar to PLM setup | | 7E:0D2A - 7E:0D2B Unknown. Cleared when starting grapple beam |
| 7E:0D82 - 7E:0D83 | Variable, cleared when starting grapple beam. 32-bit Signed X speed * 64 during grapple collision detection. Used also as a temporary JMP target | | 7E:0D2C - 7E:0D2D Unknown. Cleared when starting grapple beam |
| 7E:0D84 - 7E:0D85 | Variable, cleared when starting grapple beam. 32-bit Signed X speed * 64 | | 7E:0D2E - 7E:0D2F Unknown. Cleared when starting grapple beam |
| 7E:0D86 - 7E:0D87 | Variable, cleared when starting grapple beam. 32-bit Signed Y speed * 64 | | 7E:0D30 - 7E:0D31 Unknown. Cleared when starting grapple beam |
| 7E:0D88 - 7E:0D89 | Variable, cleared when starting grapple beam. 32-bit Signed Y speed * 64 | | 7E:0D32 - 7E:0D33 Pointer to code for grapple beam. Usually C4F0 (start beam, not active), C703 is firing beam (not hitting anything), C856 is force-cancel beam? |
| 7E:0D8A - 7E:0D8B | Variable, cleared when starting grapple beam. Counter during grapple collision detection | | 7E:0D34 - 7E:0D35 Direction to fire (grapple beam specific?) |
| 7E:0D8C - 7E:0D8D | Unknown. Cleared when starting grapple beam | | 7E:0D36 - 7E:0D37 Unknown. Cleared when starting grapple beam |
| 7E:0D8E - 7E:0D8F | Unknown. Cleared when starting grapple beam | | 7E:0D38 - 7E:0D39 Unknown. Cleared when starting grapple beam |
| 7E:0D90 - 7E:0D91 | Unknown. Cleared when starting grapple beam. X Position of grapple start, calculated from grapple point and grapple length (94:A957) | | 7E:0D3A - 7E:0D3B Unknown. Set to 2 when starting grapple beam |
| 7E:0D92 - 7E:0D93 | Y position of grapple start, calculated from grapple point and grapple length | | 7E:0D3C - 7E:0D3D Unknown. Cleared when starting grapple beam |
| 7E:0D94 - 7E:0D95 | Grapple start's block X position, calculated from above | | 7E:0D3E - 7E:0D3F Grapple point animation timer. Set to 5 when starting grapple beam |
| 7E:0D96 - 7E:0D97 | Grapple start's block X position, calculated from above | | 7E:0D40 - 7E:0D41 Grapple point animation pointer. Set to 8200 when starting grapple beam |
| 7E:0DA2 - 7E:0DA3 | Absolute distance Samus moved last frame horizontally + 1, pixels. | | 7E:0D42 - 7E:0D61 Grapple segment animation instruction timers. Similar to PLM setup |
| 7E:0DA4 - 7E:0DA5 | Absolute distance Samus moved last frame horizontally, subpixels. | | 7E:0D62 - 7E:0D81 Grapple segment animation instruction pointers. Similar to PLM setup |
| 7E:0DA6 - 7E:0DA7 | Absolute distance Samus moved last frame vertically + 1, pixels. | | 7E:0D82 - 7E:0D83 Variable, cleared when starting grapple beam. 32-bit Signed X speed * 64 during grapple collision detection. Used also as a temporary JMP target |
| 7E:0DA8 - 7E:0DA9 | Absolute distance Samus moved last frame vertically, subpixels. | | 7E:0D84 - 7E:0D85 Variable, cleared when starting grapple beam. 32-bit Signed X speed * 64 |
| 7E:0DAA - 7E:0DAB | How far Samus moved left, in pixels (negative) | | 7E:0D86 - 7E:0D87 Variable, cleared when starting grapple beam. 32-bit Signed Y speed * 64 |
| 7E:0DAC - 7E:0DAD | How far Samus moved left, in subpixels (negative) | | 7E:0D88 - 7E:0D89 Variable, cleared when starting grapple beam. 32-bit Signed Y speed * 64 |
| 7E:0DAE - 7E:0DAF | How far Samus moved right, in pixels | | 7E:0D8A - 7E:0D8B Variable, cleared when starting grapple beam. Counter during grapple collision detection |
| 7E:0DB0 - 7E:0DB1 | How far Samus moved right, in subpixels | | 7E:0D8C - 7E:0D8D Unknown. Cleared when starting grapple beam |
| 7E:0DB2 - 7E:0DB3 | How far Samus moved up, in pixels (negative) | | 7E:0D8E - 7E:0D8F Unknown. Cleared when starting grapple beam |
| 7E:0DB4 - 7E:0DB5 | How far Samus moved up, in subpixels (negative) | | 7E:0D90 - 7E:0D91 Unknown. Cleared when starting grapple beam. X Position of grapple start, calculated from grapple point and grapple length (94:A957) |
| 7E:0DB6 - 7E:0DB7 | How far Samus moved down, in pixels | | 7E:0D92 - 7E:0D93 Y position of grapple start, calculated from grapple point and grapple length |
| 7E:0DB8 - 7E:0DB9 | How far Samus moved down, in subpixels | | 7E:0D94 - 7E:0D95 Grapple start's block X position, calculated from above |
| 7E:0DBA - 7E:0DBB | Flag: Samus's position was adjusted by a slope | | 7E:0D96 - 7E:0D97 Grapple start's block X position, calculated from above |
| 7E:0DBC - 7E:0DBD | Mirror of distance to move Samus horizontally, in pixels? | | 7E:0DA2 - 7E:0DA3 Absolute distance Samus moved last frame horizontally + 1, pixels. |
| 7E:0DBE - 7E:0DBF | Mirror of distance to move Samus horizontally, in subpixels? | | 7E:0DA4 - 7E:0DA5 Absolute distance Samus moved last frame horizontally, subpixels. |
| 7E:0DC0 - 7E:0DC1 | Unknown. Cleared when starting grapple beam | | 7E:0DA6 - 7E:0DA7 Absolute distance Samus moved last frame vertically + 1, pixels. |
| 7E:0DC2 - 7E:0DC3 | Mirror of 0CD0? | | 7E:0DA8 - 7E:0DA9 Absolute distance Samus moved last frame vertically, subpixels. |
| 7E:0DC4 - 7E:0DC5 | Current block index (nth block of the room) | | 7E:0DAA - 7E:0DAB How far Samus moved left, in pixels (negative) |
| 7E:0DC6 - 7E:0DC7 | Unknown, something to do with collisions (direction?) 0 = jumping up?, 1 = ground, 2 = moving down, 4 = hit head, 5 = walljump. Top byte is related but used seperately | | 7E:0DAC - 7E:0DAD How far Samus moved left, in subpixels (negative) |
| 7E:0DCE - 7E:0DCF | Set if Samus collides with a solid enemy(Only read as a flag, written as a direction?) | | 7E:0DAE - 7E:0DAF How far Samus moved right, in pixels |
| 7E:0DD0 - 7E:0DD1 | 0000 = Samus did not collide with anything. 0001 = Collision with block. FFFF = Collision with enemy? | | 7E:0DB0 - 7E:0DB1 How far Samus moved right, in subpixels |
| 7E:0DD4 - 7E:0DD5 | Current block's X position? Used for calculating 0DC4. Used as Samus's lower boundary in 94:87F4. Used as Slope BTS * 4 in horizontal slope collision routine. | | 7E:0DB2 - 7E:0DB3 How far Samus moved up, in pixels (negative) |
| 7E:0DD6 - 7E:0DD7 | Slope BTS * #$10, according to 94:87F4. Used as Slope X/Y flip in horizontal slope collision routine. | | 7E:0DB4 - 7E:0DB5 How far Samus moved up, in subpixels (negative) |
| 7E:0DDE - 7E:0DDF | Current projectile index? (FFFE for grapple) | | 7E:0DB6 - 7E:0DB7 How far Samus moved down, in pixels |
| 7E:0DE0 - 7E:0DE1 | Only debug use, I think. 07 = uber invincibility. | | 7E:0DB8 - 7E:0DB9 How far Samus moved down, in subpixels |
| 7E:0DE2 - 7E:0DE3 | Main menu screen index | | 7E:0DBA - 7E:0DBB Flag: Samus's position was adjusted by a slope |
| 7E:0DEC - 7E:0DED | Vertical acceleration during super jumps (sub-pixels). Used as Draygon-escape button counter | | 7E:0DBC - 7E:0DBD Mirror of distance to move Samus horizontally, in pixels? |
| 7E:0DEE - 7E:0DEF | Vertical acceleration during super jumps (pixels) | | 7E:0DBE - 7E:0DBF Mirror of distance to move Samus horizontally, in subpixels? |
| 7E:0DF4 - 7E:0DF5 | Debug only. Some sort of flag for messing with graphics, only used in 82:8AB0 | | 7E:0DC0 - 7E:0DC1 Unknown. Cleared when starting grapple beam |
| 7E:0DF8 - 7E:0DF9 | Unknown. STZ at start, read when Samus changes to a running pose, otherwise unused. | | 7E:0DC2 - 7E:0DC3 Mirror of 0CD0? |
| 7E:0DFA - 7E:0DFB | Unknown. Something to do with beams or sound? | | 7E:0DC4 - 7E:0DC5 Current block index (nth block of the room) |
| 7E:0DFE - 7E:0DFF | Controller input (8B) from game from previous frame. (any other use?) | | 7E:0DC6 - 7E:0DC7 Unknown, something to do with collisions (direction?) 0 = jumping up?, 1 = ground, 2 = moving down, 4 = hit head, 5 = walljump. Top byte is related but used seperately |
| 7E:0E00 - 7E:0E01 | Controller input (8F) from game from previous frame. (any other use?) | | 7E:0DCE - 7E:0DCF Set if Samus collides with a solid enemy(Only read as a flag, written as a direction?) |
| 7E:0E02 - 7E:0E03 | Samus's lower boundary's Y position | | 7E:0DD0 - 7E:0DD1 0000 = Samus did not collide with anything. 0001 = Collision with block. FFFF = Collision with enemy? |
| 7E:0E12 - 7E:0E13 | Only enabled with debug. Forgot it's exact use, skips certain routines. | | 7E:0DD4 - 7E:0DD5 Current block's X position? Used for calculating 0DC4. Used as Samus's lower boundary in 94:87F4. Used as Slope BTS * 4 in horizontal slope collision routine. |
| 7E:0E16 - 7E:0E17 | Flag, 80 = elevator room transition. 0001 = Standing on elevator | | 7E:0DD6 - 7E:0DD7 Slope BTS * #$10, according to 94:87F4. Used as Slope X/Y flip in horizontal slope collision routine. |
| 7E:0E18 - 7E:0E19 | Used by elevators. Direction to move in (00 = Sitting, 01 = leaving the room, 02 = once when entering, 03 = entering the room) | | 7E:0DDE - 7E:0DDF Current projectile index? (FFFE for grapple) |
| 7E:0E1A - 7E:0E1B | Triggers more energy drops if Samus is low on health. On if drop at health below 30, off if health at least 50. | | 7E:0DE0 - 7E:0DE1 Only debug use, I think. 07 = uber invincibility. |
| 7E:0E1C - 7E:0E1D | If #$FFFF, ignored. Else, used as a pointer to an enemy for setting 0FA2,X to #$0040. | | 7E:0DE2 - 7E:0DE3 Main menu screen index |
| 7E:0E2E - 7E:0E2F | Flag for when enemies are hit; display hit flash if damaged. | | 7E:0DEC - 7E:0DED Vertical acceleration during super jumps (sub-pixels). Used as Draygon-escape button counter |
| 7E:0E32 - 7E:0E33 | Position of a boundary. Variable use, Samus or enemy. Used as real damage multiplier (AND #$007F) for enemy damage (Max #$000F for charge beams). Also used in some calculations (absolute, sin/cos) 'Sharable' RAM for immediate uses. | | 7E:0DEE - 7E:0DEF Vertical acceleration during super jumps (pixels) |
| 7E:0E36 - 7E:0E37 | Whole number value from sin/cos multiplier function | | 7E:0DF4 - 7E:0DF5 Debug only. Some sort of flag for messing with graphics, only used in 82:8AB0 |
| 7E:0E38 - 7E:0E39 | Fractional value from sin/cos multiplier function | | 7E:0DF8 - 7E:0DF9 Unknown. STZ at start, read when Samus changes to a running pose, otherwise unused. |
| 7E:0E40 - 7E:0E41 | Damage multiplier for enemies | | 7E:0DFA - 7E:0DFB Unknown. Something to do with beams or sound? |
| 7E:0E44 - 7E:0E45 | Not sure exactly. Used to determine enemy hurt flashing frames | | 7E:0DFE - 7E:0DFF Controller input (8B) from game from previous frame. (any other use?) |
| 7E:0E4C - 7E:0E4D | Index value of the last enemy in the room + 1((n+1)*40). If 0, disable enemy processing (powerbombs still kill) | | 7E:0E00 - 7E:0E01 Controller input (8F) from game from previous frame. (any other use?) |
| 7E:0E4E - 7E:0E4F | Number of enemies in the room | | 7E:0E02 - 7E:0E03 Samus's lower boundary's Y position |
| 7E:0E50 - 7E:0E51 | Number of enemies killed in the current room. | | 7E:0E12 - 7E:0E13 Only enabled with debug. Forgot it's exact use, skips certain routines. |
| 7E:0E52 - 7E:0E53 | Number of enemies needed to clear current room. | | 7E:0E16 - 7E:0E17 Flag, 80 = elevator room transition. 0001 = Standing on elevator |
| 7E:0E54 - 7E:0E55 | Current Enemy Index | | 7E:0E18 - 7E:0E19 Used by elevators. Direction to move in (00 = Sitting, 01 = leaving the room, 02 = once when entering, 03 = entering the room) |
| 7E:0E58 - 7E:0E59 | Pointer to start of current enemy data ($0F78,X) | | 7E:0E1A - 7E:0E1B Triggers more energy drops if Samus is low on health. On if drop at health below 30, off if health at least 50. |
| 7E:0F78 - 7E:0F79 | Enemy 00 ID | | 7E:0E1C - 7E:0E1D If #$FFFF, ignored. Else, used as a pointer to an enemy for setting 0FA2,X to #$0040. |
| 7E:0F7A - 7E:0F7B | Enemy 00 X position | | 7E:0E2E - 7E:0E2F Flag for when enemies are hit; display hit flash if damaged. |
| 7E:0F7C - 7E:0F7D | Enemy 00 X subpixel position | | 7E:0E32 - 7E:0E33 Position of a boundary. Variable use, Samus or enemy. Used as real damage multiplier (AND #$007F) for enemy damage (Max #$000F for charge beams). Also used in some calculations (absolute, sin/cos) 'Sharable' RAM for immediate uses. |
| 7E:0F7E - 7E:0F7F | Enemy 00 Y position | | 7E:0E36 - 7E:0E37 Whole number value from sin/cos multiplier function |
| 7E:0F80 - 7E:0F81 | Enemy 00 Y subpixel position | | 7E:0E38 - 7E:0E39 Fractional value from sin/cos multiplier function |
| 7E:0F82 - 7E:0F83 | Enemy 00 Hitbox radius width | | 7E:0E40 - 7E:0E41 Damage multiplier for enemies |
| 7E:0F84 - 7E:0F85 | Enemy 00 Hitbox radius height | | 7E:0E44 - 7E:0E45 Not sure exactly. Used to determine enemy hurt flashing frames |
| 7E:0F86 - 7E:0F87 | Enemy 00 Property bits (Special from SMILE) | | 7E:0E4C - 7E:0E4D Index value of the last enemy in the room + 1((n+1)*40). If 0, disable enemy processing (powerbombs still kill) |
| 7E:0F88 - 7E:0F89 | Enemy 00 Extra property bits | | 7E:0E4E - 7E:0E4F Number of enemies in the room |
| 7E:0F8A - 7E:0F8B | Enemy 00 AI handler | | 7E:0E50 - 7E:0E51 Number of enemies killed in the current room. |
| 7E:0F8C - 7E:0F8D | Enemy 00 HP | | 7E:0E52 - 7E:0E53 Number of enemies needed to clear current room. |
| 7E:0F8E - 7E:0F8F | Enemy 00 Main graphics/hitbox pointer | | 7E:0E54 - 7E:0E55 Current Enemy Index |
| 7E:0F90 - 7E:0F91 | Enemy 00 ??? (Chozo uses as loop counter) | | 7E:0E58 - 7E:0E59 Pointer to start of current enemy data ($0F78,X) |
| 7E:0F92 - 7E:0F93 | Enemy 00 Pointer to PLM-esque instructions | | 7E:0F78 - 7E:0F79 Enemy 00 ID |
| 7E:0F94 - 7E:0F95 | Enemy 00 Instruction delay timer | | 7E:0F7A - 7E:0F7B Enemy 00 X position |
| 7E:0F96 - 7E:0F97 | Enemy 00 Palette slot | | 7E:0F7C - 7E:0F7D Enemy 00 X subpixel position |
| 7E:0F98 - 7E:0F99 | Enemy 00 VRAM index | | 7E:0F7E - 7E:0F7F Enemy 00 Y position |
| 7E:0F9A - 7E:0F9B | Enemy 00 Layer control | | 7E:0F80 - 7E:0F81 Enemy 00 Y subpixel position |
| 7E:0F9C - 7E:0F9D | Enemy 00 Invincibility flash timer | | 7E:0F82 - 7E:0F83 Enemy 00 Hitbox radius width |
| 7E:0F9E - 7E:0F9F | Enemy 00 Frozen timer | | 7E:0F84 - 7E:0F85 Enemy 00 Hitbox radius height |
| 7E:0FA0 - 7E:0FA1 | Enemy 00 AI variable | | 7E:0F86 - 7E:0F87 Enemy 00 Property bits (Special from SMILE) |
| 7E:0FA2 - 7E:0FA3 | Enemy 00 AI shake timer | | 7E:0F88 - 7E:0F89 Enemy 00 Extra property bits |
| 7E:0FA4 - 7E:0FA5 | Enemy 00 AI variable, seems to count up the longer the enemy's onscreen | | 7E:0F8A - 7E:0F8B Enemy 00 AI handler |
| 7E:0FA6 | Enemy 00 bank | | 7E:0F8C - 7E:0F8D Enemy 00 HP |
| 7E:0FA7 | Enemy 00 ??? | | 7E:0F8E - 7E:0F8F Enemy 00 Main graphics/hitbox pointer |
| 7E:0FA8 - 7E:0FA9 | Enemy 00 AI variable | | 7E:0F90 - 7E:0F91 Enemy 00 ??? (Chozo uses as loop counter) |
| 7E:0FAA - 7E:0FAB | Enemy 00 AI variable | | 7E:0F92 - 7E:0F93 Enemy 00 Pointer to PLM-esque instructions |
| 7E:0FAC - 7E:0FBD | Enemy 00 AI variable | | 7E:0F94 - 7E:0F95 Enemy 00 Instruction delay timer |
| 7E:0FAE - 7E:0FAF | Enemy 00 AI variable | | 7E:0F96 - 7E:0F97 Enemy 00 Palette slot |
| 7E:0FB0 - 7E:0FB1 | Enemy 00 AI variable | | 7E:0F98 - 7E:0F99 Enemy 00 VRAM index |
| 7E:0FB2 - 7E:0FB3 | Enemy 00 AI variable | | 7E:0F9A - 7E:0F9B Enemy 00 Layer control |
| 7E:0FB4 - 7E:0FB5 | Enemy 00 AI variable (Speed from SMILE) | | 7E:0F9C - 7E:0F9D Enemy 00 Invincibility flash timer |
| 7E:0FB6 - 7E:0FB7 | Enemy 00 AI variable (Speed2 from SMILE) | | 7E:0F9E - 7E:0F9F Enemy 00 Frozen timer |
| 7E:0FB8 - 7E:0FB9 | Enemy 01 ID | | 7E:0FA0 - 7E:0FA1 Enemy 00 AI variable |
| 7E:0FBA - 7E:0FBB | Enemy 01 X position | | 7E:0FA2 - 7E:0FA3 Enemy 00 AI shake timer |
| 7E:0FBC - 7E:0FBD | Enemy 01 X subpixel position | | 7E:0FA4 - 7E:0FA5 Enemy 00 AI variable, seems to count up the longer the enemy's onscreen |
| 7E:0FBE - 7E:0FBF | Enemy 01 Y position | | 7E:0FA6 Enemy 00 bank |
| 7E:0FC0 - 7E:0FC1 | Enemy 01 Y subpixel position | | 7E:0FA7 Enemy 00 ??? |
| 7E:0FC2 - 7E:0FC3 | Enemy 01 Hitbox radius width | | 7E:0FA8 - 7E:0FA9 Enemy 00 AI variable |
| 7E:0FC4 - 7E:0FC5 | Enemy 01 Hitbox radius height | | 7E:0FAA - 7E:0FAB Enemy 00 AI variable |
| 7E:0FC6 - 7E:0FC7 | Enemy 01 Property bits (Special from SMILE) | | 7E:0FAC - 7E:0FBD Enemy 00 AI variable |
| 7E:0FC8 - 7E:0FC9 | Enemy 01 Extra property bits | | 7E:0FAE - 7E:0FAF Enemy 00 AI variable |
| 7E:0FCA - 7E:0FCB | Enemy 01 AI handler | | 7E:0FB0 - 7E:0FB1 Enemy 00 AI variable |
| 7E:0FCC - 7E:0FCD | Enemy 01 HP | | 7E:0FB2 - 7E:0FB3 Enemy 00 AI variable |
| 7E:0FCE - 7E:0FCF | Enemy 01 Main graphics/hitbox pointer | | 7E:0FB4 - 7E:0FB5 Enemy 00 AI variable (Speed from SMILE) |
| 7E:0FD0 - 7E:0FD1 | Enemy 01 ??? (Chozo uses as loop counter) | | 7E:0FB6 - 7E:0FB7 Enemy 00 AI variable (Speed2 from SMILE) |
| 7E:0FD2 - 7E:0FD3 | Enemy 01 Pointer to PLM-esque instructions | | 7E:0FB8 - 7E:0FB9 Enemy 01 ID |
| 7E:0FD4 - 7E:0FD5 | Enemy 01 Instruction delay timer | | 7E:0FBA - 7E:0FBB Enemy 01 X position |
| 7E:0FD6 - 7E:0FD7 | Enemy 01 Palette slot | | 7E:0FBC - 7E:0FBD Enemy 01 X subpixel position |
| 7E:0FD8 - 7E:0FD9 | Enemy 01 VRAM index | | 7E:0FBE - 7E:0FBF Enemy 01 Y position |
| 7E:0FDA - 7E:0FDB | Enemy 01 Layer control | | 7E:0FC0 - 7E:0FC1 Enemy 01 Y subpixel position |
| 7E:0FDC - 7E:0FDD | Enemy 01 Invincibility flash timer | | 7E:0FC2 - 7E:0FC3 Enemy 01 Hitbox radius width |
| 7E:0FDE - 7E:0FDF | Enemy 01 Frozen timer | | 7E:0FC4 - 7E:0FC5 Enemy 01 Hitbox radius height |
| 7E:0FE0 - 7E:0FE1 | Enemy 01 AI variable | | 7E:0FC6 - 7E:0FC7 Enemy 01 Property bits (Special from SMILE) |
| 7E:0FE2 - 7E:0FE3 | Enemy 01 AI variable | | 7E:0FC8 - 7E:0FC9 Enemy 01 Extra property bits |
| 7E:0FE4 - 7E:0FE5 | Enemy 01 AI variable | | 7E:0FCA - 7E:0FCB Enemy 01 AI handler |
| 7E:0FE6 | Enemy 01 bank | | 7E:0FCC - 7E:0FCD Enemy 01 HP |
| 7E:0FE7 | Enemy 01 ??? | | 7E:0FCE - 7E:0FCF Enemy 01 Main graphics/hitbox pointer |
| 7E:0FE8 - 7E:0FF3 | Enemy 01 AI variable | | 7E:0FD0 - 7E:0FD1 Enemy 01 ??? (Chozo uses as loop counter) |
| 7E:0FF4 - 7E:0FF5 | Enemy 01 AI variable (Speed from SMILE) | | 7E:0FD2 - 7E:0FD3 Enemy 01 Pointer to PLM-esque instructions |
| 7E:0FF6 - 7E:0FF7 | Enemy 01 AI variable (Speed2 from SMILE) | | 7E:0FD4 - 7E:0FD5 Enemy 01 Instruction delay timer |
| 7E:0FF8 - 7E:0FF9 | Enemy 02 ID | | 7E:0FD6 - 7E:0FD7 Enemy 01 Palette slot |
| 7E:0FFA - 7E:0FFB | Enemy 02 X position | | 7E:0FD8 - 7E:0FD9 Enemy 01 VRAM index |
| 7E:0FFC - 7E:0FFD | Enemy 02 X subpixel position | | 7E:0FDA - 7E:0FDB Enemy 01 Layer control |
| 7E:0FFE - 7E:0FFF | Enemy 02 Y position | | 7E:0FDC - 7E:0FDD Enemy 01 Invincibility flash timer |
| 7E:1000 - 7E:1001 | Enemy 02 Y subpixel position | | 7E:0FDE - 7E:0FDF Enemy 01 Frozen timer |
| 7E:1002 - 7E:1003 | Enemy 02 Hitbox radius width | | 7E:0FE0 - 7E:0FE1 Enemy 01 AI variable |
| 7E:1004 - 7E:1005 | Enemy 02 Hitbox radius height | | 7E:0FE2 - 7E:0FE3 Enemy 01 AI variable |
| 7E:1006 - 7E:1007 | Enemy 02 Property bits (Special from SMILE) | | 7E:0FE4 - 7E:0FE5 Enemy 01 AI variable |
| 7E:1008 - 7E:1009 | Enemy 02 Extra property bits | | 7E:0FE6 Enemy 01 bank |
| 7E:100A - 7E:100B | Enemy 02 AI handler | | 7E:0FE7 Enemy 01 ??? |
| 7E:100C - 7E:100D | Enemy 02 HP | | 7E:0FE8 - 7E:0FF3 Enemy 01 AI variable |
| 7E:100E - 7E:100F | Enemy 02 Main graphics/hitbox pointer | | 7E:0FF4 - 7E:0FF5 Enemy 01 AI variable (Speed from SMILE) |
| 7E:1010 - 7E:1011 | Enemy 02 ??? (Chozo uses as loop counter) | | 7E:0FF6 - 7E:0FF7 Enemy 01 AI variable (Speed2 from SMILE) |
| 7E:1012 - 7E:1013 | Enemy 02 Pointer to PLM-esque instructions | | 7E:0FF8 - 7E:0FF9 Enemy 02 ID |
| 7E:1014 - 7E:1015 | Enemy 02 Instruction delay timer | | 7E:0FFA - 7E:0FFB Enemy 02 X position |
| 7E:1016 - 7E:1017 | Enemy 02 Palette slot | | 7E:0FFC - 7E:0FFD Enemy 02 X subpixel position |
| 7E:1018 - 7E:1019 | Enemy 02 VRAM index | | 7E:0FFE - 7E:0FFF Enemy 02 Y position |
| 7E:101A - 7E:101B | Enemy 02 Layer control | | 7E:1000 - 7E:1001 Enemy 02 Y subpixel position |
| 7E:101C - 7E:101D | Enemy 02 Invincibility flash timer | | 7E:1002 - 7E:1003 Enemy 02 Hitbox radius width |
| 7E:101E - 7E:101F | Enemy 02 Frozen timer | | 7E:1004 - 7E:1005 Enemy 02 Hitbox radius height |
| 7E:1020 - 7E:1021 | Enemy 02 AI variable | | 7E:1006 - 7E:1007 Enemy 02 Property bits (Special from SMILE) |
| 7E:1022 - 7E:1023 | Enemy 02 AI variable | | 7E:1008 - 7E:1009 Enemy 02 Extra property bits |
| 7E:1024 - 7E:1025 | Enemy 02 AI variable | | 7E:100A - 7E:100B Enemy 02 AI handler |
| 7E:1026 | Enemy 02 bank | | 7E:100C - 7E:100D Enemy 02 HP |
| 7E:1027 | Enemy 02 ??? | | 7E:100E - 7E:100F Enemy 02 Main graphics/hitbox pointer |
| 7E:1028 - 7E:1033 | Enemy 02 AI variable | | 7E:1010 - 7E:1011 Enemy 02 ??? (Chozo uses as loop counter) |
| 7E:1034 - 7E:1035 | Enemy 02 AI variable (Speed from SMILE) | | 7E:1012 - 7E:1013 Enemy 02 Pointer to PLM-esque instructions |
| 7E:1036 - 7E:1037 | Enemy 02 AI variable (Speed2 from SMILE) | | 7E:1014 - 7E:1015 Enemy 02 Instruction delay timer |
| | | 7E:1016 - 7E:1017 Enemy 02 Palette slot |
| 7E:1038 - 7E:1039 | Enemy 03 ID | | 7E:1018 - 7E:1019 Enemy 02 VRAM index |
| 7E:103A - 7E:103B | Enemy 03 X position | | 7E:101A - 7E:101B Enemy 02 Layer control |
| 7E:103C - 7E:103D | Enemy 03 X subpixel position | | 7E:101C - 7E:101D Enemy 02 Invincibility flash timer |
| 7E:103E - 7E:103F | Enemy 03 Y position | | 7E:101E - 7E:101F Enemy 02 Frozen timer |
| 7E:1040 - 7E:1041 | Enemy 03 Y subpixel position | | 7E:1020 - 7E:1021 Enemy 02 AI variable |
| 7E:1042 - 7E:1043 | Enemy 03 Hitbox radius width | | 7E:1022 - 7E:1023 Enemy 02 AI variable |
| 7E:1044 - 7E:1045 | Enemy 03 Hitbox radius height | | 7E:1024 - 7E:1025 Enemy 02 AI variable |
| 7E:1046 - 7E:1047 | Enemy 03 Property bits (Special from SMILE) | | 7E:1026 Enemy 02 bank |
| 7E:1048 - 7E:1049 | Enemy 03 Extra property bits | | 7E:1027 Enemy 02 ??? |
| 7E:104A - 7E:104B | Enemy 03 AI handler | | 7E:1028 - 7E:1033 Enemy 02 AI variable |
| 7E:104C - 7E:104D | Enemy 03 HP | | 7E:1034 - 7E:1035 Enemy 02 AI variable (Speed from SMILE) |
| 7E:104E - 7E:104F | Enemy 03 Main graphics/hitbox pointer | | 7E:1036 - 7E:1037 Enemy 02 AI variable (Speed2 from SMILE) |
| 7E:1050 - 7E:1051 | Enemy 03 ??? (Chozo uses as loop counter) | | |
| 7E:1052 - 7E:1053 | Enemy 03 Pointer to PLM-esque instructions | | 7E:1038 - 7E:1039 Enemy 03 ID |
| 7E:1054 - 7E:1055 | Enemy 03 Instruction delay timer | | 7E:103A - 7E:103B Enemy 03 X position |
| 7E:1056 - 7E:1057 | Enemy 03 Palette slot | | 7E:103C - 7E:103D Enemy 03 X subpixel position |
| 7E:1058 - 7E:1059 | Enemy 03 VRAM index | | 7E:103E - 7E:103F Enemy 03 Y position |
| 7E:105A - 7E:105B | Enemy 03 Layer control | | 7E:1040 - 7E:1041 Enemy 03 Y subpixel position |
| 7E:105C - 7E:105D | Enemy 03 Invincibility flash timer | | 7E:1042 - 7E:1043 Enemy 03 Hitbox radius width |
| 7E:105E - 7E:105F | Enemy 03 Frozen timer | | 7E:1044 - 7E:1045 Enemy 03 Hitbox radius height |
| 7E:1060 - 7E:1061 | Enemy 03 AI variable | | 7E:1046 - 7E:1047 Enemy 03 Property bits (Special from SMILE) |
| 7E:1062 - 7E:1063 | Enemy 03 AI variable | | 7E:1048 - 7E:1049 Enemy 03 Extra property bits |
| 7E:1064 - 7E:1065 | Enemy 03 AI variable | | 7E:104A - 7E:104B Enemy 03 AI handler |
| 7E:1066 | Enemy 03 bank | | 7E:104C - 7E:104D Enemy 03 HP |
| 7E:1067 | Enemy 03 ??? | | 7E:104E - 7E:104F Enemy 03 Main graphics/hitbox pointer |
| 7E:1068 - 7E:1073 | Enemy 03 AI variable | | 7E:1050 - 7E:1051 Enemy 03 ??? (Chozo uses as loop counter) |
| 7E:1074 - 7E:1075 | Enemy 03 AI variable (Speed from SMILE) | | 7E:1052 - 7E:1053 Enemy 03 Pointer to PLM-esque instructions |
| 7E:1076 - 7E:1077 | Enemy 03 AI variable (Speed2 from SMILE) | | 7E:1054 - 7E:1055 Enemy 03 Instruction delay timer |
| | | 7E:1056 - 7E:1057 Enemy 03 Palette slot |
| 7E:1078 - 7E:1079 | Enemy 04 ID | | 7E:1058 - 7E:1059 Enemy 03 VRAM index |
| 7E:107A - 7E:107B | Enemy 04 X position | | 7E:105A - 7E:105B Enemy 03 Layer control |
| 7E:107C - 7E:107D | Enemy 04 X subpixel position | | 7E:105C - 7E:105D Enemy 03 Invincibility flash timer |
| 7E:107E - 7E:107F | Enemy 04 Y position | | 7E:105E - 7E:105F Enemy 03 Frozen timer |
| 7E:1080 - 7E:1081 | Enemy 04 Y subpixel position | | 7E:1060 - 7E:1061 Enemy 03 AI variable |
| 7E:1082 - 7E:1083 | Enemy 04 Hitbox radius width | | 7E:1062 - 7E:1063 Enemy 03 AI variable |
| 7E:1084 - 7E:1085 | Enemy 04 Hitbox radius height | | 7E:1064 - 7E:1065 Enemy 03 AI variable |
| 7E:1086 - 7E:1087 | Enemy 04 Property bits (Special from SMILE) | | 7E:1066 Enemy 03 bank |
| 7E:1088 - 7E:1089 | Enemy 04 Extra property bits | | 7E:1067 Enemy 03 ??? |
| 7E:108A - 7E:108B | Enemy 04 AI handler | | 7E:1068 - 7E:1073 Enemy 03 AI variable |
| 7E:108C - 7E:108D | Enemy 04 HP | | 7E:1074 - 7E:1075 Enemy 03 AI variable (Speed from SMILE) |
| 7E:108E - 7E:108F | Enemy 04 Main graphics/hitbox pointer | | 7E:1076 - 7E:1077 Enemy 03 AI variable (Speed2 from SMILE) |
| 7E:1090 - 7E:1091 | Enemy 04 ??? (Chozo uses as loop counter) | | |
| 7E:1092 - 7E:1093 | Enemy 04 Pointer to PLM-esque instructions | | 7E:1078 - 7E:1079 Enemy 04 ID |
| 7E:1094 - 7E:1095 | Enemy 04 Instruction delay timer | | 7E:107A - 7E:107B Enemy 04 X position |
| 7E:1096 - 7E:1097 | Enemy 04 Palette slot | | 7E:107C - 7E:107D Enemy 04 X subpixel position |
| 7E:1098 - 7E:1099 | Enemy 04 VRAM index | | 7E:107E - 7E:107F Enemy 04 Y position |
| 7E:109A - 7E:109B | Enemy 04 Layer control | | 7E:1080 - 7E:1081 Enemy 04 Y subpixel position |
| 7E:109C - 7E:109D | Enemy 04 Invincibility flash timer | | 7E:1082 - 7E:1083 Enemy 04 Hitbox radius width |
| 7E:109E - 7E:109F | Enemy 04 Frozen timer | | 7E:1084 - 7E:1085 Enemy 04 Hitbox radius height |
| 7E:10A0 - 7E:10A1 | Enemy 04 AI variable | | 7E:1086 - 7E:1087 Enemy 04 Property bits (Special from SMILE) |
| 7E:10A2 - 7E:10A3 | Enemy 04 AI variable | | 7E:1088 - 7E:1089 Enemy 04 Extra property bits |
| 7E:10A4 - 7E:10A5 | Enemy 04 AI variable | | 7E:108A - 7E:108B Enemy 04 AI handler |
| 7E:10A6 | Enemy 04 bank | | 7E:108C - 7E:108D Enemy 04 HP |
| 7E:10A7 | Enemy 04 ??? | | 7E:108E - 7E:108F Enemy 04 Main graphics/hitbox pointer |
| 7E:10A8 - 7E:10B3 | Enemy 04 AI variable | | 7E:1090 - 7E:1091 Enemy 04 ??? (Chozo uses as loop counter) |
| 7E:10B4 - 7E:10B5 | Enemy 04 AI variable (Speed from SMILE) | | 7E:1092 - 7E:1093 Enemy 04 Pointer to PLM-esque instructions |
| 7E:10B6 - 7E:10B7 | Enemy 04 AI variable (Speed2 from SMILE) | | 7E:1094 - 7E:1095 Enemy 04 Instruction delay timer |
| | | 7E:1096 - 7E:1097 Enemy 04 Palette slot |
| 7E:10B8 - 7E:10B9 | Enemy 05 ID | | 7E:1098 - 7E:1099 Enemy 04 VRAM index |
| 7E:10BA - 7E:10BB | Enemy 05 X position | | 7E:109A - 7E:109B Enemy 04 Layer control |
| 7E:10BC - 7E:10BD | Enemy 05 X subpixel position | | 7E:109C - 7E:109D Enemy 04 Invincibility flash timer |
| 7E:10BE - 7E:10BF | Enemy 05 Y position | | 7E:109E - 7E:109F Enemy 04 Frozen timer |
| 7E:10C0 - 7E:10C1 | Enemy 05 Y subpixel position | | 7E:10A0 - 7E:10A1 Enemy 04 AI variable |
| 7E:10C2 - 7E:10C3 | Enemy 05 Hitbox radius width | | 7E:10A2 - 7E:10A3 Enemy 04 AI variable |
| 7E:10C4 - 7E:10C5 | Enemy 05 Hitbox radius height | | 7E:10A4 - 7E:10A5 Enemy 04 AI variable |
| 7E:10C6 - 7E:10C7 | Enemy 05 Property bits (Special from SMILE) | | 7E:10A6 Enemy 04 bank |
| 7E:10C8 - 7E:10C9 | Enemy 05 Extra property bits | | 7E:10A7 Enemy 04 ??? |
| 7E:10CA - 7E:10CB | Enemy 05 AI handler | | 7E:10A8 - 7E:10B3 Enemy 04 AI variable |
| 7E:10CC - 7E:10CD | Enemy 05 HP | | 7E:10B4 - 7E:10B5 Enemy 04 AI variable (Speed from SMILE) |
| 7E:10CE - 7E:10CF | Enemy 05 Main graphics/hitbox pointer | | 7E:10B6 - 7E:10B7 Enemy 04 AI variable (Speed2 from SMILE) |
| 7E:10D0 - 7E:10D1 | Enemy 05 ??? (Chozo uses as loop counter) | | |
| 7E:10D2 - 7E:10D3 | Enemy 05 Pointer to PLM-esque instructions | | 7E:10B8 - 7E:10B9 Enemy 05 ID |
| 7E:10D4 - 7E:10D5 | Enemy 05 Instruction delay timer | | 7E:10BA - 7E:10BB Enemy 05 X position |
| 7E:10D6 - 7E:10D7 | Enemy 05 Palette slot | | 7E:10BC - 7E:10BD Enemy 05 X subpixel position |
| 7E:10D8 - 7E:10D9 | Enemy 05 VRAM index | | 7E:10BE - 7E:10BF Enemy 05 Y position |
| 7E:10DA - 7E:10DB | Enemy 05 Layer control | | 7E:10C0 - 7E:10C1 Enemy 05 Y subpixel position |
| 7E:10DC - 7E:10DD | Enemy 05 Invincibility flash timer | | 7E:10C2 - 7E:10C3 Enemy 05 Hitbox radius width |
| 7E:10DE - 7E:10DF | Enemy 05 Frozen timer | | 7E:10C4 - 7E:10C5 Enemy 05 Hitbox radius height |
| 7E:10E0 - 7E:10E1 | Enemy 05 AI variable | | 7E:10C6 - 7E:10C7 Enemy 05 Property bits (Special from SMILE) |
| 7E:10E2 - 7E:10E3 | Enemy 05 AI variable | | 7E:10C8 - 7E:10C9 Enemy 05 Extra property bits |
| 7E:10E4 - 7E:10E5 | Enemy 05 AI variable | | 7E:10CA - 7E:10CB Enemy 05 AI handler |
| 7E:10E6 | Enemy 05 bank | | 7E:10CC - 7E:10CD Enemy 05 HP |
| 7E:10E7 | Enemy 05 ??? | | 7E:10CE - 7E:10CF Enemy 05 Main graphics/hitbox pointer |
| 7E:10E8 - 7E:10F3 | Enemy 05 AI variable | | 7E:10D0 - 7E:10D1 Enemy 05 ??? (Chozo uses as loop counter) |
| 7E:10F4 - 7E:10F5 | Enemy 05 AI variable (Speed from SMILE) | | 7E:10D2 - 7E:10D3 Enemy 05 Pointer to PLM-esque instructions |
| 7E:10F6 - 7E:10F7 | Enemy 05 AI variable (Speed2 from SMILE) | | 7E:10D4 - 7E:10D5 Enemy 05 Instruction delay timer |
| | | 7E:10D6 - 7E:10D7 Enemy 05 Palette slot |
| 7E:10F8 - 7E:10F9 | Enemy 06 ID | | 7E:10D8 - 7E:10D9 Enemy 05 VRAM index |
| 7E:10FA - 7E:10FB | Enemy 06 X position | | 7E:10DA - 7E:10DB Enemy 05 Layer control |
| 7E:10FC - 7E:10FD | Enemy 06 X subpixel position | | 7E:10DC - 7E:10DD Enemy 05 Invincibility flash timer |
| 7E:10FE - 7E:10FF | Enemy 06 Y position | | 7E:10DE - 7E:10DF Enemy 05 Frozen timer |
| 7E:1100 - 7E:1101 | Enemy 06 Y subpixel position | | 7E:10E0 - 7E:10E1 Enemy 05 AI variable |
| 7E:1102 - 7E:1103 | Enemy 06 Hitbox radius width | | 7E:10E2 - 7E:10E3 Enemy 05 AI variable |
| 7E:1104 - 7E:1105 | Enemy 06 Hitbox radius height | | 7E:10E4 - 7E:10E5 Enemy 05 AI variable |
| 7E:1106 - 7E:1107 | Enemy 06 Property bits (Special from SMILE) | | 7E:10E6 Enemy 05 bank |
| 7E:1108 - 7E:1109 | Enemy 06 Extra property bits | | 7E:10E7 Enemy 05 ??? |
| 7E:110A - 7E:110B | Enemy 06 AI handler | | 7E:10E8 - 7E:10F3 Enemy 05 AI variable |
| 7E:110C - 7E:110D | Enemy 06 HP | | 7E:10F4 - 7E:10F5 Enemy 05 AI variable (Speed from SMILE) |
| 7E:110E - 7E:110F | Enemy 06 Main graphics/hitbox pointer | | 7E:10F6 - 7E:10F7 Enemy 05 AI variable (Speed2 from SMILE) |
| 7E:1110 - 7E:1111 | Enemy 06 ??? (Chozo uses as loop counter) | | |
| 7E:1112 - 7E:1113 | Enemy 06 Pointer to PLM-esque instructions | | 7E:10F8 - 7E:10F9 Enemy 06 ID |
| 7E:1114 - 7E:1115 | Enemy 06 Instruction delay timer | | 7E:10FA - 7E:10FB Enemy 06 X position |
| 7E:1116 - 7E:1117 | Enemy 06 Palette slot | | 7E:10FC - 7E:10FD Enemy 06 X subpixel position |
| 7E:1118 - 7E:1119 | Enemy 06 VRAM index | | 7E:10FE - 7E:10FF Enemy 06 Y position |
| 7E:111A - 7E:111B | Enemy 06 Layer control | | 7E:1100 - 7E:1101 Enemy 06 Y subpixel position |
| 7E:111C - 7E:111D | Enemy 06 Invincibility flash timer | | 7E:1102 - 7E:1103 Enemy 06 Hitbox radius width |
| 7E:111E - 7E:111F | Enemy 06 Frozen timer | | 7E:1104 - 7E:1105 Enemy 06 Hitbox radius height |
| 7E:1120 - 7E:1121 | Enemy 06 AI variable | | 7E:1106 - 7E:1107 Enemy 06 Property bits (Special from SMILE) |
| 7E:1122 - 7E:1123 | Enemy 06 AI variable | | 7E:1108 - 7E:1109 Enemy 06 Extra property bits |
| 7E:1124 - 7E:1125 | Enemy 06 AI variable | | 7E:110A - 7E:110B Enemy 06 AI handler |
| 7E:1126 | Enemy 06 bank | | 7E:110C - 7E:110D Enemy 06 HP |
| 7E:1127 | Enemy 06 ??? | | 7E:110E - 7E:110F Enemy 06 Main graphics/hitbox pointer |
| 7E:1128 - 7E:1133 | Enemy 06 AI variable | | 7E:1110 - 7E:1111 Enemy 06 ??? (Chozo uses as loop counter) |
| 7E:1134 - 7E:1135 | Enemy 06 AI variable (Speed from SMILE) | | 7E:1112 - 7E:1113 Enemy 06 Pointer to PLM-esque instructions |
| 7E:1136 - 7E:1137 | Enemy 06 AI variable (Speed2 from SMILE) | | 7E:1114 - 7E:1115 Enemy 06 Instruction delay timer |
| | | 7E:1116 - 7E:1117 Enemy 06 Palette slot |
| | | 7E:1118 - 7E:1119 Enemy 06 VRAM index |
| 7E:1138 - 7E:1139 | Enemy 07 ID | | 7E:111A - 7E:111B Enemy 06 Layer control |
| 7E:113A - 7E:113B | Enemy 07 X position | | 7E:111C - 7E:111D Enemy 06 Invincibility flash timer |
| 7E:113C - 7E:113D | Enemy 07 X subpixel position | | 7E:111E - 7E:111F Enemy 06 Frozen timer |
| 7E:113E - 7E:113F | Enemy 07 Y position | | 7E:1120 - 7E:1121 Enemy 06 AI variable |
| 7E:1140 - 7E:1141 | Enemy 07 Y subpixel position | | 7E:1122 - 7E:1123 Enemy 06 AI variable |
| 7E:1142 - 7E:1143 | Enemy 07 Hitbox radius width | | 7E:1124 - 7E:1125 Enemy 06 AI variable |
| 7E:1144 - 7E:1145 | Enemy 07 Hitbox radius height | | 7E:1126 Enemy 06 bank |
| 7E:1146 - 7E:1147 | Enemy 07 Property bits (Special from SMILE) | | 7E:1127 Enemy 06 ??? |
| 7E:1148 - 7E:1149 | Enemy 07 Extra property bits | | 7E:1128 - 7E:1133 Enemy 06 AI variable |
| 7E:114A - 7E:114B | Enemy 07 AI handler | | 7E:1134 - 7E:1135 Enemy 06 AI variable (Speed from SMILE) |
| 7E:114C - 7E:114D | Enemy 07 HP | | 7E:1136 - 7E:1137 Enemy 06 AI variable (Speed2 from SMILE) |
| 7E:114E - 7E:114F | Enemy 07 Main graphics/hitbox pointer | | |
| 7E:1150 - 7E:1151 | Enemy 07 ??? (Chozo uses as loop counter) | | |
| 7E:1152 - 7E:1153 | Enemy 07 Pointer to PLM-esque instructions | | 7E:1138 - 7E:1139 Enemy 07 ID |
| 7E:1154 - 7E:1155 | Enemy 07 Instruction delay timer | | 7E:113A - 7E:113B Enemy 07 X position |
| 7E:1156 - 7E:1157 | Enemy 07 Palette slot | | 7E:113C - 7E:113D Enemy 07 X subpixel position |
| 7E:1158 - 7E:1159 | Enemy 07 VRAM index | | 7E:113E - 7E:113F Enemy 07 Y position |
| 7E:115A - 7E:115B | Enemy 07 Layer control | | 7E:1140 - 7E:1141 Enemy 07 Y subpixel position |
| 7E:115C - 7E:115D | Enemy 07 Invincibility flash timer | | 7E:1142 - 7E:1143 Enemy 07 Hitbox radius width |
| 7E:115E - 7E:115F | Enemy 07 Frozen timer | | 7E:1144 - 7E:1145 Enemy 07 Hitbox radius height |
| 7E:1160 - 7E:1161 | Enemy 07 AI variable | | 7E:1146 - 7E:1147 Enemy 07 Property bits (Special from SMILE) |
| 7E:1162 - 7E:1163 | Enemy 07 AI variable | | 7E:1148 - 7E:1149 Enemy 07 Extra property bits |
| 7E:1164 - 7E:1165 | Enemy 07 AI variable | | 7E:114A - 7E:114B Enemy 07 AI handler |
| 7E:1166 | Enemy 07 bank | | 7E:114C - 7E:114D Enemy 07 HP |
| 7E:1167 | Enemy 07 ??? | | 7E:114E - 7E:114F Enemy 07 Main graphics/hitbox pointer |
| 7E:1168 - 7E:1173 | Enemy 07 AI variable | | 7E:1150 - 7E:1151 Enemy 07 ??? (Chozo uses as loop counter) |
| 7E:1174 - 7E:1175 | Enemy 07 AI variable (Speed from SMILE) | | 7E:1152 - 7E:1153 Enemy 07 Pointer to PLM-esque instructions |
| 7E:1176 - 7E:1177 | Enemy 07 AI variable (Speed2 from SMILE) | | 7E:1154 - 7E:1155 Enemy 07 Instruction delay timer |
| | | 7E:1156 - 7E:1157 Enemy 07 Palette slot |
| 7E:1178 - 7E:1179 | Enemy 08 ID | | 7E:1158 - 7E:1159 Enemy 07 VRAM index |
| 7E:117A - 7E:117B | Enemy 08 X position | | 7E:115A - 7E:115B Enemy 07 Layer control |
| 7E:117C - 7E:117D | Enemy 08 X subpixel position | | 7E:115C - 7E:115D Enemy 07 Invincibility flash timer |
| 7E:117E - 7E:117F | Enemy 08 Y position | | 7E:115E - 7E:115F Enemy 07 Frozen timer |
| 7E:1180 - 7E:1181 | Enemy 08 Y subpixel position | | 7E:1160 - 7E:1161 Enemy 07 AI variable |
| 7E:1182 - 7E:1183 | Enemy 08 Hitbox radius width | | 7E:1162 - 7E:1163 Enemy 07 AI variable |
| 7E:1184 - 7E:1185 | Enemy 08 Hitbox radius height | | 7E:1164 - 7E:1165 Enemy 07 AI variable |
| 7E:1186 - 7E:1187 | Enemy 08 Property bits (Special from SMILE) | | 7E:1166 Enemy 07 bank |
| 7E:1188 - 7E:1189 | Enemy 08 Extra property bits | | 7E:1167 Enemy 07 ??? |
| 7E:118A - 7E:118B | Enemy 08 AI handler | | 7E:1168 - 7E:1173 Enemy 07 AI variable |
| 7E:118C - 7E:118D | Enemy 08 HP | | 7E:1174 - 7E:1175 Enemy 07 AI variable (Speed from SMILE) |
| 7E:118E - 7E:118F | Enemy 08 Main graphics/hitbox pointer | | 7E:1176 - 7E:1177 Enemy 07 AI variable (Speed2 from SMILE) |
| 7E:1190 - 7E:1191 | Enemy 08 ??? (Chozo uses as loop counter) | | |
| 7E:1192 - 7E:1193 | Enemy 08 Pointer to PLM-esque instructions | | 7E:1178 - 7E:1179 Enemy 08 ID |
| 7E:1194 - 7E:1195 | Enemy 08 Instruction delay timer | | 7E:117A - 7E:117B Enemy 08 X position |
| 7E:1196 - 7E:1197 | Enemy 08 Palette slot | | 7E:117C - 7E:117D Enemy 08 X subpixel position |
| 7E:1198 - 7E:1199 | Enemy 08 VRAM index | | 7E:117E - 7E:117F Enemy 08 Y position |
| 7E:119A - 7E:119B | Enemy 08 Layer control | | 7E:1180 - 7E:1181 Enemy 08 Y subpixel position |
| 7E:119C - 7E:119D | Enemy 08 Invincibility flash timer | | 7E:1182 - 7E:1183 Enemy 08 Hitbox radius width |
| 7E:119E - 7E:119F | Enemy 08 Frozen timer | | 7E:1184 - 7E:1185 Enemy 08 Hitbox radius height |
| 7E:11A0 - 7E:11A1 | Enemy 08 AI variable | | 7E:1186 - 7E:1187 Enemy 08 Property bits (Special from SMILE) |
| 7E:11A2 - 7E:11A3 | Enemy 08 AI variable | | 7E:1188 - 7E:1189 Enemy 08 Extra property bits |
| 7E:11A4 - 7E:11A5 | Enemy 08 AI variable | | 7E:118A - 7E:118B Enemy 08 AI handler |
| 7E:11A6 | Enemy 08 bank | | 7E:118C - 7E:118D Enemy 08 HP |
| 7E:11A7 | Enemy 08 ??? | | 7E:118E - 7E:118F Enemy 08 Main graphics/hitbox pointer |
| 7E:11A8 - 7E:11B3 | Enemy 08 AI variable | | 7E:1190 - 7E:1191 Enemy 08 ??? (Chozo uses as loop counter) |
| 7E:11B4 - 7E:11B5 | Enemy 08 AI variable (Speed from SMILE) | | 7E:1192 - 7E:1193 Enemy 08 Pointer to PLM-esque instructions |
| 7E:11B6 - 7E:11B7 | Enemy 08 AI variable (Speed2 from SMILE) | | 7E:1194 - 7E:1195 Enemy 08 Instruction delay timer |
| 7E:11B8 - 7E:11B9 | Enemy 09 ID | | 7E:1196 - 7E:1197 Enemy 08 Palette slot |
| 7E:11BA - 7E:11BB | Enemy 09 X position | | 7E:1198 - 7E:1199 Enemy 08 VRAM index |
| 7E:11BC - 7E:11BD | Enemy 09 X subpixel position | | 7E:119A - 7E:119B Enemy 08 Layer control |
| 7E:11BE - 7E:11BF | Enemy 09 Y position | | 7E:119C - 7E:119D Enemy 08 Invincibility flash timer |
| 7E:11C0 - 7E:11C1 | Enemy 09 Y subpixel position | | 7E:119E - 7E:119F Enemy 08 Frozen timer |
| 7E:11C2 - 7E:11C3 | Enemy 09 Hitbox radius width | | 7E:11A0 - 7E:11A1 Enemy 08 AI variable |
| 7E:11C4 - 7E:11C5 | Enemy 09 Hitbox radius height | | 7E:11A2 - 7E:11A3 Enemy 08 AI variable |
| 7E:11C6 - 7E:11C7 | Enemy 09 Property bits (Special from SMILE) | | 7E:11A4 - 7E:11A5 Enemy 08 AI variable |
| 7E:11C8 - 7E:11C9 | Enemy 09 Extra property bits | | 7E:11A6 Enemy 08 bank |
| 7E:11CA - 7E:11CB | Enemy 09 AI handler | | 7E:11A7 Enemy 08 ??? |
| 7E:11CC - 7E:11CD | Enemy 09 HP | | 7E:11A8 - 7E:11B3 Enemy 08 AI variable |
| 7E:11CE - 7E:11CF | Enemy 09 Main graphics/hitbox pointer | | 7E:11B4 - 7E:11B5 Enemy 08 AI variable (Speed from SMILE) |
| 7E:11D0 - 7E:11D1 | Enemy 09 ??? (Chozo uses as loop counter) | | 7E:11B6 - 7E:11B7 Enemy 08 AI variable (Speed2 from SMILE) |
| 7E:11D2 - 7E:11D3 | Enemy 09 Pointer to PLM-esque instructions | | 7E:11B8 - 7E:11B9 Enemy 09 ID |
| 7E:11D4 - 7E:11D5 | Enemy 09 Instruction delay timer | | 7E:11BA - 7E:11BB Enemy 09 X position |
| 7E:11D6 - 7E:11D7 | Enemy 09 Palette slot | | 7E:11BC - 7E:11BD Enemy 09 X subpixel position |
| 7E:11D8 - 7E:11D9 | Enemy 09 VRAM index | | 7E:11BE - 7E:11BF Enemy 09 Y position |
| 7E:11DA - 7E:11DB | Enemy 09 Layer control | | 7E:11C0 - 7E:11C1 Enemy 09 Y subpixel position |
| 7E:11DC - 7E:11DD | Enemy 09 Invincibility flash timer | | 7E:11C2 - 7E:11C3 Enemy 09 Hitbox radius width |
| 7E:11DE - 7E:11DF | Enemy 09 Frozen timer | | 7E:11C4 - 7E:11C5 Enemy 09 Hitbox radius height |
| 7E:11E0 - 7E:11E1 | Enemy 09 AI variable | | 7E:11C6 - 7E:11C7 Enemy 09 Property bits (Special from SMILE) |
| 7E:11E2 - 7E:11E3 | Enemy 09 AI variable | | 7E:11C8 - 7E:11C9 Enemy 09 Extra property bits |
| 7E:11E4 - 7E:11E5 | Enemy 09 AI variable | | 7E:11CA - 7E:11CB Enemy 09 AI handler |
| 7E:11E6 | Enemy 09 bank | | 7E:11CC - 7E:11CD Enemy 09 HP |
| 7E:11E7 | Enemy 09 ??? | | 7E:11CE - 7E:11CF Enemy 09 Main graphics/hitbox pointer |
| 7E:11E8 - 7E:11F3 | Enemy 09 AI variable | | 7E:11D0 - 7E:11D1 Enemy 09 ??? (Chozo uses as loop counter) |
| 7E:11F4 - 7E:11F5 | Enemy 09 AI variable (Speed from SMILE) | | 7E:11D2 - 7E:11D3 Enemy 09 Pointer to PLM-esque instructions |
| 7E:11F6 - 7E:11F7 | Enemy 09 AI variable (Speed2 from SMILE) | | 7E:11D4 - 7E:11D5 Enemy 09 Instruction delay timer |
| 7E:11F8 - 7E:11F9 | Enemy 0A ID | | 7E:11D6 - 7E:11D7 Enemy 09 Palette slot |
| 7E:11FA - 7E:11FB | Enemy 0A X position | | 7E:11D8 - 7E:11D9 Enemy 09 VRAM index |
| 7E:11FC - 7E:11FD | Enemy 0A X subpixel position | | 7E:11DA - 7E:11DB Enemy 09 Layer control |
| 7E:11FE - 7E:11FF | Enemy 0A Y position | | 7E:11DC - 7E:11DD Enemy 09 Invincibility flash timer |
| 7E:1200 - 7E:1201 | Enemy 0A Y subpixel position | | 7E:11DE - 7E:11DF Enemy 09 Frozen timer |
| 7E:1202 - 7E:1203 | Enemy 0A Hitbox radius width | | 7E:11E0 - 7E:11E1 Enemy 09 AI variable |
| 7E:1204 - 7E:1205 | Enemy 0A Hitbox radius height | | 7E:11E2 - 7E:11E3 Enemy 09 AI variable |
| 7E:1206 - 7E:1207 | Enemy 0A Property bits (Special from SMILE) | | 7E:11E4 - 7E:11E5 Enemy 09 AI variable |
| 7E:1208 - 7E:1209 | Enemy 0A Extra property bits | | 7E:11E6 Enemy 09 bank |
| 7E:120A - 7E:120B | Enemy 0A AI handler | | 7E:11E7 Enemy 09 ??? |
| 7E:120C - 7E:120D | Enemy 0A HP | | 7E:11E8 - 7E:11F3 Enemy 09 AI variable |
| 7E:120E - 7E:120F | Enemy 0A Main graphics/hitbox pointer | | 7E:11F4 - 7E:11F5 Enemy 09 AI variable (Speed from SMILE) |
| 7E:1210 - 7E:1211 | Enemy 0A ??? (Chozo uses as loop counter) | | 7E:11F6 - 7E:11F7 Enemy 09 AI variable (Speed2 from SMILE) |
| 7E:1212 - 7E:1213 | Enemy 0A Pointer to PLM-esque instructions | | 7E:11F8 - 7E:11F9 Enemy 0A ID |
| 7E:1214 - 7E:1215 | Enemy 0A Instruction delay timer | | 7E:11FA - 7E:11FB Enemy 0A X position |
| 7E:1216 - 7E:1217 | Enemy 0A Palette slot | | 7E:11FC - 7E:11FD Enemy 0A X subpixel position |
| 7E:1218 - 7E:1219 | Enemy 0A VRAM index | | 7E:11FE - 7E:11FF Enemy 0A Y position |
| 7E:121A - 7E:121B | Enemy 0A Layer control | | 7E:1200 - 7E:1201 Enemy 0A Y subpixel position |
| 7E:121C - 7E:121D | Enemy 0A Invincibility flash timer | | 7E:1202 - 7E:1203 Enemy 0A Hitbox radius width |
| 7E:121E - 7E:121F | Enemy 0A Frozen timer | | 7E:1204 - 7E:1205 Enemy 0A Hitbox radius height |
| 7E:1220 - 7E:1221 | Enemy 0A AI variable | | 7E:1206 - 7E:1207 Enemy 0A Property bits (Special from SMILE) |
| 7E:1222 - 7E:1223 | Enemy 0A AI variable | | 7E:1208 - 7E:1209 Enemy 0A Extra property bits |
| 7E:1224 - 7E:1225 | Enemy 0A AI variable | | 7E:120A - 7E:120B Enemy 0A AI handler |
| 7E:1226 | Enemy 0A bank | | 7E:120C - 7E:120D Enemy 0A HP |
| 7E:1227 | Enemy 0A ??? | | 7E:120E - 7E:120F Enemy 0A Main graphics/hitbox pointer |
| 7E:1228 - 7E:1233 | Enemy 0A AI variable | | 7E:1210 - 7E:1211 Enemy 0A ??? (Chozo uses as loop counter) |
| 7E:1234 - 7E:1235 | Enemy 0A AI variable (Speed from SMILE) | | 7E:1212 - 7E:1213 Enemy 0A Pointer to PLM-esque instructions |
| 7E:1236 - 7E:1237 | Enemy 0A AI variable (Speed2 from SMILE) | | 7E:1214 - 7E:1215 Enemy 0A Instruction delay timer |
| 7E:1238 - 7E:1239 | Enemy 0B ID | | 7E:1216 - 7E:1217 Enemy 0A Palette slot |
| 7E:123A - 7E:123B | Enemy 0B X position | | 7E:1218 - 7E:1219 Enemy 0A VRAM index |
| 7E:123C - 7E:123D | Enemy 0B X subpixel position | | 7E:121A - 7E:121B Enemy 0A Layer control |
| 7E:123E - 7E:123F | Enemy 0B Y position | | 7E:121C - 7E:121D Enemy 0A Invincibility flash timer |
| 7E:1240 - 7E:1241 | Enemy 0B Y subpixel position | | 7E:121E - 7E:121F Enemy 0A Frozen timer |
| 7E:1242 - 7E:1243 | Enemy 0B Hitbox radius width | | 7E:1220 - 7E:1221 Enemy 0A AI variable |
| 7E:1244 - 7E:1245 | Enemy 0B Hitbox radius height | | 7E:1222 - 7E:1223 Enemy 0A AI variable |
| 7E:1246 - 7E:1247 | Enemy 0B Property bits (Special from SMILE) | | 7E:1224 - 7E:1225 Enemy 0A AI variable |
| 7E:1248 - 7E:1249 | Enemy 0B Extra property bits | | 7E:1226 Enemy 0A bank |
| 7E:124A - 7E:124B | Enemy 0B AI handler | | 7E:1227 Enemy 0A ??? |
| 7E:124C - 7E:124D | Enemy 0B HP | | 7E:1228 - 7E:1233 Enemy 0A AI variable |
| 7E:124E - 7E:124F | Enemy 0B Main graphics/hitbox pointer | | 7E:1234 - 7E:1235 Enemy 0A AI variable (Speed from SMILE) |
| 7E:1250 - 7E:1251 | Enemy 0B ??? (Chozo uses as loop counter) | | 7E:1236 - 7E:1237 Enemy 0A AI variable (Speed2 from SMILE) |
| 7E:1252 - 7E:1253 | Enemy 0B Pointer to PLM-esque instructions | | 7E:1238 - 7E:1239 Enemy 0B ID |
| 7E:1254 - 7E:1255 | Enemy 0B Instruction delay timer | | 7E:123A - 7E:123B Enemy 0B X position |
| 7E:1256 - 7E:1257 | Enemy 0B Palette slot | | 7E:123C - 7E:123D Enemy 0B X subpixel position |
| 7E:1258 - 7E:1259 | Enemy 0B VRAM index | | 7E:123E - 7E:123F Enemy 0B Y position |
| 7E:125A - 7E:125B | Enemy 0B Layer control | | 7E:1240 - 7E:1241 Enemy 0B Y subpixel position |
| 7E:125C - 7E:125D | Enemy 0B Invincibility flash timer | | 7E:1242 - 7E:1243 Enemy 0B Hitbox radius width |
| 7E:125E - 7E:125F | Enemy 0B Frozen timer | | 7E:1244 - 7E:1245 Enemy 0B Hitbox radius height |
| 7E:1260 - 7E:1261 | Enemy 0B AI variable | | 7E:1246 - 7E:1247 Enemy 0B Property bits (Special from SMILE) |
| 7E:1262 - 7E:1263 | Enemy 0B AI variable | | 7E:1248 - 7E:1249 Enemy 0B Extra property bits |
| 7E:1264 - 7E:1265 | Enemy 0B AI variable | | 7E:124A - 7E:124B Enemy 0B AI handler |
| 7E:1266 | Enemy 0B bank | | 7E:124C - 7E:124D Enemy 0B HP |
| 7E:1267 | Enemy 0B ??? | | 7E:124E - 7E:124F Enemy 0B Main graphics/hitbox pointer |
| 7E:1268 - 7E:1273 | Enemy 0B AI variable | | 7E:1250 - 7E:1251 Enemy 0B ??? (Chozo uses as loop counter) |
| 7E:1274 - 7E:1275 | Enemy 0B AI variable (Speed from SMILE) | | 7E:1252 - 7E:1253 Enemy 0B Pointer to PLM-esque instructions |
| 7E:1276 - 7E:1277 | Enemy 0B AI variable (Speed2 from SMILE) | | 7E:1254 - 7E:1255 Enemy 0B Instruction delay timer |
| 7E:1278 - 7E:1279 | Enemy 0C ID | | 7E:1256 - 7E:1257 Enemy 0B Palette slot |
| 7E:127A - 7E:127B | Enemy 0C X position | | 7E:1258 - 7E:1259 Enemy 0B VRAM index |
| 7E:127C - 7E:127D | Enemy 0C X subpixel position | | 7E:125A - 7E:125B Enemy 0B Layer control |
| 7E:127E - 7E:127F | Enemy 0C Y position | | 7E:125C - 7E:125D Enemy 0B Invincibility flash timer |
| 7E:1280 - 7E:1281 | Enemy 0C Y subpixel position | | 7E:125E - 7E:125F Enemy 0B Frozen timer |
| 7E:1282 - 7E:1283 | Enemy 0C Hitbox radius width | | 7E:1260 - 7E:1261 Enemy 0B AI variable |
| 7E:1284 - 7E:1285 | Enemy 0C Hitbox radius height | | 7E:1262 - 7E:1263 Enemy 0B AI variable |
| 7E:1286 - 7E:1287 | Enemy 0C Property bits (Special from SMILE) | | 7E:1264 - 7E:1265 Enemy 0B AI variable |
| 7E:1288 - 7E:1289 | Enemy 0C Extra property bits | | 7E:1266 Enemy 0B bank |
| 7E:128A - 7E:128B | Enemy 0C AI handler | | 7E:1267 Enemy 0B ??? |
| 7E:128C - 7E:128D | Enemy 0C HP | | 7E:1268 - 7E:1273 Enemy 0B AI variable |
| 7E:128E - 7E:128F | Enemy 0C Main graphics/hitbox pointer | | 7E:1274 - 7E:1275 Enemy 0B AI variable (Speed from SMILE) |
| 7E:1290 - 7E:1291 | Enemy 0C ??? (Chozo uses as loop counter) | | 7E:1276 - 7E:1277 Enemy 0B AI variable (Speed2 from SMILE) |
| 7E:1292 - 7E:1293 | Enemy 0C Pointer to PLM-esque instructions | | 7E:1278 - 7E:1279 Enemy 0C ID |
| 7E:1294 - 7E:1295 | Enemy 0C Instruction delay timer | | 7E:127A - 7E:127B Enemy 0C X position |
| 7E:1296 - 7E:1297 | Enemy 0C Palette slot | | 7E:127C - 7E:127D Enemy 0C X subpixel position |
| 7E:1298 - 7E:1299 | Enemy 0C VRAM index | | 7E:127E - 7E:127F Enemy 0C Y position |
| 7E:129A - 7E:129B | Enemy 0C Layer control | | 7E:1280 - 7E:1281 Enemy 0C Y subpixel position |
| 7E:129C - 7E:129D | Enemy 0C Invincibility flash timer | | 7E:1282 - 7E:1283 Enemy 0C Hitbox radius width |
| 7E:129E - 7E:129F | Enemy 0C Frozen timer | | 7E:1284 - 7E:1285 Enemy 0C Hitbox radius height |
| 7E:12A0 - 7E:12A1 | Enemy 0C AI variable | | 7E:1286 - 7E:1287 Enemy 0C Property bits (Special from SMILE) |
| 7E:12A2 - 7E:12A3 | Enemy 0C AI variable | | 7E:1288 - 7E:1289 Enemy 0C Extra property bits |
| 7E:12A4 - 7E:12A5 | Enemy 0C AI variable | | 7E:128A - 7E:128B Enemy 0C AI handler |
| 7E:12A6 | Enemy 0C bank | | 7E:128C - 7E:128D Enemy 0C HP |
| 7E:12A7 | Enemy 0C ??? | | 7E:128E - 7E:128F Enemy 0C Main graphics/hitbox pointer |
| 7E:12A8 - 7E:12B3 | Enemy 0C AI variable | | 7E:1290 - 7E:1291 Enemy 0C ??? (Chozo uses as loop counter) |
| 7E:12B4 - 7E:12B5 | Enemy 0C AI variable (Speed from SMILE) | | 7E:1292 - 7E:1293 Enemy 0C Pointer to PLM-esque instructions |
| 7E:12B6 - 7E:12B7 | Enemy 0C AI variable (Speed2 from SMILE) | | 7E:1294 - 7E:1295 Enemy 0C Instruction delay timer |
| 7E:12B8 - 7E:12B9 | Enemy 0D ID | | 7E:1296 - 7E:1297 Enemy 0C Palette slot |
| 7E:12BA - 7E:12BB | Enemy 0D X position | | 7E:1298 - 7E:1299 Enemy 0C VRAM index |
| 7E:12BC - 7E:12BD | Enemy 0D X subpixel position | | 7E:129A - 7E:129B Enemy 0C Layer control |
| 7E:12BE - 7E:12BF | Enemy 0D Y position | | 7E:129C - 7E:129D Enemy 0C Invincibility flash timer |
| 7E:12C0 - 7E:12C1 | Enemy 0D Y subpixel position | | 7E:129E - 7E:129F Enemy 0C Frozen timer |
| 7E:12C2 - 7E:12C3 | Enemy 0D Hitbox radius width | | 7E:12A0 - 7E:12A1 Enemy 0C AI variable |
| 7E:12C4 - 7E:12C5 | Enemy 0D Hitbox radius height | | 7E:12A2 - 7E:12A3 Enemy 0C AI variable |
| 7E:12C6 - 7E:12C7 | Enemy 0D Property bits (Special from SMILE) | | 7E:12A4 - 7E:12A5 Enemy 0C AI variable |
| 7E:12C8 - 7E:12C9 | Enemy 0D Extra property bits | | 7E:12A6 Enemy 0C bank |
| 7E:12CA - 7E:12CB | Enemy 0D AI handler | | 7E:12A7 Enemy 0C ??? |
| 7E:12CC - 7E:12CD | Enemy 0D HP | | 7E:12A8 - 7E:12B3 Enemy 0C AI variable |
| 7E:12CE - 7E:12CF | Enemy 0D Main graphics/hitbox pointer | | 7E:12B4 - 7E:12B5 Enemy 0C AI variable (Speed from SMILE) |
| 7E:12D0 - 7E:12D1 | Enemy 0D ??? (Chozo uses as loop counter) | | 7E:12B6 - 7E:12B7 Enemy 0C AI variable (Speed2 from SMILE) |
| 7E:12D2 - 7E:12D3 | Enemy 0D Pointer to PLM-esque instructions | | 7E:12B8 - 7E:12B9 Enemy 0D ID |
| 7E:12D4 - 7E:12D5 | Enemy 0D Instruction delay timer | | 7E:12BA - 7E:12BB Enemy 0D X position |
| 7E:12D6 - 7E:12D7 | Enemy 0D Palette slot | | 7E:12BC - 7E:12BD Enemy 0D X subpixel position |
| 7E:12D8 - 7E:12D9 | Enemy 0D VRAM index | | 7E:12BE - 7E:12BF Enemy 0D Y position |
| 7E:12DA - 7E:12DB | Enemy 0D Layer control | | 7E:12C0 - 7E:12C1 Enemy 0D Y subpixel position |
| 7E:12DC - 7E:12DD | Enemy 0D Invincibility flash timer | | 7E:12C2 - 7E:12C3 Enemy 0D Hitbox radius width |
| 7E:12DE - 7E:12DF | Enemy 0D Frozen timer | | 7E:12C4 - 7E:12C5 Enemy 0D Hitbox radius height |
| 7E:12E0 - 7E:12E1 | Enemy 0D AI variable | | 7E:12C6 - 7E:12C7 Enemy 0D Property bits (Special from SMILE) |
| 7E:12E2 - 7E:12E3 | Enemy 0D AI variable | | 7E:12C8 - 7E:12C9 Enemy 0D Extra property bits |
| 7E:12E4 - 7E:12E5 | Enemy 0D AI variable | | 7E:12CA - 7E:12CB Enemy 0D AI handler |
| 7E:12E6 | Enemy 0D bank | | 7E:12CC - 7E:12CD Enemy 0D HP |
| 7E:12E7 | Enemy 0D ??? | | 7E:12CE - 7E:12CF Enemy 0D Main graphics/hitbox pointer |
| 7E:12E8 - 7E:12F3 | Enemy 0D AI variable | | 7E:12D0 - 7E:12D1 Enemy 0D ??? (Chozo uses as loop counter) |
| 7E:12F4 - 7E:12F5 | Enemy 0D AI variable (Speed from SMILE) | | 7E:12D2 - 7E:12D3 Enemy 0D Pointer to PLM-esque instructions |
| 7E:12F6 - 7E:12F7 | Enemy 0D AI variable (Speed2 from SMILE) | | 7E:12D4 - 7E:12D5 Enemy 0D Instruction delay timer |
| 7E:12F8 - 7E:12F9 | Enemy 0E ID | | 7E:12D6 - 7E:12D7 Enemy 0D Palette slot |
| 7E:12FA - 7E:12FB | Enemy 0E X position | | 7E:12D8 - 7E:12D9 Enemy 0D VRAM index |
| 7E:12FC - 7E:12FD | Enemy 0E X subpixel position | | 7E:12DA - 7E:12DB Enemy 0D Layer control |
| 7E:12FE - 7E:12FF | Enemy 0E Y position | | 7E:12DC - 7E:12DD Enemy 0D Invincibility flash timer |
| 7E:1300 - 7E:1301 | Enemy 0E Y subpixel position | | 7E:12DE - 7E:12DF Enemy 0D Frozen timer |
| 7E:1302 - 7E:1303 | Enemy 0E Hitbox radius width | | 7E:12E0 - 7E:12E1 Enemy 0D AI variable |
| 7E:1304 - 7E:1305 | Enemy 0E Hitbox radius height | | 7E:12E2 - 7E:12E3 Enemy 0D AI variable |
| 7E:1306 - 7E:1307 | Enemy 0E Property bits (Special from SMILE) | | 7E:12E4 - 7E:12E5 Enemy 0D AI variable |
| 7E:1308 - 7E:1309 | Enemy 0E Extra property bits | | 7E:12E6 Enemy 0D bank |
| 7E:130A - 7E:130B | Enemy 0E AI handler | | 7E:12E7 Enemy 0D ??? |
| 7E:130C - 7E:130D | Enemy 0E HP | | 7E:12E8 - 7E:12F3 Enemy 0D AI variable |
| 7E:130E - 7E:130F | Enemy 0E Main graphics/hitbox pointer | | 7E:12F4 - 7E:12F5 Enemy 0D AI variable (Speed from SMILE) |
| 7E:1310 - 7E:1311 | Enemy 0E ??? (Chozo uses as loop counter) | | 7E:12F6 - 7E:12F7 Enemy 0D AI variable (Speed2 from SMILE) |
| 7E:1312 - 7E:1313 | Enemy 0E Pointer to PLM-esque instructions | | 7E:12F8 - 7E:12F9 Enemy 0E ID |
| 7E:1314 - 7E:1315 | Enemy 0E Instruction delay timer | | 7E:12FA - 7E:12FB Enemy 0E X position |
| 7E:1316 - 7E:1317 | Enemy 0E Palette slot | | 7E:12FC - 7E:12FD Enemy 0E X subpixel position |
| 7E:1318 - 7E:1319 | Enemy 0E VRAM index | | 7E:12FE - 7E:12FF Enemy 0E Y position |
| 7E:131A - 7E:131B | Enemy 0E Layer control | | 7E:1300 - 7E:1301 Enemy 0E Y subpixel position |
| 7E:131C - 7E:131D | Enemy 0E Invincibility flash timer | | 7E:1302 - 7E:1303 Enemy 0E Hitbox radius width |
| 7E:131E - 7E:131F | Enemy 0E Frozen timer | | 7E:1304 - 7E:1305 Enemy 0E Hitbox radius height |
| 7E:1320 - 7E:1321 | Enemy 0E AI variable | | 7E:1306 - 7E:1307 Enemy 0E Property bits (Special from SMILE) |
| 7E:1322 - 7E:1323 | Enemy 0E AI variable | | 7E:1308 - 7E:1309 Enemy 0E Extra property bits |
| 7E:1324 - 7E:1325 | Enemy 0E AI variable | | 7E:130A - 7E:130B Enemy 0E AI handler |
| 7E:1326 | Enemy 0E bank | | 7E:130C - 7E:130D Enemy 0E HP |
| 7E:1327 | Enemy 0E ??? | | 7E:130E - 7E:130F Enemy 0E Main graphics/hitbox pointer |
| 7E:1328 - 7E:1333 | Enemy 0E AI variable | | 7E:1310 - 7E:1311 Enemy 0E ??? (Chozo uses as loop counter) |
| 7E:1334 - 7E:1335 | Enemy 0E AI variable (Speed from SMILE) | | 7E:1312 - 7E:1313 Enemy 0E Pointer to PLM-esque instructions |
| 7E:1336 - 7E:1337 | Enemy 0E AI variable (Speed2 from SMILE) | | 7E:1314 - 7E:1315 Enemy 0E Instruction delay timer |
| 7E:1338 - 7E:1339 | Enemy 0F ID | | 7E:1316 - 7E:1317 Enemy 0E Palette slot |
| 7E:133A - 7E:133B | Enemy 0F X position | | 7E:1318 - 7E:1319 Enemy 0E VRAM index |
| 7E:133C - 7E:133D | Enemy 0F X subpixel position | | 7E:131A - 7E:131B Enemy 0E Layer control |
| 7E:133E - 7E:133F | Enemy 0F Y position | | 7E:131C - 7E:131D Enemy 0E Invincibility flash timer |
| 7E:1340 - 7E:1341 | Enemy 0F Y subpixel position | | 7E:131E - 7E:131F Enemy 0E Frozen timer |
| 7E:1342 - 7E:1343 | Enemy 0F Hitbox radius width | | 7E:1320 - 7E:1321 Enemy 0E AI variable |
| 7E:1344 - 7E:1345 | Enemy 0F Hitbox radius height | | 7E:1322 - 7E:1323 Enemy 0E AI variable |
| 7E:1346 - 7E:1347 | Enemy 0F Property bits (Special from SMILE) | | 7E:1324 - 7E:1325 Enemy 0E AI variable |
| 7E:1348 - 7E:1349 | Enemy 0F Extra property bits | | 7E:1326 Enemy 0E bank |
| 7E:134A - 7E:134B | Enemy 0F AI handler | | 7E:1327 Enemy 0E ??? |
| 7E:134C - 7E:134D | Enemy 0F HP | | 7E:1328 - 7E:1333 Enemy 0E AI variable |
| 7E:134E - 7E:134F | Enemy 0F Main graphics/hitbox pointer | | 7E:1334 - 7E:1335 Enemy 0E AI variable (Speed from SMILE) |
| 7E:1350 - 7E:1351 | Enemy 0F ??? (Chozo uses as loop counter) | | 7E:1336 - 7E:1337 Enemy 0E AI variable (Speed2 from SMILE) |
| 7E:1352 - 7E:1353 | Enemy 0F Pointer to PLM-esque instructions | | 7E:1338 - 7E:1339 Enemy 0F ID |
| 7E:1354 - 7E:1355 | Enemy 0F Instruction delay timer | | 7E:133A - 7E:133B Enemy 0F X position |
| 7E:1356 - 7E:1357 | Enemy 0F Palette slot | | 7E:133C - 7E:133D Enemy 0F X subpixel position |
| 7E:1358 - 7E:1359 | Enemy 0F VRAM index | | 7E:133E - 7E:133F Enemy 0F Y position |
| 7E:135A - 7E:135B | Enemy 0F Layer control | | 7E:1340 - 7E:1341 Enemy 0F Y subpixel position |
| 7E:135C - 7E:135D | Enemy 0F Invincibility flash timer | | 7E:1342 - 7E:1343 Enemy 0F Hitbox radius width |
| 7E:135E - 7E:135F | Enemy 0F Frozen timer | | 7E:1344 - 7E:1345 Enemy 0F Hitbox radius height |
| 7E:1360 - 7E:1361 | Enemy 0F AI variable | | 7E:1346 - 7E:1347 Enemy 0F Property bits (Special from SMILE) |
| 7E:1362 - 7E:1363 | Enemy 0F AI variable | | 7E:1348 - 7E:1349 Enemy 0F Extra property bits |
| 7E:1364 - 7E:1365 | Enemy 0F AI variable | | 7E:134A - 7E:134B Enemy 0F AI handler |
| 7E:1366 | Enemy 0F bank | | 7E:134C - 7E:134D Enemy 0F HP |
| 7E:1367 | Enemy 0F ??? | | 7E:134E - 7E:134F Enemy 0F Main graphics/hitbox pointer |
| 7E:1368 - 7E:1373 | Enemy 0F AI variable | | 7E:1350 - 7E:1351 Enemy 0F ??? (Chozo uses as loop counter) |
| 7E:1374 - 7E:1375 | Enemy 0F AI variable (Speed from SMILE) | | 7E:1352 - 7E:1353 Enemy 0F Pointer to PLM-esque instructions |
| 7E:1376 - 7E:1377 | Enemy 0F AI variable (Speed2 from SMILE) | | 7E:1354 - 7E:1355 Enemy 0F Instruction delay timer |
| 7E:1378 - 7E:1379 | Enemy 10 ID | | 7E:1356 - 7E:1357 Enemy 0F Palette slot |
| 7E:137A - 7E:137B | Enemy 10 X position | | 7E:1358 - 7E:1359 Enemy 0F VRAM index |
| 7E:137C - 7E:137D | Enemy 10 X subpixel position | | 7E:135A - 7E:135B Enemy 0F Layer control |
| 7E:137E - 7E:137F | Enemy 10 Y position | | 7E:135C - 7E:135D Enemy 0F Invincibility flash timer |
| 7E:1380 - 7E:1381 | Enemy 10 Y subpixel position | | 7E:135E - 7E:135F Enemy 0F Frozen timer |
| 7E:1382 - 7E:1383 | Enemy 10 Hitbox radius width | | 7E:1360 - 7E:1361 Enemy 0F AI variable |
| 7E:1384 - 7E:1385 | Enemy 10 Hitbox radius height | | 7E:1362 - 7E:1363 Enemy 0F AI variable |
| 7E:1386 - 7E:1387 | Enemy 10 Property bits (Special from SMILE) | | 7E:1364 - 7E:1365 Enemy 0F AI variable |
| 7E:1388 - 7E:1389 | Enemy 10 Extra property bits | | 7E:1366 Enemy 0F bank |
| 7E:138A - 7E:138B | Enemy 10 AI handler | | 7E:1367 Enemy 0F ??? |
| 7E:138C - 7E:138D | Enemy 10 HP | | 7E:1368 - 7E:1373 Enemy 0F AI variable |
| 7E:138E - 7E:138F | Enemy 10 Main graphics/hitbox pointer | | 7E:1374 - 7E:1375 Enemy 0F AI variable (Speed from SMILE) |
| 7E:1390 - 7E:1391 | Enemy 10 ??? (Chozo uses as loop counter) | | 7E:1376 - 7E:1377 Enemy 0F AI variable (Speed2 from SMILE) |
| 7E:1392 - 7E:1393 | Enemy 10 Pointer to PLM-esque instructions | | 7E:1378 - 7E:1379 Enemy 10 ID |
| 7E:1394 - 7E:1395 | Enemy 10 Instruction delay timer | | 7E:137A - 7E:137B Enemy 10 X position |
| 7E:1396 - 7E:1397 | Enemy 10 Palette slot | | 7E:137C - 7E:137D Enemy 10 X subpixel position |
| 7E:1398 - 7E:1399 | Enemy 10 VRAM index | | 7E:137E - 7E:137F Enemy 10 Y position |
| 7E:139A - 7E:139B | Enemy 10 Layer control | | 7E:1380 - 7E:1381 Enemy 10 Y subpixel position |
| 7E:139C - 7E:139D | Enemy 10 Invincibility flash timer | | 7E:1382 - 7E:1383 Enemy 10 Hitbox radius width |
| 7E:139E - 7E:139F | Enemy 10 Frozen timer | | 7E:1384 - 7E:1385 Enemy 10 Hitbox radius height |
| 7E:13A0 - 7E:13A1 | Enemy 10 AI variable | | 7E:1386 - 7E:1387 Enemy 10 Property bits (Special from SMILE) |
| 7E:13A2 - 7E:13A3 | Enemy 10 AI variable | | 7E:1388 - 7E:1389 Enemy 10 Extra property bits |
| 7E:13A4 - 7E:13A5 | Enemy 10 AI variable | | 7E:138A - 7E:138B Enemy 10 AI handler |
| 7E:13A6 | Enemy 10 bank | | 7E:138C - 7E:138D Enemy 10 HP |
| 7E:13A7 | Enemy 10 ??? | | 7E:138E - 7E:138F Enemy 10 Main graphics/hitbox pointer |
| 7E:13A8 - 7E:13B3 | Enemy 10 AI variable | | 7E:1390 - 7E:1391 Enemy 10 ??? (Chozo uses as loop counter) |
| 7E:13B4 - 7E:13B5 | Enemy 10 AI variable (Speed from SMILE) | | 7E:1392 - 7E:1393 Enemy 10 Pointer to PLM-esque instructions |
| 7E:13B6 - 7E:13B7 | Enemy 10 AI variable (Speed2 from SMILE) | | 7E:1394 - 7E:1395 Enemy 10 Instruction delay timer |
| 7E:13B8 - 7E:13B9 | Enemy 11 ID | | 7E:1396 - 7E:1397 Enemy 10 Palette slot |
| 7E:13BA - 7E:13BB | Enemy 11 X position | | 7E:1398 - 7E:1399 Enemy 10 VRAM index |
| 7E:13BC - 7E:13BD | Enemy 11 X subpixel position | | 7E:139A - 7E:139B Enemy 10 Layer control |
| 7E:13BE - 7E:13BF | Enemy 11 Y position | | 7E:139C - 7E:139D Enemy 10 Invincibility flash timer |
| 7E:13C0 - 7E:13C1 | Enemy 11 Y subpixel position | | 7E:139E - 7E:139F Enemy 10 Frozen timer |
| 7E:13C2 - 7E:13C3 | Enemy 11 Hitbox radius width | | 7E:13A0 - 7E:13A1 Enemy 10 AI variable |
| 7E:13C4 - 7E:13C5 | Enemy 11 Hitbox radius height | | 7E:13A2 - 7E:13A3 Enemy 10 AI variable |
| 7E:13C6 - 7E:13C7 | Enemy 11 Property bits (Special from SMILE) | | 7E:13A4 - 7E:13A5 Enemy 10 AI variable |
| 7E:13C8 - 7E:13C9 | Enemy 11 Extra property bits | | 7E:13A6 Enemy 10 bank |
| 7E:13CA - 7E:13CB | Enemy 11 AI handler | | 7E:13A7 Enemy 10 ??? |
| 7E:13CC - 7E:13CD | Enemy 11 HP | | 7E:13A8 - 7E:13B3 Enemy 10 AI variable |
| 7E:13CE - 7E:13CF | Enemy 11 Main graphics/hitbox pointer | | 7E:13B4 - 7E:13B5 Enemy 10 AI variable (Speed from SMILE) |
| 7E:13D0 - 7E:13D1 | Enemy 11 ??? (Chozo uses as loop counter) | | 7E:13B6 - 7E:13B7 Enemy 10 AI variable (Speed2 from SMILE) |
| 7E:13D2 - 7E:13D3 | Enemy 11 Pointer to PLM-esque instructions | | 7E:13B8 - 7E:13B9 Enemy 11 ID |
| 7E:13D4 - 7E:13D5 | Enemy 11 Instruction delay timer | | 7E:13BA - 7E:13BB Enemy 11 X position |
| 7E:13D6 - 7E:13D7 | Enemy 11 Palette slot | | 7E:13BC - 7E:13BD Enemy 11 X subpixel position |
| 7E:13D8 - 7E:13D9 | Enemy 11 VRAM index | | 7E:13BE - 7E:13BF Enemy 11 Y position |
| 7E:13DA - 7E:13DB | Enemy 11 Layer control | | 7E:13C0 - 7E:13C1 Enemy 11 Y subpixel position |
| 7E:13DC - 7E:13DD | Enemy 11 Invincibility flash timer | | 7E:13C2 - 7E:13C3 Enemy 11 Hitbox radius width |
| 7E:13DE - 7E:13DF | Enemy 11 Frozen timer | | 7E:13C4 - 7E:13C5 Enemy 11 Hitbox radius height |
| 7E:13E0 - 7E:13E1 | Enemy 11 AI variable | | 7E:13C6 - 7E:13C7 Enemy 11 Property bits (Special from SMILE) |
| 7E:13E2 - 7E:13E3 | Enemy 11 AI variable | | 7E:13C8 - 7E:13C9 Enemy 11 Extra property bits |
| 7E:13E4 - 7E:13E5 | Enemy 11 AI variable | | 7E:13CA - 7E:13CB Enemy 11 AI handler |
| 7E:13E6 | Enemy 11 bank | | 7E:13CC - 7E:13CD Enemy 11 HP |
| 7E:13E7 | Enemy 11 ??? | | 7E:13CE - 7E:13CF Enemy 11 Main graphics/hitbox pointer |
| 7E:13E8 - 7E:13F3 | Enemy 11 AI variable | | 7E:13D0 - 7E:13D1 Enemy 11 ??? (Chozo uses as loop counter) |
| 7E:13F4 - 7E:13F5 | Enemy 11 AI variable (Speed from SMILE) | | 7E:13D2 - 7E:13D3 Enemy 11 Pointer to PLM-esque instructions |
| 7E:13F6 - 7E:13F7 | Enemy 11 AI variable (Speed2 from SMILE) | | 7E:13D4 - 7E:13D5 Enemy 11 Instruction delay timer |
| 7E:13F8 - 7E:13F9 | Enemy 12 ID | | 7E:13D6 - 7E:13D7 Enemy 11 Palette slot |
| 7E:13FA - 7E:13FB | Enemy 12 X position | | 7E:13D8 - 7E:13D9 Enemy 11 VRAM index |
| 7E:13FC - 7E:13FD | Enemy 12 X subpixel position | | 7E:13DA - 7E:13DB Enemy 11 Layer control |
| 7E:13FE - 7E:13FF | Enemy 12 Y position | | 7E:13DC - 7E:13DD Enemy 11 Invincibility flash timer |
| 7E:1400 - 7E:1401 | Enemy 12 Y subpixel position | | 7E:13DE - 7E:13DF Enemy 11 Frozen timer |
| 7E:1402 - 7E:1403 | Enemy 12 Hitbox radius width | | 7E:13E0 - 7E:13E1 Enemy 11 AI variable |
| 7E:1404 - 7E:1405 | Enemy 12 Hitbox radius height | | 7E:13E2 - 7E:13E3 Enemy 11 AI variable |
| 7E:1406 - 7E:1407 | Enemy 12 Property bits (Special from SMILE) | | 7E:13E4 - 7E:13E5 Enemy 11 AI variable |
| 7E:1408 - 7E:1409 | Enemy 12 Extra property bits | | 7E:13E6 Enemy 11 bank |
| 7E:140A - 7E:140B | Enemy 12 AI handler | | 7E:13E7 Enemy 11 ??? |
| 7E:140C - 7E:140D | Enemy 12 HP | | 7E:13E8 - 7E:13F3 Enemy 11 AI variable |
| 7E:140E - 7E:140F | Enemy 12 Main graphics/hitbox pointer | | 7E:13F4 - 7E:13F5 Enemy 11 AI variable (Speed from SMILE) |
| 7E:1410 - 7E:1411 | Enemy 12 ??? (Chozo uses as loop counter) | | 7E:13F6 - 7E:13F7 Enemy 11 AI variable (Speed2 from SMILE) |
| 7E:1412 - 7E:1413 | Enemy 12 Pointer to PLM-esque instructions | | 7E:13F8 - 7E:13F9 Enemy 12 ID |
| 7E:1414 - 7E:1415 | Enemy 12 Instruction delay timer | | 7E:13FA - 7E:13FB Enemy 12 X position |
| 7E:1416 - 7E:1417 | Enemy 12 Palette slot | | 7E:13FC - 7E:13FD Enemy 12 X subpixel position |
| 7E:1418 - 7E:1419 | Enemy 12 VRAM index | | 7E:13FE - 7E:13FF Enemy 12 Y position |
| 7E:141A - 7E:141B | Enemy 12 Layer control | | 7E:1400 - 7E:1401 Enemy 12 Y subpixel position |
| 7E:141C - 7E:141D | Enemy 12 Invincibility flash timer | | 7E:1402 - 7E:1403 Enemy 12 Hitbox radius width |
| 7E:141E - 7E:141F | Enemy 12 Frozen timer | | 7E:1404 - 7E:1405 Enemy 12 Hitbox radius height |
| 7E:1420 - 7E:1421 | Enemy 12 AI variable | | 7E:1406 - 7E:1407 Enemy 12 Property bits (Special from SMILE) |
| 7E:1422 - 7E:1423 | Enemy 12 AI variable | | 7E:1408 - 7E:1409 Enemy 12 Extra property bits |
| 7E:1424 - 7E:1425 | Enemy 12 AI variable | | 7E:140A - 7E:140B Enemy 12 AI handler |
| 7E:1426 | Enemy 12 bank | | 7E:140C - 7E:140D Enemy 12 HP |
| 7E:1427 | Enemy 12 ??? | | 7E:140E - 7E:140F Enemy 12 Main graphics/hitbox pointer |
| 7E:1428 - 7E:1433 | Enemy 12 AI variable | | 7E:1410 - 7E:1411 Enemy 12 ??? (Chozo uses as loop counter) |
| 7E:1434 - 7E:1435 | Enemy 12 AI variable (Speed from SMILE) | | 7E:1412 - 7E:1413 Enemy 12 Pointer to PLM-esque instructions |
| 7E:1436 - 7E:1437 | Enemy 12 AI variable (Speed2 from SMILE) | | 7E:1414 - 7E:1415 Enemy 12 Instruction delay timer |
| 7E:1438 - 7E:1439 | Enemy 13 ID | | 7E:1416 - 7E:1417 Enemy 12 Palette slot |
| 7E:143A - 7E:143B | Enemy 13 X position | | 7E:1418 - 7E:1419 Enemy 12 VRAM index |
| 7E:143C - 7E:143D | Enemy 13 X subpixel position | | 7E:141A - 7E:141B Enemy 12 Layer control |
| 7E:143E - 7E:143F | Enemy 13 Y position | | 7E:141C - 7E:141D Enemy 12 Invincibility flash timer |
| 7E:1440 - 7E:1441 | Enemy 13 Y subpixel position | | 7E:141E - 7E:141F Enemy 12 Frozen timer |
| 7E:1442 - 7E:1443 | Enemy 13 Hitbox radius width | | 7E:1420 - 7E:1421 Enemy 12 AI variable |
| 7E:1444 - 7E:1445 | Enemy 13 Hitbox radius height | | 7E:1422 - 7E:1423 Enemy 12 AI variable |
| 7E:1446 - 7E:1447 | Enemy 13 Property bits (Special from SMILE) | | 7E:1424 - 7E:1425 Enemy 12 AI variable |
| 7E:1448 - 7E:1449 | Enemy 13 Extra property bits | | 7E:1426 Enemy 12 bank |
| 7E:144A - 7E:144B | Enemy 13 AI handler | | 7E:1427 Enemy 12 ??? |
| 7E:144C - 7E:144D | Enemy 13 HP | | 7E:1428 - 7E:1433 Enemy 12 AI variable |
| 7E:144E - 7E:144F | Enemy 13 Main graphics/hitbox pointer | | 7E:1434 - 7E:1435 Enemy 12 AI variable (Speed from SMILE) |
| 7E:1450 - 7E:1451 | Enemy 13 ??? (Chozo uses as loop counter) | | 7E:1436 - 7E:1437 Enemy 12 AI variable (Speed2 from SMILE) |
| 7E:1452 - 7E:1453 | Enemy 13 Pointer to PLM-esque instructions | | 7E:1438 - 7E:1439 Enemy 13 ID |
| 7E:1454 - 7E:1455 | Enemy 13 Instruction delay timer | | 7E:143A - 7E:143B Enemy 13 X position |
| 7E:1456 - 7E:1457 | Enemy 13 Palette slot | | 7E:143C - 7E:143D Enemy 13 X subpixel position |
| 7E:1458 - 7E:1459 | Enemy 13 VRAM index | | 7E:143E - 7E:143F Enemy 13 Y position |
| 7E:145A - 7E:145B | Enemy 13 Layer control | | 7E:1440 - 7E:1441 Enemy 13 Y subpixel position |
| 7E:145C - 7E:145D | Enemy 13 Invincibility flash timer | | 7E:1442 - 7E:1443 Enemy 13 Hitbox radius width |
| 7E:145E - 7E:145F | Enemy 13 Frozen timer | | 7E:1444 - 7E:1445 Enemy 13 Hitbox radius height |
| 7E:1460 - 7E:1461 | Enemy 13 AI variable | | 7E:1446 - 7E:1447 Enemy 13 Property bits (Special from SMILE) |
| 7E:1462 - 7E:1463 | Enemy 13 AI variable | | 7E:1448 - 7E:1449 Enemy 13 Extra property bits |
| 7E:1464 - 7E:1465 | Enemy 13 AI variable | | 7E:144A - 7E:144B Enemy 13 AI handler |
| 7E:1466 | Enemy 13 bank | | 7E:144C - 7E:144D Enemy 13 HP |
| 7E:1467 | Enemy 13 ??? | | 7E:144E - 7E:144F Enemy 13 Main graphics/hitbox pointer |
| 7E:1468 - 7E:1473 | Enemy 13 AI variable | | 7E:1450 - 7E:1451 Enemy 13 ??? (Chozo uses as loop counter) |
| 7E:1474 - 7E:1475 | Enemy 13 AI variable (Speed from SMILE) | | 7E:1452 - 7E:1453 Enemy 13 Pointer to PLM-esque instructions |
| 7E:1476 - 7E:1477 | Enemy 13 AI variable (Speed2 from SMILE) | | 7E:1454 - 7E:1455 Enemy 13 Instruction delay timer |
| 7E:1478 - 7E:1479 | Enemy 14 ID | | 7E:1456 - 7E:1457 Enemy 13 Palette slot |
| 7E:147A - 7E:147B | Enemy 14 X position | | 7E:1458 - 7E:1459 Enemy 13 VRAM index |
| 7E:147C - 7E:147D | Enemy 14 X subpixel position | | 7E:145A - 7E:145B Enemy 13 Layer control |
| 7E:147E - 7E:147F | Enemy 14 Y position | | 7E:145C - 7E:145D Enemy 13 Invincibility flash timer |
| 7E:1480 - 7E:1481 | Enemy 14 Y subpixel position | | 7E:145E - 7E:145F Enemy 13 Frozen timer |
| 7E:1482 - 7E:1483 | Enemy 14 Hitbox radius width | | 7E:1460 - 7E:1461 Enemy 13 AI variable |
| 7E:1484 - 7E:1485 | Enemy 14 Hitbox radius height | | 7E:1462 - 7E:1463 Enemy 13 AI variable |
| 7E:1486 - 7E:1487 | Enemy 14 Property bits (Special from SMILE) | | 7E:1464 - 7E:1465 Enemy 13 AI variable |
| 7E:1488 - 7E:1489 | Enemy 14 Extra property bits | | 7E:1466 Enemy 13 bank |
| 7E:148A - 7E:148B | Enemy 14 AI handler | | 7E:1467 Enemy 13 ??? |
| 7E:148C - 7E:148D | Enemy 14 HP | | 7E:1468 - 7E:1473 Enemy 13 AI variable |
| 7E:148E - 7E:148F | Enemy 14 Main graphics/hitbox pointer | | 7E:1474 - 7E:1475 Enemy 13 AI variable (Speed from SMILE) |
| 7E:1490 - 7E:1491 | Enemy 14 ??? (Chozo uses as loop counter) | | 7E:1476 - 7E:1477 Enemy 13 AI variable (Speed2 from SMILE) |
| 7E:1492 - 7E:1493 | Enemy 14 Pointer to PLM-esque instructions | | 7E:1478 - 7E:1479 Enemy 14 ID |
| 7E:1494 - 7E:1495 | Enemy 14 Instruction delay timer | | 7E:147A - 7E:147B Enemy 14 X position |
| 7E:1496 - 7E:1497 | Enemy 14 Palette slot | | 7E:147C - 7E:147D Enemy 14 X subpixel position |
| 7E:1498 - 7E:1499 | Enemy 14 VRAM index | | 7E:147E - 7E:147F Enemy 14 Y position |
| 7E:149A - 7E:149B | Enemy 14 Layer control | | 7E:1480 - 7E:1481 Enemy 14 Y subpixel position |
| 7E:149C - 7E:149D | Enemy 14 Invincibility flash timer | | 7E:1482 - 7E:1483 Enemy 14 Hitbox radius width |
| 7E:149E - 7E:149F | Enemy 14 Frozen timer | | 7E:1484 - 7E:1485 Enemy 14 Hitbox radius height |
| 7E:14A0 - 7E:14A1 | Enemy 14 AI variable | | 7E:1486 - 7E:1487 Enemy 14 Property bits (Special from SMILE) |
| 7E:14A2 - 7E:14A3 | Enemy 14 AI variable | | 7E:1488 - 7E:1489 Enemy 14 Extra property bits |
| 7E:14A4 - 7E:14A5 | Enemy 14 AI variable | | 7E:148A - 7E:148B Enemy 14 AI handler |
| 7E:14A6 | Enemy 14 bank | | 7E:148C - 7E:148D Enemy 14 HP |
| 7E:14A7 | Enemy 14 ??? | | 7E:148E - 7E:148F Enemy 14 Main graphics/hitbox pointer |
| 7E:14A8 - 7E:14B3 | Enemy 14 AI variable | | 7E:1490 - 7E:1491 Enemy 14 ??? (Chozo uses as loop counter) |
| 7E:14B4 - 7E:14B5 | Enemy 14 AI variable (Speed from SMILE) | | 7E:1492 - 7E:1493 Enemy 14 Pointer to PLM-esque instructions |
| 7E:14B6 - 7E:14B7 | Enemy 14 AI variable (Speed2 from SMILE) | | 7E:1494 - 7E:1495 Enemy 14 Instruction delay timer |
| 7E:14B8 - 7E:14B9 | Enemy 15 ID | | 7E:1496 - 7E:1497 Enemy 14 Palette slot |
| 7E:14BA - 7E:14BB | Enemy 15 X position | | 7E:1498 - 7E:1499 Enemy 14 VRAM index |
| 7E:14BC - 7E:14BD | Enemy 15 X subpixel position | | 7E:149A - 7E:149B Enemy 14 Layer control |
| 7E:14BE - 7E:14BF | Enemy 15 Y position | | 7E:149C - 7E:149D Enemy 14 Invincibility flash timer |
| 7E:14C0 - 7E:14C1 | Enemy 15 Y subpixel position | | 7E:149E - 7E:149F Enemy 14 Frozen timer |
| 7E:14C2 - 7E:14C3 | Enemy 15 Hitbox radius width | | 7E:14A0 - 7E:14A1 Enemy 14 AI variable |
| 7E:14C4 - 7E:14C5 | Enemy 15 Hitbox radius height | | 7E:14A2 - 7E:14A3 Enemy 14 AI variable |
| 7E:14C6 - 7E:14C7 | Enemy 15 Property bits (Special from SMILE) | | 7E:14A4 - 7E:14A5 Enemy 14 AI variable |
| 7E:14C8 - 7E:14C9 | Enemy 15 Extra property bits | | 7E:14A6 Enemy 14 bank |
| 7E:14CA - 7E:14CB | Enemy 15 AI handler | | 7E:14A7 Enemy 14 ??? |
| 7E:14CC - 7E:14CD | Enemy 15 HP | | 7E:14A8 - 7E:14B3 Enemy 14 AI variable |
| 7E:14CE - 7E:14CF | Enemy 15 Main graphics/hitbox pointer | | 7E:14B4 - 7E:14B5 Enemy 14 AI variable (Speed from SMILE) |
| 7E:14D0 - 7E:14D1 | Enemy 15 ??? (Chozo uses as loop counter) | | 7E:14B6 - 7E:14B7 Enemy 14 AI variable (Speed2 from SMILE) |
| 7E:14D2 - 7E:14D3 | Enemy 15 Pointer to PLM-esque instructions | | 7E:14B8 - 7E:14B9 Enemy 15 ID |
| 7E:14D4 - 7E:14D5 | Enemy 15 Instruction delay timer | | 7E:14BA - 7E:14BB Enemy 15 X position |
| 7E:14D6 - 7E:14D7 | Enemy 15 Palette slot | | 7E:14BC - 7E:14BD Enemy 15 X subpixel position |
| 7E:14D8 - 7E:14D9 | Enemy 15 VRAM index | | 7E:14BE - 7E:14BF Enemy 15 Y position |
| 7E:14DA - 7E:14DB | Enemy 15 Layer control | | 7E:14C0 - 7E:14C1 Enemy 15 Y subpixel position |
| 7E:14DC - 7E:14DD | Enemy 15 Invincibility flash timer | | 7E:14C2 - 7E:14C3 Enemy 15 Hitbox radius width |
| 7E:14DE - 7E:14DF | Enemy 15 Frozen timer | | 7E:14C4 - 7E:14C5 Enemy 15 Hitbox radius height |
| 7E:14E0 - 7E:14E1 | Enemy 15 AI variable | | 7E:14C6 - 7E:14C7 Enemy 15 Property bits (Special from SMILE) |
| 7E:14E2 - 7E:14E3 | Enemy 15 AI variable | | 7E:14C8 - 7E:14C9 Enemy 15 Extra property bits |
| 7E:14E4 - 7E:14E5 | Enemy 15 AI variable | | 7E:14CA - 7E:14CB Enemy 15 AI handler |
| 7E:14E6 | Enemy 15 bank | | 7E:14CC - 7E:14CD Enemy 15 HP |
| 7E:14E7 | Enemy 15 ??? | | 7E:14CE - 7E:14CF Enemy 15 Main graphics/hitbox pointer |
| 7E:14E8 - 7E:14F3 | Enemy 15 AI variable | | 7E:14D0 - 7E:14D1 Enemy 15 ??? (Chozo uses as loop counter) |
| 7E:14F4 - 7E:14F5 | Enemy 15 AI variable (Speed from SMILE) | | 7E:14D2 - 7E:14D3 Enemy 15 Pointer to PLM-esque instructions |
| 7E:14F6 - 7E:14F7 | Enemy 15 AI variable (Speed2 from SMILE) | | 7E:14D4 - 7E:14D5 Enemy 15 Instruction delay timer |
| 7E:14F8 - 7E:14F9 | Enemy 16 ID | | 7E:14D6 - 7E:14D7 Enemy 15 Palette slot |
| 7E:14FA - 7E:14FB | Enemy 16 X position | | 7E:14D8 - 7E:14D9 Enemy 15 VRAM index |
| 7E:14FC - 7E:14FD | Enemy 16 X subpixel position | | 7E:14DA - 7E:14DB Enemy 15 Layer control |
| 7E:14FE - 7E:14FF | Enemy 16 Y position | | 7E:14DC - 7E:14DD Enemy 15 Invincibility flash timer |
| 7E:1500 - 7E:1501 | Enemy 16 Y subpixel position | | 7E:14DE - 7E:14DF Enemy 15 Frozen timer |
| 7E:1502 - 7E:1503 | Enemy 16 Hitbox radius width | | 7E:14E0 - 7E:14E1 Enemy 15 AI variable |
| 7E:1504 - 7E:1505 | Enemy 16 Hitbox radius height | | 7E:14E2 - 7E:14E3 Enemy 15 AI variable |
| 7E:1506 - 7E:1507 | Enemy 16 Property bits (Special from SMILE) | | 7E:14E4 - 7E:14E5 Enemy 15 AI variable |
| 7E:1508 - 7E:1509 | Enemy 16 Extra property bits | | 7E:14E6 Enemy 15 bank |
| 7E:150A - 7E:150B | Enemy 16 AI handler | | 7E:14E7 Enemy 15 ??? |
| 7E:150C - 7E:150D | Enemy 16 HP | | 7E:14E8 - 7E:14F3 Enemy 15 AI variable |
| 7E:150E - 7E:150F | Enemy 16 Main graphics/hitbox pointer | | 7E:14F4 - 7E:14F5 Enemy 15 AI variable (Speed from SMILE) |
| 7E:1510 - 7E:1511 | Enemy 16 ??? (Chozo uses as loop counter) | | 7E:14F6 - 7E:14F7 Enemy 15 AI variable (Speed2 from SMILE) |
| 7E:1512 - 7E:1513 | Enemy 16 Pointer to PLM-esque instructions | | 7E:14F8 - 7E:14F9 Enemy 16 ID |
| 7E:1514 - 7E:1515 | Enemy 16 Instruction delay timer | | 7E:14FA - 7E:14FB Enemy 16 X position |
| 7E:1516 - 7E:1517 | Enemy 16 Palette slot | | 7E:14FC - 7E:14FD Enemy 16 X subpixel position |
| 7E:1518 - 7E:1519 | Enemy 16 VRAM index | | 7E:14FE - 7E:14FF Enemy 16 Y position |
| 7E:151A - 7E:151B | Enemy 16 Layer control | | 7E:1500 - 7E:1501 Enemy 16 Y subpixel position |
| 7E:151C - 7E:151D | Enemy 16 Invincibility flash timer | | 7E:1502 - 7E:1503 Enemy 16 Hitbox radius width |
| 7E:151E - 7E:151F | Enemy 16 Frozen timer | | 7E:1504 - 7E:1505 Enemy 16 Hitbox radius height |
| 7E:1520 - 7E:1521 | Enemy 16 AI variable | | 7E:1506 - 7E:1507 Enemy 16 Property bits (Special from SMILE) |
| 7E:1522 - 7E:1523 | Enemy 16 AI variable | | 7E:1508 - 7E:1509 Enemy 16 Extra property bits |
| 7E:1524 - 7E:1525 | Enemy 16 AI variable | | 7E:150A - 7E:150B Enemy 16 AI handler |
| 7E:1526 | Enemy 16 bank | | 7E:150C - 7E:150D Enemy 16 HP |
| 7E:1527 | Enemy 16 ??? | | 7E:150E - 7E:150F Enemy 16 Main graphics/hitbox pointer |
| 7E:1528 - 7E:1533 | Enemy 16 AI variable | | 7E:1510 - 7E:1511 Enemy 16 ??? (Chozo uses as loop counter) |
| 7E:1534 - 7E:1535 | Enemy 16 AI variable (Speed from SMILE) | | 7E:1512 - 7E:1513 Enemy 16 Pointer to PLM-esque instructions |
| 7E:1536 - 7E:1537 | Enemy 16 AI variable (Speed2 from SMILE) | | 7E:1514 - 7E:1515 Enemy 16 Instruction delay timer |
| 7E:1538 - 7E:1539 | Enemy 17 ID | | 7E:1516 - 7E:1517 Enemy 16 Palette slot |
| 7E:153A - 7E:153B | Enemy 17 X position | | 7E:1518 - 7E:1519 Enemy 16 VRAM index |
| 7E:153C - 7E:153D | Enemy 17 X subpixel position | | 7E:151A - 7E:151B Enemy 16 Layer control |
| 7E:153E - 7E:153F | Enemy 17 Y position | | 7E:151C - 7E:151D Enemy 16 Invincibility flash timer |
| 7E:1540 - 7E:1541 | Enemy 17 Y subpixel position | | 7E:151E - 7E:151F Enemy 16 Frozen timer |
| 7E:1542 - 7E:1543 | Enemy 17 Hitbox radius width | | 7E:1520 - 7E:1521 Enemy 16 AI variable |
| 7E:1544 - 7E:1545 | Enemy 17 Hitbox radius height | | 7E:1522 - 7E:1523 Enemy 16 AI variable |
| 7E:1546 - 7E:1547 | Enemy 17 Property bits (Special from SMILE) | | 7E:1524 - 7E:1525 Enemy 16 AI variable |
| 7E:1548 - 7E:1549 | Enemy 17 Extra property bits | | 7E:1526 Enemy 16 bank |
| 7E:154A - 7E:154B | Enemy 17 AI handler | | 7E:1527 Enemy 16 ??? |
| 7E:154C - 7E:154D | Enemy 17 HP | | 7E:1528 - 7E:1533 Enemy 16 AI variable |
| 7E:154E - 7E:154F | Enemy 17 Main graphics/hitbox pointer | | 7E:1534 - 7E:1535 Enemy 16 AI variable (Speed from SMILE) |
| 7E:1550 - 7E:1551 | Enemy 17 ??? (Chozo uses as loop counter) | | 7E:1536 - 7E:1537 Enemy 16 AI variable (Speed2 from SMILE) |
| 7E:1552 - 7E:1553 | Enemy 17 Pointer to PLM-esque instructions | | 7E:1538 - 7E:1539 Enemy 17 ID |
| 7E:1554 - 7E:1555 | Enemy 17 Instruction delay timer | | 7E:153A - 7E:153B Enemy 17 X position |
| 7E:1556 - 7E:1557 | Enemy 17 Palette slot | | 7E:153C - 7E:153D Enemy 17 X subpixel position |
| 7E:1558 - 7E:1559 | Enemy 17 VRAM index | | 7E:153E - 7E:153F Enemy 17 Y position |
| 7E:155A - 7E:155B | Enemy 17 Layer control | | 7E:1540 - 7E:1541 Enemy 17 Y subpixel position |
| 7E:155C - 7E:155D | Enemy 17 Invincibility flash timer | | 7E:1542 - 7E:1543 Enemy 17 Hitbox radius width |
| 7E:155E - 7E:155F | Enemy 17 Frozen timer | | 7E:1544 - 7E:1545 Enemy 17 Hitbox radius height |
| 7E:1560 - 7E:1561 | Enemy 17 AI variable | | 7E:1546 - 7E:1547 Enemy 17 Property bits (Special from SMILE) |
| 7E:1562 - 7E:1563 | Enemy 17 AI variable | | 7E:1548 - 7E:1549 Enemy 17 Extra property bits |
| 7E:1564 - 7E:1565 | Enemy 17 AI variable | | 7E:154A - 7E:154B Enemy 17 AI handler |
| 7E:1566 | Enemy 17 bank | | 7E:154C - 7E:154D Enemy 17 HP |
| 7E:1567 | Enemy 17 ??? | | 7E:154E - 7E:154F Enemy 17 Main graphics/hitbox pointer |
| 7E:1568 - 7E:1573 | Enemy 17 AI variable | | 7E:1550 - 7E:1551 Enemy 17 ??? (Chozo uses as loop counter) |
| 7E:1574 - 7E:1575 | Enemy 17 AI variable (Speed from SMILE) | | 7E:1552 - 7E:1553 Enemy 17 Pointer to PLM-esque instructions |
| 7E:1576 - 7E:1577 | Enemy 17 AI variable (Speed2 from SMILE) | | 7E:1554 - 7E:1555 Enemy 17 Instruction delay timer |
| 7E:1578 - 7E:1579 | Enemy 18 ID | | 7E:1556 - 7E:1557 Enemy 17 Palette slot |
| 7E:157A - 7E:157B | Enemy 18 X position | | 7E:1558 - 7E:1559 Enemy 17 VRAM index |
| 7E:157C - 7E:157D | Enemy 18 X subpixel position | | 7E:155A - 7E:155B Enemy 17 Layer control |
| 7E:157E - 7E:157F | Enemy 18 Y position | | 7E:155C - 7E:155D Enemy 17 Invincibility flash timer |
| 7E:1580 - 7E:1581 | Enemy 18 Y subpixel position | | 7E:155E - 7E:155F Enemy 17 Frozen timer |
| 7E:1582 - 7E:1583 | Enemy 18 Hitbox radius width | | 7E:1560 - 7E:1561 Enemy 17 AI variable |
| 7E:1584 - 7E:1585 | Enemy 18 Hitbox radius height | | 7E:1562 - 7E:1563 Enemy 17 AI variable |
| 7E:1586 - 7E:1587 | Enemy 18 Property bits (Special from SMILE) | | 7E:1564 - 7E:1565 Enemy 17 AI variable |
| 7E:1588 - 7E:1589 | Enemy 18 Extra property bits | | 7E:1566 Enemy 17 bank |
| 7E:158A - 7E:158B | Enemy 18 AI handler | | 7E:1567 Enemy 17 ??? |
| 7E:158C - 7E:158D | Enemy 18 HP | | 7E:1568 - 7E:1573 Enemy 17 AI variable |
| 7E:158E - 7E:158F | Enemy 18 Main graphics/hitbox pointer | | 7E:1574 - 7E:1575 Enemy 17 AI variable (Speed from SMILE) |
| 7E:1590 - 7E:1591 | Enemy 18 ??? (Chozo uses as loop counter) | | 7E:1576 - 7E:1577 Enemy 17 AI variable (Speed2 from SMILE) |
| 7E:1592 - 7E:1593 | Enemy 18 Pointer to PLM-esque instructions | | 7E:1578 - 7E:1579 Enemy 18 ID |
| 7E:1594 - 7E:1595 | Enemy 18 Instruction delay timer | | 7E:157A - 7E:157B Enemy 18 X position |
| 7E:1596 - 7E:1597 | Enemy 18 Palette slot | | 7E:157C - 7E:157D Enemy 18 X subpixel position |
| 7E:1598 - 7E:1599 | Enemy 18 VRAM index | | 7E:157E - 7E:157F Enemy 18 Y position |
| 7E:159A - 7E:159B | Enemy 18 Layer control | | 7E:1580 - 7E:1581 Enemy 18 Y subpixel position |
| 7E:159C - 7E:159D | Enemy 18 Invincibility flash timer | | 7E:1582 - 7E:1583 Enemy 18 Hitbox radius width |
| 7E:159E - 7E:159F | Enemy 18 Frozen timer | | 7E:1584 - 7E:1585 Enemy 18 Hitbox radius height |
| 7E:15A0 - 7E:15A1 | Enemy 18 AI variable | | 7E:1586 - 7E:1587 Enemy 18 Property bits (Special from SMILE) |
| 7E:15A2 - 7E:15A3 | Enemy 18 AI variable | | 7E:1588 - 7E:1589 Enemy 18 Extra property bits |
| 7E:15A4 - 7E:15A5 | Enemy 18 AI variable | | 7E:158A - 7E:158B Enemy 18 AI handler |
| 7E:15A6 | Enemy 18 bank | | 7E:158C - 7E:158D Enemy 18 HP |
| 7E:15A7 | Enemy 18 ??? | | 7E:158E - 7E:158F Enemy 18 Main graphics/hitbox pointer |
| 7E:15A8 - 7E:15B3 | Enemy 18 AI variable | | 7E:1590 - 7E:1591 Enemy 18 ??? (Chozo uses as loop counter) |
| 7E:15B4 - 7E:15B5 | Enemy 18 AI variable (Speed from SMILE) | | 7E:1592 - 7E:1593 Enemy 18 Pointer to PLM-esque instructions |
| 7E:15B6 - 7E:15B7 | Enemy 18 AI variable (Speed2 from SMILE) | | 7E:1594 - 7E:1595 Enemy 18 Instruction delay timer |
| 7E:15B8 - 7E:15B9 | Enemy 19 ID | | 7E:1596 - 7E:1597 Enemy 18 Palette slot |
| 7E:15BA - 7E:15BB | Enemy 19 X position | | 7E:1598 - 7E:1599 Enemy 18 VRAM index |
| 7E:15BC - 7E:15BD | Enemy 19 X subpixel position | | 7E:159A - 7E:159B Enemy 18 Layer control |
| 7E:15BE - 7E:15BF | Enemy 19 Y position | | 7E:159C - 7E:159D Enemy 18 Invincibility flash timer |
| 7E:15C0 - 7E:15C1 | Enemy 19 Y subpixel position | | 7E:159E - 7E:159F Enemy 18 Frozen timer |
| 7E:15C2 - 7E:15C3 | Enemy 19 Hitbox radius width | | 7E:15A0 - 7E:15A1 Enemy 18 AI variable |
| 7E:15C4 - 7E:15C5 | Enemy 19 Hitbox radius height | | 7E:15A2 - 7E:15A3 Enemy 18 AI variable |
| 7E:15C6 - 7E:15C7 | Enemy 19 Property bits (Special from SMILE) | | 7E:15A4 - 7E:15A5 Enemy 18 AI variable |
| 7E:15C8 - 7E:15C9 | Enemy 19 Extra property bits | | 7E:15A6 Enemy 18 bank |
| 7E:15CA - 7E:15CB | Enemy 19 AI handler | | 7E:15A7 Enemy 18 ??? |
| 7E:15CC - 7E:15CD | Enemy 19 HP | | 7E:15A8 - 7E:15B3 Enemy 18 AI variable |
| 7E:15CE - 7E:15CF | Enemy 19 Main graphics/hitbox pointer | | 7E:15B4 - 7E:15B5 Enemy 18 AI variable (Speed from SMILE) |
| 7E:15D0 - 7E:15D1 | Enemy 19 ??? (Chozo uses as loop counter) | | 7E:15B6 - 7E:15B7 Enemy 18 AI variable (Speed2 from SMILE) |
| 7E:15D2 - 7E:15D3 | Enemy 19 Pointer to PLM-esque instructions | | 7E:15B8 - 7E:15B9 Enemy 19 ID |
| 7E:15D4 - 7E:15D5 | Enemy 19 Instruction delay timer | | 7E:15BA - 7E:15BB Enemy 19 X position |
| 7E:15D6 - 7E:15D7 | Enemy 19 Palette slot | | 7E:15BC - 7E:15BD Enemy 19 X subpixel position |
| 7E:15D8 - 7E:15D9 | Enemy 19 VRAM index | | 7E:15BE - 7E:15BF Enemy 19 Y position |
| 7E:15DA - 7E:15DB | Enemy 19 Layer control | | 7E:15C0 - 7E:15C1 Enemy 19 Y subpixel position |
| 7E:15DC - 7E:15DD | Enemy 19 Invincibility flash timer | | 7E:15C2 - 7E:15C3 Enemy 19 Hitbox radius width |
| 7E:15DE - 7E:15DF | Enemy 19 Frozen timer | | 7E:15C4 - 7E:15C5 Enemy 19 Hitbox radius height |
| 7E:15E0 - 7E:15E1 | Enemy 19 AI variable | | 7E:15C6 - 7E:15C7 Enemy 19 Property bits (Special from SMILE) |
| 7E:15E2 - 7E:15E3 | Enemy 19 AI variable | | 7E:15C8 - 7E:15C9 Enemy 19 Extra property bits |
| 7E:15E4 - 7E:15E5 | Enemy 19 AI variable | | 7E:15CA - 7E:15CB Enemy 19 AI handler |
| 7E:15E6 | Enemy 19 bank | | 7E:15CC - 7E:15CD Enemy 19 HP |
| 7E:15E7 | Enemy 19 ??? | | 7E:15CE - 7E:15CF Enemy 19 Main graphics/hitbox pointer |
| 7E:15E8 - 7E:15F3 | Enemy 19 AI variable | | 7E:15D0 - 7E:15D1 Enemy 19 ??? (Chozo uses as loop counter) |
| 7E:15F4 - 7E:15F5 | Enemy 19 AI variable (Speed from SMILE) | | 7E:15D2 - 7E:15D3 Enemy 19 Pointer to PLM-esque instructions |
| 7E:15F6 - 7E:15F7 | Enemy 19 AI variable (Speed2 from SMILE) | | 7E:15D4 - 7E:15D5 Enemy 19 Instruction delay timer |
| 7E:15F8 - 7E:15F9 | Enemy 1A ID | | 7E:15D6 - 7E:15D7 Enemy 19 Palette slot |
| 7E:15FA - 7E:15FB | Enemy 1A X position | | 7E:15D8 - 7E:15D9 Enemy 19 VRAM index |
| 7E:15FC - 7E:15FD | Enemy 1A X subpixel position | | 7E:15DA - 7E:15DB Enemy 19 Layer control |
| 7E:15FE - 7E:15FF | Enemy 1A Y position | | 7E:15DC - 7E:15DD Enemy 19 Invincibility flash timer |
| 7E:1600 - 7E:1601 | Enemy 1A Y subpixel position | | 7E:15DE - 7E:15DF Enemy 19 Frozen timer |
| 7E:1602 - 7E:1603 | Enemy 1A Hitbox radius width | | 7E:15E0 - 7E:15E1 Enemy 19 AI variable |
| 7E:1604 - 7E:1605 | Enemy 1A Hitbox radius height | | 7E:15E2 - 7E:15E3 Enemy 19 AI variable |
| 7E:1606 - 7E:1607 | Enemy 1A Property bits (Special from SMILE) | | 7E:15E4 - 7E:15E5 Enemy 19 AI variable |
| 7E:1608 - 7E:1609 | Enemy 1A Extra property bits | | 7E:15E6 Enemy 19 bank |
| 7E:160A - 7E:160B | Enemy 1A AI handler | | 7E:15E7 Enemy 19 ??? |
| 7E:160C - 7E:160D | Enemy 1A HP | | 7E:15E8 - 7E:15F3 Enemy 19 AI variable |
| 7E:160E - 7E:160F | Enemy 1A Main graphics/hitbox pointer | | 7E:15F4 - 7E:15F5 Enemy 19 AI variable (Speed from SMILE) |
| 7E:1610 - 7E:1611 | Enemy 1A ??? (Chozo uses as loop counter) | | 7E:15F6 - 7E:15F7 Enemy 19 AI variable (Speed2 from SMILE) |
| 7E:1612 - 7E:1613 | Enemy 1A Pointer to PLM-esque instructions | | 7E:15F8 - 7E:15F9 Enemy 1A ID |
| 7E:1614 - 7E:1615 | Enemy 1A Instruction delay timer | | 7E:15FA - 7E:15FB Enemy 1A X position |
| 7E:1616 - 7E:1617 | Enemy 1A Palette slot | | 7E:15FC - 7E:15FD Enemy 1A X subpixel position |
| 7E:1618 - 7E:1619 | Enemy 1A VRAM index | | 7E:15FE - 7E:15FF Enemy 1A Y position |
| 7E:161A - 7E:161B | Enemy 1A Layer control | | 7E:1600 - 7E:1601 Enemy 1A Y subpixel position |
| 7E:161C - 7E:161D | Enemy 1A Invincibility flash timer | | 7E:1602 - 7E:1603 Enemy 1A Hitbox radius width |
| 7E:161E - 7E:161F | Enemy 1A Frozen timer | | 7E:1604 - 7E:1605 Enemy 1A Hitbox radius height |
| 7E:1620 - 7E:1621 | Enemy 1A AI variable | | 7E:1606 - 7E:1607 Enemy 1A Property bits (Special from SMILE) |
| 7E:1622 - 7E:1623 | Enemy 1A AI variable | | 7E:1608 - 7E:1609 Enemy 1A Extra property bits |
| 7E:1624 - 7E:1625 | Enemy 1A AI variable | | 7E:160A - 7E:160B Enemy 1A AI handler |
| 7E:1626 | Enemy 1A bank | | 7E:160C - 7E:160D Enemy 1A HP |
| 7E:1627 | Enemy 1A ??? | | 7E:160E - 7E:160F Enemy 1A Main graphics/hitbox pointer |
| 7E:1628 - 7E:1633 | Enemy 1A AI variable | | 7E:1610 - 7E:1611 Enemy 1A ??? (Chozo uses as loop counter) |
| 7E:1634 - 7E:1635 | Enemy 1A AI variable (Speed from SMILE) | | 7E:1612 - 7E:1613 Enemy 1A Pointer to PLM-esque instructions |
| 7E:1636 - 7E:1637 | Enemy 1A AI variable (Speed2 from SMILE) | | 7E:1614 - 7E:1615 Enemy 1A Instruction delay timer |
| 7E:1638 - 7E:1639 | Enemy 1B ID | | 7E:1616 - 7E:1617 Enemy 1A Palette slot |
| 7E:163A - 7E:163B | Enemy 1B X position | | 7E:1618 - 7E:1619 Enemy 1A VRAM index |
| 7E:163C - 7E:163D | Enemy 1B X subpixel position | | 7E:161A - 7E:161B Enemy 1A Layer control |
| 7E:163E - 7E:163F | Enemy 1B Y position | | 7E:161C - 7E:161D Enemy 1A Invincibility flash timer |
| 7E:1640 - 7E:1641 | Enemy 1B Y subpixel position | | 7E:161E - 7E:161F Enemy 1A Frozen timer |
| 7E:1642 - 7E:1643 | Enemy 1B Hitbox radius width | | 7E:1620 - 7E:1621 Enemy 1A AI variable |
| 7E:1644 - 7E:1645 | Enemy 1B Hitbox radius height | | 7E:1622 - 7E:1623 Enemy 1A AI variable |
| 7E:1646 - 7E:1647 | Enemy 1B Property bits (Special from SMILE) | | 7E:1624 - 7E:1625 Enemy 1A AI variable |
| 7E:1648 - 7E:1649 | Enemy 1B Extra property bits | | 7E:1626 Enemy 1A bank |
| 7E:164A - 7E:164B | Enemy 1B AI handler | | 7E:1627 Enemy 1A ??? |
| 7E:164C - 7E:164D | Enemy 1B HP | | 7E:1628 - 7E:1633 Enemy 1A AI variable |
| 7E:164E - 7E:164F | Enemy 1B Main graphics/hitbox pointer | | 7E:1634 - 7E:1635 Enemy 1A AI variable (Speed from SMILE) |
| 7E:1650 - 7E:1651 | Enemy 1B ??? (Chozo uses as loop counter) | | 7E:1636 - 7E:1637 Enemy 1A AI variable (Speed2 from SMILE) |
| 7E:1652 - 7E:1653 | Enemy 1B Pointer to PLM-esque instructions | | 7E:1638 - 7E:1639 Enemy 1B ID |
| 7E:1654 - 7E:1655 | Enemy 1B Instruction delay timer | | 7E:163A - 7E:163B Enemy 1B X position |
| 7E:1656 - 7E:1657 | Enemy 1B Palette slot | | 7E:163C - 7E:163D Enemy 1B X subpixel position |
| 7E:1658 - 7E:1659 | Enemy 1B VRAM index | | 7E:163E - 7E:163F Enemy 1B Y position |
| 7E:165A - 7E:165B | Enemy 1B Layer control | | 7E:1640 - 7E:1641 Enemy 1B Y subpixel position |
| 7E:165C - 7E:165D | Enemy 1B Invincibility flash timer | | 7E:1642 - 7E:1643 Enemy 1B Hitbox radius width |
| 7E:165E - 7E:165F | Enemy 1B Frozen timer | | 7E:1644 - 7E:1645 Enemy 1B Hitbox radius height |
| 7E:1660 - 7E:1661 | Enemy 1B AI variable | | 7E:1646 - 7E:1647 Enemy 1B Property bits (Special from SMILE) |
| 7E:1662 - 7E:1663 | Enemy 1B AI variable | | 7E:1648 - 7E:1649 Enemy 1B Extra property bits |
| 7E:1664 - 7E:1665 | Enemy 1B AI variable | | 7E:164A - 7E:164B Enemy 1B AI handler |
| 7E:1666 | Enemy 1B bank | | 7E:164C - 7E:164D Enemy 1B HP |
| 7E:1667 | Enemy 1B ??? | | 7E:164E - 7E:164F Enemy 1B Main graphics/hitbox pointer |
| 7E:1668 - 7E:1673 | Enemy 1B AI variable | | 7E:1650 - 7E:1651 Enemy 1B ??? (Chozo uses as loop counter) |
| 7E:1674 - 7E:1675 | Enemy 1B AI variable (Speed from SMILE) | | 7E:1652 - 7E:1653 Enemy 1B Pointer to PLM-esque instructions |
| 7E:1676 - 7E:1677 | Enemy 1B AI variable (Speed2 from SMILE) | | 7E:1654 - 7E:1655 Enemy 1B Instruction delay timer |
| 7E:1678 - 7E:1679 | Enemy 1C ID | | 7E:1656 - 7E:1657 Enemy 1B Palette slot |
| 7E:167A - 7E:167B | Enemy 1C X position | | 7E:1658 - 7E:1659 Enemy 1B VRAM index |
| 7E:167C - 7E:167D | Enemy 1C X subpixel position | | 7E:165A - 7E:165B Enemy 1B Layer control |
| 7E:167E - 7E:167F | Enemy 1C Y position | | 7E:165C - 7E:165D Enemy 1B Invincibility flash timer |
| 7E:1680 - 7E:1681 | Enemy 1C Y subpixel position | | 7E:165E - 7E:165F Enemy 1B Frozen timer |
| 7E:1682 - 7E:1683 | Enemy 1C Hitbox radius width | | 7E:1660 - 7E:1661 Enemy 1B AI variable |
| 7E:1684 - 7E:1685 | Enemy 1C Hitbox radius height | | 7E:1662 - 7E:1663 Enemy 1B AI variable |
| 7E:1686 - 7E:1687 | Enemy 1C Property bits (Special from SMILE) | | 7E:1664 - 7E:1665 Enemy 1B AI variable |
| 7E:1688 - 7E:1689 | Enemy 1C Extra property bits | | 7E:1666 Enemy 1B bank |
| 7E:168A - 7E:168B | Enemy 1C AI handler | | 7E:1667 Enemy 1B ??? |
| 7E:168C - 7E:168D | Enemy 1C HP | | 7E:1668 - 7E:1673 Enemy 1B AI variable |
| 7E:168E - 7E:168F | Enemy 1C Main graphics/hitbox pointer | | 7E:1674 - 7E:1675 Enemy 1B AI variable (Speed from SMILE) |
| 7E:1690 - 7E:1691 | Enemy 1C ??? (Chozo uses as loop counter) | | 7E:1676 - 7E:1677 Enemy 1B AI variable (Speed2 from SMILE) |
| 7E:1692 - 7E:1693 | Enemy 1C Pointer to PLM-esque instructions | | 7E:1678 - 7E:1679 Enemy 1C ID |
| 7E:1694 - 7E:1695 | Enemy 1C Instruction delay timer | | 7E:167A - 7E:167B Enemy 1C X position |
| 7E:1696 - 7E:1697 | Enemy 1C Palette slot | | 7E:167C - 7E:167D Enemy 1C X subpixel position |
| 7E:1698 - 7E:1699 | Enemy 1C VRAM index | | 7E:167E - 7E:167F Enemy 1C Y position |
| 7E:169A - 7E:169B | Enemy 1C Layer control | | 7E:1680 - 7E:1681 Enemy 1C Y subpixel position |
| 7E:169C - 7E:169D | Enemy 1C Invincibility flash timer | | 7E:1682 - 7E:1683 Enemy 1C Hitbox radius width |
| 7E:169E - 7E:169F | Enemy 1C Frozen timer | | 7E:1684 - 7E:1685 Enemy 1C Hitbox radius height |
| 7E:16A0 - 7E:16A1 | Enemy 1C AI variable | | 7E:1686 - 7E:1687 Enemy 1C Property bits (Special from SMILE) |
| 7E:16A2 - 7E:16A3 | Enemy 1C AI variable | | 7E:1688 - 7E:1689 Enemy 1C Extra property bits |
| 7E:16A4 - 7E:16A5 | Enemy 1C AI variable | | 7E:168A - 7E:168B Enemy 1C AI handler |
| 7E:16A6 | Enemy 1C bank | | 7E:168C - 7E:168D Enemy 1C HP |
| 7E:16A7 | Enemy 1C ??? | | 7E:168E - 7E:168F Enemy 1C Main graphics/hitbox pointer |
| 7E:16A8 - 7E:16B3 | Enemy 1C AI variable | | 7E:1690 - 7E:1691 Enemy 1C ??? (Chozo uses as loop counter) |
| 7E:16B4 - 7E:16B5 | Enemy 1C AI variable (Speed from SMILE) | | 7E:1692 - 7E:1693 Enemy 1C Pointer to PLM-esque instructions |
| 7E:16B6 - 7E:16B7 | Enemy 1C AI variable (Speed2 from SMILE) | | 7E:1694 - 7E:1695 Enemy 1C Instruction delay timer |
| 7E:16B8 - 7E:16B9 | Enemy 1D ID | | 7E:1696 - 7E:1697 Enemy 1C Palette slot |
| 7E:16BA - 7E:16BB | Enemy 1D X position | | 7E:1698 - 7E:1699 Enemy 1C VRAM index |
| 7E:16BC - 7E:16BD | Enemy 1D X subpixel position | | 7E:169A - 7E:169B Enemy 1C Layer control |
| 7E:16BE - 7E:16BF | Enemy 1D Y position | | 7E:169C - 7E:169D Enemy 1C Invincibility flash timer |
| 7E:16C0 - 7E:16C1 | Enemy 1D Y subpixel position | | 7E:169E - 7E:169F Enemy 1C Frozen timer |
| 7E:16C2 - 7E:16C3 | Enemy 1D Hitbox radius width | | 7E:16A0 - 7E:16A1 Enemy 1C AI variable |
| 7E:16C4 - 7E:16C5 | Enemy 1D Hitbox radius height | | 7E:16A2 - 7E:16A3 Enemy 1C AI variable |
| 7E:16C6 - 7E:16C7 | Enemy 1D Property bits (Special from SMILE) | | 7E:16A4 - 7E:16A5 Enemy 1C AI variable |
| 7E:16C8 - 7E:16C9 | Enemy 1D Extra property bits | | 7E:16A6 Enemy 1C bank |
| 7E:16CA - 7E:16CB | Enemy 1D AI handler | | 7E:16A7 Enemy 1C ??? |
| 7E:16CC - 7E:16CD | Enemy 1D HP | | 7E:16A8 - 7E:16B3 Enemy 1C AI variable |
| 7E:16CE - 7E:16CF | Enemy 1D Main graphics/hitbox pointer | | 7E:16B4 - 7E:16B5 Enemy 1C AI variable (Speed from SMILE) |
| 7E:16D0 - 7E:16D1 | Enemy 1D ??? (Chozo uses as loop counter) | | 7E:16B6 - 7E:16B7 Enemy 1C AI variable (Speed2 from SMILE) |
| 7E:16D2 - 7E:16D3 | Enemy 1D Pointer to PLM-esque instructions | | 7E:16B8 - 7E:16B9 Enemy 1D ID |
| 7E:16D4 - 7E:16D5 | Enemy 1D Instruction delay timer | | 7E:16BA - 7E:16BB Enemy 1D X position |
| 7E:16D6 - 7E:16D7 | Enemy 1D Palette slot | | 7E:16BC - 7E:16BD Enemy 1D X subpixel position |
| 7E:16D8 - 7E:16D9 | Enemy 1D VRAM index | | 7E:16BE - 7E:16BF Enemy 1D Y position |
| 7E:16DA - 7E:16DB | Enemy 1D Layer control | | 7E:16C0 - 7E:16C1 Enemy 1D Y subpixel position |
| 7E:16DC - 7E:16DD | Enemy 1D Invincibility flash timer | | 7E:16C2 - 7E:16C3 Enemy 1D Hitbox radius width |
| 7E:16DE - 7E:16DF | Enemy 1D Frozen timer | | 7E:16C4 - 7E:16C5 Enemy 1D Hitbox radius height |
| 7E:16E0 - 7E:16E1 | Enemy 1D AI variable | | 7E:16C6 - 7E:16C7 Enemy 1D Property bits (Special from SMILE) |
| 7E:16E2 - 7E:16E3 | Enemy 1D AI variable | | 7E:16C8 - 7E:16C9 Enemy 1D Extra property bits |
| 7E:16E4 - 7E:16E5 | Enemy 1D AI variable | | 7E:16CA - 7E:16CB Enemy 1D AI handler |
| 7E:16E6 | Enemy 1D bank | | 7E:16CC - 7E:16CD Enemy 1D HP |
| 7E:16E7 | Enemy 1D ??? | | 7E:16CE - 7E:16CF Enemy 1D Main graphics/hitbox pointer |
| 7E:16E8 - 7E:16F3 | Enemy 1D AI variable | | 7E:16D0 - 7E:16D1 Enemy 1D ??? (Chozo uses as loop counter) |
| 7E:16F4 - 7E:16F5 | Enemy 1D AI variable (Speed from SMILE) | | 7E:16D2 - 7E:16D3 Enemy 1D Pointer to PLM-esque instructions |
| 7E:16F6 - 7E:16F7 | Enemy 1D AI variable (Speed2 from SMILE) | | 7E:16D4 - 7E:16D5 Enemy 1D Instruction delay timer |
| | | | 7E:16D6 - 7E:16D7 Enemy 1D Palette slot |
| 7E:16F8 - 7E:16F9 | Enemy 1E ID | | 7E:16D8 - 7E:16D9 Enemy 1D VRAM index |
| 7E:16FA - 7E:16FB | Enemy 1E X position | | 7E:16DA - 7E:16DB Enemy 1D Layer control |
| 7E:16FC - 7E:16FD | Enemy 1E X subpixel position | | 7E:16DC - 7E:16DD Enemy 1D Invincibility flash timer |
| 7E:16FE - 7E:16FF | Enemy 1E Y position | | 7E:16DE - 7E:16DF Enemy 1D Frozen timer |
| 7E:1700 - 7E:1701 | Enemy 1E Y subpixel position | | 7E:16E0 - 7E:16E1 Enemy 1D AI variable |
| 7E:1702 - 7E:1703 | Enemy 1E Hitbox radius width | | 7E:16E2 - 7E:16E3 Enemy 1D AI variable |
| 7E:1704 - 7E:1705 | Enemy 1E Hitbox radius height | | 7E:16E4 - 7E:16E5 Enemy 1D AI variable |
| 7E:1706 - 7E:1707 | Enemy 1E Property bits (Special from SMILE) | | 7E:16E6 Enemy 1D bank |
| 7E:1708 - 7E:1709 | Enemy 1E Extra property bits | | 7E:16E7 Enemy 1D ??? |
| 7E:170A - 7E:170B | Enemy 1E AI handler | | 7E:16E8 - 7E:16F3 Enemy 1D AI variable |
| 7E:170C - 7E:170D | Enemy 1E HP | | 7E:16F4 - 7E:16F5 Enemy 1D AI variable (Speed from SMILE) |
| 7E:170E - 7E:170F | Enemy 1E Main graphics/hitbox pointer | | 7E:16F6 - 7E:16F7 Enemy 1D AI variable (Speed2 from SMILE) |
| 7E:1710 - 7E:1711 | Enemy 1E ??? (Chozo uses as loop counter) | | 7E:16F8 - 7E:16F9 Enemy 1E ID |
| 7E:1712 - 7E:1713 | Enemy 1E Pointer to PLM-esque instructions | | 7E:16FA - 7E:16FB Enemy 1E X position |
| 7E:1714 - 7E:1715 | Enemy 1E Instruction delay timer | | 7E:16FC - 7E:16FD Enemy 1E X subpixel position |
| 7E:1716 - 7E:1717 | Enemy 1E Palette slot | | 7E:16FE - 7E:16FF Enemy 1E Y position |
| 7E:1718 - 7E:1719 | Enemy 1E VRAM index | | 7E:1700 - 7E:1701 Enemy 1E Y subpixel position |
| 7E:171A - 7E:171B | Enemy 1E Layer control | | 7E:1702 - 7E:1703 Enemy 1E Hitbox radius width |
| 7E:171C - 7E:171D | Enemy 1E Invincibility flash timer | | 7E:1704 - 7E:1705 Enemy 1E Hitbox radius height |
| 7E:171E - 7E:171F | Enemy 1E Frozen timer | | 7E:1706 - 7E:1707 Enemy 1E Property bits (Special from SMILE) |
| 7E:1720 - 7E:1721 | Enemy 1E AI variable | | 7E:1708 - 7E:1709 Enemy 1E Extra property bits |
| 7E:1722 - 7E:1723 | Enemy 1E AI variable | | 7E:170A - 7E:170B Enemy 1E AI handler |
| 7E:1724 - 7E:1725 | Enemy 1E AI variable | | 7E:170C - 7E:170D Enemy 1E HP |
| 7E:1726 | Enemy 1E bank | | 7E:170E - 7E:170F Enemy 1E Main graphics/hitbox pointer |
| 7E:1727 | Enemy 1E ??? | | 7E:1710 - 7E:1711 Enemy 1E ??? (Chozo uses as loop counter) |
| 7E:1728 - 7E:1733 | Enemy 1E AI variable | | 7E:1712 - 7E:1713 Enemy 1E Pointer to PLM-esque instructions |
| 7E:1734 - 7E:1735 | Enemy 1E AI variable (Speed from SMILE) | | 7E:1714 - 7E:1715 Enemy 1E Instruction delay timer |
| 7E:1736 - 7E:1737 | Enemy 1E AI variable (Speed2 from SMILE) | | 7E:1716 - 7E:1717 Enemy 1E Palette slot |
| 7E:1738 - 7E:1739 | Enemy 1F ID | | 7E:1718 - 7E:1719 Enemy 1E VRAM index |
| 7E:173A - 7E:173B | Enemy 1F X position | | 7E:171A - 7E:171B Enemy 1E Layer control |
| 7E:173C - 7E:173D | Enemy 1F X subpixel position | | 7E:171C - 7E:171D Enemy 1E Invincibility flash timer |
| 7E:173E - 7E:173F | Enemy 1F Y position | | 7E:171E - 7E:171F Enemy 1E Frozen timer |
| 7E:1740 - 7E:1741 | Enemy 1F Y subpixel position | | 7E:1720 - 7E:1721 Enemy 1E AI variable |
| 7E:1742 - 7E:1743 | Enemy 1F Hitbox radius width | | 7E:1722 - 7E:1723 Enemy 1E AI variable |
| 7E:1744 - 7E:1745 | Enemy 1F Hitbox radius height | | 7E:1724 - 7E:1725 Enemy 1E AI variable |
| 7E:1746 - 7E:1747 | Enemy 1F Property bits (Special from SMILE) | | 7E:1726 Enemy 1E bank |
| 7E:1748 - 7E:1749 | Enemy 1F Extra property bits | | 7E:1727 Enemy 1E ??? |
| 7E:174A - 7E:174B | Enemy 1F AI handler | | 7E:1728 - 7E:1733 Enemy 1E AI variable |
| 7E:174C - 7E:174D | Enemy 1F HP | | 7E:1734 - 7E:1735 Enemy 1E AI variable (Speed from SMILE) |
| 7E:174E - 7E:174F | Enemy 1F Main graphics/hitbox pointer | | 7E:1736 - 7E:1737 Enemy 1E AI variable (Speed2 from SMILE) |
| 7E:1750 - 7E:1751 | Enemy 1F ??? (Chozo uses as loop counter) | | 7E:1738 - 7E:1739 Enemy 1F ID |
| 7E:1752 - 7E:1753 | Enemy 1F Pointer to PLM-esque instructions | | 7E:173A - 7E:173B Enemy 1F X position |
| 7E:1754 - 7E:1755 | Enemy 1F Instruction delay timer | | 7E:173C - 7E:173D Enemy 1F X subpixel position |
| 7E:1756 - 7E:1757 | Enemy 1F Palette slot | | 7E:173E - 7E:173F Enemy 1F Y position |
| 7E:1758 - 7E:1759 | Enemy 1F VRAM index | | 7E:1740 - 7E:1741 Enemy 1F Y subpixel position |
| 7E:175A - 7E:175B | Enemy 1F Layer control | | 7E:1742 - 7E:1743 Enemy 1F Hitbox radius width |
| 7E:175C - 7E:175D | Enemy 1F Invincibility flash timer | | 7E:1744 - 7E:1745 Enemy 1F Hitbox radius height |
| 7E:175E - 7E:175F | Enemy 1F Frozen timer | | 7E:1746 - 7E:1747 Enemy 1F Property bits (Special from SMILE) |
| 7E:1760 - 7E:1761 | Enemy 1F AI variable | | 7E:1748 - 7E:1749 Enemy 1F Extra property bits |
| 7E:1762 - 7E:1763 | Enemy 1F AI variable | | 7E:174A - 7E:174B Enemy 1F AI handler |
| 7E:1764 - 7E:1765 | Enemy 1F AI variable | | 7E:174C - 7E:174D Enemy 1F HP |
| 7E:1766 | Enemy 1F bank | | 7E:174E - 7E:174F Enemy 1F Main graphics/hitbox pointer |
| 7E:1767 | Enemy 1F ??? | | 7E:1750 - 7E:1751 Enemy 1F ??? (Chozo uses as loop counter) |
| 7E:1768 - 7E:1773 | Enemy 1F AI variable | | 7E:1752 - 7E:1753 Enemy 1F Pointer to PLM-esque instructions |
| 7E:1774 - 7E:1775 | Enemy 1F AI variable (Speed from SMILE) | | 7E:1754 - 7E:1755 Enemy 1F Instruction delay timer |
| 7E:1776 - 7E:1777 | Enemy 1F AI variable (Speed2 from SMILE) | | 7E:1756 - 7E:1757 Enemy 1F Palette slot |
| 7E:1778 - 7E:1779 | Brightness loop counter for firefly rooms. 6 frames per index increment. | | 7E:1758 - 7E:1759 Enemy 1F VRAM index |
| 7E:177A - 7E:177B | Brightness loop index for firefly rooms. Indexes 88:B058,X | | 7E:175A - 7E:175B Enemy 1F Layer control |
| 7E:177E - 7E:177F | Brightness base index for firefly rooms. Indexes 88:B070,X. Intended as increments of 2. | | 7E:175C - 7E:175D Enemy 1F Invincibility flash timer |
| 7E:1784 - 7E:1787 | Used as a long pointer to enemy AI, ran when the enemy is placed in the room. Top byte is $0FA7,X, probably unused. | | 7E:175E - 7E:175F Enemy 1F Frozen timer |
| 7E:179C - 7E:179D | Special fight number used for bosses. | | 7E:1760 - 7E:1761 Enemy 1F AI variable |
| 7E:17A4 - 7E:17A5 | 'Stack' pointer for 7E:17AC | | 7E:1762 - 7E:1763 Enemy 1F AI variable |
| 7E:17A6 - 7E:17A7 | 'Stack' pointer for 7E:17EC | | 7E:1764 - 7E:1765 Enemy 1F AI variable |
| 7E:17A8 - 7E:17A9 | Current index for 17AC,X | | 7E:1766 Enemy 1F bank |
| 7E:17AA - 7E:17AB | Current index for 17EC,X | | 7E:1767 Enemy 1F ??? |
| 7E:17AC - 7E:17EB | List of enemy indexes of enemies that are to be run this frame. Ends at a #$FFFF | | 7E:1768 - 7E:1773 Enemy 1F AI variable |
| 7E:17EC - 7E:182B | List of enemy indexes of enemies that might interact with Samus. Ends at a #$FFFF | | 7E:1774 - 7E:1775 Enemy 1F AI variable (Speed from SMILE) |
| 7E:182C - 7E:1833 | Table for an enemy index value (this table indexed by 7E:0B02). Unknown use. | | 7E:1776 - 7E:1777 Enemy 1F AI variable (Speed2 from SMILE) |
| 7E:1834 - 7E:183B | Table for distance between Samus and above enemy? Same index. | | 7E:1778 - 7E:1779 Brightness loop counter for firefly rooms. 6 frames per index increment. |
| 7E:183C - 7E:183D | Process all enemies regardless of on-screen or not. | | 7E:177A - 7E:177B Brightness loop index for firefly rooms. Indexes 88:B058,X |
| 7E:183E - 7E:183F | Type of screen-shaking? | | 7E:177E - 7E:177F Brightness base index for firefly rooms. Indexes 88:B070,X. Intended as increments of 2. |
| 7E:1840 - 7E:1841 | Duration of screen-shaking? | | 7E:1784 - 7E:1787 Used as a long pointer to enemy AI, ran when the enemy is placed in the room. Top byte is $0FA7,X, probably unused. |
| 7E:1842 - 7E:1843 | Frame counter (*Every* frame) | | 7E:179C - 7E:179D Special fight number used for bosses. |
| 7E:184A - 7E:184B | Mirror of Samus's X position (pixels) | | 7E:17A4 - 7E:17A5 'Stack' pointer for 7E:17AC |
| 7E:184C - 7E:184D | Mirror of Samus's X position (subpixels) | | 7E:17A6 - 7E:17A7 'Stack' pointer for 7E:17EC |
| 7E:184E - 7E:184F | Mirror of enemy's X position (pixels) | | 7E:17A8 - 7E:17A9 Current index for 17AC,X |
| 7E:1850 - 7E:1851 | Mirror of enemy's X position (subpixels) | | 7E:17AA - 7E:17AB Current index for 17EC,X |
| 7E:1852 - 7E:1853 | Mirror of Samus's target Y(?) position (pixels) | | 7E:17AC - 7E:17EB List of enemy indexes of enemies that are to be run this frame. Ends at a #$FFFF |
| 7E:1854 - 7E:1855 | Mirror of Samus's target Y(?) position (subpixels) | | 7E:17EC - 7E:182B List of enemy indexes of enemies that might interact with Samus. Ends at a #$FFFF |
| 7E:1856 - 7E:1857 | Mirror of Samus's Y position (pixels) | | 7E:182C - 7E:1833 Table for an enemy index value (this table indexed by 7E:0B02). Unknown use. |
| 7E:1858 - 7E:1859 | Mirror of Samus's Y position (subpixels) | | 7E:1834 - 7E:183B Table for distance between Samus and above enemy? Same index. |
| 7E:185A - 7E:185B | Unknown. Type of collision between Samus and solid enemy? | | 7E:183C - 7E:183D Process all enemies regardless of on-screen or not. |
| 7E:185C - 7E:185D | Debug mode routine index. Used for JSR ($981F,X) in bank B4. #$00 - #$10, above will crash. Upper byte ignored. | | 7E:183E - 7E:183F Type of screen-shaking? |
| 7E:185E - 7E:185F | Debug mode... for skipping enemy processing, I think. Still die to PBs. | | 7E:1840 - 7E:1841 Duration of screen-shaking? |
| 7E:186E - 7E:186F | Enemy graphic pointer + 2 when detecting collisions between enemies and projectiles or Samus | | 7E:1842 - 7E:1843 Frame counter (*Every* frame) |
| 7E:1870 - 7E:1871 | Enemy left collision border for enemy/projectile collisions | | 7E:184A - 7E:184B Mirror of Samus's X position (pixels) |
| 7E:1872 - 7E:1873 | Enemy bottom collision border for enemy/projectile collisions | | 7E:184C - 7E:184D Mirror of Samus's X position (subpixels) |
| 7E:1874 - 7E:1875 | Enemy right collision border for enemy/projectile collisions | | 7E:184E - 7E:184F Mirror of enemy's X position (pixels) |
| 7E:1876 - 7E:1877 | Enemy top collision border for enemy/projectile collisions | | 7E:1850 - 7E:1851 Mirror of enemy's X position (subpixels) |
| 7E:1878 - 7E:1879 | Enemy; pointer at (graphic pointer + 8) + 2 | | 7E:1852 - 7E:1853 Mirror of Samus's target Y(?) position (pixels) |
| 7E:187A - 7E:187B | X position of current enemy graphic during enemy collision detection with projectiles or Samus. Also used as a mirror of projectile damage if they do collide, then later total damage. | | 7E:1854 - 7E:1855 Mirror of Samus's target Y(?) position (subpixels) |
| 7E:187C - 7E:187D | Y position of current enemy graphic during enemy collision detection with projectiles or Samus. | | 7E:1856 - 7E:1857 Mirror of Samus's Y position (pixels) |
| 7E:187E - 7E:187F | Right border of Samus when enemy is checking for collisions with Samus | | 7E:1858 - 7E:1859 Mirror of Samus's Y position (subpixels) |
| 7E:1880 - 7E:1881 | Left border of Samus when enemy is checking for collisions with Samus | | 7E:185A - 7E:185B Unknown. Type of collision between Samus and solid enemy? |
| 7E:1882 - 7E:1883 | Bottom border of Samus when enemy is checking for collisions with Samus | | 7E:185C - 7E:185D Debug mode routine index. Used for JSR ($981F,X) in bank B4. #$00 - #$10, above will crash. Upper byte ignored. |
| 7E:1884 - 7E:1885 | Top border of Samus when enemy is checking for collisions with Samus | | 7E:185E - 7E:185F Debug mode... for skipping enemy processing, I think. Still die to PBs. |
| 7E:189A - 7E:189B | Samus's target X position for next frame, in pixels | | 7E:186E - 7E:186F Enemy graphic pointer + 2 when detecting collisions between enemies and projectiles or Samus |
| 7E:189C - 7E:189D | Samus's target X position for next frame, in subpixels | | 7E:1870 - 7E:1871 Enemy left collision border for enemy/projectile collisions |
| 7E:189E - 7E:189F | Samus's target Y position for next frame, in pixels | | 7E:1872 - 7E:1873 Enemy bottom collision border for enemy/projectile collisions |
| 7E:18A0 - 7E:18A1 | Samus's target Y position for next frame, in subpixels | | 7E:1874 - 7E:1875 Enemy right collision border for enemy/projectile collisions |
| 7E:18A2 - 7E:18A3 | Mirror of Samus's X radius (7E:0AFE) | | 7E:1876 - 7E:1877 Enemy top collision border for enemy/projectile collisions |
| 7E:18A4 - 7E:18A5 | Mirror of Samus's Y radius (7E:0B00) | | 7E:1878 - 7E:1879 Enemy; pointer at (graphic pointer + 8) + 2 |
| 7E:18A6 - 7E:18A7 | Various use collision detection index (Samus/Enemy is an enemy index, Enemy/Projectile is a projectile index) | | 7E:187A - 7E:187B X position of current enemy graphic during enemy collision detection with projectiles or Samus. Also used as a mirror of projectile damage if they do collide, then later total damage. |
| 7E:18A8 - 7E:18A9 | Samus's invincibility timer when hurt | | 7E:187C - 7E:187D Y position of current enemy graphic during enemy collision detection with projectiles or Samus. |
| 7E:18AA - 7E:18AB | Samus's hurt-timer (pushed back, unable to move) | | 7E:187E - 7E:187F Right border of Samus when enemy is checking for collisions with Samus |
| 7E:18B0 - 7E:18B1 | HDMA flag. $8000 = HDMA | | 7E:1880 - 7E:1881 Left border of Samus when enemy is checking for collisions with Samus |
| 7E:18B2 - 7E:18B3 | Index value for RAM placement of HDMA (max of $0A) | | 7E:1882 - 7E:1883 Bottom border of Samus when enemy is checking for collisions with Samus |
| 7E:18B4 - 7E:18BF | List of DMA things? This entry is the value to write to 420b to start a DMA (top byte always 00) | | 7E:1884 - 7E:1885 Top border of Samus when enemy is checking for collisions with Samus |
| 7E:18C0 - 7E:18CB | Index for channel to use for DMA effect (00, 10, 20, 30, etc). High byte is bank to use for 18CC. | | 7E:189A - 7E:189B Samus's target X position for next frame, in pixels |
| 7E:18CC - 7E:18D7 | PLM instruction-esque pointer for above list. | | 7E:189C - 7E:189D Samus's target X position for next frame, in subpixels |
| 7E:18D8 - 7E:18E3 | Pointer to HDMA table for HDMA effect. (Probably just a general DMA source; put into 43X2) | | 7E:189E - 7E:189F Samus's target Y position for next frame, in pixels |
| 7E:18E4 - 7E:18EF | Delay to go to PLM instruction-esque pointer. Also, the 2-byte argument for a delay goes into 18D8. | | 7E:18A0 - 7E:18A1 Samus's target Y position for next frame, in subpixels |
| 7E:18F0 - 7E:18FB | First 2 bytes of a pointer. Pre PLM-esque code to run every frame. | | 7E:18A2 - 7E:18A3 Mirror of Samus's X radius (7E:0AFE) |
| 7E:18FC - 7E:1907 | Seperated by bytes - low byte is a bank byte for 18F0 pointer. High byte is unknown, unused? | | 7E:18A4 - 7E:18A5 Mirror of Samus's Y radius (7E:0B00) |
| 7E:195E - 7E:195F | Actual FX3 height | | 7E:18A6 - 7E:18A7 Various use collision detection index (Samus/Enemy is an enemy index, Enemy/Projectile is a projectile index) |
| 7E:1962 - 7E:1963 | Something to do with FX3 height. Referred to if 195E is negative. Used by lava? | | 7E:18A8 - 7E:18A9 Samus's invincibility timer when hurt |
| 7E:1964 - 7E:1965 | Pointer to something for VRAM in bank 8A. I'm guessing FX3 tilemap. | | 7E:18AA - 7E:18AB Samus's hurt-timer (pushed back, unable to move) |
| 7E:1966 - 7E:1967 | Direct pointer to room's FX1 entry | | 7E:18B0 - 7E:18B1 HDMA flag. $8000 = HDMA |
| 7E:1968 - 7E:1969 | Index into room's FX1 entry (added to 07CD to get 1966) | | 7E:18B2 - 7E:18B3 Index value for RAM placement of HDMA (max of $0A) |
| 7E:196A - 7E:196B | Pallete 'animation', LSRed out immediately, then animated tiles, LSRed out again. | | 7E:18B4 - 7E:18BF List of DMA things? This entry is the value to write to 420b to start a DMA (top byte always 00) |
| 7E:196C - 7E:196D | FX3 something. Need to look into. (Causes rumbling) | | 7E:18C0 - 7E:18CB Index for channel to use for DMA effect (00, 10, 20, 30, etc). High byte is bank to use for 18CC. |
| 7E:196E - 7E:196F | FX3 type (none, lava, acid, water, spores, rain, fog...) JSR index for 8067,X, in bank 90. | | 7E:18CC - 7E:18D7 PLM instruction-esque pointer for above list. |
| 7E:1972 - 7E:1973 | FX3 height variance? | | 7E:18D8 - 7E:18E3 Pointer to HDMA table for HDMA effect. (Probably just a general DMA source; put into 43X2) |
| 7E:1978 - 7E:1979 | FX3 height (average?) (measured from top of room down) | | 7E:18E4 - 7E:18EF Delay to go to PLM instruction-esque pointer. Also, the 2-byte argument for a delay goes into 18D8. |
| 7E:197A - 7E:197B | FX3 height to go to | | 7E:18F0 - 7E:18FB First 2 bytes of a pointer. Pre PLM-esque code to run every frame. |
| 7E:197C - 7E:197D | FX3 height adjustment speed (signed) | | 7E:18FC - 7E:1907 Seperated by bytes - low byte is a bank byte for 18F0 pointer. High byte is unknown, unused? |
| 7E:197E - 7E:197F | FX3 'C'. Bitflags: 0 = FX3 flows left, 1 = bg heat effect, 2 = 'line shift'? (Water does not affect Samus), 3 = unknown, 6 = Big FX3 tide, 7 = Small FX3 tide (priority over 6) | | 7E:195E - 7E:195F Actual FX3 height |
| 7E:1980 - 7E:1981 | FX3, frames to wait till beginning movement. (0 means 10000) | | 7E:1962 - 7E:1963 Something to do with FX3 height. Referred to if 195E is negative. Used by lava? |
| 7E:1982 - 7E:1983 | FX3 'A'. | | 7E:1964 - 7E:1965 Pointer to something for VRAM in bank 8A. I'm guessing FX3 tilemap. |
| 7E:1984 - 7E:1985 | FX3 'B'. | | 7E:1966 - 7E:1967 Direct pointer to room's FX1 entry |
| 7E:198D - 7E:198E | Flag, - enables e/r projectiles | | 7E:1968 - 7E:1969 Index into room's FX1 entry (added to 07CD to get 1966) |
| 7E:1991 - 7E:1992 | Current e/r projectile | | 7E:196A - 7E:196B Pallete 'animation', LSRed out immediately, then animated tiles, LSRed out again. |
| 7E:1995 - 7E:1996 | Unknown, something for projectiles? | | 7E:196C - 7E:196D FX3 something. Need to look into. (Causes rumbling) |
| 7E:1997 - 7E:19BA | Header / ID for projectiles ($12 / 18 max) | | 7E:196E - 7E:196F FX3 type (none, lava, acid, water, spores, rain, fog...) JSR index for 8067,X, in bank 90. |
| 7E:19BB - 7E:19DE | Add low byte to sprite character indices, set pallete to high byte | | 7E:1972 - 7E:1973 FX3 height variance? |
| 7E:19DF - 7E:1A02 | Table for something for enemy/room projectiles? | | 7E:1978 - 7E:1979 FX3 height (average?) (measured from top of room down) |
| 7E:19F7?- 7E:1A48 | ? Used for tile animations during new game intro text. | | 7E:197A - 7E:197B FX3 height to go to |
| 7E:1A03 - 7E:1A26 | Run-This-First-Every-Frame for enemy/room projectiles | | 7E:197C - 7E:197D FX3 height adjustment speed (signed) |
| 7E:1A27 - 7E:1A4A | Table for something for enemy/room projectiles? | | 7E:197E - 7E:197F FX3 'C'. Bitflags: 0 = FX3 flows left, 1 = bg heat effect, 2 = 'line shift'? (Water does not affect Samus), 3 = unknown, 6 = Big FX3 tide, 7 = Small FX3 tide (priority over 6) |
| 7E:1A4B - 7E:1A6E | X position of projectile, in pixels | | 7E:1980 - 7E:1981 FX3, frames to wait till beginning movement. (0 means 10000) |
| 7E:1A6F - 7E:1A92 | X subpixel position? (guessing) | | 7E:1982 - 7E:1983 FX3 'A'. |
| 7E:1A93 - 7E:1AB6 | Y position of projectile, in pixels | | 7E:1984 - 7E:1985 FX3 'B'. |
| 7E:1AB7 - 7E:1ADA | Y subpixel position? (guessing) | | 7E:198D - 7E:198E Flag, - enables e/r projectiles |
| 7E:1ADB - 7E:1AFE | Some sort of speed value? | | 7E:1991 - 7E:1992 Current e/r projectile |
| 7E:1AFF - 7E:1B22 | Table for something for enemy/room projectiles? (Custom?) | | 7E:1995 - 7E:1996 Unknown, something for projectiles? |
| 7E:1B23 - 7E:1B46 | Table for something for enemy/room projectiles? (Used by item drops as countdown to disappear) | | 7E:1997 - 7E:19BA Header / ID for projectiles ($12 / 18 max) |
| 7E:1B3D - 7E:1B4A | Control icons during controller setting menu screen (Fire, Jump, Run, Select, Cancel, AimUp, AimDown. 0-6 = X, A, B, Select, Y, R, L) | | 7E:19BB - 7E:19DE Add low byte to sprite character indices, set pallete to high byte |
| 7E:1B47 - 7E:1B6A | Instruction address / Graphic AI for e/r projectiles | | 7E:19DF - 7E:1A02 Table for something for enemy/room projectiles? |
| 7E:1B6B - 7E:1B8E | e/r projectile graphic pointer. Points to data entry: #sprites, (2-byte X, 1-byte Y, sprite bytes 3-4, 5 total bytes per sprite) (7E:1B7D - MB's intro hit counter?) | | 7E:19F7?- 7E:1A48 ? Used for tile animations during new game intro text. |
| 7E:1B8F - 7E:1BB2 | Frames Delay for 1B47 | | 7E:1A03 - 7E:1A26 Run-This-First-Every-Frame for enemy/room projectiles |
| 7E:1BB3 - 7E:1BD6 | X and Y radii. If either one is 0, intangible. | | 7E:1A27 - 7E:1A4A Table for something for enemy/room projectiles? |
| 7E:1BD7 - 7E:1BFA | Often: bits 0-11 = damage value, bit 12 = invisibility, bit 13 = disable collisions with Samus's projectiles, bit 14 = don't die on contact, bit 15 = detect collisions with projectiles (all not really tested) | | 7E:1A4B - 7E:1A6E X position of projectile, in pixels |
| 7E:1BFB - 7E:1C1E | Table for something for enemy/room projectiles? What kind of projectile hit this? | | 7E:1A6F - 7E:1A92 X subpixel position? (guessing) |
| 7E:1C1F - 7E:1C20 | Current message box type | | 7E:1A93 - 7E:1AB6 Y position of projectile, in pixels |
| 7E:1C23 - 7E:1C24 | PLM flag. Set to negative to enable PLMs. | | 7E:1AB7 - 7E:1ADA Y subpixel position? (guessing) |
| 7E:1C27 - 7E:1C28 | Current PLM's Index. See PLM_Details.txt for PLM data | | 7E:1ADB - 7E:1AFE Some sort of speed value? |
| 7E:1C29 - 7E:1C2A | Calculated PLM's X position | | 7E:1AFF - 7E:1B22 Table for something for enemy/room projectiles? (Custom?) |
| 7E:1C2B - 7E:1C2C | Calculated PLM's Y position | | 7E:1B23 - 7E:1B46 Table for something for enemy/room projectiles? (Used by item drops as countdown to disappear) |
| 7E:1C2D - 7E:1C2E | Current PLM's Index (used during unpausing graphics refresh) | | 7E:1B3D - 7E:1B4A Control icons during controller setting menu screen (Fire, Jump, Run, Select, Cancel, AimUp, AimDown. 0-6 = X, A, B, Select, Y, R, L) |
| 7E:1C2F - 7E:1C36 | Pointer to graphics for special PLMs (beams, equipment, etc.) in bank 89 | | 7E:1B47 - 7E:1B6A Instruction address / Graphic AI for e/r projectiles |
| 7E:1C37 - 7E:1C86 | PLM header table | | 7E:1B6B - 7E:1B8E e/r projectile graphic pointer. Points to data entry: #sprites, (2-byte X, 1-byte Y, sprite bytes 3-4, 5 total bytes per sprite) (7E:1B7D - MB's intro hit counter?) |
| 7E:1C87 - 7E:1CD6 | PLM's location in the room (nth block * 2) | | 7E:1B8F - 7E:1BB2 Frames Delay for 1B47 |
| 7E:1CD7 - 7E:1D26 | Pre-PLM instruction | | 7E:1BB3 - 7E:1BD6 X and Y radii. If either one is 0, intangible. |
| 7E:1D27 - 7E:1D76 | Next PLM instruction | | 7E:1BD7 - 7E:1BFA Often: bits 0-11 = damage value, bit 12 = invisibility, bit 13 = disable collisions with Samus's projectiles, bit 14 = don't die on contact, bit 15 = detect collisions with projectiles (all not really tested) |
| 7E:1D77 - 7E:1DC6 | Variable use PLM value | | 7E:1BFB - 7E:1C1E Table for something for enemy/room projectiles? What kind of projectile hit this? |
| 7E:1DC7 - 7E:1E16 | PLM Room argument | | 7E:1C1F - 7E:1C20 Current message box type |
| 7E:1E17 - 7E:1E66 | Variable use PLM value | | 7E:1C23 - 7E:1C24 PLM flag. Set to negative to enable PLMs. |
| 7E:1E67 - 7E:1E68 | Used as draw instruction to custom-draw PLM blocks. Usually #$0001 (1 block) | | 7E:1C27 - 7E:1C28 Current PLM's Index. See PLM_Details.txt for PLM data |
| 7E:1E69 - 7E:1E6A | Used as draw instruction to custom-draw PLM blocks. Custom block value | | 7E:1C29 - 7E:1C2A Calculated PLM's X position |
| 7E:1E6B - 7E:1E6C | Used as draw instruction to custom-draw PLM blocks. Usually #$0000, end value. | | 7E:1C2B - 7E:1C2C Calculated PLM's Y position |
| 7E:1E71 - 7E:1E72 | Flag, set Samus is in quicksand. Forces Samus into a ground position, fakes collision with ground. | | 7E:1C2D - 7E:1C2E Current PLM's Index (used during unpausing graphics refresh) |
| 7E:1E73 - 7E:1E74 | Which part of Samus is inside the block? Bottom(0), middle(1), top(2) | | 7E:1C2F - 7E:1C36 Pointer to graphics for special PLMs (beams, equipment, etc.) in bank 89 |
| 7E:1E75 - 7E:1E76 | Flag. Samus has used a save station in this room. Cleared when leaving the room. | | 7E:1C37 - 7E:1C86 PLM header table |
| 7E:1E77 - 7E:1E78 | BTS of current block (used by sloped blocks, at least) | | 7E:1C87 - 7E:1CD6 PLM's location in the room (nth block * 2) |
| 7E:1E79 - 7E:1E7A | Flag. Minus = Whatevers present (below structure). Known uses: heat damage, making parts of the background glow. (e.g. Brinstar blue plants or lightning at Samus's ship. Not dark firefly rooms, or waving backgrounds like in Norfair). Very rarely used. | | 7E:1CD7 - 7E:1D26 Pre-PLM instruction |
| 7E:1E7B - 7E:1E7C | Current X for 7E:1E7D,X | | 7E:1D27 - 7E:1D76 Next PLM instruction |
| 7E:1E7D - 7E:1E8C | Pointer to code to run. F761 is heat check + damage | | 7E:1D77 - 7E:1DC6 Variable use PLM value |
| 7E:1E8D - 7E:1E9C | Used for glow color indexing. Which colors are affected | | 7E:1DC7 - 7E:1E16 PLM Room argument |
| 7E:1E9D - 7E:1EAC | Used for glow colors. | | 7E:1E17 - 7E:1E66 Variable use PLM value |
| 7E:1EAD - 7E:1EBC | Pointer to code. Like pre-PLM code, I guess. | | 7E:1E67 - 7E:1E68 Used as draw instruction to custom-draw PLM blocks. Usually #$0001 (1 block) |
| 7E:1EBD - 7E:1ECC | Pointer to current PLM-like instruction. If positive, store in delay and put 1E8D,X into X. If the argument is also positive, put it into 7E:C000,X and INC X and Y twice. Repeat until the next argument is negative, put a value onto the stack to loop at RTS, and JMP to the argument. Similar to the normal instruction loop, except Y is not incremented, and points to 2 bytes *before* the current instruction, not just after it. | | 7E:1E69 - 7E:1E6A Used as draw instruction to custom-draw PLM blocks. Custom block value |
| 7E:1ECD - 7E:1EDC | Delay counter. | | 7E:1E6B - 7E:1E6C Used as draw instruction to custom-draw PLM blocks. Usually #$0000, end value. |
| 7E:1EF1 - 7E:1EF2 | Flag, disables misc. animations if positive (spikes, FX1) | | 7E:1E71 - 7E:1E72 Flag, set Samus is in quicksand. Forces Samus into a ground position, fakes collision with ground. |
| 7E:1EF3 - 7E:1EF4 | Index value for following table | | 7E:1E73 - 7E:1E74 Which part of Samus is inside the block? Bottom(0), middle(1), top(2) |
| 7E:1EF5 - 7E:1F00 | Pointer to animation table pointer, # bytes to transfer, VRAM placement. | | 7E:1E75 - 7E:1E76 Flag. Samus has used a save station in this room. Cleared when leaving the room. |
| 7E:1F0D - 7E:1F18 | Pointer to current instruction to run | | 7E:1E77 - 7E:1E78 BTS of current block (used by sloped blocks, at least) |
| 7E:1F19 - 7E:1F24 | Delay counter for something? | | 7E:1E79 - 7E:1E7A Flag. Minus = Whatevers present (below structure). Known uses: heat damage, making parts of the background glow. (e.g. Brinstar blue plants or lightning at Samus's ship. Not dark firefly rooms, or waving backgrounds like in Norfair). Very rarely used. |
| 7E:1F25 - 7E:1F30 | Graphic pointer (in $87) | | 7E:1E7B - 7E:1E7C Current X for 7E:1E7D,X |
| 7E:1F31 - 7E:1F3C | Graphic size | | 7E:1E7D - 7E:1E8C Pointer to code to run. F761 is heat check + damage |
| 7E:1F3D - 7E:1F48 | VRAM address | | 7E:1E8D - 7E:1E9C Used for glow color indexing. Which colors are affected |
| 7E:1F49 - 7E:1F4A | Specific instruction being run by above stuff | | 7E:1E9D - 7E:1EAC Used for glow colors. |
| 7E:1F51 - 7E:1F52 | Used during intro scenes and pic of baby Metroid at Ceres (pointer to code?) | | 7E:1EAD - 7E:1EBC Pointer to code. Like pre-PLM code, I guess. |
| 7E:1F53 - 7E:1F54 | Timer for demo scenes? | | 7E:1EBD - 7E:1ECC Pointer to current PLM-like instruction. If positive, store in delay and put 1E8D,X into X. |
| 7E:1F55 - 7E:1F56 | Which set of demo scenes is playing? | | If the argument is also positive, put it into 7E:C000,X and INC X and Y twice. |
| 7E:1F57 - 7E:1F58 | Which demo scene of this set is playing? | | Repeat until the next argument is negative, put a value onto the stack to loop at RTS, and JMP to the argument. |
| 7E:1F59 - 7E:1F5A | The last set of demo scenes unlocked? written to by SRAM check routines? unknown purpose | | Similar to the normal instruction loop, except Y is not incremented, and points to 2 bytes *before* the current instruction, not just after it. |
| 7E:1F5B - 7E:1FFF | Stack (Lowest observed ATM is 1FC5, 1FB5 by Jathys. No known used RAM above 1F5B) | | 7E:1ECD - 7E:1EDC Delay counter. |
| 7E:2000 - 7E:5FFF | Room Tiles, decompressed here temporarily then copied to VRAM 0000. | | 7E:1EF1 - 7E:1EF2 Flag, disables misc. animations if positive (spikes, FX1) |
| 7E:2000 - 7E:2??? | Extra RAM usable during rooms (Used by bosses especially, up to 20A7) | | 7E:1EF3 - 7E:1EF4 Index value for following table |
| 7E:3000 - 7E:3??? | Written to during message box display, HDMA related, middle of scrollbox is at 7e:30F7, BG3 scroll lookup table for opening message boxes | | 7E:1EF5 - 7E:1F00 Pointer to animation table pointer, # bytes to transfer, VRAM placement. |
| 7E:3300 - 7E:34FF | Temporary CGRAM backup, used for multiple hdma related things: message boxes, FX1, heat, etc | | 7E:1F0D - 7E:1F18 Pointer to current instruction to run |
| 7E:3800 - 7E:3EFF | Tilemap for part of layer 3? Cleared during message boxes. | | 7E:1F19 - 7E:1F24 Delay counter for something? |
| 7E:3900 - 7E:6980 | Used for tilemaps/graphics during equipment screen | | 7E:1F25 - 7E:1F30 Graphic pointer (in $87) |
| 7E:5000 - 7E:5800 | Page 1 of BG2 tilemap for main screen gameplay is stored here temporarily some time? Kraid (or possibly Phantoon?) copies some unknown stuff from VRAM here too some time? | | 7E:1F31 - 7E:1F3C Graphic size |
| 7E:5800 - 7E:5FFF | Page 2 of BG2 tilemap for main screen gameplay is stored here temporarily some time? | | 7E:1F3D - 7E:1F48 VRAM address |
| 7E:6000 - 7E:67FF | Page 1 of BG3 tilemap for main screen gameplay is stored here temporarily some time? | | 7E:1F49 - 7E:1F4A Specific instruction being run by above stuff |
| 7E:6800 - 7E:6FFF | Page 2 of BG3 tilemap for main screen gameplay is stored here temporarily some time? | | 7E:1F51 - 7E:1F52 Used during intro scenes and pic of baby Metroid at Ceres (pointer to code?) |
| 7E:7000 - 7E:???? | CRE is decompressed to here during room load, if unknown 4 bit 1 is set for the new room. | | 7E:1F53 - 7E:1F54 Timer for demo scenes? |
| 7E:7000 - 7E:9800 | Cleared before gameplay begins in new room | | 7E:1F55 - 7E:1F56 Which set of demo scenes is playing? |
| 7E:7000?- 7E:77FF? | Table of some sort for enemies. Related to graphics, I think. | | 7E:1F57 - 7E:1F58 Which demo scene of this set is playing? |
| 7E:7006 | is where in vram the tiles are (I think) | | 7E:1F59 - 7E:1F5A The last set of demo scenes unlocked? written to by SRAM check routines? unknown purpose |
| 7E:7008 | is which color pallete it uses. | | 7E:1F5B - 7E:1FFF Stack (Lowest observed ATM is 1FC5, 1FB5 by Jathys. No known used RAM above 1F5B) |
| 7E:701E | mirrors 7E:0F78, X | | 7E:2000 - 7E:5FFF Room Tiles, decompressed here temporarily then copied to VRAM 0000. |
| 7E:7020 | mirrors 7E:0F7A, X | | 7E:2000 - 7E:2??? Extra RAM usable during rooms (Used by bosses especially, up to 20A7) |
| 7E:7022 | mirrors 7E:0F7E, X | | 7E:3000 - 7E:3??? Written to during message box display, HDMA related, middle of scrollbox is at 7e:30F7, BG3 scroll lookup table for opening message boxes |
| 7E:7024 | mirrors 7E:0F92, X (Used by Chozo statues for orientation?) | | 7E:3300 - 7E:34FF Temporary CGRAM backup, used for multiple hdma related things: message boxes, FX1, heat, etc |
| 7E:7026 | mirrors 7E:0F86, X | | 7E:3800 - 7E:3EFF Tilemap for part of layer 3? Cleared during message boxes. |
| 7E:7028 | mirrors 7E:0F88, X | | 7E:3900 - 7E:6980 Used for tilemaps/graphics during equipment screen |
| 7E:702A | mirrors 7E:0FB4, X | | 7E:5000 - 7E:5800 Page 1 of BG2 tilemap for main screen gameplay is stored here temporarily some time? Kraid (or possibly Phantoon?) copies some unknown stuff from VRAM here too some time? |
| 7E:702C | mirrors 7E:0FB6, X | | 7E:5800 - 7E:5FFF Page 2 of BG2 tilemap for main screen gameplay is stored here temporarily some time? |
| 7E:702E - 7E:7038 | is the enemy's name, if it has one. Else #$0000 | | 7E:6000 - 7E:67FF Page 1 of BG3 tilemap for main screen gameplay is stored here temporarily some time? |
| 7E:7800 - 7E:7FFF | Extra RAM for enemy use ($40 bytes each) | | 7E:6800 - 7E:6FFF Page 2 of BG3 tilemap for main screen gameplay is stored here temporarily some time? |
| 7E:7802 - 7E:7803 | Unknown, initialized to 0 by Ridley | | 7E:7000 - 7E:???? CRE is decompressed to here during room load, if unknown 4 bit 1 is set for the new room. |
| 7E:7804 - 7E:7805 | Unknown, initialized to 1 by Norfair Ridley, 0 by Ceres Ridley | | 7E:7000 - 7E:9800 Cleared before gameplay begins in new room |
| 7E:7806 - 7E:7807 | Unknown, initialized to BF31 by Ceres Ridley | | 7E:7000?- 7E:77FF? Table of some sort for enemies. Related to graphics, I think. |
| 7E:7808 - 7E:7809 | Unknown, initialized to 1 by Ceres Ridley | | 7E:7006 is where in vram the tiles are (I think) |
| 7E:780E - 7E:780F | Unknown, initialized to 5 by Ceres Ridley | | 7E:7008 is which color pallete it uses. |
| 7E:7818 - 7E:7819 | Pallete for Ridley? | | 7E:701E mirrors 7E:0F78, X |
| 7E:781A - 7E:781B | Unknown, initialized to 0 by Ridley | | 7E:7020 mirrors 7E:0F7A, X |
| 7E:7820 - 7E:7821 | Unknown. Initialized to 2 by Norfair Ridley, 0 by Ceres Ridley | | 7E:7022 mirrors 7E:0F7E, X |
| 7E:7824 | General use 'speed' byte set aside for Ridley? | | 7E:7024 mirrors 7E:0F92, X (Used by Chozo statues for orientation?) |
| 7E:7838 - 7E:7839 | Unknown. Initialized to 78 by Norfair Ridley, F by Ceres Ridley | | 7E:7026 mirrors 7E:0F86, X |
| 7E:8000 - 7E:8001 | Used for Draygon's direction when grabbing Samus; 0 = left, 1 = right. Initialized to 40 by Norfair Ridley, FFE0 by Ceres Ridley | | 7E:7028 mirrors 7E:0F88, X |
| 7E:8002 - 7E:8003 | Initialized to 1A0 by Norfair Ridley, B0 by Ceres Ridley | | 7E:702A mirrors 7E:0FB4, X |
| 7E:8004 - 7E:8005 | Initialized to 40 by Norfair Ridley, 28 by Ceres Ridley | | 7E:702C mirrors 7E:0FB6, X |
| 7E:8006 - 7E:8007 | Initialized to E0 by both Ridleys | | 7E:702E - 7E:7038 is the enemy's name, if it has one. Else #$0000 |
| 7E:800A | Ridley's final attack swoop counter? | | 7E:7800 - 7E:7FFF Extra RAM for enemy use ($40 bytes each) |
| 7E:8800 - 7E:8801 | Unknown, initialized to BE9C by Ceres Ridley | | 7E:7802 - 7E:7803 Unknown, initialized to 0 by Ridley |
| 7E:8802 - 7E:8803 | Unused byte for topleft turret in Draygon's room | | 7E:7804 - 7E:7805 Unknown, initialized to 1 by Norfair Ridley, 0 by Ceres Ridley |
| 7E:8804 - 7E:8805 | Death byte for bottomleft turret in Draygon's room (1 = no more turret fire) | | 7E:7806 - 7E:7807 Unknown, initialized to BF31 by Ceres Ridley |
| 7E:8806 - 7E:8807 | Death byte for topright turret in Draygon's room (1 = no more turret fire) | | 7E:7808 - 7E:7809 Unknown, initialized to 1 by Ceres Ridley |
| 7E:8808 - 7E:8809 | Death byte for bottomright turret in Draygon's room (1 = no more turret fire) | | 7E:780E - 7E:780F Unknown, initialized to 5 by Ceres Ridley |
| 7E:9100 - 7E:91FF | Something to do with HDMA, used when Phantoon makes his swirl animation when he dies | | 7E:7818 - 7E:7819 Pallete for Ridley? |
| 7E:9C00 | Something for Layer 3 Horizontal Scroll HDMA (scroll value for air?) | | 7E:781A - 7E:781B Unknown, initialized to 0 by Ridley |
| 7E:9C04 - 7E:9C22 | Layer 3 horizontal scroll HDMA data (at least for water) | | 7E:7820 - 7E:7821 Unknown. Initialized to 2 by Norfair Ridley, 0 by Ceres Ridley |
| 7E:9F80 - 7E:9FFF | Layer 2? HDMA for scrolling sky? seems to be how much each 'section' has scrolled | | 7E:7824 General use 'speed' byte set aside for Ridley? |
| 7E:A000 - 7E:BFFF | Stuff for tiles (A000 to A7FF is CRE). 8 bytes per tile, unknown format. I *think* it's the '7F:0002 03FF character --> 4 subtiles from VRAM' table. TODO | | 7E:7838 - 7E:7839 Unknown. Initialized to 78 by Norfair Ridley, F by Ceres Ridley |
| 7E:C000 - 7E:C01F | Area color palette line 0 | | 7E:8000 - 7E:8001 Used for Draygon's direction when grabbing Samus; 0 = left, 1 = right. Initialized to 40 by Norfair Ridley, FFE0 by Ceres Ridley |
| 7E:C020 - 7E:C03F | Area color palette line 1 | | 7E:8002 - 7E:8003 Initialized to 1A0 by Norfair Ridley, B0 by Ceres Ridley |
| 7E:C040 - 7E:C05F | Area color palette line 2 | | 7E:8004 - 7E:8005 Initialized to 40 by Norfair Ridley, 28 by Ceres Ridley |
| 7E:C060 - 7E:C07F | Area color palette line 3 | | 7E:8006 - 7E:8007 Initialized to E0 by both Ridleys |
| 7E:C080 - 7E:C0AF | Area color palette line 4 | | 7E:800A Ridley's final attack swoop counter? |
| 7E:C0A0 - 7E:C0BF | Area color palette line 5 | | 7E:8800 - 7E:8801 Unknown, initialized to BE9C by Ceres Ridley |
| 7E:C0C0 - 7E:C0DF | Area color palette line 6 | | 7E:8802 - 7E:8803 Unused byte for topleft turret in Draygon's room |
| 7E:C0E0 - 7E:C0FF | Area color palette line 7 | | 7E:8804 - 7E:8805 Death byte for bottomleft turret in Draygon's room (1 = no more turret fire) |
| 7E:C100 - 7E:C11F | White palette for flashing enemies and pickups | | 7E:8806 - 7E:8807 Death byte for topright turret in Draygon's room (1 = no more turret fire) |
| 7E:C120 - 7E:C13F | Enemy color palette line 0001 | | 7E:8808 - 7E:8809 Death byte for bottomright turret in Draygon's room (1 = no more turret fire) |
| 7E:C140 - 7E:C15F | Enemy color palette line 0002 | | 7E:9100 - 7E:91FF Something to do with HDMA, used when Phantoon makes his swirl animation when he dies |
| 7E:C160 - 7E:C17F | Enemy color palette line 0003 | | 7E:9C00 Something for Layer 3 Horizontal Scroll HDMA (scroll value for air?) |
| 7E:C180 - 7E:C1AF | Samus' palette | | 7E:9C04 - 7E:9C22 Layer 3 horizontal scroll HDMA data (at least for water) |
| 7E:C1A0 - 7E:C1BF | Most common sprites (item drops, smoke, explosions, bombs, power bombs, missiles, gates(wall part), water splashes, grapple beam) | | 7E:9F80 - 7E:9FFF Layer 2? HDMA for scrolling sky? seems to be how much each 'section' has scrolled |
| 7E:C1C0 - 7E:C1DF | Beam Color palette line | | 7E:A000 - 7E:BFFF Stuff for tiles (A000 to A7FF is CRE). 8 bytes per tile, unknown format. I *think* it's the '7F:0002 03FF character --> 4 subtiles from VRAM' table. TODO |
| 7E:C1E0 - 7E:C1FF | Enemy color palette line 0007 | | 7E:C000 - 7E:C01F Area color palette line 0 |
| 7E:C200 - 7E:C21F | Target color palette line 0 | | 7E:C020 - 7E:C03F Area color palette line 1 |
| 7E:C220 - 7E:C23F | Target color palette line 1 | | 7E:C040 - 7E:C05F Area color palette line 2 |
| 7E:C240 - 7E:C25F | Target color palette line 2 | | 7E:C060 - 7E:C07F Area color palette line 3 |
| 7E:C260 - 7E:C27F | Target color palette line 3 | | 7E:C080 - 7E:C0AF Area color palette line 4 |
| 7E:C280 - 7E:C2AF | Target color palette line 4 | | 7E:C0A0 - 7E:C0BF Area color palette line 5 |
| 7E:C2A0 - 7E:C2BF | Target color palette line 5 | | 7E:C0C0 - 7E:C0DF Area color palette line 6 |
| 7E:C2C0 - 7E:C2DF | Target color palette line 6 | | 7E:C0E0 - 7E:C0FF Area color palette line 7 |
| 7E:C2E0 - 7E:C2FF | Target color palette line 7 | | 7E:C100 - 7E:C11F White palette for flashing enemies and pickups |
| 7E:C300 - 7E:C31F | Target palette for flashing enemies and pickups | | 7E:C120 - 7E:C13F Enemy color palette line 0001 |
| 7E:C320 - 7E:C33F | Target enemy color palette line 0001 | | 7E:C140 - 7E:C15F Enemy color palette line 0002 |
| 7E:C340 - 7E:C35F | Target enemy color palette line 0002 | | 7E:C160 - 7E:C17F Enemy color palette line 0003 |
| 7E:C360 - 7E:C37F | Target enemy color palette line 0003 | | 7E:C180 - 7E:C1AF Samus' palette |
| 7E:C380 - 7E:C3AF | Target Samus' palette | | 7E:C1A0 - 7E:C1BF Most common sprites (item drops, smoke, explosions, bombs, power bombs, missiles, gates(wall part), water splashes, grapple beam) |
| 7E:C3A0 - 7E:C3BF | Target colors for most common sprites (item drops, smoke, explosions, bombs, power bombs, missiles, gates(wall part), water splashes, grapple beam) | | 7E:C1C0 - 7E:C1DF Beam Color palette line |
| 7E:C3C0 - 7E:C3DF | Target Beam Color palette line | | 7E:C1E0 - 7E:C1FF Enemy color palette line 0007 |
| 7E:C3E0 - 7E:C3FF | Target enemy color palette line 0007 | | 7E:C200 - 7E:C21F Target color palette line 0 |
| 7E:C400 - 7E:C401 | Color pallete change fraction, numerator | | 7E:C220 - 7E:C23F Target color palette line 1 |
| 7E:C402 - 7E:C403 | Color pallete change fraction, denominator (C000,X = (C200,X * C400 / C402) + (original C000,X * (C402 - C400) / C402)) | | 7E:C240 - 7E:C25F Target color palette line 2 |
| 7E:C404 - 7E:C405 | Current index for C000/C200 | | 7E:C260 - 7E:C27F Target color palette line 3 |
| 7E:C2E2 - 7E:C2FF | Unknown, initialized to 0 by Norfair Ridley | | 7E:C280 - 7E:C2AF Target color palette line 4 |
| 7E:C320 - 7E:C35F | Unknown (Enemy 1 pallete?) | | 7E:C2A0 - 7E:C2BF Target color palette line 5 |
| 7E:C340 - 7E:C37F | Unknown, initialized differently by both Ridleys | | 7E:C2C0 - 7E:C2DF Target color palette line 6 |
| 7E:C380 - 7E:C39E | Samus' target colors for room transitions. Set by 91/DDD7, from bank 9B, depending on X. | | 7E:C2E0 - 7E:C2FF Target color palette line 7 |
| 7E:C3E2 - 7E:C3FF | Unknown, initialized to 0 by both Ridleys | | 7E:C300 - 7E:C31F Target palette for flashing enemies and pickups |
| 7E:C400 - 7E:C607 | Powerbomb HDMA tilemap? Also used by gradual color change routine (probably targed colors for Powerbombs?) | | 7E:C320 - 7E:C33F Target enemy color palette line 0001 |
| 7E:C608 - 7E:C6C7 | Status bar tilemap | | 7E:C340 - 7E:C35F Target enemy color palette line 0002 |
| 7E:C8C8 - 7E:C907 | Copied to VRAM by horizontal scroll routine (left half of new tilemap). Size is 7E:0956, VRAM address 7E:095A | | 7E:C360 - 7E:C37F Target enemy color palette line 0003 |
| 7E:C908 - 7E:C947 | Copied to VRAM by horizontal scroll routine (right half of new tilemap). Size is 7E:0956, VRAM address 7E:095A + 1 | | 7E:C380 - 7E:C3AF Target Samus' palette |
| 7E:C948 - 7E:C98B | Copied to VRAM by vertical scroll routine(top half of new tilemap?). Size is 7E:0964 (screen 1) + 7E:0966 (screen 2) | | 7E:C3A0 - 7E:C3BF Target colors for most common sprites (item drops, smoke, explosions, bombs, power bombs, missiles, gates(wall part), water splashes, grapple beam) |
| 7E:C98C - 7E:C9CF | copied to VRAM by vertical scroll routine(bottom half of new tilemap?). Size is 7E:0964 | | 7E:C3C0 - 7E:C3DF Target Beam Color palette line |
| 7E:C9D0 - 7E:C??? | Copied to VRAM. Size is 7E:0972. Used by elevator background loading (80:8D49) | | 7E:C3E0 - 7E:C3FF Target enemy color palette line 0007 |
| 7E:CA10 - 7E:C??? | Copied to VRAM. Size is 7E:0972. Used by elevator background loading (80:8D49) | | 7E:C400 - 7E:C401 Color pallete change fraction, numerator |
| 7E:CA50 - 7E:C??? | Copied to VRAM. Size is 7E:0980. Used by ???? routine (80:8E2B) | | 7E:C402 - 7E:C403 Color pallete change fraction, denominator (C000,X = (C200,X * C400 / C402) + (original C000,X * (C402 - C400) / C402)) |
| 7E:CA94 - 7E:C??? | Copied to VRAM. Size is 7E:0980. Used by ???? routine (80:8E2B) | | 7E:C404 - 7E:C405 Current index for C000/C200 |
| 7E:CAD8 - 7E:CADB | Scroll offsets for BG3 during tilebar. (2 bytes horizontal, 2 bytes vertical). Copied via HDMA during tilebar | | 7E:C2E2 - 7E:C2FF Unknown, initialized to 0 by Norfair Ridley |
| 7E:CADC - 7E:CADF | Scroll offsets for BG3 during main display. (2 bytes horizontal, 2 bytes vertical). Copied via HDMA once at end of tilebar. | | 7E:C320 - 7E:C35F Unknown (Enemy 1 pallete?) |
| 7E:CD20 - 7E:CD51 | Scrollmap for current room | | 7E:C340 - 7E:C37F Unknown, initialized differently by both Ridleys |
| 7E:CD52 - 7E:CE51 | Explored map for Area 0 (Crateria) | | 7E:C380 - 7E:C39E Samus' target colors for room transitions. Set by 91/DDD7, from bank 9B, depending on X. |
| 7E:CE52 - 7E:CF51 | Explored map for Area 1 (Brinstar) | | 7E:C3E2 - 7E:C3FF Unknown, initialized to 0 by both Ridleys |
| 7E:CF52 - 7E:D051 | Explored map for Area 2 (Norfair) | | 7E:C400 - 7E:C607 Powerbomb HDMA tilemap? Also used by gradual color change routine (probably targed colors for Powerbombs?) |
| 7E:D052 - 7E:D151 | Explored map for Area 3 (Wrecked Ship) | | 7E:C608 - 7E:C6C7 Status bar tilemap |
| 7E:D152 - 7E:D251 | Explored map for Area 4 (Maridia) | | 7E:C8C8 - 7E:C907 Copied to VRAM by horizontal scroll routine (left half of new tilemap). Size is 7E:0956, VRAM address 7E:095A |
| 7E:D252 - 7E:D351 | Explored map for Area 5 (Tourian) | | 7E:C908 - 7E:C947 Copied to VRAM by horizontal scroll routine (right half of new tilemap). Size is 7E:0956, VRAM address 7E:095A + 1 |
| 7E:D352 - 7E:D451 | Explored map for Area 6 (Ceres) | | 7E:C948 - 7E:C98B Copied to VRAM by vertical scroll routine(top half of new tilemap?). Size is 7E:0964 (screen 1) + 7E:0966 (screen 2) |
| 7E:D452 - 7E:D551 | Explored map for Area 7 (Debug Unused) | | 7E:C98C - 7E:C9CF copied to VRAM by vertical scroll routine(bottom half of new tilemap?). Size is 7E:0964 |
| 7E:D552 - 7E:D558 | Name of current enemy list | | 7E:C9D0 - 7E:C??? Copied to VRAM. Size is 7E:0972. Used by elevator background loading (80:8D49) |
| 7E:D559 - 7E:D??? | Name of allowed enemies in the room. C bytes alloted for each enemy. | | 7E:CA10 - 7E:C??? Copied to VRAM. Size is 7E:0972. Used by elevator background loading (80:8D49) |
| 7E:D7C0 - 7E:DE1B | RAM that is saved to SRAM | | 7E:CA50 - 7E:C??? Copied to VRAM. Size is 7E:0980. Used by ???? routine (80:8E2B) |
| 7E:D7C0 - 7E:D81F | SRAM copy of 7E:09A2 - 7E:0A01 | | 7E:CA94 - 7E:C??? Copied to VRAM. Size is 7E:0980. Used by ???? routine (80:8E2B) |
| 7E:D820 - 7E:D86F | Event bit array. 30-6F are never used | | 7E:CAD8 - 7E:CADB Scroll offsets for BG3 during tilebar. (2 bytes horizontal, 2 bytes vertical). Copied via HDMA during tilebar |
| 7E:D828 - 7E:D82F | Boss bits. 1 byte per area (C-B-N-W-M-T-C-D) | | 7E:CADC - 7E:CADF Scroll offsets for BG3 during main display. (2 bytes horizontal, 2 bytes vertical). Copied via HDMA once at end of tilebar. |
| 7E:D870 - 7E:D8AF | Item bit array. 90-AF are never used | | 7E:CD20 - 7E:CD51 Scrollmap for current room |
| 7E:D8B0 - 7E:D8EF | Opened door bit array. D0-EF are never used | | 7E:CD52 - 7E:CE51 Explored map for Area 0 (Crateria) |
| 7E:D8F8 - 7E:D907 | Used elevator(Odd bytes) and save point(Even bytes) array, indexed by area. | | 7E:CE52 - 7E:CF51 Explored map for Area 1 (Brinstar) |
| 7E:D908 - 7E:D90F | Map Station byte array | | 7E:CF52 - 7E:D051 Explored map for Area 2 (Norfair) |
| 7E:D914 | Value to use in 0998. Kinda used to keep track of what part of the game we're at. 5 = main, 22 = escaping Ceres / landing on Zebes, 1F = starting at Ceres | | 7E:D052 - 7E:D151 Explored map for Area 3 (Wrecked Ship) |
| 7E:D91C - 7E:DE1B | ? Loaded 'compressed' map data from SRAM. Only first 160 bytes or so are actually used by original game. | | 7E:D152 - 7E:D251 Explored map for Area 4 (Maridia) |
| 7E:DE1C - 7E:DE6B | PLM frame delay | | 7E:D252 - 7E:D351 Explored map for Area 5 (Tourian) |
| 7E:DE6C - 7E:DEBB | PLM Block Edit pointer | | 7E:D352 - 7E:D451 Explored map for Area 6 (Ceres) |
| 7E:DEBC - 7E:DF0B | PLM Goto Instruction Pointer | | 7E:D452 - 7E:D551 Explored map for Area 7 (Debug Unused) |
| 7E:DF0C - 7E:DF5B | Unknown PLM value. Initialized to #$0000 | | 7E:D552 - 7E:D558 Name of current enemy list |
| 7E:DF5C - 7E:EF5B | Backup of VRAM word 3980 - 417F (bytes 7300 - 82FF). Technically, word 3980 is not backed up, but that doesn't seem too important. | | 7E:D559 - 7E:D??? Name of allowed enemies in the room. C bytes alloted for each enemy. |
| 7E:EF78 - 7E:EFB7 | Tilemap pointer for misc enemy GFX. Pulled from table at 86:BDA8: (BE5A, BE6C, BE86, BEA4, BEBE, BED4, BEEA...) | | 7E:D7C0 - 7E:DE1B RAM that is saved to SRAM |
| 7E:EFF8 - 7E:F037 | Delay timer for above table, or instruction pointer if $8000+ | | 7E:D7C0 - 7E:D81F SRAM copy of 7E:09A2 - 7E:0A01 |
| 7E:F0F8 - 7E:F137 | X position of misc enemy GFX | | 7E:D820 - 7E:D86F Event bit array. 30-6F are never used |
| 7E:F1F8 - 7E:F237 | Y position of misc enemy GFX | | 7E:D828 - 7E:D82F Boss bits. 1 byte per area (C-B-N-W-M-T-C-D) |
| 7E:F378 - 7E:F379 | Unknown, set to #$0002 by processing enemies before JSRing to A0:C26A, set to #$0003 by enemies when detecting collisions with projectiles, set to #$0006 by enemies when detecting Samus | | 7E:D870 - 7E:D8AF Item bit array. 90-AF are never used |
| 7E:F380 - 7E:F49F | Enemy/room projectile data 'cleared' every time on room load | | 7E:D8B0 - 7E:D8EF Opened door bit array. D0-EF are never used |
| 7E:F380 - 7E:F3A3 | Use different response when hit by projectile (0000 = normal?, 0001 = Samus's projectile?, 0002 = Ignore collision?) | | 7E:D8F8 - 7E:D907 Used elevator(Odd bytes) and save point(Even bytes) array, indexed by area. |
| 7F:0000 - 7F:0001 | Size of room tilemap in bytes (and size of background tilemap, and 2x size of bts map) | | 7E:D908 - 7E:D90F Map Station byte array |
| 7F:0002 - 7F:6401 | Room Tilemap | | 7E:D914 Value to use in 0998. Kinda used to keep track of what part of the game we're at. 5 = main, 22 = escaping Ceres / landing on Zebes, 1F = starting at Ceres |
| 7F:6402 - 7F:9601 | Room BTS map | | 7E:D91C - 7E:DE1B ? Loaded 'compressed' map data from SRAM. Only first 160 bytes or so are actually used by original game. |
| 7F:9602 - 7F:FA01 | Room Background Tilemap | | 7E:DE1C - 7E:DE6B PLM frame delay |
| 7F:FA02 - 7F:FFFF | Unused | | 7E:DE6C - 7E:DEBB PLM Block Edit pointer |
| 7E:DEBC - 7E:DF0B PLM Goto Instruction Pointer |
| 7E:DF0C - 7E:DF5B Unknown PLM value. Initialized to #$0000 |
| 7E:DF5C - 7E:EF5B Backup of VRAM word 3980 - 417F (bytes 7300 - 82FF). Technically, word 3980 is not backed up, but that doesn't seem too important. |
| 7E:EF78 - 7E:EFB7 Tilemap pointer for misc enemy GFX. Pulled from table at 86:BDA8: (BE5A, BE6C, BE86, BEA4, BEBE, BED4, BEEA...) |
| 7E:EFF8 - 7E:F037 Delay timer for above table, or instruction pointer if $8000+ |
| 7E:F0F8 - 7E:F137 X position of misc enemy GFX |
| 7E:F1F8 - 7E:F237 Y position of misc enemy GFX |
| 7E:F378 - 7E:F379 Unknown, set to #$0002 by processing enemies before JSRing to A0:C26A, set to #$0003 by enemies when detecting collisions with projectiles, set to #$0006 by enemies when detecting Samus |
| 7E:F380 - 7E:F49F Enemy/room projectile data 'cleared' every time on room load |
| 7E:F380 - 7E:F3A3 Use different response when hit by projectile (0000 = normal?, 0001 = Samus's projectile?, 0002 = Ignore collision?) |
| 7F:0000 - 7F:0001 Size of room tilemap in bytes (and size of background tilemap, and 2x size of bts map) |
| 7F:0002 - 7F:6401 Room Tilemap |
| 7F:6402 - 7F:9601 Room BTS map |
| 7F:9602 - 7F:FA01 Room Background Tilemap |
| 7F:FA02 - 7F:FFFF Unused |