Welcome to Data Crystal's new home! Data Crystal is now part of the TCRF family (sort of).
The wiki has recently moved; please report any issues in Discord. Pardon the dust.

Metroid/ROM map: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
m (formatting: html --> wiki)
(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.)
Line 5: Line 5:


'''Notes:''' All data below is valid assuming that pointer tables to Brinstar rooms remain unchanged.
'''Notes:''' All data below is valid assuming that pointer tables to Brinstar rooms remain unchanged.
'''Room Format:''' The first byte of room data is the color attribute table to be used by that room, usually set to the dominant color pallette (00-03, one of the four pallettes used for room objects).  Next follows any number of sets of three bytes which represent room objects and determine a particular object's color, location, and the object to be used.  This continues until room data either encounters FD (End Object Data, Begin Door/Enemy Data) or FF (End Data For Entire Room).  Enemys are represented by sets of three bytes following FD and these three bytes are indicative of sprite number assignment, enemy type, and location.  (First digit of enemy type = easy/hard/boss enemy, second digit of enemy type = enemy to be used.  First and second digits of location byte = separate X and Y coordinates.)  Any doors in the room are represented by instances of "02 XY" immediately after FD and before enemy data:  X determines whether the door is on the left (X="B") or right (X="A") side of the screen, and Y determines what type of door it is (Y="0" for 5-Missile/Red Door, Y="1" for Normal/Blue Door, Y="2" for 10-Miaaile/Yellow/Purple Door).  Door/enemy data continues until FF is encountered signifying the end of a room's overall data.  The following example room contains three objects, a red door on the left, a blue door on the right, and three enemies.  Individual sections are highlighted for easy reference. ('''00''' A0 0B 00 '''C7 09 00''' E1 29 00 '''FD''' 02 A1 '''02 B0''' 01 85 47 '''11 05 BA''' 21 05 BC '''FF''')
---------
---------


Line 62: Line 64:


'''Notes:''' All data below is valid assuming that pointer tables to Norfair rooms remain unchanged.
'''Notes:''' All data below is valid assuming that pointer tables to Norfair rooms remain unchanged.
'''Room Format:''' The first byte of room data is the color attribute table to be used by that room, usually set to the dominant color pallette (00-03, one of the four pallettes used for room objects).  Next follows any number of sets of three bytes which represent room objects and determine a particular object's color, location, and the object to be used.  This continues until room data either encounters FD (End Object Data, Begin Door/Enemy Data) or FF (End Data For Entire Room).  Enemys are represented by sets of three bytes following FD and these three bytes are indicative of sprite number assignment, enemy type, and location.  (First digit of enemy type = easy/hard/boss enemy, second digit of enemy type = enemy to be used.  First and second digits of location byte = separate X and Y coordinates.)  Any doors in the room are represented by instances of "02 XY" immediately after FD and before enemy data:  X determines whether the door is on the left (X="B") or right (X="A") side of the screen, and Y determines what type of door it is (Y="0" for 5-Missile/Red Door, Y="1" for Normal/Blue Door, Y="2" for 10-Miaaile/Yellow/Purple Door).  Door/enemy data continues until FF is encountered signifying the end of a room's overall data.  The following example room contains three objects, a red door on the left, a blue door on the right, and three enemies.  Individual sections are highlighted for easy reference. ('''00''' A0 0B 00 '''C7 09 00''' E1 29 00 '''FD''' 02 A1 '''02 B0''' 01 85 47 '''11 05 BA''' 21 05 BC '''FF''')
---------
---------


Line 118: Line 122:


