Mr. Gimmick/RAM map: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
(Add one address and simplify number notation)
m (Hawk moved page Gimmick!/RAM map to Mr. Gimmick/RAM map)
 
(3 intermediate revisions by 3 users not shown)
Line 13: Line 13:
001C            | 1        | Current checkpoint
001C            | 1        | Current checkpoint
0021 - 0022    | 2        | Enemy data pointer
0021 - 0022    | 2        | Enemy data pointer
0026            | 1        | Timer for Updating BG CHR slot #4 (does BG animations)
0027            | 1        | Current index for BG CHR slot #4 (ranges from 0-3)
0028            | 1        | IRQ lookup index
0029            | 1        | If value is non-zero, draw a blank screen.
0029            | 1        | If value is non-zero, draw a blank screen.
002B            | 1        | Player maximum health
002B            | 1        | Player maximum health
Line 22: Line 25:
0036 - 0038    | 3        | Items
0036 - 0038    | 3        | Items
0039            | 1        | Item amount
0039            | 1        | Item amount
0040            | 1        | Which PRG bank is currently in $8000
0041            | 1        | Which PRG bank is currently in $A000
0042            | 1        | Camera X pixel (delayed by 1 frame); holds the previous frame's value
0042            | 1        | Camera X pixel (delayed by 1 frame); holds the previous frame's value
                 |          | of $FD
                 |          | of $FD
Line 28: Line 33:
004B            | 1        | Jump hold; is set to $AC when the player jumps and set to $00 when the
004B            | 1        | Jump hold; is set to $AC when the player jumps and set to $00 when the
                 |          | jump button is released
                 |          | jump button is released
004F            | 1        | Current slide ID for the intro cutscene
0052            | 1        | Current music track
0052            | 1        | Current music track
0053            | 1        | Yumetaro is on the floor flag
0054            | 1        | Skip world map (0 -> no, 1 -> yes) (also skips check for bonus
0054            | 1        | Skip world map (0 -> no, 1 -> yes) (also skips check for bonus
                 |          | level)
                 |          | level)
0055            | 1        | Prevent star shot? (0 -> no, 1 -> yes)
0055            | 1        | Timer until current B button hold will begin a weapon use.
0071            | 1        | Music Play command (0 = continue, 1 = play, 2 = stop)




              == OBJECT DATA; 10 slots where first is player, second is star (1/2) ==
            == OBJECT DATA; 10 slots where first is player, second is weapon (1/2) ==
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
   ADDRESSES    |  SIZE  |                              DESCRIPTION
   ADDRESSES    |  SIZE  |                              DESCRIPTION
Line 57: Line 65:
                 |          | of a button hold
                 |          | of a button hold
00F7 - 00F8    | 2        | Pressed/held controller buttons
00F7 - 00F8    | 2        | Pressed/held controller buttons
00FC            | 1        | PPU Scroll Y
00FD            | 1        | PPU Scroll X
00FE            | 1        | PPUMASK mirror
00FE            | 1        | PPUMASK mirror
0104            | 1        | Lives (capped at 99)
0104            | 1        | Lives (capped at 99)

Latest revision as of 20:42, 28 January 2024

Chip tiny.png The following article is a RAM map for Mr. Gimmick.

                                        == GENERAL (1/2) ==
----------------------------------------------------------------------------------------------------
   ADDRESSES    |   SIZE   |                              DESCRIPTION
----------------------------------------------------------------------------------------------------
0014            | 1        | Camera X position subpixel
0015            | 1        | Camera X position tile
0016            | 1        | Y screen
0019            | 1        | Object iterator
001B            | 1        | Current level (0 to 6)
001C            | 1        | Current checkpoint
0021 - 0022     | 2        | Enemy data pointer
0026            | 1        | Timer for Updating BG CHR slot #4 (does BG animations)
0027            | 1        | Current index for BG CHR slot #4 (ranges from 0-3)
0028            | 1        | IRQ lookup index
0029            | 1        | If value is non-zero, draw a blank screen.
002B            | 1        | Player maximum health
002C - 002D     | 2        | Score increase counter; for every frame it is not equal to 0, it is
                |          | decremented by 1 and score is increased by 100
