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.

The Little Mermaid/RAM map

From Data Crystal
Jump to navigation Jump to search

Chip tiny.png The following article is a RAM map for The Little Mermaid.

RAM Function Details
0x0000 - 0x0001 Pointer address Used to jump to specific section
0x0014 PAD1 new input Input new to current frame
0x0015 PAD2 new input Input new to current frame
0x0016 PAD1 input All current input
  • 0x80 = A
  • 0x40 = B
  • 0x20 = Select
  • 0x10 = Start
  • 0x08 = Up
  • 0x04 = Down
  • 0x02 = Left
  • 0x01 = Right
0x0017 PAD2 input All current input
0x0030 Ariel's current action
  • 0x00 = Still/moving
  • 0x01 = Turning
  • 0x03 = Shooting bubble/throwing object
  • 0x07 = Taking damage/dying
  • 0x09 = Entering stage
0x0031 Ariel's direction of movement
0x003A Object being held # of object slot
0x003B A button timer (bubbles/throw)
0x0050 Room info
  • 0x80 = Scrolls upward
  • 0x40 = Scrolls downward
  • 0x00 = Scrolls horizontally
  • 0x0F = Room #
0x0051 Size of current room
0x0052 Position in current room 256/240 pixel segments depending on horizontal or vertical scrolling
0x0092 Global timer
0X00B0 Lives
0X00B1 Health
0x00B4 Bubble power
0x00B5 Bubble range
0X00E4 - 0X00E7 RNG Seed Fibonacci LFSR (Function 0xC250)
0x00E9 Current stage
0x00EF Current object slot Used in Function 0x8000 (Page 6)
0x00F7 Screen x-pos within current room segment
0x00F8 Screen y-pos within current room segment
0x00FA Screen y-pos (high byte) 240 pixels per segment
0x00FB Screen y-pos (low byte) pixels
0x00FC Screen x-pos (high byte) 256 pixels per segment
0x00FD Screen x-pos (low byte) pixels
0x0100 - 0x01BF Stack
0x0300 - 0x030F Object Phase
  • 0x80 = slot occupied
  • 0x0F = phase within script
0x0310 - 0x031F Object ID Determines object's behavior
0x0320 - 0x032F y-position subpixel
0x0330 - 0x033F x-position low byte (pixel)
0x0340 - 0x034F x-position high byte
0x0350 - 0x035F y-position subpixel
0x0360 - 0x036F y-position low byte (pixel)
0x0370 - 0x037F y-position high byte
0x0380 - 0x038F x-speed low byte (subpixels/frame)
0x0390 - 0x039F x-speed high byte (pixels/frame)
0x03A0 - 0x03AF y-speed low byte (subpixels/frame)
0x03B0 - 0x03BF y-speed high byte (pixels/frame)
0x03C0 - 0x03CF Attributes
  • 0x40 = damage hitbox active
  • 0x20 = able to be bubbled
0x03D0 - 0x03DF Direction of movement Speed values above are scalar. They are used in conjunction with this value to determine velocity.
  • 0x08 = up
  • 0x04 = down
  • 0x02 = right
  • 0x01 = left
0x03F0 - 0x03FF HP
0x0400 - 0x040F Sprite orientation
  • 0x40 = Horizontal flip (face left)
  • 0x04 = invisible
0x0430 - 0x043F Graphic ID Determines object's animation loop
0x0460 - 0x046F Counter 1 Use depends on object
0x0470 - 0x047F Counter 2 Use depends on object
0x0480 - 0x048F Counter 3 Use depends on object
0x0490 - 0x049F Counter 4 Use depends on object
0x04A0 - 0x04AF Stun timer Actions/animation paused while nonzero
0x0620 - 0x063F Current color palettes