'''Notes:''' All data below is valid assuming that pointer tables to Tourian rooms remain unchanged.
'''Notes:''' All data below is valid assuming that pointer tables to Tourian rooms remain unchanged.
'''Room Format:''' The first byte of room data is the color attribute table to be used by that room, usually set to the dominant color pallette (00-03, one of the four pallettes used for room objects).  Next follows any number of sets of three bytes which represent room objects and determine a particular object's color, location, and the object to be used.  This continues until room data either encounters FD (End Object Data, Begin Door/Enemy Data) or FF (End Data For Entire Room).  Enemys are represented by sets of three bytes following FD and these three bytes are indicative of sprite number assignment, enemy type, and location.  (First digit of enemy type = easy/hard/boss enemy, second digit of enemy type = enemy to be used.  First and second digits of location byte = separate X and Y coordinates.)  Any doors in the room are represented by instances of "02 XY" immediately after FD and before enemy data:  X determines whether the door is on the left (X="B") or right (X="A") side of the screen, and Y determines what type of door it is (Y="0" for 5-Missile/Red Door, Y="1" for Normal/Blue Door, Y="2" for 10-Miaaile/Yellow/Purple Door).  Door/enemy data continues until FF is encountered signifying the end of a room's overall data.  The following example room contains three objects, a red door on the left, a blue door on the right, and three enemies.  Individual sections are highlighted for easy reference. ('''00''' A0 0B 00 '''C7 09 00''' E1 29 00 '''FD''' 02 A1 '''02 B0''' 01 85 47 '''11 05 BA''' 21 05 BC '''FF''')
---------
---------


Line 148: Line 154:
====KRAID OBJECT /DOOR /ENEMY DATA====
====KRAID OBJECT /DOOR /ENEMY DATA====


'''Notes:''' All data below 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.
'''Notes:''' All data below 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:''' The first byte of room data is the color attribute table to be used by that room, usually set to the dominant color pallette (00-03, one of the four pallettes used for room objects).  Next follows any number of sets of three bytes which represent room objects and determine a particular object's color, location, and the object to be used.  This continues until room data either encounters FD (End Object Data, Begin Door/Enemy Data) or FF (End Data For Entire Room).  Enemys are represented by sets of three bytes following FD and these three bytes are indicative of sprite number assignment, enemy type, and location.  (First digit of enemy type = easy/hard/boss enemy, second digit of enemy type = enemy to be used.  First and second digits of location byte = separate X and Y coordinates.)  Any doors in the room are represented by instances of "02 XY" immediately after FD and before enemy data:  X determines whether the door is on the left (X="B") or right (X="A") side of the screen, and Y determines what type of door it is (Y="0" for 5-Missile/Red Door, Y="1" for Normal/Blue Door, Y="2" for 10-Miaaile/Yellow/Purple Door).  Door/enemy data continues until FF is encountered signifying the end of a room's overall data.  The following example room contains three objects, a red door on the left, a blue door on the right, and three enemies.  Individual sections are highlighted for easy reference. ('''00''' A0 0B 00 '''C7 09 00''' E1 29 00 '''FD''' 02 A1 '''02 B0''' 01 85 47 '''11 05 BA''' 21 05 BC '''FF''')
---------
---------


Line 196: Line 204:


'''Notes:''' All data below 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.)
'''Notes:''' All data below 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:''' The first byte of room data is the color attribute table to be used by that room, usually set to the dominant color pallette (00-03, one of the four pallettes used for room objects).  Next follows any number of sets of three bytes which represent room objects and determine a particular object's color, location, and the object to be used.  This continues until room data either encounters FD (End Object Data, Begin Door/Enemy Data) or FF (End Data For Entire Room).  Enemys are represented by sets of three bytes following FD and these three bytes are indicative of sprite number assignment, enemy type, and location.  (First digit of enemy type = easy/hard/boss enemy, second digit of enemy type = enemy to be used.  First and second digits of location byte = separate X and Y coordinates.)  Any doors in the room are represented by instances of "02 XY" immediately after FD and before enemy data:  X determines whether the door is on the left (X="B") or right (X="A") side of the screen, and Y determines what type of door it is (Y="0" for 5-Missile/Red Door, Y="1" for Normal/Blue Door, Y="2" for 10-Miaaile/Yellow/Purple Door).  Door/enemy data continues until FF is encountered signifying the end of a room's overall data.  The following example room contains three objects, a red door on the left, a blue door on the right, and three enemies.  Individual sections are highlighted for easy reference. ('''00''' A0 0B 00 '''C7 09 00''' E1 29 00 '''FD''' 02 A1 '''02 B0''' 01 85 47 '''11 05 BA''' 21 05 BC '''FF''')
---------
---------



