Mickey's Dangerous Chase/RAM map

From Data Crystal
Jump to navigation Jump to search

Chip tiny.png The following article is a RAM map for Mickey's Dangerous Chase.

Address Description

----------------------------
C202              Player Ypos
C203              Current screen index (compared against C52E to stop scrolling)
C2xx-C3xx         Enemy slot (20 bytes starting at C210 + matching C3xx containing additional information)
 C210              Slot taken? (80=empty)
 C211              Still alive? (copied from C601)
 C212              Ypos
 C214              Xpos
 C216              Animation sprite index
 C217              Sprite ID used
 C218              Enemy type (7=walking guy/8=dog that stops at ledges/9=fire hydrant/2B=dog that goes off ledges)
 C219              Behavior ID (for dog: 0=walk right/1=bark left/2=walk left/3=bark right, etc.)
 C310-12           More behavior data
 C313              Current behavior timer
C258              Current mystery block contents

C520/21           Pointer offset for next line of stage to draw
C522/23           Pointer to metatile data
C528/29           Accessed when a block is removed, used for metatile replacement
C52A              Player solidity index (determines which tiles the player can walk through or collide with, each tile has its own solidity index)
C52B              Related to scrolling?
C52C              Sprite priority versus background (ex: in 1-1, replacing FE with 1F makes player and enemies walk behind most of the background)
C530              Current ROM bank
C545              Mickey=01 or Minnie=04
C52E              Stage length (in screens)
C557              Current stage (ex: 2-1 is 20, 4-3 is 42)
C558              Current stage (copied from C557)
C561-C580         One column of background (there are of course more, didn't dig into this much)

C600              Xmax of scrolling right
C603/04           Xmin of scrolling left (unclear)
C60B              Player movement (bit-encoded): bit0=(0/1=walk/crouch) bit1=(0/1=left/right) bit3=(0/1=walk/stand) FYI:04=walk left/84=stand left/02=walk right/82=stand right/05=crouch left/03=crouch right
C60D              Jump state (bit-encoded)
C60E              Player Ypos offset from standing altitude (C610)
C610              Player Ypos (pixels)
C611              Player Xpos (pixels) within current screen
C612              Is player holding a block? (bit 7 set = yes)
C61D              Hearts collected
C61E              Current lives (initialized at 0:04B6)
C61F              Stars collected
C620              Coins collected

FF96/98           Player Xpos
FF97/99           Player Ypos (with an 0F offset)