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 Zero Mission/ROM map

From Data Crystal
Jump to navigation Jump to search

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

Misc

  • 340AD4 - Beginning of room header data
  • 75FAE4 - Pointer to the scrolling for the first room in the game.
  • 33E608 - Beginning of the door data for the first room in the game.
  • 345AB6 - Block attributes(like what weapon destroys which special block).
  • 75FAA8 - Pointer to door data for the first room in the game.
  • 2CCA88 - Properties related to Skree
  • 2B0EAB - Start of enemy data.
  • 3654D8 - Block properties clipping.
  • 3655A0 - Special Blocks TSA.
  • 3601D0 - Start of door state data(a door state is when a door destination is replaced upon a certain event, and is used when big changes to a room is to be made).
  • 3459C4 - tank capacities for energy tanks, missiles, supers and power bombs, in that order. Each has 3 entries for the 3 difficulty levels.
  • 7D80A0 -7F7733 - NES Metroid data
013025
013025
013025
013025
013025
013025
013025
013025
013025
013025
013025
013025
013025
013025
013025
013025
013025
01BB15
01720D
01720D
018285
018285
01BEFD
01BEFD
01C50D
01C50D
012FF1
012FF1
012FF1
012FF1
012FF1
01CAE1
01CAE1
013271
014C71
014C71
014C71
014C71
014C71
014C71
014C71
014C71
014C71
014C71
014C71
014C71
014C71
014C71
014C71
014C71
01E739
01E739
01E9D5
012FF1
01EE39
01EE39
01F289
01F289
01F771
020A89
020A89
01D92D
01D955
01D1E5
01D1E5
045E4D
023521
023521
01375D
048FF9
024661
024661
02498D
02498D
025665
025535
0132D5
0264F5
026B09
0282C9
02872D
02C6A5
02C6A5
02C6A5
02C6A5
02C6A5
02E9BD
02E9BD
015CF1
015CF1
02EE79
02F3FD
02F3FD
02FDD5
031201
03147D
0319D1
034A39
02EF69
02E4ED
036011
036011
036D35
0372A9
037B71
037B71
040179
0387D1
03897D
039E79
020229
01AA3D
0286B9
01C161
03B7B1
03C4DD
03C885
03D4C1
04B7F1
03F31D
04AE91
03FFE1
04058D
04058D
036DD1
0406C9
040B09
0412A9
04198D
041ABD
041BED
041D1D
0257B9
0257B9
0433F9
0406C9
040B09
040B09
044099
0264F5
0448E1
0448E1
0448E1
0448E1
0448E1
046621
047281
047D31
015CF1
0483F1
048439
0488A5
0381D1
0381D1
0381D1
0381D1
036275
02E9BD
02E9BD
04058D
04058D
02F3FD
02F3FD
049A39
049B51
036D35
044659
044659
04A5E5
04A5E5
04A9A1
04A9A1
04A9A1
04A2A1
04A2A1
049BD1
049BD1
049BD1
049BD1
049DCD
028629
04B785
04B605
04171D
04144D
0417E9
0418B9
0127AD
04B885
04DD59
012A35
04A7ED
04A7ED
04A7ED
04A7ED
047D31
04E9C1
04E9C1
02D841
02DD99
047D31
036DD1
036DD1
036DD1
036DD1
036DD1
2B2870
2CB304
2C4194
2C4194
2C4BC0
2C4BC0 - Enemy AIs, 0-205
//
// MZM structs
//
 
// 8 bytes
struct SE {
	u8	bAnimated;
	u8	timer;
	u16	length;
	void *data;
};
 
// ? bytes
struct sDoorAttr {
	u8	b00;
	u8	color;
	...
	u8	type;		// b07;
 
};
 
// Not *quite* a door, but a general exit?
struct sDoor {
  u8 type;
  u8 OwnerRoom;
  u8 left;
  u8 right;
  u8 top;
  u8 bottom;
  u8 DestDoor;
  u8 ExitDoorLength;
  u8 b08;
  u8 b09;
  u8 b0A;
  u8 b0B;
};
 
struct s300009C {
	u16 *ForegroundPtr			// 000
	u16 ForegroundWidth
	u16 ForegroundHeight
 
	u16 *LevelDataPtr			// 008
	u16 LevelDataWidth
	u16 LevelDataHeight
 
	u16 *BackLayerPtr			// 010
	u16 BackLayerWidth
	u16 BackLayerHeight
 
	u16 *ClipdataPtr			// 018
	u16 ClipdataWidth
	u16 ClipdataHeight
 
	u8  Tileset					// 20
	u8  ForegroundCompression
	u8  LeveldataCompression
	u8  BacklayerCompression
	u8  BackgroundCompression
	u8  b25
	u8  TransForeground
	u8  b27
	void *CurrentSpritePtr;
	u8	EventCounter;
	u8 	unknown
	u8 	MiniMapX;
	u8 	MiniMayY;
	u16 unknown
	u16 FFFF
}
 
struct t30013D4
{
	u8	b00;
	u16	h10;
	u16	h12;	// x
	u16	h14;	// y
};
 
struct t3001588
{
	s16	sh70;	// velocities ?
	s16	sh74;
}
 
struct t3005450		// 12 bytes
{
	u16	*ph08;
};