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