The current URL is datacrystal.tcrf.net.
Metroid/ROM map: Difference between revisions
(Added a detailed description of room data formats to all Object /Door /Enemy data in the Metroid ROM map, to be used as a very helpful supplemental and reference.) |
m (Xkeeper moved page Metroid:ROM map to Metroid/ROM map: normalize subpages and titles) |
||
(16 intermediate revisions by 6 users not shown) | |||
Line 1: | Line 1: | ||
{{rommap|game=Metroid}} | {{rommap|game=Metroid}} | ||
==MAP DATA== | |||
==== | ====Overall Map/Level Data==== | ||
'''Notes:''' All | '''Notes:''' The space between 254E and 294D within the [[Metroid|Metroid]] ROM serves as the game's overall map layout. All 1024 possible map locations, indicated by one byte apiece, are arranged in a 32x32 grid, and every subsequent set of 32 bytes represents one horizontal row in that map grid. Each byte contains either the number of a room or FF which signifies that no room is used at that map location. Which of the five areas a particular room belongs to is not indicated on this map but rather controlled in-game by the elevators. It is therefore possible to intersect different areas in the map by using like room numbers. This is, however, a practice recommended only for use by the more clever and experienced of [[Metroid|Metroid]] hackers. | ||
''' | '''Map Format:''' Self-explanatory...see "Notes" and "Addresses". | ||
'''Addresses:''' | |||
* '''<tt>(254E-256D) = </tt>'''Map Data Horizontal Row 1 | |||
* '''<tt>(256E-258D) = </tt>'''Map Data Horizontal Row 2 | |||
* '''<tt>(258E-25AD) = </tt>'''Map Data Horizontal Row 3 | |||
* '''<tt>(25AE-25CD) = </tt>'''Map Data Horizontal Row 4 | |||
* '''<tt>(25CE-25ED) = </tt>'''Map Data Horizontal Row 5 | |||
* '''<tt>(25EE-260D) = </tt>'''Map Data Horizontal Row 6 | |||
* '''<tt>(260E-262D) = </tt>'''Map Data Horizontal Row 7 | |||
* '''<tt>(262E-264D) = </tt>'''Map Data Horizontal Row 8 | |||
* '''<tt>(264E-266D) = </tt>'''Map Data Horizontal Row 9 | |||
* '''<tt>(266E-268D) = </tt>'''Map Data Horizontal Row 10 | |||
* '''<tt>(268E-26AD) = </tt>'''Map Data Horizontal Row 11 | |||
* '''<tt>(26AE-26CD) = </tt>'''Map Data Horizontal Row 12 | |||
* '''<tt>(26CE-26ED) = </tt>'''Map Data Horizontal Row 13 | |||
* '''<tt>(26EE-270D) = </tt>'''Map Data Horizontal Row 14 | |||
* '''<tt>(270E-272D) = </tt>'''Map Data Horizontal Row 15 | |||
* '''<tt>(272E-274D) = </tt>'''Map Data Horizontal Row 16 | |||
* '''<tt>(274E-276D) = </tt>'''Map Data Horizontal Row 17 | |||
* '''<tt>(276E-278D) = </tt>'''Map Data Horizontal Row 18 | |||
* '''<tt>(278E-27AD) = </tt>'''Map Data Horizontal Row 19 | |||
* '''<tt>(27AE-27CD) = </tt>'''Map Data Horizontal Row 20 | |||
* '''<tt>(27CE-27ED) = </tt>'''Map Data Horizontal Row 21 | |||
* '''<tt>(27EE-280D) = </tt>'''Map Data Horizontal Row 22 | |||
* '''<tt>(280E-282D) = </tt>'''Map Data Horizontal Row 23 | |||
* '''<tt>(282E-284D) = </tt>'''Map Data Horizontal Row 24 | |||
* '''<tt>(284E-286D) = </tt>'''Map Data Horizontal Row 25 | |||
* '''<tt>(286E-288D) = </tt>'''Map Data Horizontal Row 26 | |||
* '''<tt>(288E-28AD) = </tt>'''Map Data Horizontal Row 27 | |||
* '''<tt>(28AE-28CD) = </tt>'''Map Data Horizontal Row 28 | |||
* '''<tt>(28CE-28ED) = </tt>'''Map Data Horizontal Row 29 | |||
* '''<tt>(28EE-290D) = </tt>'''Map Data Horizontal Row 30 | |||
* '''<tt>(290E-292D) = </tt>'''Map Data Horizontal Row 31 | |||
* '''<tt>(292E-294D) = </tt>'''Map Data Horizontal Row 32 | |||
==BRINSTAR== | |||
====Brinstar Room Pointer Tables==== | |||
'''Notes:''' These two-byte tables define the ROM addresses where the game is to look for the room data for each room in Brinstar by pointing to the first byte of a particular room's data. Brinstar's room data is normally located between ROM addresses 6451 and 6C93. If entirely new rooms are to be created from scratch in this area, then it is very important to change the values of the pointer tables below to reflect the location of the new rooms in the Metroid ROM so that [[Metroid:MetEdit|MetEdit]] as well as the game itself can properly read and use these rooms. | |||
'''Pointer Format:''' See [[Metroid:Pointer format|Pointer Format]] for details... | |||
'''Addresses:''' | |||
* '''<tt>(6324-6325) = </tt>'''BRINSTAR Room 00 Pointer Table | |||
* '''<tt>(6326-6327) = </tt>'''BRINSTAR Room 01 Pointer Table | |||
* '''<tt>(6328-6329) = </tt>'''BRINSTAR Room 02 Pointer Table | |||
* '''<tt>(632A-632B) = </tt>'''BRINSTAR Room 03 Pointer Table | |||
* '''<tt>(632C-632D) = </tt>'''BRINSTAR Room 04 Pointer Table | |||
* '''<tt>(632E-632F) = </tt>'''BRINSTAR Room 05 Pointer Table | |||
* '''<tt>(6330-6331) = </tt>'''BRINSTAR Room 06 Pointer Table | |||
* '''<tt>(6332-6333) = </tt>'''BRINSTAR Room 07 Pointer Table | |||
* '''<tt>(6334-6335) = </tt>'''BRINSTAR Room 08 Pointer Table | |||
* '''<tt>(6336-6337) = </tt>'''BRINSTAR Room 09 Pointer Table | |||
* '''<tt>(6338-6339) = </tt>'''BRINSTAR Room 0A Pointer Table | |||
* '''<tt>(633A-633B) = </tt>'''BRINSTAR Room 0B Pointer Table | |||
* '''<tt>(633C-633D) = </tt>'''BRINSTAR Room 0C Pointer Table | |||
* '''<tt>(633E-633F) = </tt>'''BRINSTAR Room 0D Pointer Table | |||
* '''<tt>(6340-6341) = </tt>'''BRINSTAR Room 0E Pointer Table | |||
* '''<tt>(6342-6343) = </tt>'''BRINSTAR Room 0F Pointer Table | |||
* '''<tt>(6344-6345) = </tt>'''BRINSTAR Room 10 Pointer Table | |||
* '''<tt>(6346-6347) = </tt>'''BRINSTAR Room 11 Pointer Table | |||
* '''<tt>(6348-6349) = </tt>'''BRINSTAR Room 12 Pointer Table | |||
* '''<tt>(634A-634B) = </tt>'''BRINSTAR Room 13 Pointer Table | |||
* '''<tt>(634C-634D) = </tt>'''BRINSTAR Room 14 Pointer Table | |||
* '''<tt>(634E-634F) = </tt>'''BRINSTAR Room 15 Pointer Table | |||
* '''<tt>(6350-6351) = </tt>'''BRINSTAR Room 16 Pointer Table | |||
* '''<tt>(6352-6353) = </tt>'''BRINSTAR Room 17 Pointer Table | |||
* '''<tt>(6354-6355) = </tt>'''BRINSTAR Room 18 Pointer Table | |||
* '''<tt>(6356-6357) = </tt>'''BRINSTAR Room 19 Pointer Table | |||
* '''<tt>(6358-6359) = </tt>'''BRINSTAR Room 1A Pointer Table | |||
* '''<tt>(635A-635B) = </tt>'''BRINSTAR Room 1B Pointer Table | |||
* '''<tt>(635C-635D) = </tt>'''BRINSTAR Room 1C Pointer Table | |||
* '''<tt>(635E-635F) = </tt>'''BRINSTAR Room 1D Pointer Table | |||
* '''<tt>(6360-6361) = </tt>'''BRINSTAR Room 1E Pointer Table | |||
* '''<tt>(6362-6363) = </tt>'''BRINSTAR Room 1F Pointer Table | |||
* '''<tt>(6364-6365) = </tt>'''BRINSTAR Room 20 Pointer Table | |||
* '''<tt>(6366-6367) = </tt>'''BRINSTAR Room 21 Pointer Table | |||
* '''<tt>(6368-6369) = </tt>'''BRINSTAR Room 22 Pointer Table | |||
* '''<tt>(636A-636B) = </tt>'''BRINSTAR Room 23 Pointer Table | |||
* '''<tt>(636C-636D) = </tt>'''BRINSTAR Room 24 Pointer Table | |||
* '''<tt>(636E-636F) = </tt>'''BRINSTAR Room 25 Pointer Table | |||
* '''<tt>(6370-6371) = </tt>'''BRINSTAR Room 26 Pointer Table | |||
* '''<tt>(6372-6373) = </tt>'''BRINSTAR Room 27 Pointer Table | |||
* '''<tt>(6374-6375) = </tt>'''BRINSTAR Room 28 Pointer Table | |||
* '''<tt>(6376-6377) = </tt>'''BRINSTAR Room 29 Pointer Table | |||
* '''<tt>(6378-6379) = </tt>'''BRINSTAR Room 2A Pointer Table | |||
* '''<tt>(637A-637B) = </tt>'''BRINSTAR Room 2B Pointer Table | |||
* '''<tt>(637C-637D) = </tt>'''BRINSTAR Room 2C Pointer Table | |||
* '''<tt>(637E-637F) = </tt>'''BRINSTAR Room 2D Pointer Table | |||
* '''<tt>(6380-6381) = </tt>'''BRINSTAR Room 2E Pointer Table | |||
====Brinstar Structure /Object Pointer Tables==== | |||
'''Notes:''' These two-byte tables define the ROM addresses where the game is to look for the structure/object data for Brinstar by pointing to the first byte of a particular object to be used in the construction of a full room. Brinstar's actual structure data is normally located between ROM addresses 6C94 and 6EFF. If entirely new structures/objects are to be created from scratch in this area, then it is very important to change the values of the pointer tables below to reflect the location of the new strctures in the Metroid ROM so that [[Metroid:MetEdit|MetEdit]] as well as the game itself can properly use and edit these objects. | |||
'''Pointer Format:''' See [[Metroid:Pointer format|Pointer Format]] for details... | |||
'''Addresses:''' | |||
* '''<tt>(6382-6383) = </tt>'''BRINSTAR Structure /Object 00 Pointer Table | |||
* '''<tt>(6384-6385) = </tt>'''BRINSTAR Structure /Object 01 Pointer Table | |||
* '''<tt>(6386-6387) = </tt>'''BRINSTAR Structure /Object 02 Pointer Table | |||
* '''<tt>(6388-6389) = </tt>'''BRINSTAR Structure /Object 03 Pointer Table | |||
* '''<tt>(638A-638B) = </tt>'''BRINSTAR Structure /Object 04 Pointer Table | |||
* '''<tt>(638C-638D) = </tt>'''BRINSTAR Structure /Object 05 Pointer Table | |||
* '''<tt>(638E-638F) = </tt>'''BRINSTAR Structure /Object 06 Pointer Table | |||
* '''<tt>(6390-6391) = </tt>'''BRINSTAR Structure /Object 07 Pointer Table | |||
* '''<tt>(6392-6393) = </tt>'''BRINSTAR Structure /Object 08 Pointer Table | |||
* '''<tt>(6394-6395) = </tt>'''BRINSTAR Structure /Object 09 Pointer Table | |||
* '''<tt>(6396-6397) = </tt>'''BRINSTAR Structure /Object 0A Pointer Table | |||
* '''<tt>(6398-6399) = </tt>'''BRINSTAR Structure /Object 0B Pointer Table | |||
* '''<tt>(639A-639B) = </tt>'''BRINSTAR Sturcture /Object 0C Pointer Table | |||
* '''<tt>(639C-639D) = </tt>'''BRINSTAR Structure /Object 0D Pointer Table | |||
* '''<tt>(639E-639F) = </tt>'''BRINSTAR Structure /Object 0E Pointer Table | |||
* '''<tt>(63A0-63A1) = </tt>'''BRINSTAR Structure /Object 0F Pointer Table | |||
* '''<tt>(63A2-63A3) = </tt>'''BRINSTAR Structure /Object 10 Pointer Table | |||
* '''<tt>(63A4-63A5) = </tt>'''BRINSTAR Structure /Object 11 Pointer Table | |||
* '''<tt>(63A6-63A7) = </tt>'''BRINSTAR Structure /Object 12 Pointer Table | |||
* '''<tt>(63A8-63A9) = </tt>'''BRINSTAR Structure /Object 13 Pointer Table | |||
* '''<tt>(63AA-63AB) = </tt>'''BRINSTAR Structure /Object 14 Pointer Table | |||
* '''<tt>(63AC-63AD) = </tt>'''BRINSTAR Structure /Object 15 Pointer Table | |||
* '''<tt>(63AE-63AF) = </tt>'''BRINSTAR Structure /Object 16 Pointer Table | |||
* '''<tt>(63B0-63B1) = </tt>'''BRINSTAR Structure /Object 17 Pointer Table | |||
* '''<tt>(63B2-63B3) = </tt>'''BRINSTAR Structure /Object 18 Pointer Table | |||
* '''<tt>(63B4-63B5) = </tt>'''BRINSTAR Sturcture /Object 19 Pointer Table | |||
* '''<tt>(63B6-63B7) = </tt>'''BRINSTAR Structure /Object 1A Pointer Table | |||
* '''<tt>(63B8-63B9) = </tt>'''BRINSTAR Structure /Object 1B Pointer Table | |||
* '''<tt>(63BA-63BB) = </tt>'''BRINSTAR Structure /Object 1C Pointer Table | |||
* '''<tt>(63BC-63BD) = </tt>'''BRINSTAR Structure /Object 1D Pointer Table | |||
* '''<tt>(63BE-63BF) = </tt>'''BRINSTAR Structure /Object 1E Pointer Table | |||
* '''<tt>(63C0-63C1) = </tt>'''BRINSTAR Structure /Object 1F Pointer Table | |||
* '''<tt>(63C2-63C3) = </tt>'''BRINSTAR Structure /Object 20 Pointer Table | |||
* '''<tt>(63C4-63C5) = </tt>'''BRINSTAR Structure /Object 21 Pointer Table | |||
* '''<tt>(63C6-63C7) = </tt>'''BRINSTAR Structure /Object 22 Pointer Table | |||
* '''<tt>(63C8-63C9) = </tt>'''BRINSTAR Structure /Object 23 Pointer Table | |||
* '''<tt>(63CA-63CB) = </tt>'''BRINSTAR Structure /Object 24 Pointer Table | |||
* '''<tt>(63CC-63CD) = </tt>'''BRINSTAR Structure /Object 25 Pointer Table | |||
* '''<tt>(63CE-63CF) = </tt>'''BRINSTAR Structure /Object 26 Pointer Table | |||
* '''<tt>(63D0-63D1) = </tt>'''BRINSTAR Structure /Object 27 Pointer Table | |||
* '''<tt>(63D2-63D3) = </tt>'''BRINSTAR Structure /Object 28 Pointer Table | |||
* '''<tt>(63D4-63D5) = </tt>'''BRINSTAR Structure /Object 29 Pointer Table | |||
* '''<tt>(63D6-63D7) = </tt>'''BRINSTAR Structure /Object 2A Pointer Table | |||
* '''<tt>(63D8-63D9) = </tt>'''BRINSTAR Structure /Object 2B Pointer Table | |||
* '''<tt>(63DA-63DB) = </tt>'''BRINSTAR Structure /Object 2C Pointer Table | |||
* '''<tt>(63DC-63DD) = </tt>'''BRINSTAR Structure /Object 2D Pointer Table | |||
* '''<tt>(63DE-63DF) = </tt>'''BRINSTAR Structure /Object 2E Pointer Table | |||
* '''<tt>(63E0-63E1) = </tt>'''BRINSTAR Structure /Object 2F Pointer Table | |||
* '''<tt>(63E2-63E3) = </tt>'''BRINSTAR Structure /Object 30 Pointer Table | |||
* '''<tt>(63E4-63E5) = </tt>'''BRINSTAR Structure /Object 31 Pointer Table | |||
====Brinstar Object /Door /Enemy Data==== | |||
'''Notes:''' All data in "Addresses" is valid assuming that pointer tables to Brinstar rooms remain unchanged. | |||
'''Room Format:''' See [[Metroid:Room data format|Room Data Format]] for details... | |||
'''Addresses:''' | |||
* '''<tt>(6451-6463) = </tt>'''BRINSTAR Room 00 Object /Door /Enemy Data | * '''<tt>(6451-6463) = </tt>'''BRINSTAR Room 00 Object /Door /Enemy Data | ||
* '''<tt>(6464-646B) = </tt>'''BRINSTAR Room 01 Object /Door /Enemy Data | * '''<tt>(6464-646B) = </tt>'''BRINSTAR Room 01 Object /Door /Enemy Data | ||
Line 61: | Line 227: | ||
====NORFAIR | ==NORFAIR== | ||
====Norfair Room Pointer Tables==== | |||
'''Notes:''' These two-byte tables define the ROM addresses where the game is to look for the room data for each room in Norfair by pointing to the first byte of a particular room's data. Norfair's room data is normally located between ROM addresses A3BB and ACC8. If entirely new rooms are to be created from scratch in this area, then it is very important to change the values of the pointer tables below to reflect the location of the new rooms in the Metroid ROM so that [[Metroid:MetEdit|MetEdit]] as well as the game itself can properly read and use these rooms. | |||
'''Pointer Format:''' See [[Metroid:Pointer format|Pointer Format]] for details... | |||
'''Addresses:''' | |||
* '''<tt>(A22B-A22C) = </tt>'''NORFAIR Room 00 Pointer Table | |||
* '''<tt>(A22D-A22E) = </tt>'''NORFAIR Room 01 Pointer Table | |||
* '''<tt>(A22F-A230) = </tt>'''NORFAIR Room 02 Pointer Table | |||
* '''<tt>(A231-A232) = </tt>'''NORFAIR Room 03 Pointer Table | |||
* '''<tt>(A233-A234) = </tt>'''NORFAIR Room 04 Pointer Table | |||
* '''<tt>(A235-A236) = </tt>'''NORFAIR Room 05 Pointer Table | |||
* '''<tt>(A237-A238) = </tt>'''NORFAIR Room 06 Pointer Table | |||
* '''<tt>(A239-A23A) = </tt>'''NORFAIR Room 07 Pointer Table | |||
* '''<tt>(A23B-A23C) = </tt>'''NORFAIR Room 08 Pointer Table | |||
* '''<tt>(A23D-A23E) = </tt>'''NORFAIR Room 09 Pointer Table | |||
* '''<tt>(A23F-A240) = </tt>'''NORFAIR Room 0A Pointer Table | |||
* '''<tt>(A241-A242) = </tt>'''NORFAIR Room 0B Pointer Table | |||
* '''<tt>(A243-A244) = </tt>'''NORFAIR Room 0C Pointer Table | |||
* '''<tt>(A245-A246) = </tt>'''NORFAIR Room 0D Pointer Table | |||
* '''<tt>(A247-A248) = </tt>'''NORFAIR Room 0E Pointer Table | |||
* '''<tt>(A249-A24A) = </tt>'''NORFAIR Room 0F Pointer Table | |||
* '''<tt>(A24B-A24C) = </tt>'''NORFAIR Room 10 Pointer Table | |||
* '''<tt>(A24D-A24E) = </tt>'''NORFAIR Room 11 Pointer Table | |||
* '''<tt>(A24F-A250) = </tt>'''NORFAIR Room 12 Pointer Table | |||
* '''<tt>(A251-A252) = </tt>'''NORFAIR Room 13 Pointer Table | |||
* '''<tt>(A253-A254) = </tt>'''NORFAIR Room 14 Pointer Table | |||
* '''<tt>(A255-A256) = </tt>'''NORFAIR Room 15 Pointer Table | |||
* '''<tt>(A257-A258) = </tt>'''NORFAIR Room 16 Pointer Table | |||
* '''<tt>(A259-A25A) = </tt>'''NORFAIR Room 17 Pointer Table | |||
* '''<tt>(A25B-A25C) = </tt>'''NORFAIR Room 18 Pointer Table | |||
* '''<tt>(A25D-A25E) = </tt>'''NORFAIR Room 19 Pointer Table | |||
* '''<tt>(A25F-A260) = </tt>'''NORFAIR Room 1A Pointer Table | |||
* '''<tt>(A261-A262) = </tt>'''NORFAIR Room 1B Pointer Table | |||
* '''<tt>(A263-A264) = </tt>'''NORFAIR Room 1C Pointer Table | |||
* '''<tt>(A265-A266) = </tt>'''NORFAIR Room 1D Pointer Table | |||
* '''<tt>(A267-A268) = </tt>'''NORFAIR Room 1E Pointer Table | |||
* '''<tt>(A269-A26A) = </tt>'''NORFAIR Room 1F Pointer Table | |||
* '''<tt>(A26B-A26C) = </tt>'''NORFAIR Room 20 Pointer Table | |||
* '''<tt>(A26D-A26E) = </tt>'''NORFAIR Room 21 Pointer Table | |||
* '''<tt>(A26F-A270) = </tt>'''NORFAIR Room 22 Pointer Table | |||
* '''<tt>(A271-A272) = </tt>'''NORFAIR Room 23 Pointer Table | |||
* '''<tt>(A273-A274) = </tt>'''NORFAIR Room 24 Pointer Table | |||
* '''<tt>(A275-A276) = </tt>'''NORFAIR Room 25 Pointer Table | |||
* '''<tt>(A277-A278) = </tt>'''NORFAIR Room 26 Pointer Table | |||
* '''<tt>(A279-A27A) = </tt>'''NORFAIR Room 27 Pointer Table | |||
* '''<tt>(A27B-A27C) = </tt>'''NORFAIR Room 28 Pointer Table | |||
* '''<tt>(A27D-A27E) = </tt>'''NORFAIR Room 29 Pointer Table | |||
* '''<tt>(A27F-A280) = </tt>'''NORFAIR Room 2A Pointer Table | |||
* '''<tt>(A281-A282) = </tt>'''NORFAIR Room 2B Pointer Table | |||
* '''<tt>(A283-A284) = </tt>'''NORFAIR Room 2C Pointer Table | |||
* '''<tt>(A285-A286) = </tt>'''NORFAIR Room 2D Pointer Table | |||
====Norfair Structure /Object Pointer Tables==== | |||
'''Notes:''' These two-byte tables define the ROM addresses where the game is to look for the structure/object data for Norfair by pointing to the first byte of a particular object to be used in the construction of a full room. Norfair's actual structure data is normally located between ROM addresses ACC9 and AEFB. If entirely new structures/objects are to be created from scratch in this area, then it is very important to change the values of the pointer tables below to reflect the location of the new strctures in the Metroid ROM so that [[Metroid:MetEdit|MetEdit]] as well as the game itself can properly use and edit these objects. | |||
'''Pointer Format:''' See [[Metroid:Pointer format|Pointer Format]] for details... | |||
'''Addresses:''' | |||
* '''<tt>(A287-A288) = </tt>'''NORFAIR Structure /Object 00 Pointer Table | |||
* '''<tt>(A289-A28A) = </tt>'''NORFAIR Structure /Object 01 Pointer Table | |||
* '''<tt>(A28B-A28C) = </tt>'''NORFAIR Structure /Object 02 Pointer Table | |||
* '''<tt>(A28D-A28E) = </tt>'''NORFAIR Structure /Object 03 Pointer Table | |||
* '''<tt>(A28F-A290) = </tt>'''NORFAIR Structure /Object 04 Pointer Table | |||
* '''<tt>(A291-A292) = </tt>'''NORFAIR Structure /Object 05 Pointer Table | |||
* '''<tt>(A293-A294) = </tt>'''NORFAIR Structure /Object 06 Pointer Table | |||
* '''<tt>(A295-A296) = </tt>'''NORFAIR Structure /Object 07 Pointer Table | |||
* '''<tt>(A297-A298) = </tt>'''NORFAIR Structure /Object 08 Pointer Table | |||
* '''<tt>(A299-A29A) = </tt>'''NORFAIR Structure /Object 09 Pointer Table | |||
* '''<tt>(A29B-A29C) = </tt>'''NORFAIR Structure /Object 0A Pointer Table | |||
* '''<tt>(A29D-A29E) = </tt>'''NORFAIR Structure /Object 0B Pointer Table | |||
* '''<tt>(A29F-A2A0) = </tt>'''NORFAIR Structure /Object 0C Pointer Table | |||
* '''<tt>(A2A1-A2A2) = </tt>'''NORFAIR Structure /Object 0D Pointer Table | |||
* '''<tt>(A2A3-A2A4) = </tt>'''NORFAIR Structure /Object 0E Pointer Table | |||
* '''<tt>(A2A5-A2A6) = </tt>'''NORFAIR Sturcture /Object 0F Pointer Table | |||
* '''<tt>(A2A7-A2A8) = </tt>'''NORFAIR Structure /Object 10 Pointer Table | |||
* '''<tt>(A2A9-A2AA) = </tt>'''NORFAIR Structure /Object 11 Pointer Table | |||
* '''<tt>(A2AB-A2AC) = </tt>'''NORFAIR Structure /Object 12 Pointer Table | |||
* '''<tt>(A2AD-A2AE) = </tt>'''NORFAIR Structure /Object 13 Pointer Table | |||
* '''<tt>(A2AF-A2B0) = </tt>'''NORFAIR Structure /Object 14 Pointer Table | |||
* '''<tt>(A2B1-A2B2) = </tt>'''NORFAIR Structure /Object 15 Pointer Table | |||
* '''<tt>(A2B3-A2B4) = </tt>'''NORFAIR Structure /Object 16 Pointer Table | |||
* '''<tt>(A2B5-A2B6) = </tt>'''NORFAIR Structure /Object 17 Pointer Table | |||
* '''<tt>(A2B7-A2B8) = </tt>'''NORFAIR Structure /Object 18 Pointer Table | |||
* '''<tt>(A2B9-A2BA) = </tt>'''NORFAIR Structure /Object 19 Pointer Table | |||
* '''<tt>(A2BB-A2BC) = </tt>'''NORFAIR Structure /Object 1A Pointer Table | |||
* '''<tt>(A2BD-A2BE) = </tt>'''NORFAIR Structure /Object 1B Pointer Table | |||
* '''<tt>(A2BF-A2C0) = </tt>'''NORFAIR Sturcture /Object 1C Pointer Table | |||
* '''<tt>(A2C1-A2C2) = </tt>'''NORFAIR Structure /Object 1D Pointer Table | |||
* '''<tt>(A2C3-A2C4) = </tt>'''NORFAIR Structure /Object 1E Pointer Table | |||
* '''<tt>(A2C5-A2C6) = </tt>'''NORFAIR Structure /Object 1F Pointer Table | |||
* '''<tt>(A2C7-A2C8) = </tt>'''NORFAIR Structure /Object 20 Pointer Table | |||
* '''<tt>(A2C9-A2CA) = </tt>'''NORFAIR Structure /Object 21 Pointer Table | |||
* '''<tt>(A2CB-A2CC) = </tt>'''NORFAIR Structure /Object 22 Pointer Table | |||
* '''<tt>(A2CD-A2CE) = </tt>'''NORFAIR Structure /Object 23 Pointer Table | |||
* '''<tt>(A2CF-A2D0) = </tt>'''NORFAIR Structure /Object 24 Pointer Table | |||
* '''<tt>(A2D1-A2D2) = </tt>'''NORFAIR Structure /Object 25 Pointer Table | |||
* '''<tt>(A2D3-A2D4) = </tt>'''NORFAIR Structure /Object 26 Pointer Table | |||
* '''<tt>(A2D5-A2D6) = </tt>'''NORFAIR Structure /Object 27 Pointer Table | |||
* '''<tt>(A2D7-A2D8) = </tt>'''NORFAIR Structure /Object 28 Pointer Table | |||
* '''<tt>(A2D9-A2DA) = </tt>'''NORFAIR Structure /Object 29 Pointer Table | |||
* '''<tt>(A2DB-A2DC) = </tt>'''NORFAIR Structure /Object 2A Pointer Table | |||
* '''<tt>(A2DD-A2DE) = </tt>'''NORFAIR Structure /Object 2B Pointer Table | |||
* '''<tt>(A2DF-A2E0) = </tt>'''NORFAIR Structure /Object 2C Pointer Table | |||
* '''<tt>(A2E1-A2E2) = </tt>'''NORFAIR Structure /Object 2D Pointer Table | |||
* '''<tt>(A2E3-A2E4) = </tt>'''NORFAIR Structure /Object 2E Pointer Table | |||
* '''<tt>(A2E5-A2E6) = </tt>'''NORFAIR Structure /Object 2F Pointer Table | |||
* '''<tt>(A2E7-A2E8) = </tt>'''NORFAIR Structure /Object 30 Pointer Table | |||
====Norfair Object/ Door /Enemy Data==== | |||
'''Notes:''' All data in "Addresses" is valid assuming that pointer tables to Norfair rooms remain unchanged. | |||
'''Room Format:''' See [[Metroid:Room data format|Room Data Format]] for details... | |||
'''Addresses:''' | |||
* '''<tt>(A3BB-A3CD) = </tt>'''NORFAIR Room 00 Object /Door /Enemy Data | * '''<tt>(A3BB-A3CD) = </tt>'''NORFAIR Room 00 Object /Door /Enemy Data | ||
* '''<tt>(A3CE-A3D5) = </tt>'''NORFAIR Room 01 Object /Door /Enemy Data | * '''<tt>(A3CE-A3D5) = </tt>'''NORFAIR Room 01 Object /Door /Enemy Data | ||
Line 119: | Line 405: | ||
==== | ==TOURIAN== | ||
====Tourian Room Pointer Tables==== | |||
'''Notes:''' | '''Notes:''' These two-byte tables define the ROM addresses where the game is to look for the room data for each room in Tourian by pointing to the first byte of a particular room's data. Tourian's room data is normally located between ROM addresses E8BF and EC25. If entirely new rooms are to be created from scratch in this area, then it is very important to change the values of the pointer tables below to reflect the location of the new rooms in the Metroid ROM so that [[Metroid:MetEdit|MetEdit]] as well as the game itself can properly read and use these rooms. | ||
''' | '''Pointer Format:''' See [[Metroid:Pointer format|Pointer Format]] for details... | ||
'''Addresses:''' | |||
* '''<tt>(E7E1-E7E2) = </tt>'''TOURIAN Room 00 Pointer Table | |||
* '''<tt>(E7E3-E7E4) = </tt>'''TOURIAN Room 01 Pointer Table | |||
* '''<tt>(E7E5-E7E6) = </tt>'''TOURIAN Room 02 Pointer Table | |||
* '''<tt>(E7E7-E7E8) = </tt>'''TOURIAN Room 03 Pointer Table | |||
* '''<tt>(E7E9-E7EA) = </tt>'''TOURIAN Room 04 Pointer Table | |||
* '''<tt>(E7EB-E7EC) = </tt>'''TOURIAN Room 05 Pointer Table | |||
* '''<tt>(E7ED-E7EE) = </tt>'''TOURIAN Room 06 Pointer Table | |||
* '''<tt>(E7EF-E7F0) = </tt>'''TOURIAN Room 07 Pointer Table | |||
* '''<tt>(E7F1-E7F2) = </tt>'''TOURIAN Room 08 Pointer Table | |||
* '''<tt>(E7F3-E7F4) = </tt>'''TOURIAN Room 09 Pointer Table | |||
* '''<tt>(E7F5-E7F6) = </tt>'''TOURIAN Room 0A Pointer Table | |||
* '''<tt>(E7F7-E7F8) = </tt>'''TOURIAN Room 0B Pointer Table | |||
* '''<tt>(E7F9-E7FA) = </tt>'''TOURIAN Room 0C Pointer Table | |||
* '''<tt>(E7FB-E7FC) = </tt>'''TOURIAN Room 0D Pointer Table | |||
* '''<tt>(E7FD-E7FE) = </tt>'''TOURIAN Room 0E Pointer Table | |||
* '''<tt>(E7FF-E800) = </tt>'''TOURIAN Room 0F Pointer Table | |||
* '''<tt>(E801-E802) = </tt>'''TOURIAN Room 10 Pointer Table | |||
* '''<tt>(E803-E804) = </tt>'''TOURIAN Room 11 Pointer Table | |||
* '''<tt>(E805-E806) = </tt>'''TOURIAN Room 12 Pointer Table | |||
* '''<tt>(E807-E808) = </tt>'''TOURIAN Room 13 Pointer Table | |||
* '''<tt>(E809-E80A) = </tt>'''TOURIAN Room 14 Pointer Table | |||
====Tourian Structure /Object Pointer Tables==== | |||
'''Notes:''' These two-byte tables define the ROM addresses where the game is to look for the structure/object data for Tourian by pointing to the first byte of a particular object to be used in the construction of a full room. Tourian's actual structure data is normally located between ROM addresses EC26 and EE58. If entirely new structures/objects are to be created from scratch in this area, then it is very important to change the values of the pointer tables below to reflect the location of the new strctures in the Metroid ROM so that [[Metroid:MetEdit|MetEdit]] as well as the game itself can properly use and edit these objects. | |||
'''Pointer Format:''' See [[Metroid:Pointer format|Pointer Format]] for details... | |||
'''Addresses:''' | |||
* '''<tt>(E80B-E80C) = </tt>'''TOURIAN Structure /Object 00 Pointer Table | |||
* '''<tt>(E80D-E80E) = </tt>'''TOURIAN Structure /Object 01 Pointer Table | |||
* '''<tt>(E80F-E810) = </tt>'''TOURIAN Structure /Object 02 Pointer Table | |||
* '''<tt>(E811-E812) = </tt>'''TOURIAN Structure /Object 03 Pointer Table | |||
* '''<tt>(E813-E814) = </tt>'''TOURIAN Structure /Object 04 Pointer Table | |||
* '''<tt>(E815-E816) = </tt>'''TOURIAN Structure /Object 05 Pointer Table | |||
* '''<tt>(E817-E818) = </tt>'''TOURIAN Structure /Object 06 Pointer Table | |||
* '''<tt>(E819-E81A) = </tt>'''TOURIAN Structure /Object 07 Pointer Table | |||
* '''<tt>(E81B-E81C) = </tt>'''TOURIAN Structure /Object 08 Pointer Table | |||
* '''<tt>(E81D-E81E) = </tt>'''TOURIAN Structure /Object 09 Pointer Table | |||
* '''<tt>(E81F-E820) = </tt>'''TOURIAN Structure /Object 0A Pointer Table | |||
* '''<tt>(E821-E822) = </tt>'''TOURIAN Structure /Object 0B Pointer Table | |||
* '''<tt>(E823-E824) = </tt>'''TOURIAN Structure /Object 0C Pointer Table | |||
* '''<tt>(E825-E826) = </tt>'''TOURIAN Structure /Object 0D Pointer Table | |||
* '''<tt>(E827-E828) = </tt>'''TOURIAN Structure /Object 0E Pointer Table | |||
* '''<tt>(E829-E82A) = </tt>'''TOURIAN Sturcture /Object 0F Pointer Table | |||
* '''<tt>(E82B-E82C) = </tt>'''TOURIAN Structure /Object 10 Pointer Table | |||
* '''<tt>(E82D-E82E) = </tt>'''TOURIAN Structure /Object 11 Pointer Table | |||
* '''<tt>(E82F-E830) = </tt>'''TOURIAN Structure /Object 12 Pointer Table | |||
* '''<tt>(E831-E832) = </tt>'''TOURIAN Structure /Object 13 Pointer Table | |||
* '''<tt>(E833-E834) = </tt>'''TOURIAN Structure /Object 14 Pointer Table | |||
* '''<tt>(E835-E836) = </tt>'''TOURIAN Structure /Object 15 Pointer Table | |||
* '''<tt>(E837-E838) = </tt>'''TOURIAN Structure /Object 16 Pointer Table | |||
* '''<tt>(E839-E83A) = </tt>'''TOURIAN Structure /Object 17 Pointer Table | |||
* '''<tt>(E83B-E83C) = </tt>'''TOURIAN Structure /Object 18 Pointer Table | |||
* '''<tt>(E83D-E83E) = </tt>'''TOURIAN Structure /Object 19 Pointer Table | |||
* '''<tt>(E83F-E840) = </tt>'''TOURIAN Structure /Object 1A Pointer Table | |||
* '''<tt>(E841-E842) = </tt>'''TOURIAN Structure /Object 1B Pointer Table | |||
* '''<tt>(E843-E844) = </tt>'''TOURIAN Sturcture /Object 1C Pointer Table | |||
* '''<tt>(E845-E846) = </tt>'''TOURIAN Structure /Object 1D Pointer Table | |||
* '''<tt>(E847-E848) = </tt>'''TOURIAN Structure /Object 1E Pointer Table | |||
* '''<tt>(E849-E84A) = </tt>'''TOURIAN Structure /Object 1F Pointer Table | |||
====Tourian Object /Door /Enemy Data==== | |||
'''Notes:''' All data in "Addresses" is valid assuming that pointer tables to Tourian rooms remain unchanged. | |||
'''Room Format:''' See [[Metroid:Room data format|Room Data Format]] for details... | |||
'''Addresses:''' | |||
* '''<tt>(E8BF-E8CC) = </tt>'''TOURIAN Room 00 Object /Door /Enemy Data | * '''<tt>(E8BF-E8CC) = </tt>'''TOURIAN Room 00 Object /Door /Enemy Data | ||
* '''<tt>(E8CD-E8D4) = </tt>'''TOURIAN Room 01 Object /Door /Enemy Data | * '''<tt>(E8CD-E8D4) = </tt>'''TOURIAN Room 01 Object /Door /Enemy Data | ||
Line 152: | Line 516: | ||
====KRAID | ==KRAID== | ||
====Kraid Room Pointer Tables==== | |||
'''Notes:''' These two-byte tables define the ROM addresses where the game is to look for the room data for each room in Kraid by pointing to the first byte of a particular room's data. Kraid's room data is normally located between ROM addresses 122C7 and 12A7A. If entirely new rooms are to be created from scratch in this area, then it is very important to change the values of the pointer tables below to reflect the location of the new rooms in the Metroid ROM so that [[Metroid:MetEdit|MetEdit]] as well as the game itself can properly read and use these rooms. | |||
'''Pointer Format:''' See [[Metroid:Pointer format|Pointer Format]] for details... | |||
'''Addresses:''' | |||
* '''<tt>(121E5-121E6) = </tt>'''KRAID Room 00 Pointer Table | |||
* '''<tt>(121E7-121E8) = </tt>'''KRAID Room 01 Pointer Table | |||
* '''<tt>(121E9-121EA) = </tt>'''KRAID Room 02 Pointer Table | |||
* '''<tt>(121EB-121EC) = </tt>'''KRAID Room 03 Pointer Table | |||
* '''<tt>(121ED-121EE) = </tt>'''KRAID Room 04 Pointer Table | |||
* '''<tt>(121EF-121F0) = </tt>'''KRAID Room 05 Pointer Table | |||
* '''<tt>(121F1-121F2) = </tt>'''KRAID Room 06 Pointer Table | |||
* '''<tt>(121F3-121F4) = </tt>'''KRAID Room 07 Pointer Table | |||
* '''<tt>(121F5-121F6) = </tt>'''KRAID Room 08 Pointer Table | |||
* '''<tt>(121F7-121F8) = </tt>'''KRAID Room 09 Pointer Table | |||
* '''<tt>(121F9-121FA) = </tt>'''KRAID Room 0A Pointer Table | |||
* '''<tt>(121FB-121FC) = </tt>'''KRAID Room 0B Pointer Table | |||
* '''<tt>(121FD-121FE) = </tt>'''KRAID Room 0C Pointer Table | |||
* '''<tt>(121FF-12200) = </tt>'''KRAID Room 0D Pointer Table | |||
* '''<tt>(12201-12202) = </tt>'''KRAID Room 0E Pointer Table | |||
* '''<tt>(12203-12204) = </tt>'''KRAID Room 0F Pointer Table | |||
* '''<tt>(12205-12206) = </tt>'''KRAID Room 10 Pointer Table | |||
* '''<tt>(12207-12208) = </tt>'''KRAID Room 11 Pointer Table | |||
* '''<tt>(12209-1220A) = </tt>'''KRAID Room 12 Pointer Table | |||
* '''<tt>(1220B-1220C) = </tt>'''KRAID Room 13 Pointer Table | |||
* '''<tt>(1220D-1220E) = </tt>'''KRAID Room 14 Pointer Table | |||
* '''<tt>(1220F-12210) = </tt>'''KRAID Room 15 Pointer Table | |||
* '''<tt>(12211-12212) = </tt>'''KRAID Room 16 Pointer Table | |||
* '''<tt>(12213-12214) = </tt>'''KRAID Room 17 Pointer Table | |||
* '''<tt>(12215-12216) = </tt>'''KRAID Room 18 Pointer Table | |||
* '''<tt>(12217-12218) = </tt>'''KRAID Room 19 Pointer Table | |||
* '''<tt>(12219-1221A) = </tt>'''KRAID Room 1A Pointer Table | |||
* '''<tt>(1221B-1221C) = </tt>'''KRAID Room 1B Pointer Table | |||
* '''<tt>(1221D-1221E) = </tt>'''KRAID Room 1C Pointer Table | |||
* '''<tt>(1221F-12220) = </tt>'''KRAID Room 1D Pointer Table | |||
* '''<tt>(12221-12222) = </tt>'''KRAID Room 1E Pointer Table | |||
* '''<tt>(12223-12224) = </tt>'''KRAID Room 1F Pointer Table | |||
* '''<tt>(12225-12226) = </tt>'''KRAID Room 20 Pointer Table | |||
* '''<tt>(12227-12228) = </tt>'''KRAID Room 21 Pointer Table | |||
* '''<tt>(12229-1222A) = </tt>'''KRAID Room 22 Pointer Table | |||
* '''<tt>(1222B-1222C) = </tt>'''KRAID Room 23 Pointer Table | |||
* '''<tt>(1222D-1222E) = </tt>'''KRAID Room 24 Pointer Table | |||
====Kraid Structure /Object Pointer Tables==== | |||
'''Notes:''' These two-byte tables define the ROM addresses where the game is to look for the structure/object data for Kraid by pointing to the first byte of a particular object to be used in the construction of a full room. Kraid's actual structure data is normally located between ROM addresses 12A7B and 12C41. If entirely new structures/objects are to be created from scratch in this area, then it is very important to change the values of the pointer tables below to reflect the location of the new strctures in the Metroid ROM so that [[Metroid:MetEdit|MetEdit]] as well as the game itself can properly use and edit these objects. | |||
'''Pointer Format:''' See [[Metroid:Pointer format|Pointer Format]] for details... | |||
'''Addresses:''' | |||
* '''<tt>(1222F-12230) = </tt>'''KRAID Structure /Object 00 Pointer Table | |||
* '''<tt>(12231-12232) = </tt>'''KRAID Structure /Object 01 Pointer Table | |||
* '''<tt>(12233-12234) = </tt>'''KRAID Structure /Object 02 Pointer Table | |||
* '''<tt>(12235-12236) = </tt>'''KRAID Structure /Object 03 Pointer Table | |||
* '''<tt>(12237-12238) = </tt>'''KRAID Structure /Object 04 Pointer Table | |||
* '''<tt>(12239-1223A) = </tt>'''KRAID Structure /Object 05 Pointer Table | |||
* '''<tt>(1223B-1223C) = </tt>'''KRAID Structure /Object 06 Pointer Table | |||
* '''<tt>(1223D-1223E) = </tt>'''KRAID Structure /Object 07 Pointer Table | |||
* '''<tt>(1223F-12240) = </tt>'''KRAID Structure /Object 08 Pointer Table | |||
* '''<tt>(12241-12242) = </tt>'''KRAID Structure /Object 09 Pointer Table | |||
* '''<tt>(12243-12244) = </tt>'''KRAID Structure /Object 0A Pointer Table | |||
* '''<tt>(12245-12246) = </tt>'''KRAID Structure /Object 0B Pointer Table | |||
* '''<tt>(12247-12248) = </tt>'''KRAID Structure /Object 0C Pointer Table | |||
* '''<tt>(12249-1224A) = </tt>'''KRAID Structure /Object 0D Pointer Table | |||
* '''<tt>(1224B-1224C) = </tt>'''KRAID Structure /Object 0E Pointer Table | |||
* '''<tt>(1224D-1224E) = </tt>'''KRAID Sturcture /Object 0F Pointer Table | |||
* '''<tt>(1224F-12250) = </tt>'''KRAID Structure /Object 10 Pointer Table | |||
* '''<tt>(12251-12252) = </tt>'''KRAID Structure /Object 11 Pointer Table | |||
* '''<tt>(12253-12254) = </tt>'''KRAID Structure /Object 12 Pointer Table | |||
* '''<tt>(12255-12256) = </tt>'''KRAID Structure /Object 13 Pointer Table | |||
* '''<tt>(12257-12258) = </tt>'''KRAID Structure /Object 14 Pointer Table | |||
* '''<tt>(12259-1225A) = </tt>'''KRAID Structure /Object 15 Pointer Table | |||
* '''<tt>(1225B-1225C) = </tt>'''KRAID Structure /Object 16 Pointer Table | |||
* '''<tt>(1225D-1225E) = </tt>'''KRAID Structure /Object 17 Pointer Table | |||
* '''<tt>(1225F-12260) = </tt>'''KRAID Structure /Object 18 Pointer Table | |||
* '''<tt>(12261-12262) = </tt>'''KRAID Structure /Object 19 Pointer Table | |||
* '''<tt>(12263-12264) = </tt>'''KRAID Structure /Object 1A Pointer Table | |||
* '''<tt>(12265-12266) = </tt>'''KRAID Structure /Object 1B Pointer Table | |||
* '''<tt>(12267-12268) = </tt>'''KRAID Sturcture /Object 1C Pointer Table | |||
* '''<tt>(12269-1226A) = </tt>'''KRAID Structure /Object 1D Pointer Table | |||
* '''<tt>(1226B-1226C) = </tt>'''KRAID Structure /Object 1E Pointer Table | |||
* '''<tt>(1226D-1226E) = </tt>'''KRAID Structure /Object 1F Pointer Table | |||
* '''<tt>(1226F-12270) = </tt>'''KRAID Structure /Object 20 Pointer Table | |||
* '''<tt>(12271-12272) = </tt>'''KRAID Structure /Object 21 Pointer Table | |||
* '''<tt>(12273-12274) = </tt>'''KRAID Structure /Object 22 Pointer Table | |||
* '''<tt>(12275-12276) = </tt>'''KRAID Structure /Object 23 Pointer Table | |||
* '''<tt>(12277-12278) = </tt>'''KRAID Structure /Object 24 Pointer Table | |||
* '''<tt>(12279-1227A) = </tt>'''KRAID Structure /Object 25 Pointer Table | |||
* '''<tt>(1227B-1227C) = </tt>'''KRAID Structure /Object 26 Pointer Table | |||
====Kraid Object /Door /Enemy Data==== | |||
''' | '''Notes:''' All data in "Addresses" is valid assuming that pointer tables to Kraid rooms remain unchanged, HOWEVER(!)...the Kraid pointer table that would normally point to Room 11 is actually pointing to Room 12. Therefore, using either Room 11 or Room 12 in Metroid's map data area will always cause Room 12 to appear at that location. Also, selecting both Room 11 and Room 12 within [[Metroid:MetEdit|MetEdit]] causes Room 12 to be available for editing and use. Changing ROM address 12207 from a value of 47 to a value of 18 via a hex editor will correct this and make Room 12 seperately selectable withing the game's map data area, and will also make that room available for editing and usage within [[Metroid:MetEdit|MetEdit]]. | ||
'''Room Format:''' See [[Metroid:Room data format|Room Data Format]] for details... | |||
'''Addresses:''' | |||
* '''<tt>(122C7-122D4) = </tt>'''KRAID Room 00 Object /Door /Enemy Data | * '''<tt>(122C7-122D4) = </tt>'''KRAID Room 00 Object /Door /Enemy Data | ||
* '''<tt>(122D5-122DC) = </tt>'''KRAID Room 01 Object /Door /Enemy Data | * '''<tt>(122D5-122DC) = </tt>'''KRAID Room 01 Object /Door /Enemy Data | ||
Line 195: | Line 660: | ||
* '''<tt>(129CE-12A0D) = </tt>'''KRAID Room 22 Object /Door /Enemy Data | * '''<tt>(129CE-12A0D) = </tt>'''KRAID Room 22 Object /Door /Enemy Data | ||
* '''<tt>(12A0E-12A42) = </tt>'''KRAID Room 23 Object /Door /Enemy Data | * '''<tt>(12A0E-12A42) = </tt>'''KRAID Room 23 Object /Door /Enemy Data | ||
* '''<tt>(12A43- | * '''<tt>(12A43-12A7A) = </tt>'''KRAID Room 24 Object /Door /Enemy Data | ||
==RIDLEY== | |||
====Ridley Room Pointer Tables==== | |||
'''Notes:''' These two-byte tables define the ROM addresses where the game is to look for the room data for each room in Ridley by pointing to the first byte of a particular room's data. Ridley's room data is normally located between ROM addresses 1624F and 169CE. If entirely new rooms are to be created from scratch in this area, then it is very important to change the values of the pointer tables below to reflect the location of the new rooms in the Metroid ROM so that [[Metroid:MetEdit|MetEdit]] as well as the game itself can properly read and use these rooms. | |||
'''Pointer Format:''' See [[Metroid:Pointer format|Pointer Format]] for details... | |||
'''Addresses:''' | |||
* '''<tt>(1618F-16190) = </tt>'''RIDLEY Room 00 Pointer Table | |||
* '''<tt>(16191-16192) = </tt>'''RIDLEY Room 01 Pointer Table | |||
* '''<tt>(16193-16194) = </tt>'''RIDLEY Room 02 Pointer Table | |||
* '''<tt>(16195-16196) = </tt>'''RIDLEY Room 03 Pointer Table | |||
* '''<tt>(16197-16198) = </tt>'''RIDLEY Room 04 Pointer Table | |||
* '''<tt>(16199-1619A) = </tt>'''RIDLEY Room 05 Pointer Table | |||
* '''<tt>(1619B-1619C) = </tt>'''RIDLEY Room 06 Pointer Table | |||
* '''<tt>(1619D-1619E) = </tt>'''RIDLEY Room 07 Pointer Table | |||
* '''<tt>(1619F-161A0) = </tt>'''RIDLEY Room 08 Pointer Table | |||
* '''<tt>(161A1-161A2) = </tt>'''RIDLEY Room 09 Pointer Table | |||
* '''<tt>(161A3-161A4) = </tt>'''RIDLEY Room 0A Pointer Table | |||
* '''<tt>(161A5-161A6) = </tt>'''RIDLEY Room 0B Pointer Table | |||
* '''<tt>(161A7-161A8) = </tt>'''RIDLEY Room 0C Pointer Table | |||
* '''<tt>(161A9-161AA) = </tt>'''RIDLEY Room 0D Pointer Table | |||
* '''<tt>(161AB-161AC) = </tt>'''RIDLEY Room 0E Pointer Table | |||
* '''<tt>(161AD-161AE) = </tt>'''RIDLEY Room 0F Pointer Table | |||
* '''<tt>(161AF-161B0) = </tt>'''RIDLEY Room 10 Pointer Table | |||
* '''<tt>(161B1-161B2) = </tt>'''RIDLEY Room 11 Pointer Table | |||
* '''<tt>(161B3-161B4) = </tt>'''RIDLEY Room 12 Pointer Table | |||
* '''<tt>(161B5-161B6) = </tt>'''RIDLEY Room 13 Pointer Table | |||
* '''<tt>(161B7-161B8) = </tt>'''RIDLEY Room 14 Pointer Table | |||
* '''<tt>(161B9-161BA) = </tt>'''RIDLEY Room 15 Pointer Table | |||
* '''<tt>(161BB-161BC) = </tt>'''RIDLEY Room 16 Pointer Table | |||
* '''<tt>(161BD-161BE) = </tt>'''RIDLEY Room 17 Pointer Table | |||
* '''<tt>(161BF-161C0) = </tt>'''RIDLEY Room 18 Pointer Table | |||
* '''<tt>(161C1-161C2) = </tt>'''RIDLEY Room 19 Pointer Table | |||
* '''<tt>(161C3-161C4) = </tt>'''RIDLEY Room 1A Pointer Table | |||
* '''<tt>(161C5-161C6) = </tt>'''RIDLEY Room 1B Pointer Table | |||
* '''<tt>(161C7-161C8) = </tt>'''RIDLEY Room 1C Pointer Table | |||
* '''<tt>(161C9-161CA) = </tt>'''RIDLEY Room 1D Pointer Table | |||
* '''<tt>(161CB-161CC) = </tt>'''RIDLEY Room 1E Pointer Table | |||
* '''<tt>(161CD-161CE) = </tt>'''RIDLEY Room 1F Pointer Table | |||
* '''<tt>(161CF-161D0) = </tt>'''RIDLEY Room 20 Pointer Table | |||
* '''<tt>(161D1-161D2) = </tt>'''RIDLEY Room 21 Pointer Table | |||
* '''<tt>(161D3-161D4) = </tt>'''RIDLEY Room 22 Pointer Table | |||
* '''<tt>(161D5-161D6) = </tt>'''RIDLEY Room 23 Pointer Table | |||
* '''<tt>(161D7-161D8) = </tt>'''RIDLEY Room 24 Pointer Table | |||
* '''<tt>(161D9-161DA) = </tt>'''RIDLEY Room 25 Pointer Table | |||
* '''<tt>(161DB-161DC) = </tt>'''RIDLEY Room 26 Pointer Table | |||
* '''<tt>(161DD-161DE) = </tt>'''RIDLEY Room 27 Pointer Table | |||
* '''<tt>(161DF-161E0) = </tt>'''RIDLEY Room 28 Pointer Table | |||
* '''<tt>(161E1-161E2) = </tt>'''RIDLEY Room 29 Pointer Table | |||
====Ridley Structure /Object Pointer Tables==== | |||
'''Notes:''' These two-byte tables define the ROM addresses where the game is to look for the structure/object data for Ridley by pointing to the first byte of a particular object to be used in the construction of a full room. Ridley's actual structure data is normally located between ROM addresses 169CF and 16B32. If entirely new structures/objects are to be created from scratch in this area, then it is very important to change the values of the pointer tables below to reflect the location of the new strctures in the Metroid ROM so that [[Metroid:MetEdit|MetEdit]] as well as the game itself can properly use and edit these objects. | |||
'''Pointer Format:''' See [[Metroid:Pointer format|Pointer Format]] for details... | |||
''' | '''Addresses:''' | ||
* '''<tt>(161E3-161E4) = </tt>'''RIDLEY Structure /Object 00 Pointer Table | |||
* '''<tt>(161E5-161E6) = </tt>'''RIDLEY Structure /Object 01 Pointer Table | |||
* '''<tt>(161E7-161E8) = </tt>'''RIDLEY Structure /Object 02 Pointer Table | |||
* '''<tt>(161E9-161EA) = </tt>'''RIDLEY Structure /Object 03 Pointer Table | |||
* '''<tt>(161EB-161EC) = </tt>'''RIDLEY Structure /Object 04 Pointer Table | |||
* '''<tt>(161ED-161EE) = </tt>'''RIDLEY Structure /Object 05 Pointer Table | |||
* '''<tt>(161EF-161F0) = </tt>'''RIDLEY Structure /Object 06 Pointer Table | |||
* '''<tt>(161F1-161F2) = </tt>'''RIDLEY Structure /Object 07 Pointer Table | |||
* '''<tt>(161F3-161F4) = </tt>'''RIDLEY Structure /Object 08 Pointer Table | |||
* '''<tt>(161F5-161F6) = </tt>'''RIDLEY Structure /Object 09 Pointer Table | |||
* '''<tt>(161F7-161F8) = </tt>'''RIDLEY Structure /Object 0A Pointer Table | |||
* '''<tt>(161F9-161FA) = </tt>'''RIDLEY Structure /Object 0B Pointer Table | |||
* '''<tt>(161FB-161FC) = </tt>'''RIDLEY Structure /Object 0C Pointer Table | |||
* '''<tt>(161FD-161FE) = </tt>'''RIDLEY Structure /Object 0D Pointer Table | |||
* '''<tt>(161FF-16200) = </tt>'''RIDLEY Structure /Object 0E Pointer Table | |||
* '''<tt>(16201-16202) = </tt>'''RIDLEY Sturcture /Object 0F Pointer Table | |||
* '''<tt>(16203-16204) = </tt>'''RIDLEY Structure /Object 10 Pointer Table | |||
* '''<tt>(16205-16206) = </tt>'''RIDLEY Structure /Object 11 Pointer Table | |||
* '''<tt>(16207-16208) = </tt>'''RIDLEY Structure /Object 12 Pointer Table | |||
* '''<tt>(16209-1620A) = </tt>'''RIDLEY Structure /Object 13 Pointer Table | |||
* '''<tt>(1620B-1620C) = </tt>'''RIDLEY Structure /Object 14 Pointer Table | |||
* '''<tt>(1620D-1620E) = </tt>'''RIDLEY Structure /Object 15 Pointer Table | |||
* '''<tt>(1620F-16210) = </tt>'''RIDLEY Structure /Object 16 Pointer Table | |||
* '''<tt>(16211-16212) = </tt>'''RIDLEY Structure /Object 17 Pointer Table | |||
* '''<tt>(16213-16214) = </tt>'''RIDLEY Structure /Object 18 Pointer Table | |||
* '''<tt>(16215-16216) = </tt>'''RIDLEY Structure /Object 19 Pointer Table | |||
* '''<tt>(16217-16218) = </tt>'''RIDLEY Structure /Object 1A Pointer Table | |||
* '''<tt>(16219-1621A) = </tt>'''RIDLEY Structure /Object 1B Pointer Table | |||
* '''<tt>(1621B-1621C) = </tt>'''RIDLEY Sturcture /Object 1C Pointer Table | |||
====Ridley Object /Door /Enemy Data==== | |||
'''Notes:''' All data in "Addresses" is valid assuming that pointer tables to Ridley rooms remain unchanged. There is no object /door /enemy data for Room 00 of Ridley within the Metroid ROM. The Ridley pointer table that would normally point to Room 00 is actually pointing to Room 01. Therefore, using either Room 00 or Room 01 in Metroid's map data area will always cause Room 01 to appear at that location. Also, selecting both Room 00 and Room 01 within [[Metroid:MetEdit|MetEdit]] causes Room 01 to be available for editing and use. Using Ridley Room 00 in lieu of Ridley Room 01 in Metroid's map data area is not recommended, as Room 01's data is normally configured as an elevator shaft in all areas and using Room 00 could cause bankswitching problems when using elevators depending on the configuration of Room 00 in other areas. (i.e. A room that completely changes from an elevator shaft to something else.) | |||
'''Room Format:''' See [[Metroid:Room data format|Room Data Format]] for details... | |||
'''Addresses:''' | |||
* '''<tt>(1624F-16256) = </tt>'''RIDLEY Room 01 Object /Door /Enemy Data | * '''<tt>(1624F-16256) = </tt>'''RIDLEY Room 01 Object /Door /Enemy Data | ||
* '''<tt>(16257-16282) = </tt>'''RIDLEY Room 02 Object /Door /Enemy Data | * '''<tt>(16257-16282) = </tt>'''RIDLEY Room 02 Object /Door /Enemy Data | ||
Line 249: | Line 810: | ||
* '''<tt>(1698B-169B4) = </tt>'''RIDLEY Room 28 Object /Door /Enemy Data | * '''<tt>(1698B-169B4) = </tt>'''RIDLEY Room 28 Object /Door /Enemy Data | ||
* '''<tt>(169B5-169CE) = </tt>'''RIDLEY Room 29 Object /Door /Enemy Data | * '''<tt>(169B5-169CE) = </tt>'''RIDLEY Room 29 Object /Door /Enemy Data | ||
{{Internal Data|game=Metroid}} | |||
Latest revision as of 02:42, 24 January 2024
MAP DATA
Overall Map/Level Data
Notes: The space between 254E and 294D within the Metroid ROM serves as the game's overall map layout. All 1024 possible map locations, indicated by one byte apiece, are arranged in a 32x32 grid, and every subsequent set of 32 bytes represents one horizontal row in that map grid. Each byte contains either the number of a room or FF which signifies that no room is used at that map location. Which of the five areas a particular room belongs to is not indicated on this map but rather controlled in-game by the elevators. It is therefore possible to intersect different areas in the map by using like room numbers. This is, however, a practice recommended only for use by the more clever and experienced of Metroid hackers.
Map Format: Self-explanatory...see "Notes" and "Addresses".
Addresses:
- (254E-256D) = Map Data Horizontal Row 1
- (256E-258D) = Map Data Horizontal Row 2
- (258E-25AD) = Map Data Horizontal Row 3
- (25AE-25CD) = Map Data Horizontal Row 4
- (25CE-25ED) = Map Data Horizontal Row 5
- (25EE-260D) = Map Data Horizontal Row 6
- (260E-262D) = Map Data Horizontal Row 7
- (262E-264D) = Map Data Horizontal Row 8
- (264E-266D) = Map Data Horizontal Row 9
- (266E-268D) = Map Data Horizontal Row 10
- (268E-26AD) = Map Data Horizontal Row 11
- (26AE-26CD) = Map Data Horizontal Row 12
- (26CE-26ED) = Map Data Horizontal Row 13
- (26EE-270D) = Map Data Horizontal Row 14
- (270E-272D) = Map Data Horizontal Row 15
- (272E-274D) = Map Data Horizontal Row 16
- (274E-276D) = Map Data Horizontal Row 17
- (276E-278D) = Map Data Horizontal Row 18
- (278E-27AD) = Map Data Horizontal Row 19
- (27AE-27CD) = Map Data Horizontal Row 20
- (27CE-27ED) = Map Data Horizontal Row 21
- (27EE-280D) = Map Data Horizontal Row 22
- (280E-282D) = Map Data Horizontal Row 23
- (282E-284D) = Map Data Horizontal Row 24
- (284E-286D) = Map Data Horizontal Row 25
- (286E-288D) = Map Data Horizontal Row 26
- (288E-28AD) = Map Data Horizontal Row 27
- (28AE-28CD) = Map Data Horizontal Row 28
- (28CE-28ED) = Map Data Horizontal Row 29
- (28EE-290D) = Map Data Horizontal Row 30
- (290E-292D) = Map Data Horizontal Row 31
- (292E-294D) = Map Data Horizontal Row 32
BRINSTAR
Brinstar Room Pointer Tables
Notes: These two-byte tables define the ROM addresses where the game is to look for the room data for each room in Brinstar by pointing to the first byte of a particular room's data. Brinstar's room data is normally located between ROM addresses 6451 and 6C93. If entirely new rooms are to be created from scratch in this area, then it is very important to change the values of the pointer tables below to reflect the location of the new rooms in the Metroid ROM so that MetEdit as well as the game itself can properly read and use these rooms.
Pointer Format: See Pointer Format for details...
Addresses:
- (6324-6325) = BRINSTAR Room 00 Pointer Table
- (6326-6327) = BRINSTAR Room 01 Pointer Table
- (6328-6329) = BRINSTAR Room 02 Pointer Table
- (632A-632B) = BRINSTAR Room 03 Pointer Table
- (632C-632D) = BRINSTAR Room 04 Pointer Table
- (632E-632F) = BRINSTAR Room 05 Pointer Table
- (6330-6331) = BRINSTAR Room 06 Pointer Table
- (6332-6333) = BRINSTAR Room 07 Pointer Table
- (6334-6335) = BRINSTAR Room 08 Pointer Table
- (6336-6337) = BRINSTAR Room 09 Pointer Table
- (6338-6339) = BRINSTAR Room 0A Pointer Table
- (633A-633B) = BRINSTAR Room 0B Pointer Table
- (633C-633D) = BRINSTAR Room 0C Pointer Table
- (633E-633F) = BRINSTAR Room 0D Pointer Table
- (6340-6341) = BRINSTAR Room 0E Pointer Table
- (6342-6343) = BRINSTAR Room 0F Pointer Table
- (6344-6345) = BRINSTAR Room 10 Pointer Table
- (6346-6347) = BRINSTAR Room 11 Pointer Table
- (6348-6349) = BRINSTAR Room 12 Pointer Table
- (634A-634B) = BRINSTAR Room 13 Pointer Table
- (634C-634D) = BRINSTAR Room 14 Pointer Table
- (634E-634F) = BRINSTAR Room 15 Pointer Table
- (6350-6351) = BRINSTAR Room 16 Pointer Table
- (6352-6353) = BRINSTAR Room 17 Pointer Table
- (6354-6355) = BRINSTAR Room 18 Pointer Table
- (6356-6357) = BRINSTAR Room 19 Pointer Table
- (6358-6359) = BRINSTAR Room 1A Pointer Table
- (635A-635B) = BRINSTAR Room 1B Pointer Table
- (635C-635D) = BRINSTAR Room 1C Pointer Table
- (635E-635F) = BRINSTAR Room 1D Pointer Table
- (6360-6361) = BRINSTAR Room 1E Pointer Table
- (6362-6363) = BRINSTAR Room 1F Pointer Table
- (6364-6365) = BRINSTAR Room 20 Pointer Table
- (6366-6367) = BRINSTAR Room 21 Pointer Table
- (6368-6369) = BRINSTAR Room 22 Pointer Table
- (636A-636B) = BRINSTAR Room 23 Pointer Table
- (636C-636D) = BRINSTAR Room 24 Pointer Table
- (636E-636F) = BRINSTAR Room 25 Pointer Table
- (6370-6371) = BRINSTAR Room 26 Pointer Table
- (6372-6373) = BRINSTAR Room 27 Pointer Table
- (6374-6375) = BRINSTAR Room 28 Pointer Table
- (6376-6377) = BRINSTAR Room 29 Pointer Table
- (6378-6379) = BRINSTAR Room 2A Pointer Table
- (637A-637B) = BRINSTAR Room 2B Pointer Table
- (637C-637D) = BRINSTAR Room 2C Pointer Table
- (637E-637F) = BRINSTAR Room 2D Pointer Table
- (6380-6381) = BRINSTAR Room 2E Pointer Table
Brinstar Structure /Object Pointer Tables
Notes: These two-byte tables define the ROM addresses where the game is to look for the structure/object data for Brinstar by pointing to the first byte of a particular object to be used in the construction of a full room. Brinstar's actual structure data is normally located between ROM addresses 6C94 and 6EFF. If entirely new structures/objects are to be created from scratch in this area, then it is very important to change the values of the pointer tables below to reflect the location of the new strctures in the Metroid ROM so that MetEdit as well as the game itself can properly use and edit these objects.
Pointer Format: See Pointer Format for details...
Addresses:
- (6382-6383) = BRINSTAR Structure /Object 00 Pointer Table
- (6384-6385) = BRINSTAR Structure /Object 01 Pointer Table
- (6386-6387) = BRINSTAR Structure /Object 02 Pointer Table
- (6388-6389) = BRINSTAR Structure /Object 03 Pointer Table
- (638A-638B) = BRINSTAR Structure /Object 04 Pointer Table
- (638C-638D) = BRINSTAR Structure /Object 05 Pointer Table
- (638E-638F) = BRINSTAR Structure /Object 06 Pointer Table
- (6390-6391) = BRINSTAR Structure /Object 07 Pointer Table
- (6392-6393) = BRINSTAR Structure /Object 08 Pointer Table
- (6394-6395) = BRINSTAR Structure /Object 09 Pointer Table
- (6396-6397) = BRINSTAR Structure /Object 0A Pointer Table
- (6398-6399) = BRINSTAR Structure /Object 0B Pointer Table
- (639A-639B) = BRINSTAR Sturcture /Object 0C Pointer Table
- (639C-639D) = BRINSTAR Structure /Object 0D Pointer Table
- (639E-639F) = BRINSTAR Structure /Object 0E Pointer Table
- (63A0-63A1) = BRINSTAR Structure /Object 0F Pointer Table
- (63A2-63A3) = BRINSTAR Structure /Object 10 Pointer Table
- (63A4-63A5) = BRINSTAR Structure /Object 11 Pointer Table
- (63A6-63A7) = BRINSTAR Structure /Object 12 Pointer Table
- (63A8-63A9) = BRINSTAR Structure /Object 13 Pointer Table
- (63AA-63AB) = BRINSTAR Structure /Object 14 Pointer Table
- (63AC-63AD) = BRINSTAR Structure /Object 15 Pointer Table
- (63AE-63AF) = BRINSTAR Structure /Object 16 Pointer Table
- (63B0-63B1) = BRINSTAR Structure /Object 17 Pointer Table
- (63B2-63B3) = BRINSTAR Structure /Object 18 Pointer Table
- (63B4-63B5) = BRINSTAR Sturcture /Object 19 Pointer Table
- (63B6-63B7) = BRINSTAR Structure /Object 1A Pointer Table
- (63B8-63B9) = BRINSTAR Structure /Object 1B Pointer Table
- (63BA-63BB) = BRINSTAR Structure /Object 1C Pointer Table
- (63BC-63BD) = BRINSTAR Structure /Object 1D Pointer Table
- (63BE-63BF) = BRINSTAR Structure /Object 1E Pointer Table
- (63C0-63C1) = BRINSTAR Structure /Object 1F Pointer Table
- (63C2-63C3) = BRINSTAR Structure /Object 20 Pointer Table
- (63C4-63C5) = BRINSTAR Structure /Object 21 Pointer Table
- (63C6-63C7) = BRINSTAR Structure /Object 22 Pointer Table
- (63C8-63C9) = BRINSTAR Structure /Object 23 Pointer Table
- (63CA-63CB) = BRINSTAR Structure /Object 24 Pointer Table
- (63CC-63CD) = BRINSTAR Structure /Object 25 Pointer Table
- (63CE-63CF) = BRINSTAR Structure /Object 26 Pointer Table
- (63D0-63D1) = BRINSTAR Structure /Object 27 Pointer Table
- (63D2-63D3) = BRINSTAR Structure /Object 28 Pointer Table
- (63D4-63D5) = BRINSTAR Structure /Object 29 Pointer Table
- (63D6-63D7) = BRINSTAR Structure /Object 2A Pointer Table
- (63D8-63D9) = BRINSTAR Structure /Object 2B Pointer Table
- (63DA-63DB) = BRINSTAR Structure /Object 2C Pointer Table
- (63DC-63DD) = BRINSTAR Structure /Object 2D Pointer Table
- (63DE-63DF) = BRINSTAR Structure /Object 2E Pointer Table
- (63E0-63E1) = BRINSTAR Structure /Object 2F Pointer Table
- (63E2-63E3) = BRINSTAR Structure /Object 30 Pointer Table
- (63E4-63E5) = BRINSTAR Structure /Object 31 Pointer Table
Brinstar Object /Door /Enemy Data
Notes: All data in "Addresses" is valid assuming that pointer tables to Brinstar rooms remain unchanged.
Room Format: See Room Data Format for details...
Addresses:
- (6451-6463) = BRINSTAR Room 00 Object /Door /Enemy Data
- (6464-646B) = BRINSTAR Room 01 Object /Door /Enemy Data
- (646C-648F) = BRINSTAR Room 02 Object /Door /Enemy Data
- (6490-64CA) = BRINSTAR Room 03 Object /Door /Enemy Data
- (64CB-64FC) = BRINSTAR Room 04 Object /Door /Enemy Data
- (64FD-6533) = BRINSTAR Room 05 Object /Door /Enemy Data
- (6534-6569) = BRINSTAR Room 06 Object /Door /Enemy Data
- (656A-6596) = BRINSTAR Room 07 Object /Door /Enemy Data
- (6597-65C8) = BRINSTAR Room 08 Object /Door /Enemy Data
- (65C9-65EC) = BRINSTAR Room 09 Object /Door /Enemy Data
- (65ED-6624) = BRINSTAR Room 0A Object /Door /Enemy Data
- (6625-6644) = BRINSTAR Room 0B Object /Door /Enemy Data
- (6645-6670) = BRINSTAR Room 0C Object /Door /Enemy Data
- (6671-669C) = BRINSTAR Room 0D Object /Door /Enemy Data
- (669D-66C0) = BRINSTAR Room 0E Object /Door /Enemy Data
- (66C1-66EA) = BRINSTAR Room 0F Object /Door /Enemy Data
- (66EB-6724) = BRINSTAR Room 10 Object /Door /Enemy Data
- (6725-674B) = BRINSTAR Room 11 Object /Door /Enemy Data
- (674C-6777) = BRINSTAR Room 12 Object /Door /Enemy Data
- (6778-679A) = BRINSTAR Room 13 Object /Door /Enemy Data
- (679B-67B2) = BRINSTAR Room 14 Object /Door /Enemy Data
- (67B3-67DF) = BRINSTAR Room 15 Object /Door /Enemy Data
- (67E0-6800) = BRINSTAR Room 16 Object /Door /Enemy Data
- (6801-682A) = BRINSTAR Room 17 Object /Door /Enemy Data
- (682B-686A) = BRINSTAR Room 18 Object /Door /Enemy Data
- (686B-689A) = BRINSTAR Room 19 Object /Door /Enemy Data
- (689B-68C0) = BRINSTAR Room 1A Object /Door /Enemy Data
- (68C1-68F6) = BRINSTAR Room 1B Object /Door /Enemy Data
- (68F7-691F) = BRINSTAR Room 1C Object /Door /Enemy Data
- (6920-693A) = BRINSTAR Room 1D Object /Door /Enemy Data
- (693B-697A) = BRINSTAR Room 1E Object /Door /Enemy Data
- (697B-69A6) = BRINSTAR Room 1F Object /Door /Enemy Data
- (69A7-69D5) = BRINSTAR Room 20 Object /Door /Enemy Data
- (69D6-6A05) = BRINSTAR Room 21 Object /Door /Enemy Data
- (6A06-6A2F) = BRINSTAR Room 22 Object /Door /Enemy Data
- (6A30-6A65) = BRINSTAR Room 23 Object /Door /Enemy Data
- (6A66-6AB3) = BRINSTAR Room 24 Object /Door /Enemy Data
- (6AB4-6AF5) = BRINSTAR Room 25 Object /Door /Enemy Data
- (6AF6-6B28) = BRINSTAR Room 26 Object /Door /Enemy Data
- (6B29-6B57) = BRINSTAR Room 27 Object /Door /Enemy Data
- (6B58-6B80) = BRINSTAR Room 28 Object /Door /Enemy Data
- (6B81-6BA1) = BRINSTAR Room 29 Object /Door /Enemy Data
- (6BA2-6BCE) = BRINSTAR Room 2A Object /Door /Enemy Data
- (6BCF-6C33) = BRINSTAR Room 2B Object /Door /Enemy Data
- (6C34-6C5C) = BRINSTAR Room 2C Object /Door /Enemy Data
- (6C5D-6C79) = BRINSTAR Room 2D Object /Door /Enemy Data
- (6C7A-6C93) = BRINSTAR Room 2E Object /Door /Enemy Data
NORFAIR
Norfair Room Pointer Tables
Notes: These two-byte tables define the ROM addresses where the game is to look for the room data for each room in Norfair by pointing to the first byte of a particular room's data. Norfair's room data is normally located between ROM addresses A3BB and ACC8. If entirely new rooms are to be created from scratch in this area, then it is very important to change the values of the pointer tables below to reflect the location of the new rooms in the Metroid ROM so that MetEdit as well as the game itself can properly read and use these rooms.
Pointer Format: See Pointer Format for details...
Addresses:
- (A22B-A22C) = NORFAIR Room 00 Pointer Table
- (A22D-A22E) = NORFAIR Room 01 Pointer Table
- (A22F-A230) = NORFAIR Room 02 Pointer Table
- (A231-A232) = NORFAIR Room 03 Pointer Table
- (A233-A234) = NORFAIR Room 04 Pointer Table
- (A235-A236) = NORFAIR Room 05 Pointer Table
- (A237-A238) = NORFAIR Room 06 Pointer Table
- (A239-A23A) = NORFAIR Room 07 Pointer Table
- (A23B-A23C) = NORFAIR Room 08 Pointer Table
- (A23D-A23E) = NORFAIR Room 09 Pointer Table
- (A23F-A240) = NORFAIR Room 0A Pointer Table
- (A241-A242) = NORFAIR Room 0B Pointer Table
- (A243-A244) = NORFAIR Room 0C Pointer Table
- (A245-A246) = NORFAIR Room 0D Pointer Table
- (A247-A248) = NORFAIR Room 0E Pointer Table
- (A249-A24A) = NORFAIR Room 0F Pointer Table
- (A24B-A24C) = NORFAIR Room 10 Pointer Table
- (A24D-A24E) = NORFAIR Room 11 Pointer Table
- (A24F-A250) = NORFAIR Room 12 Pointer Table
- (A251-A252) = NORFAIR Room 13 Pointer Table
- (A253-A254) = NORFAIR Room 14 Pointer Table
- (A255-A256) = NORFAIR Room 15 Pointer Table
- (A257-A258) = NORFAIR Room 16 Pointer Table
- (A259-A25A) = NORFAIR Room 17 Pointer Table
- (A25B-A25C) = NORFAIR Room 18 Pointer Table
- (A25D-A25E) = NORFAIR Room 19 Pointer Table
- (A25F-A260) = NORFAIR Room 1A Pointer Table
- (A261-A262) = NORFAIR Room 1B Pointer Table
- (A263-A264) = NORFAIR Room 1C Pointer Table
- (A265-A266) = NORFAIR Room 1D Pointer Table
- (A267-A268) = NORFAIR Room 1E Pointer Table
- (A269-A26A) = NORFAIR Room 1F Pointer Table
- (A26B-A26C) = NORFAIR Room 20 Pointer Table
- (A26D-A26E) = NORFAIR Room 21 Pointer Table
- (A26F-A270) = NORFAIR Room 22 Pointer Table
- (A271-A272) = NORFAIR Room 23 Pointer Table
- (A273-A274) = NORFAIR Room 24 Pointer Table
- (A275-A276) = NORFAIR Room 25 Pointer Table
- (A277-A278) = NORFAIR Room 26 Pointer Table
- (A279-A27A) = NORFAIR Room 27 Pointer Table
- (A27B-A27C) = NORFAIR Room 28 Pointer Table
- (A27D-A27E) = NORFAIR Room 29 Pointer Table
- (A27F-A280) = NORFAIR Room 2A Pointer Table
- (A281-A282) = NORFAIR Room 2B Pointer Table
- (A283-A284) = NORFAIR Room 2C Pointer Table
- (A285-A286) = NORFAIR Room 2D Pointer Table
Norfair Structure /Object Pointer Tables
Notes: These two-byte tables define the ROM addresses where the game is to look for the structure/object data for Norfair by pointing to the first byte of a particular object to be used in the construction of a full room. Norfair's actual structure data is normally located between ROM addresses ACC9 and AEFB. If entirely new structures/objects are to be created from scratch in this area, then it is very important to change the values of the pointer tables below to reflect the location of the new strctures in the Metroid ROM so that MetEdit as well as the game itself can properly use and edit these objects.
Pointer Format: See Pointer Format for details...
Addresses:
- (A287-A288) = NORFAIR Structure /Object 00 Pointer Table
- (A289-A28A) = NORFAIR Structure /Object 01 Pointer Table
- (A28B-A28C) = NORFAIR Structure /Object 02 Pointer Table
- (A28D-A28E) = NORFAIR Structure /Object 03 Pointer Table
- (A28F-A290) = NORFAIR Structure /Object 04 Pointer Table
- (A291-A292) = NORFAIR Structure /Object 05 Pointer Table
- (A293-A294) = NORFAIR Structure /Object 06 Pointer Table
- (A295-A296) = NORFAIR Structure /Object 07 Pointer Table
- (A297-A298) = NORFAIR Structure /Object 08 Pointer Table
- (A299-A29A) = NORFAIR Structure /Object 09 Pointer Table
- (A29B-A29C) = NORFAIR Structure /Object 0A Pointer Table
- (A29D-A29E) = NORFAIR Structure /Object 0B Pointer Table
- (A29F-A2A0) = NORFAIR Structure /Object 0C Pointer Table
- (A2A1-A2A2) = NORFAIR Structure /Object 0D Pointer Table
- (A2A3-A2A4) = NORFAIR Structure /Object 0E Pointer Table
- (A2A5-A2A6) = NORFAIR Sturcture /Object 0F Pointer Table
- (A2A7-A2A8) = NORFAIR Structure /Object 10 Pointer Table
- (A2A9-A2AA) = NORFAIR Structure /Object 11 Pointer Table
- (A2AB-A2AC) = NORFAIR Structure /Object 12 Pointer Table
- (A2AD-A2AE) = NORFAIR Structure /Object 13 Pointer Table
- (A2AF-A2B0) = NORFAIR Structure /Object 14 Pointer Table
- (A2B1-A2B2) = NORFAIR Structure /Object 15 Pointer Table
- (A2B3-A2B4) = NORFAIR Structure /Object 16 Pointer Table
- (A2B5-A2B6) = NORFAIR Structure /Object 17 Pointer Table
- (A2B7-A2B8) = NORFAIR Structure /Object 18 Pointer Table
- (A2B9-A2BA) = NORFAIR Structure /Object 19 Pointer Table
- (A2BB-A2BC) = NORFAIR Structure /Object 1A Pointer Table
- (A2BD-A2BE) = NORFAIR Structure /Object 1B Pointer Table
- (A2BF-A2C0) = NORFAIR Sturcture /Object 1C Pointer Table
- (A2C1-A2C2) = NORFAIR Structure /Object 1D Pointer Table
- (A2C3-A2C4) = NORFAIR Structure /Object 1E Pointer Table
- (A2C5-A2C6) = NORFAIR Structure /Object 1F Pointer Table
- (A2C7-A2C8) = NORFAIR Structure /Object 20 Pointer Table
- (A2C9-A2CA) = NORFAIR Structure /Object 21 Pointer Table
- (A2CB-A2CC) = NORFAIR Structure /Object 22 Pointer Table
- (A2CD-A2CE) = NORFAIR Structure /Object 23 Pointer Table
- (A2CF-A2D0) = NORFAIR Structure /Object 24 Pointer Table
- (A2D1-A2D2) = NORFAIR Structure /Object 25 Pointer Table
- (A2D3-A2D4) = NORFAIR Structure /Object 26 Pointer Table
- (A2D5-A2D6) = NORFAIR Structure /Object 27 Pointer Table
- (A2D7-A2D8) = NORFAIR Structure /Object 28 Pointer Table
- (A2D9-A2DA) = NORFAIR Structure /Object 29 Pointer Table
- (A2DB-A2DC) = NORFAIR Structure /Object 2A Pointer Table
- (A2DD-A2DE) = NORFAIR Structure /Object 2B Pointer Table
- (A2DF-A2E0) = NORFAIR Structure /Object 2C Pointer Table
- (A2E1-A2E2) = NORFAIR Structure /Object 2D Pointer Table
- (A2E3-A2E4) = NORFAIR Structure /Object 2E Pointer Table
- (A2E5-A2E6) = NORFAIR Structure /Object 2F Pointer Table
- (A2E7-A2E8) = NORFAIR Structure /Object 30 Pointer Table
Norfair Object/ Door /Enemy Data
Notes: All data in "Addresses" is valid assuming that pointer tables to Norfair rooms remain unchanged.
Room Format: See Room Data Format for details...
Addresses:
- (A3BB-A3CD) = NORFAIR Room 00 Object /Door /Enemy Data
- (A3CE-A3D5) = NORFAIR Room 01 Object /Door /Enemy Data
- (A3D6-A407) = NORFAIR Room 02 Object /Door /Enemy Data
- (A408-A43E) = NORFAIR Room 03 Object /Door /Enemy Data
- (A43F-A482) = NORFAIR Room 04 Object /Door /Enemy Data
- (A483-A4BA) = NORFAIR Room 05 Object /Door /Enemy Data
- (A4BB-A504) = NORFAIR Room 06 Object /Door /Enemy Data
- (A505-A536) = NORFAIR Room 07 Object /Door /Enemy Data
- (A537-A56E) = NORFAIR Room 08 Object /Door /Enemy Data
- (A56F-A5A7) = NORFAIR Room 09 Object /Door /Enemy Data
- (A5A8-A5E8) = NORFAIR Room 0A Object /Door /Enemy Data
- (A5E9-A626) = NORFAIR Room 0B Object /Door /Enemy Data
- (A627-A64D) = NORFAIR Room 0C Object /Door /Enemy Data
- (A64E-A687) = NORFAIR Room 0D Object /Door /Enemy Data
- (A688-A6B9) = NORFAIR Room 0E Object /Door /Enemy Data
- (A6BA-A6EE) = NORFAIR Room 0F Object /Door /Enemy Data
- (A6EF-A71D) = NORFAIR Room 10 Object /Door /Enemy Data
- (A71E-A758) = NORFAIR Room 11 Object /Door /Enemy Data
- (A759-A78D) = NORFAIR Room 12 Object /Door /Enemy Data
- (A78E-A7C2) = NORFAIR Room 13 Object /Door /Enemy Data
- (A7C3-A7F5) = NORFAIR Room 14 Object /Door /Enemy Data
- (A7F6-A83A) = NORFAIR Room 15 Object /Door /Enemy Data
- (A83B-A861) = NORFAIR Room 16 Object /Door /Enemy Data
- (A862-A88E) = NORFAIR Room 17 Object /Door /Enemy Data
- (A88F-A8C1) = NORFAIR Room 18 Object /Door /Enemy Data
- (A8C2-A8EB) = NORFAIR Room 19 Object /Door /Enemy Data
- (A8EC-A918) = NORFAIR Room 1A Object /Door /Enemy Data
- (A919-A956) = NORFAIR Room 1B Object /Door /Enemy Data
- (A957-A988) = NORFAIR Room 1C Object /Door /Enemy Data
- (A989-A9BA) = NORFAIR Room 1D Object /Door /Enemy Data
- (A9BB-A9E4) = NORFAIR Room 1E Object /Door /Enemy Data
- (A9E5-AA0E) = NORFAIR Room 1F Object /Door /Enemy Data
- (AA0F-AA3F) = NORFAIR Room 20 Object /Door /Enemy Data
- (AA40-AA7E) = NORFAIR Room 21 Object /Door /Enemy Data
- (AA7F-AAB6) = NORFAIR Room 22 Object /Door /Enemy Data
- (AAB7-AAE3) = NORFAIR Room 23 Object /Door /Enemy Data
- (AAE4-AB0F) = NORFAIR Room 24 Object /Door /Enemy Data
- (AB10-AB43) = NORFAIR Room 25 Object /Door /Enemy Data
- (AB44-AB7F) = NORFAIR Room 26 Object /Door /Enemy Data
- (AB80-ABB4) = NORFAIR Room 27 Object /Door /Enemy Data
- (ABB5-ABDF) = NORFAIR Room 28 Object /Door /Enemy Data
- (ABEA-AC0F) = NORFAIR Room 29 Object /Door /Enemy Data
- (AC10-AC51) = NORFAIR Room 2A Object /Door /Enemy Data
- (AC52-AC81) = NORFAIR Room 2B Object /Door /Enemy Data
- (AC82-ACA8) = NORFAIR Room 2C Object /Door /Enemy Data
- (ACA9-ACC8) = NORFAIR Room 2D Object /Door /Enemy Data
TOURIAN
Tourian Room Pointer Tables
Notes: These two-byte tables define the ROM addresses where the game is to look for the room data for each room in Tourian by pointing to the first byte of a particular room's data. Tourian's room data is normally located between ROM addresses E8BF and EC25. If entirely new rooms are to be created from scratch in this area, then it is very important to change the values of the pointer tables below to reflect the location of the new rooms in the Metroid ROM so that MetEdit as well as the game itself can properly read and use these rooms.
Pointer Format: See Pointer Format for details...
Addresses:
- (E7E1-E7E2) = TOURIAN Room 00 Pointer Table
- (E7E3-E7E4) = TOURIAN Room 01 Pointer Table
- (E7E5-E7E6) = TOURIAN Room 02 Pointer Table
- (E7E7-E7E8) = TOURIAN Room 03 Pointer Table
- (E7E9-E7EA) = TOURIAN Room 04 Pointer Table
- (E7EB-E7EC) = TOURIAN Room 05 Pointer Table
- (E7ED-E7EE) = TOURIAN Room 06 Pointer Table
- (E7EF-E7F0) = TOURIAN Room 07 Pointer Table
- (E7F1-E7F2) = TOURIAN Room 08 Pointer Table
- (E7F3-E7F4) = TOURIAN Room 09 Pointer Table
- (E7F5-E7F6) = TOURIAN Room 0A Pointer Table
- (E7F7-E7F8) = TOURIAN Room 0B Pointer Table
- (E7F9-E7FA) = TOURIAN Room 0C Pointer Table
- (E7FB-E7FC) = TOURIAN Room 0D Pointer Table
- (E7FD-E7FE) = TOURIAN Room 0E Pointer Table
- (E7FF-E800) = TOURIAN Room 0F Pointer Table
- (E801-E802) = TOURIAN Room 10 Pointer Table
- (E803-E804) = TOURIAN Room 11 Pointer Table
- (E805-E806) = TOURIAN Room 12 Pointer Table
- (E807-E808) = TOURIAN Room 13 Pointer Table
- (E809-E80A) = TOURIAN Room 14 Pointer Table
Tourian Structure /Object Pointer Tables
Notes: These two-byte tables define the ROM addresses where the game is to look for the structure/object data for Tourian by pointing to the first byte of a particular object to be used in the construction of a full room. Tourian's actual structure data is normally located between ROM addresses EC26 and EE58. If entirely new structures/objects are to be created from scratch in this area, then it is very important to change the values of the pointer tables below to reflect the location of the new strctures in the Metroid ROM so that MetEdit as well as the game itself can properly use and edit these objects.
Pointer Format: See Pointer Format for details...
Addresses:
- (E80B-E80C) = TOURIAN Structure /Object 00 Pointer Table
- (E80D-E80E) = TOURIAN Structure /Object 01 Pointer Table
- (E80F-E810) = TOURIAN Structure /Object 02 Pointer Table
- (E811-E812) = TOURIAN Structure /Object 03 Pointer Table
- (E813-E814) = TOURIAN Structure /Object 04 Pointer Table
- (E815-E816) = TOURIAN Structure /Object 05 Pointer Table
- (E817-E818) = TOURIAN Structure /Object 06 Pointer Table
- (E819-E81A) = TOURIAN Structure /Object 07 Pointer Table
- (E81B-E81C) = TOURIAN Structure /Object 08 Pointer Table
- (E81D-E81E) = TOURIAN Structure /Object 09 Pointer Table
- (E81F-E820) = TOURIAN Structure /Object 0A Pointer Table
- (E821-E822) = TOURIAN Structure /Object 0B Pointer Table
- (E823-E824) = TOURIAN Structure /Object 0C Pointer Table
- (E825-E826) = TOURIAN Structure /Object 0D Pointer Table
- (E827-E828) = TOURIAN Structure /Object 0E Pointer Table
- (E829-E82A) = TOURIAN Sturcture /Object 0F Pointer Table
- (E82B-E82C) = TOURIAN Structure /Object 10 Pointer Table
- (E82D-E82E) = TOURIAN Structure /Object 11 Pointer Table
- (E82F-E830) = TOURIAN Structure /Object 12 Pointer Table
- (E831-E832) = TOURIAN Structure /Object 13 Pointer Table
- (E833-E834) = TOURIAN Structure /Object 14 Pointer Table
- (E835-E836) = TOURIAN Structure /Object 15 Pointer Table
- (E837-E838) = TOURIAN Structure /Object 16 Pointer Table
- (E839-E83A) = TOURIAN Structure /Object 17 Pointer Table
- (E83B-E83C) = TOURIAN Structure /Object 18 Pointer Table
- (E83D-E83E) = TOURIAN Structure /Object 19 Pointer Table
- (E83F-E840) = TOURIAN Structure /Object 1A Pointer Table
- (E841-E842) = TOURIAN Structure /Object 1B Pointer Table
- (E843-E844) = TOURIAN Sturcture /Object 1C Pointer Table
- (E845-E846) = TOURIAN Structure /Object 1D Pointer Table
- (E847-E848) = TOURIAN Structure /Object 1E Pointer Table
- (E849-E84A) = TOURIAN Structure /Object 1F Pointer Table
Tourian Object /Door /Enemy Data
Notes: All data in "Addresses" is valid assuming that pointer tables to Tourian rooms remain unchanged.
Room Format: See Room Data Format for details...
Addresses:
- (E8BF-E8CC) = TOURIAN Room 00 Object /Door /Enemy Data
- (E8CD-E8D4) = TOURIAN Room 01 Object /Door /Enemy Data
- (E8D5-E909) = TOURIAN Room 02 Object /Door /Enemy Data
- (E90A-E938) = TOURIAN Room 03 Object /Door /Enemy Data
- (E939-E96D) = TOURIAN Room 04 Object /Door /Enemy Data
- (E96E-E984) = TOURIAN Room 05 Object /Door /Enemy Data
- (E985-E99F) = TOURIAN Room 06 Object /Door /Enemy Data
- (E9A0-E9BA) = TOURIAN Room 07 Object /Door /Enemy Data
- (E9BB-E9DE) = TOURIAN Room 08 Object /Door /Enemy Data
- (E9DF-EA01) = TOURIAN Room 09 Object /Door /Enemy Data
- (EA02-EA42) = TOURIAN Room 0A Object /Door /Enemy Data
- (EA43-EA84) = TOURIAN Room 0B Object /Door /Enemy Data
- (EA85-EABD) = TOURIAN Room 0C Object /Door /Enemy Data
- (EABE-EAF2) = TOURIAN Room 0D Object /Door /Enemy Data
- (EAF3-EB21) = TOURIAN Room 0E Object /Door /Enemy Data
- (EB22-EB59) = TOURIAN Room 0F Object /Door /Enemy Data
- (EB5A-EB8B) = TOURIAN Room 10 Object /Door /Enemy Data
- (EB8C-EBB4) = TOURIAN Room 11 Object /Door /Enemy Data
- (EBB5-EBDD) = TOURIAN Room 12 Object /Door /Enemy Data
- (EBDE-EBFE) = TOURIAN Room 13 Object /Door /Enemy Data
- (EBFF-EC25) = TOURIAN Room 14 Object /Door /Enemy Data
KRAID
Kraid Room Pointer Tables
Notes: These two-byte tables define the ROM addresses where the game is to look for the room data for each room in Kraid by pointing to the first byte of a particular room's data. Kraid's room data is normally located between ROM addresses 122C7 and 12A7A. If entirely new rooms are to be created from scratch in this area, then it is very important to change the values of the pointer tables below to reflect the location of the new rooms in the Metroid ROM so that MetEdit as well as the game itself can properly read and use these rooms.
Pointer Format: See Pointer Format for details...
Addresses:
- (121E5-121E6) = KRAID Room 00 Pointer Table
- (121E7-121E8) = KRAID Room 01 Pointer Table
- (121E9-121EA) = KRAID Room 02 Pointer Table
- (121EB-121EC) = KRAID Room 03 Pointer Table
- (121ED-121EE) = KRAID Room 04 Pointer Table
- (121EF-121F0) = KRAID Room 05 Pointer Table
- (121F1-121F2) = KRAID Room 06 Pointer Table
- (121F3-121F4) = KRAID Room 07 Pointer Table
- (121F5-121F6) = KRAID Room 08 Pointer Table
- (121F7-121F8) = KRAID Room 09 Pointer Table
- (121F9-121FA) = KRAID Room 0A Pointer Table
- (121FB-121FC) = KRAID Room 0B Pointer Table
- (121FD-121FE) = KRAID Room 0C Pointer Table
- (121FF-12200) = KRAID Room 0D Pointer Table
- (12201-12202) = KRAID Room 0E Pointer Table
- (12203-12204) = KRAID Room 0F Pointer Table
- (12205-12206) = KRAID Room 10 Pointer Table
- (12207-12208) = KRAID Room 11 Pointer Table
- (12209-1220A) = KRAID Room 12 Pointer Table
- (1220B-1220C) = KRAID Room 13 Pointer Table
- (1220D-1220E) = KRAID Room 14 Pointer Table
- (1220F-12210) = KRAID Room 15 Pointer Table
- (12211-12212) = KRAID Room 16 Pointer Table
- (12213-12214) = KRAID Room 17 Pointer Table
- (12215-12216) = KRAID Room 18 Pointer Table
- (12217-12218) = KRAID Room 19 Pointer Table
- (12219-1221A) = KRAID Room 1A Pointer Table
- (1221B-1221C) = KRAID Room 1B Pointer Table
- (1221D-1221E) = KRAID Room 1C Pointer Table
- (1221F-12220) = KRAID Room 1D Pointer Table
- (12221-12222) = KRAID Room 1E Pointer Table
- (12223-12224) = KRAID Room 1F Pointer Table
- (12225-12226) = KRAID Room 20 Pointer Table
- (12227-12228) = KRAID Room 21 Pointer Table
- (12229-1222A) = KRAID Room 22 Pointer Table
- (1222B-1222C) = KRAID Room 23 Pointer Table
- (1222D-1222E) = KRAID Room 24 Pointer Table
Kraid Structure /Object Pointer Tables
Notes: These two-byte tables define the ROM addresses where the game is to look for the structure/object data for Kraid by pointing to the first byte of a particular object to be used in the construction of a full room. Kraid's actual structure data is normally located between ROM addresses 12A7B and 12C41. If entirely new structures/objects are to be created from scratch in this area, then it is very important to change the values of the pointer tables below to reflect the location of the new strctures in the Metroid ROM so that MetEdit as well as the game itself can properly use and edit these objects.
Pointer Format: See Pointer Format for details...
Addresses:
- (1222F-12230) = KRAID Structure /Object 00 Pointer Table
- (12231-12232) = KRAID Structure /Object 01 Pointer Table
- (12233-12234) = KRAID Structure /Object 02 Pointer Table
- (12235-12236) = KRAID Structure /Object 03 Pointer Table
- (12237-12238) = KRAID Structure /Object 04 Pointer Table
- (12239-1223A) = KRAID Structure /Object 05 Pointer Table
- (1223B-1223C) = KRAID Structure /Object 06 Pointer Table
- (1223D-1223E) = KRAID Structure /Object 07 Pointer Table
- (1223F-12240) = KRAID Structure /Object 08 Pointer Table
- (12241-12242) = KRAID Structure /Object 09 Pointer Table
- (12243-12244) = KRAID Structure /Object 0A Pointer Table
- (12245-12246) = KRAID Structure /Object 0B Pointer Table
- (12247-12248) = KRAID Structure /Object 0C Pointer Table
- (12249-1224A) = KRAID Structure /Object 0D Pointer Table
- (1224B-1224C) = KRAID Structure /Object 0E Pointer Table
- (1224D-1224E) = KRAID Sturcture /Object 0F Pointer Table
- (1224F-12250) = KRAID Structure /Object 10 Pointer Table
- (12251-12252) = KRAID Structure /Object 11 Pointer Table
- (12253-12254) = KRAID Structure /Object 12 Pointer Table
- (12255-12256) = KRAID Structure /Object 13 Pointer Table
- (12257-12258) = KRAID Structure /Object 14 Pointer Table
- (12259-1225A) = KRAID Structure /Object 15 Pointer Table
- (1225B-1225C) = KRAID Structure /Object 16 Pointer Table
- (1225D-1225E) = KRAID Structure /Object 17 Pointer Table
- (1225F-12260) = KRAID Structure /Object 18 Pointer Table
- (12261-12262) = KRAID Structure /Object 19 Pointer Table
- (12263-12264) = KRAID Structure /Object 1A Pointer Table
- (12265-12266) = KRAID Structure /Object 1B Pointer Table
- (12267-12268) = KRAID Sturcture /Object 1C Pointer Table
- (12269-1226A) = KRAID Structure /Object 1D Pointer Table
- (1226B-1226C) = KRAID Structure /Object 1E Pointer Table
- (1226D-1226E) = KRAID Structure /Object 1F Pointer Table
- (1226F-12270) = KRAID Structure /Object 20 Pointer Table
- (12271-12272) = KRAID Structure /Object 21 Pointer Table
- (12273-12274) = KRAID Structure /Object 22 Pointer Table
- (12275-12276) = KRAID Structure /Object 23 Pointer Table
- (12277-12278) = KRAID Structure /Object 24 Pointer Table
- (12279-1227A) = KRAID Structure /Object 25 Pointer Table
- (1227B-1227C) = KRAID Structure /Object 26 Pointer Table
Kraid Object /Door /Enemy Data
Notes: All data in "Addresses" is valid assuming that pointer tables to Kraid rooms remain unchanged, HOWEVER(!)...the Kraid pointer table that would normally point to Room 11 is actually pointing to Room 12. Therefore, using either Room 11 or Room 12 in Metroid's map data area will always cause Room 12 to appear at that location. Also, selecting both Room 11 and Room 12 within MetEdit causes Room 12 to be available for editing and use. Changing ROM address 12207 from a value of 47 to a value of 18 via a hex editor will correct this and make Room 12 seperately selectable withing the game's map data area, and will also make that room available for editing and usage within MetEdit.
Room Format: See Room Data Format for details...
Addresses:
- (122C7-122D4) = KRAID Room 00 Object /Door /Enemy Data
- (122D5-122DC) = KRAID Room 01 Object /Door /Enemy Data
- (122DD-12317) = KRAID Room 02 Object /Door /Enemy Data
- (12318-12354) = KRAID Room 03 Object /Door /Enemy Data
- (12355-12397) = KRAID Room 04 Object /Door /Enemy Data
- (12398-123C7) = KRAID Room 05 Object /Door /Enemy Data
- (123C8-12410) = KRAID Room 06 Object /Door /Enemy Data
- (12411-12451) = KRAID Room 07 Object /Door /Enemy Data
- (12452-1248D) = KRAID Room 08 Object /Door /Enemy Data
- (1248E-124BC) = KRAID Room 09 Object /Door /Enemy Data
- (124BD-124F1) = KRAID Room 0A Object /Door /Enemy Data
- (124F2-12523) = KRAID Room 0B Object /Door /Enemy Data
- (12524-12567) = KRAID Room 0C Object /Door /Enemy Data
- (12568-1259F) = KRAID Room 0D Object /Door /Enemy Data
- (125A0-125CE) = KRAID Room 0E Object /Door /Enemy Data
- (125CF-125F7) = KRAID Room 0F Object /Door /Enemy Data
- (125F8-12627) = KRAID Room 10 Object /Door /Enemy Data
- (12628-12656) = KRAID Room 11 Object /Door /Enemy Data
- (12657-12692) = KRAID Room 12 Object /Door /Enemy Data
- (12693-126C4) = KRAID Room 13 Object /Door /Enemy Data
- (126C5-126E8) = KRAID Room 14 Object /Door /Enemy Data
- (126E9-12722) = KRAID Room 15 Object /Door /Enemy Data
- (12723-12754) = KRAID Room 16 Object /Door /Enemy Data
- (12755-1278F) = KRAID Room 17 Object /Door /Enemy Data
- (12790-127C1) = KRAID Room 18 Object /Door /Enemy Data
- (127C2-12805) = KRAID Room 19 Object /Door /Enemy Data
- (12806-1284E) = KRAID Room 1A Object /Door /Enemy Data
- (1284F-128B2) = KRAID Room 1B Object /Door /Enemy Data
- (128B3-128D6) = KRAID Room 1C Object /Door /Enemy Data
- (128D7-12932) = KRAID Room 1D Object /Door /Enemy Data
- (12933-1295E) = KRAID Room 1E Object /Door /Enemy Data
- (1295F-12981) = KRAID Room 1F Object /Door /Enemy Data
- (12982-1299F) = KRAID Room 20 Object /Door /Enemy Data
- (129A0-129CD) = KRAID Room 21 Object /Door /Enemy Data
- (129CE-12A0D) = KRAID Room 22 Object /Door /Enemy Data
- (12A0E-12A42) = KRAID Room 23 Object /Door /Enemy Data
- (12A43-12A7A) = KRAID Room 24 Object /Door /Enemy Data
RIDLEY
Ridley Room Pointer Tables
Notes: These two-byte tables define the ROM addresses where the game is to look for the room data for each room in Ridley by pointing to the first byte of a particular room's data. Ridley's room data is normally located between ROM addresses 1624F and 169CE. If entirely new rooms are to be created from scratch in this area, then it is very important to change the values of the pointer tables below to reflect the location of the new rooms in the Metroid ROM so that MetEdit as well as the game itself can properly read and use these rooms.
Pointer Format: See Pointer Format for details...
Addresses:
- (1618F-16190) = RIDLEY Room 00 Pointer Table
- (16191-16192) = RIDLEY Room 01 Pointer Table
- (16193-16194) = RIDLEY Room 02 Pointer Table
- (16195-16196) = RIDLEY Room 03 Pointer Table
- (16197-16198) = RIDLEY Room 04 Pointer Table
- (16199-1619A) = RIDLEY Room 05 Pointer Table
- (1619B-1619C) = RIDLEY Room 06 Pointer Table
- (1619D-1619E) = RIDLEY Room 07 Pointer Table
- (1619F-161A0) = RIDLEY Room 08 Pointer Table
- (161A1-161A2) = RIDLEY Room 09 Pointer Table
- (161A3-161A4) = RIDLEY Room 0A Pointer Table
- (161A5-161A6) = RIDLEY Room 0B Pointer Table
- (161A7-161A8) = RIDLEY Room 0C Pointer Table
- (161A9-161AA) = RIDLEY Room 0D Pointer Table
- (161AB-161AC) = RIDLEY Room 0E Pointer Table
- (161AD-161AE) = RIDLEY Room 0F Pointer Table
- (161AF-161B0) = RIDLEY Room 10 Pointer Table
- (161B1-161B2) = RIDLEY Room 11 Pointer Table
- (161B3-161B4) = RIDLEY Room 12 Pointer Table
- (161B5-161B6) = RIDLEY Room 13 Pointer Table
- (161B7-161B8) = RIDLEY Room 14 Pointer Table
- (161B9-161BA) = RIDLEY Room 15 Pointer Table
- (161BB-161BC) = RIDLEY Room 16 Pointer Table
- (161BD-161BE) = RIDLEY Room 17 Pointer Table
- (161BF-161C0) = RIDLEY Room 18 Pointer Table
- (161C1-161C2) = RIDLEY Room 19 Pointer Table
- (161C3-161C4) = RIDLEY Room 1A Pointer Table
- (161C5-161C6) = RIDLEY Room 1B Pointer Table
- (161C7-161C8) = RIDLEY Room 1C Pointer Table
- (161C9-161CA) = RIDLEY Room 1D Pointer Table
- (161CB-161CC) = RIDLEY Room 1E Pointer Table
- (161CD-161CE) = RIDLEY Room 1F Pointer Table
- (161CF-161D0) = RIDLEY Room 20 Pointer Table
- (161D1-161D2) = RIDLEY Room 21 Pointer Table
- (161D3-161D4) = RIDLEY Room 22 Pointer Table
- (161D5-161D6) = RIDLEY Room 23 Pointer Table
- (161D7-161D8) = RIDLEY Room 24 Pointer Table
- (161D9-161DA) = RIDLEY Room 25 Pointer Table
- (161DB-161DC) = RIDLEY Room 26 Pointer Table
- (161DD-161DE) = RIDLEY Room 27 Pointer Table
- (161DF-161E0) = RIDLEY Room 28 Pointer Table
- (161E1-161E2) = RIDLEY Room 29 Pointer Table
Ridley Structure /Object Pointer Tables
Notes: These two-byte tables define the ROM addresses where the game is to look for the structure/object data for Ridley by pointing to the first byte of a particular object to be used in the construction of a full room. Ridley's actual structure data is normally located between ROM addresses 169CF and 16B32. If entirely new structures/objects are to be created from scratch in this area, then it is very important to change the values of the pointer tables below to reflect the location of the new strctures in the Metroid ROM so that MetEdit as well as the game itself can properly use and edit these objects.
Pointer Format: See Pointer Format for details...
Addresses:
- (161E3-161E4) = RIDLEY Structure /Object 00 Pointer Table
- (161E5-161E6) = RIDLEY Structure /Object 01 Pointer Table
- (161E7-161E8) = RIDLEY Structure /Object 02 Pointer Table
- (161E9-161EA) = RIDLEY Structure /Object 03 Pointer Table
- (161EB-161EC) = RIDLEY Structure /Object 04 Pointer Table
- (161ED-161EE) = RIDLEY Structure /Object 05 Pointer Table
- (161EF-161F0) = RIDLEY Structure /Object 06 Pointer Table
- (161F1-161F2) = RIDLEY Structure /Object 07 Pointer Table
- (161F3-161F4) = RIDLEY Structure /Object 08 Pointer Table
- (161F5-161F6) = RIDLEY Structure /Object 09 Pointer Table
- (161F7-161F8) = RIDLEY Structure /Object 0A Pointer Table
- (161F9-161FA) = RIDLEY Structure /Object 0B Pointer Table
- (161FB-161FC) = RIDLEY Structure /Object 0C Pointer Table
- (161FD-161FE) = RIDLEY Structure /Object 0D Pointer Table
- (161FF-16200) = RIDLEY Structure /Object 0E Pointer Table
- (16201-16202) = RIDLEY Sturcture /Object 0F Pointer Table
- (16203-16204) = RIDLEY Structure /Object 10 Pointer Table
- (16205-16206) = RIDLEY Structure /Object 11 Pointer Table
- (16207-16208) = RIDLEY Structure /Object 12 Pointer Table
- (16209-1620A) = RIDLEY Structure /Object 13 Pointer Table
- (1620B-1620C) = RIDLEY Structure /Object 14 Pointer Table
- (1620D-1620E) = RIDLEY Structure /Object 15 Pointer Table
- (1620F-16210) = RIDLEY Structure /Object 16 Pointer Table
- (16211-16212) = RIDLEY Structure /Object 17 Pointer Table
- (16213-16214) = RIDLEY Structure /Object 18 Pointer Table
- (16215-16216) = RIDLEY Structure /Object 19 Pointer Table
- (16217-16218) = RIDLEY Structure /Object 1A Pointer Table
- (16219-1621A) = RIDLEY Structure /Object 1B Pointer Table
- (1621B-1621C) = RIDLEY Sturcture /Object 1C Pointer Table
Ridley Object /Door /Enemy Data
Notes: All data in "Addresses" is valid assuming that pointer tables to Ridley rooms remain unchanged. There is no object /door /enemy data for Room 00 of Ridley within the Metroid ROM. The Ridley pointer table that would normally point to Room 00 is actually pointing to Room 01. Therefore, using either Room 00 or Room 01 in Metroid's map data area will always cause Room 01 to appear at that location. Also, selecting both Room 00 and Room 01 within MetEdit causes Room 01 to be available for editing and use. Using Ridley Room 00 in lieu of Ridley Room 01 in Metroid's map data area is not recommended, as Room 01's data is normally configured as an elevator shaft in all areas and using Room 00 could cause bankswitching problems when using elevators depending on the configuration of Room 00 in other areas. (i.e. A room that completely changes from an elevator shaft to something else.)
Room Format: See Room Data Format for details...
Addresses:
- (1624F-16256) = RIDLEY Room 01 Object /Door /Enemy Data
- (16257-16282) = RIDLEY Room 02 Object /Door /Enemy Data
- (16283-162AD) = RIDLEY Room 03 Object /Door /Enemy Data
- (162AE-162C1) = RIDLEY Room 04 Object /Door /Enemy Data
- (162C2-162F3) = RIDLEY Room 05 Object /Door /Enemy Data
- (162F4-1621E) = RIDLEY Room 06 Object /Door /Enemy Data
- (1621F-1635C) = RIDLEY Room 07 Object /Door /Enemy Data
- (1635D-16392) = RIDLEY Room 08 Object /Door /Enemy Data
- (16393-163C7) = RIDLEY Room 09 Object /Door /Enemy Data
- (163C8-16408) = RIDLEY Room 0A Object /Door /Enemy Data
- (16409-16438) = RIDLEY Room 0B Object /Door /Enemy Data
- (16439-16464) = RIDLEY Room 0C Object /Door /Enemy Data
- (16465-1649B) = RIDLEY Room 0D Object /Door /Enemy Data
- (1649C-164D2) = RIDLEY Room 0E Object /Door /Enemy Data
- (164D3-16505) = RIDLEY Room 0F Object /Door /Enemy Data
- (16506-16534) = RIDLEY Room 10 Object /Door /Enemy Data
- (16535-16564) = RIDLEY Room 11 Object /Door /Enemy Data
- (16565-165B0) = RIDLEY Room 12 Object /Door /Enemy Data
- (165B1-165F4) = RIDLEY Room 13 Object /Door /Enemy Data
- (165F5-16627) = RIDLEY Room 14 Object /Door /Enemy Data
- (16628-16662) = RIDLEY Room 15 Object /Door /Enemy Data
- (16663-1668B) = RIDLEY Room 16 Object /Door /Enemy Data
- (1668C-166B8) = RIDLEY Room 17 Object /Door /Enemy Data
- (166B9-166E5) = RIDLEY Room 18 Object /Door /Enemy Data
- (166E6-1670E) = RIDLEY Room 19 Object /Door /Enemy Data
- (1670F-1673B) = RIDLEY Room 1A Object /Door /Enemy Data
- (1673C-1677A) = RIDLEY Room 1B Object /Door /Enemy Data
- (1677B-167AC) = RIDLEY Room 1C Object /Door /Enemy Data
- (167AD-167DE) = RIDLEY Room 1D Object /Door /Enemy Data
- (167DF-1680B) = RIDLEY Room 1E Object /Door /Enemy Data
- (1680C-16835) = RIDLEY Room 1F Object /Door /Enemy Data
- (16836-16858) = RIDLEY Room 20 Object /Door /Enemy Data
- (16859-16876) = RIDLEY Room 21 Object /Door /Enemy Data
- (16877-1689C) = RIDLEY Room 22 Object /Door /Enemy Data
- (1689D-168CE) = RIDLEY Room 23 Object /Door /Enemy Data
- (168CF-168FB) = RIDLEY Room 24 Object /Door /Enemy Data
- (168FC-16939) = RIDLEY Room 25 Object /Door /Enemy Data
- (1693A-1696C) = RIDLEY Room 26 Object /Door /Enemy Data
- (1696D-1698A) = RIDLEY Room 27 Object /Door /Enemy Data
- (1698B-169B4) = RIDLEY Room 28 Object /Door /Enemy Data
- (169B5-169CE) = RIDLEY Room 29 Object /Door /Enemy Data
Internal Data for Metroid
| |
---|---|