002E - 0034     | 7        | Score digits in decimal; high to low, lowest digit is not stored as it
                |          | is always 0.
0035            | 1        | Enemy kill combo
0036 - 0038     | 3        | Items
0039            | 1        | Item amount
0040            | 1        | Which PRG bank is currently in $8000
0041            | 1        | Which PRG bank is currently in $A000
0042            | 1        | Camera X pixel (delayed by 1 frame); holds the previous frame's value
                |          | of $FD
0045            | 1        | Mirror of $34
0046            | 1        | Has been pushed into screen-locked room? (0 -> no, 1 -> yes)
004B            | 1        | Jump hold; is set to $AC when the player jumps and set to $00 when the
                |          | jump button is released
004F            | 1        | Current slide ID for the intro cutscene
0052            | 1        | Current music track
0053            | 1        | Yumetaro is on the floor flag
0054            | 1        | Skip world map (0 -> no, 1 -> yes) (also skips check for bonus
                |          | level)
0055            | 1        | Timer until current B button hold will begin a weapon use.
0071            | 1        | Music Play command (0 = continue, 1 = play, 2 = stop)


             == OBJECT DATA; 10 slots where first is player, second is weapon (1/2) ==
----------------------------------------------------------------------------------------------------
   ADDRESSES    |   SIZE   |                              DESCRIPTION
----------------------------------------------------------------------------------------------------
0090 - 0099     | A        | Status
009A - 00A3     | A        | Y position subpixel
00A4 - 00AD     | A        | Y position tile
00AE - 00B7     | A        | X position subpixel
00B8 - 00C1     | A        | X position tile
00C2 - 00CB     | A        | Y speed in subpixels per frame
00CC - 00D5     | A        | X speed in subpixels per frame
00D6 - 00DF     | A        | Can be stood on? ($00 = no, $40 = yes)


                                        == GENERAL (2/2) ==
----------------------------------------------------------------------------------------------------
   ADDRESSES    |   SIZE   |                              DESCRIPTION
----------------------------------------------------------------------------------------------------
00EA            | 1        | Timer until respawn after death or until level end after boss is beaten
00ED - 00EE     | 2        | Global timer
00F5 - 00F6     | 2        | Newly pressed controller buttons; bits are unset after the first frame
                |          | of a button hold
00F7 - 00F8     | 2        | Pressed/held controller buttons
00FC            | 1        | PPU Scroll Y
00FD            | 1        | PPU Scroll X
00FE            | 1        | PPUMASK mirror
0104            | 1        | Lives (capped at 99)
0105 - 010A     | 6        | Secret items collected (0 = no, 1 = yes)


                                       == OBJECT DATA (2/2) ==
----------------------------------------------------------------------------------------------------
   ADDRESSES    |   SIZE   |                              DESCRIPTION
----------------------------------------------------------------------------------------------------
0300 - 0309     | A        | Animation state
030A - 0313     | A        | Facing direction (0 = left, 1 = right)
0314 - 031D     | A        | Y hitbox subpixel
031E - 0327     | A        | Y hitbox tile
0328 - 0331     | A        | X hitbox subpixel
0332 - 033B     | A        | X hitbox tile
0346 - 034F     | A        | Health
0350 - 0359     | A        | Object type
0364 - 036D     | A        | Is being stood on (0 = no, 1 = yes)
036E - 0377     | A        | Is standing on floor ($00 = no, $80 = yes)
0378 - 0381     | A        | Is hitting wall ($00 = no, $80 = yes)
0382 - 038B     | A        | Timer 1
038C - 0395     | A        | Timer 2
03B4 - 03BD     | A        | Drop item on death (0 = no, 1 = yes)


          == STAR TRAIL HISTORY; in order of: 3f ago, 2f ago, 1f ago, current, current ==
----------------------------------------------------------------------------------------------------
   ADDRESSES    |   SIZE   |                              DESCRIPTION
----------------------------------------------------------------------------------------------------
0420 - 0424     | 5        | Y position subpixel
0425 - 0429     | 5        | Y position tile
042A - 042E     | 5        | X position subpixel
042F - 0433     | 5        | X position tile
0439 - 043D     | 5        | Status



Note: $10 subpixels = 1 pixel, $10 pixels = 1 tile