The current URL is datacrystal.tcrf.net.
Metroid/ROM map: Difference between revisions
(Forgot to make MetEdit references linkable for future page in last update, had to correct this. Where's my brain today?) |
(Corrected spelling errors. Sorry...) |
||
Line 6: | Line 6: | ||
'''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- | '''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-Missile/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 65: | Line 65: | ||
'''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- | '''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-Missile/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 123: | Line 123: | ||
'''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- | '''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-Missile/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 156: | Line 156: | ||
'''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- | '''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-Missile/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 205: | Line 205: | ||
'''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- | '''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-Missile/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:40, 9 January 2006
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-Missile/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-Missile/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-Missile/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-Missile/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-Missile/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