|
By James S.
You can email me at james.boshikoopa@gmail.com
This is a list of the location of important variables for the different versions of the game. I will update it as I confirm the use, size, etc of more variables. The variables are listed here as they are in memory (RAM), in order of address. All address values are in hex as are any values that start with 0x.
PAL=UK version
NTSC=USA version JAP ORG=Original Japanese JAP SE=Japanese Shindou Edition GFX ID=graphic ID, an index value that selects what graphic is to be used for an object to be spawned. f/p=floating-point value.
Zoom control of title screen Mario head (32-bit) 0x00000000=default (not zoomed). 0x00000001=zoomed out. 0x00000002=zoomed out even more.
PAL 800EC8C4 Selected star number (8-bit) Used only for star select screen
PAL 801A7530 How many stars to choose from (8-bit) Used only for star select screen
PAL 801B8E42 Level select enable flag (8-bit) Enable level select if=0x01
PAL 802F973C NTSC 8032D58C JAP ORG 8032C64C JAP SE 8030CCBC Sound display enable flag (8-bit) Enable sound display if=0x01
PAL 802F9744 NTSC 8032D594 Debug display 1 enable flag (8-bit) Enable debug display 1 if=0x01
PAL 802F9748 NTSC 8032D598 Pointer to 1P controller data (32-bit) Pointer to 1P controller data such as what buttons are pressed.
PAL 802F9794 NTSC 8032D5E4 Pointer to 2P controller data (32-bit) Pointer to 2P controller data such as what buttons are pressed.
PAL 802F9798 NTSC 8032D5E8 Screen width (16-bit) Used during end credits, simulates a window on the 3D world. Sized from the screen's centre.
PAL 802F9D00 NTSC 8032DB30 Screen height (16-bit) Used during end credits, simulates a window on the 3D world. Sized from the screen's centre.
PAL 802F9D02 NTSC 8032DB32 Screen horizontal position (16-bit) Used during end credits, simulates a window on the 3D world.
PAL 802F9D08 NTSC 8032DB38 Screen vertical position (16-bit) Used during end credits, simulates a window on the 3D world.
PAL 802F9D0A NTSC 8032DB3A Pointer to start of list of pointers to graphic structures (32-bit)
PAL 802F9F94 Unused screen area colour (32-bit) Colour of unused area of screen when resized or moved to form a window. Lower 12 bits are RGB? (?=unknown). Used during end credits, normally black.
PAL 802F9FB0 NTSC 8032DDE0 Level number (16-bit) Number that represents what level is being played.
PAL 802F9FC8 How many bars to display for sound display (16-bit) =0x0000 1 bar above lower blue bar. 0x0001 2 bars, one above lower yellow bar and other above lower orange bar.
PAL 802FA0F0 Type of debug 2 display select (8-bit) Selects what data is to be displayed using values from 0x00 to 0x05
PAL 802FD054 NTSC 80330E94 JAP ORG 8032FF34 JAP SE 803105C4 Message to display (16-bit) Used by Toads, signposts, etc. Equals 0xFFFF when there is no message to show.
PAL 802FD644 Work elevator (Hazy maze cave) current action (8-bit) What the elevator is doing such as moving and what direction, etc.
PAL 802FED54 NTSC 803327A4 Mario's world X position (f/p 32-bit)
PAL 8030946C NTSC 8033B1AC Mario's world Y position (f/p 32-bit)
PAL 80309470 NTSC 8033B1B0 Mario's world Z position (f/p 32-bit)
PAL 80309474 NTSC 8033B1B4 Mario's speed (f/p 32-bit)
PAL 80309484 NTSC 8033B1C4 Number of stars collected (16-bit)
PAL 803094DA NTSC 8033B21A Display Ü at right of screen (keys in JAP versions, glitched up characters in NTSC version) (8-bit) Display Ü character(s) using values from 0x01 to 0x06
PAL 803094DC NTSC 8033B21C JAP ORG 80339EAC JAP SE 8031DA6C Mario's lives (8-bit)
PAL 803094DD NTSC 8033B21D Mario's health (16-bit)
PAL 803094DE NTSC 8033B21E Raise Mario above or lower him below the ground (16-bit) Higher values place Mario above ground, lower values put him below the ground. Usual value is 0x00BD.
PAL 803094E0 NTSC 8033B220 Start of list of segment start address pointers (each pointer is 32-bit)
PAL 803096C8 NTSC 8033B400 Start of list of pointers to graphic structures (each pointer is 32-bit)
PAL 80309790 NTSC 8033B4D0 Pointer to level collision data (32-bit) As calculated from the segment/offset value from the 0x2E level command.
PAL 80309BD4 Music number (16-bit) Which music track to play (does not change music instantly, and affects most areas).
PAL 80309C04 NTSC 8033B944 Camera control type (16-bit) Selects normal, canon, end credits camera movement and others.
PAL 8030A7FE Debug display 2 enable flag (32-bit) Enable debug display 2 if=0x00000001
PAL 8030AE90 NTSC 8033D260 JAP ORG 8033BEF0 JAP SE 8031F420 Spawn debug mode enable flag (16-bit) Enable spawn debug mode which uses D-pad if=0x0001 and Type of debug 2 display select=0x03.
PAL 8030AF0E NTSC 8033D2DE JAP ORG 8033BF6E Behaviour update enable? (32-bit) Used by signposts, and when talking someone, to stop other objects from being updated according to their behaviours. Various bit values freeze all objects except Mario or all objects including Mario.
PAL 8030B0B0 NTSC 8033D480 First of 240 object structures (each object structure is 608 bytes long)
PAL 8030B0B8 Pointer to Mario object (32-bit) Where the Mario object is in memory
PAL 8032ED88 NTSC 8033B1F8 Also 80361158 Pointer to object being updated (32-bit) Which object the game is currently updating
PAL 8032ED90 NTSC 80361160 Pointer to what part of behaviour script is being processed (32-bit)
PAL 8032ED94 Speed of moving parts (speed mode) in Tick tock clock? (16-bit)
PAL 8032EE88 Pointer to level command that is currently being executed (32-bit)
PAL 80386BA8 NTSC 8038BE28 |