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 wiki has recently moved; please report any issues in Discord. Pardon the dust.
The Little Mermaid/RAM map: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
(→top) |
||
(19 intermediate revisions by 2 users not shown) | |||
Line 2: | Line 2: | ||
{| border="1" cellpadding="1" | {| border="1" cellpadding="1" | ||
|'''RAM'''||'''Function'''||'''Details''' | |'''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 | |||
*0x'''8'''0 = A | |||
*0x'''4'''0 = B | |||
*0x'''2'''0 = Select | |||
*0x'''1'''0 = Start | |||
*0x0'''8''' = Up | |||
*0x0'''4''' = Down | |||
*0x0'''2''' = Left | |||
*0x0'''1''' = Right | |||
|- | |||
|0x0017||PAD2 input||All current input | |||
|- | |- | ||
|0x0030||Ariel's current action|| | |0x0030||Ariel's current action|| | ||
*0x07 = Taking damage | *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 | |0x003A||Object being held||# of object slot | ||
|- | |||
|0x003B||A button timer (bubbles/throw)|| | |||
|- | |||
|0x0050||Room info|| | |||
*0x'''8'''0 = Scrolls upward | |||
*0x'''4'''0 = Scrolls downward | |||
*0x'''0'''0 = Scrolls horizontally | |||
*0x0'''F''' = 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|| | |0X00B0||Lives|| | ||
Line 16: | Line 54: | ||
|0x00B5||Bubble range|| | |0x00B5||Bubble range|| | ||
|- | |- | ||
|0X00E4 - 0X00E7||RNG Seed||Fibonacci LFSR (Function [[ | |0X00E4 - 0X00E7||RNG Seed||Fibonacci LFSR (Function [[The Little Mermaid:ROM map#Function 0xC250|0xC250]]) | ||
|- | |- | ||
| | |0x00E9||Current stage|| | ||
|- | |- | ||
|0x0100 - | |0x00EF||Current object slot||Used in [[The Little Mermaid:ROM map#Function 0x8000|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|| | |0x0300 - 0x030F||Object Phase|| | ||
* | *0x'''8'''0 = slot occupied | ||
* | *0x0'''F''' = phase within script | ||
|- | |- | ||
|0x0310 - 0x031F||Object ID||Determines object's behavior | |0x0310 - 0x031F||Object ID||Determines object's behavior | ||
Line 49: | Line 101: | ||
|- | |- | ||
|0x03C0 - 0x03CF||Attributes|| | |0x03C0 - 0x03CF||Attributes|| | ||
* | *0x'''4'''0 = damage hitbox active | ||
* | *0x'''2'''0 = 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. | |0x03D0 - 0x03DF||Direction of movement||Speed values above are scalar. They are used in conjunction with this value to determine velocity. | ||
* | *0x0'''8''' = up | ||
* | *0x0'''4''' = down | ||
* | *0x0'''2''' = right | ||
* | *0x0'''1''' = left | ||
|- | |- | ||
|0x03F0 - 0x03FF||HP|| | |0x03F0 - 0x03FF||HP|| | ||
|- | |- | ||
|0x0400 - 0x040F||Sprite orientation|| | |0x0400 - 0x040F||Sprite orientation|| | ||
*0x'''4'''0 = Horizontal flip (face left) | |||
*0x0'''4''' = invisible | |||
|- | |- | ||
|0x0430 - 0x043F||Graphic ID||Determines object's animation loop | |0x0430 - 0x043F||Graphic ID||Determines object's animation loop | ||
|- | |- | ||
|0x0460 - 0x046F|| | |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 | |0x04A0 - 0x04AF||Stun timer||Actions/animation paused while nonzero | ||
|- | |- | ||
|0x0620 - 0x063F||Current color palettes|| | |0x0620 - 0x063F||Current color palettes|| | ||
{{Internal Data}} |
Latest revision as of 14:34, 24 January 2024
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
| ||||
0x0017 | PAD2 input | All current input | ||||
0x0030 | Ariel's current action |
| ||||
0x0031 | Ariel's direction of movement | |||||
0x003A | Object being held | # of object slot | ||||
0x003B | A button timer (bubbles/throw) | |||||
0x0050 | Room info |
| ||||
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 |
| ||||
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 |
| ||||
0x03D0 - 0x03DF | Direction of movement | Speed values above are scalar. They are used in conjunction with this value to determine velocity.
| ||||
0x03F0 - 0x03FF | HP | |||||
0x0400 - 0x040F | Sprite orientation |
| ||||
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 |
|