Revision as of 10:32, 9 January 2006

Chip tiny.png The following article is a ROM map for Metroid.


BRINSTAR OBJECT /DOOR /ENEMY DATA

Notes: All data below is valid assuming that pointer tables to Brinstar rooms remain unchanged.

Room Format: The first byte of room data is the color attribute table to be used by that room, usually set to the dominant color pallette (00-03, one of the four pallettes used for room objects). Next follows any number of sets of three bytes which represent room objects and determine a particular object's color, location, and the object to be used. This continues until room data either encounters FD (End Object Data, Begin Door/Enemy Data) or FF (End Data For Entire Room). Enemys are represented by sets of three bytes following FD and these three bytes are indicative of sprite number assignment, enemy type, and location. (First digit of enemy type = easy/hard/boss enemy, second digit of enemy type = enemy to be used. First and second digits of location byte = separate X and Y coordinates.) Any doors in the room are represented by instances of "02 XY" immediately after FD and before enemy data: X determines whether the door is on the left (X="B") or right (X="A") side of the screen, and Y determines what type of door it is (Y="0" for 5-Missile/Red Door, Y="1" for Normal/Blue Door, Y="2" for 10-Miaaile/Yellow/Purple Door). Door/enemy data continues until FF is encountered signifying the end of a room's overall data. The following example room contains three objects, a red door on the left, a blue door on the right, and three enemies. Individual sections are highlighted for easy reference. (00 A0 0B 00 C7 09 00 E1 29 00 FD 02 A1 02 B0 01 85 47 11 05 BA 21 05 BC FF)


  • (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 OBJECT /DOOR /ENEMY DATA

Notes: All data below is valid assuming that pointer tables to Norfair rooms remain unchanged.

Room Format: The first byte of room data is the color attribute table to be used by that room, usually set to the dominant color pallette (00-03, one of the four pallettes used for room objects). Next follows any number of sets of three bytes which represent room objects and determine a particular object's color, location, and the object to be used. This continues until room data either encounters FD (End Object Data, Begin Door/Enemy Data) or FF (End Data For Entire Room). Enemys are represented by sets of three bytes following FD and these three bytes are indicative of sprite number assignment, enemy type, and location. (First digit of enemy type = easy/hard/boss enemy, second digit of enemy type = enemy to be used. First and second digits of location byte = separate X and Y coordinates.) Any doors in the room are represented by instances of "02 XY" immediately after FD and before enemy data: X determines whether the door is on the left (X="B") or right (X="A") side of the screen, and Y determines what type of door it is (Y="0" for 5-Missile/Red Door, Y="1" for Normal/Blue Door, Y="2" for 10-Miaaile/Yellow/Purple Door). Door/enemy data continues until FF is encountered signifying the end of a room's overall data. The following example room contains three objects, a red door on the left, a blue door on the right, and three enemies. Individual sections are highlighted for easy reference. (00 A0 0B 00 C7 09 00 E1 29 00 FD 02 A1 02 B0 01 85 47 11 05 BA 21 05 BC FF)


  • (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 OBJECT /DOOR /ENEMY DATA

Notes: All data below is valid assuming that pointer tables to Tourian rooms remain unchanged.

Room Format: The first byte of room data is the color attribute table to be used by that room, usually set to the dominant color pallette (00-03, one of the four pallettes used for room objects). Next follows any number of sets of three bytes which represent room objects and determine a particular object's color, location, and the object to be used. This continues until room data either encounters FD (End Object Data, Begin Door/Enemy Data) or FF (End Data For Entire Room). Enemys are represented by sets of three bytes following FD and these three bytes are indicative of sprite number assignment, enemy type, and location. (First digit of enemy type = easy/hard/boss enemy, second digit of enemy type = enemy to be used. First and second digits of location byte = separate X and Y coordinates.) Any doors in the room are represented by instances of "02 XY" immediately after FD and before enemy data: X determines whether the door is on the left (X="B") or right (X="A") side of the screen, and Y determines what type of door it is (Y="0" for 5-Missile/Red Door, Y="1" for Normal/Blue Door, Y="2" for 10-Miaaile/Yellow/Purple Door). Door/enemy data continues until FF is encountered signifying the end of a room's overall data. The following example room contains three objects, a red door on the left, a blue door on the right, and three enemies. Individual sections are highlighted for easy reference. (00 A0 0B 00 C7 09 00 E1 29 00 FD 02 A1 02 B0 01 85 47 11 05 BA 21 05 BC FF)


  • (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 OBJECT /DOOR /ENEMY DATA

Notes: All data below 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: The first byte of room data is the color attribute table to be used by that room, usually set to the dominant color pallette (00-03, one of the four pallettes used for room objects). Next follows any number of sets of three bytes which represent room objects and determine a particular object's color, location, and the object to be used. This continues until room data either encounters FD (End Object Data, Begin Door/Enemy Data) or FF (End Data For Entire Room). Enemys are represented by sets of three bytes following FD and these three bytes are indicative of sprite number assignment, enemy type, and location. (First digit of enemy type = easy/hard/boss enemy, second digit of enemy type = enemy to be used. First and second digits of location byte = separate X and Y coordinates.) Any doors in the room are represented by instances of "02 XY" immediately after FD and before enemy data: X determines whether the door is on the left (X="B") or right (X="A") side of the screen, and Y determines what type of door it is (Y="0" for 5-Missile/Red Door, Y="1" for Normal/Blue Door, Y="2" for 10-Miaaile/Yellow/Purple Door). Door/enemy data continues until FF is encountered signifying the end of a room's overall data. The following example room contains three objects, a red door on the left, a blue door on the right, and three enemies. Individual sections are highlighted for easy reference. (00 A0 0B 00 C7 09 00 E1 29 00 FD 02 A1 02 B0 01 85 47 11 05 BA 21 05 BC FF)


  • (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-12A7B) = KRAID Room 24 Object /Door /Enemy Data



RIDLEY OBJECT /DOOR /ENEMY DATA

Notes: All data below 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: The first byte of room data is the color attribute table to be used by that room, usually set to the dominant color pallette (00-03, one of the four pallettes used for room objects). Next follows any number of sets of three bytes which represent room objects and determine a particular object's color, location, and the object to be used. This continues until room data either encounters FD (End Object Data, Begin Door/Enemy Data) or FF (End Data For Entire Room). Enemys are represented by sets of three bytes following FD and these three bytes are indicative of sprite number assignment, enemy type, and location. (First digit of enemy type = easy/hard/boss enemy, second digit of enemy type = enemy to be used. First and second digits of location byte = separate X and Y coordinates.) Any doors in the room are represented by instances of "02 XY" immediately after FD and before enemy data: X determines whether the door is on the left (X="B") or right (X="A") side of the screen, and Y determines what type of door it is (Y="0" for 5-Missile/Red Door, Y="1" for Normal/Blue Door, Y="2" for 10-Miaaile/Yellow/Purple Door). Door/enemy data continues until FF is encountered signifying the end of a room's overall data. The following example room contains three objects, a red door on the left, a blue door on the right, and three enemies. Individual sections are highlighted for easy reference. (00 A0 0B 00 C7 09 00 E1 29 00 FD 02 A1 02 B0 01 85 47 11 05 BA 21 05 BC FF)


  • (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