If you are still using the old URL (datacrystal.romhacking.net), please update your bookmarks! The old URL may stop working soon.
The current URL is datacrystal.tcrf.net.
The current URL is datacrystal.tcrf.net.
The Little Mermaid/RAM map: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
(→top) |
||
(28 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
{{rammap|game=The Little Mermaid}} | {{rammap|game=The Little Mermaid}} | ||
{| border="1" cellpadding="1" | {| border="1" cellpadding="1" | ||
| '''RAM''' | |'''RAM'''||'''Function'''||'''Details''' | ||
|- | |- | ||
| | |0x0000 - 0x0001||Pointer address||Used to jump to specific section | ||
|- | |- | ||
| | |0x0014||PAD1 new input||Input new to current frame | ||
|- | |- | ||
| 0X00E4 | |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|| | |||
*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|| | |||
*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|| | |||
|- | |||
|0X00B1||Health|| | |||
|- | |||
|0x00B4||Bubble power|| | |||
|- | |||
|0x00B5||Bubble range|| | |||
|- | |||
|0X00E4 - 0X00E7||RNG Seed||Fibonacci LFSR (Function [[The Little Mermaid:ROM map#Function 0xC250|0xC250]]) | |||
|- | |||
|0x00E9||Current stage|| | |||
|- | |||
|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|| | |||
*0x'''8'''0 = slot occupied | |||
*0x0'''F''' = 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|| | |||
*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. | |||
*0x0'''8''' = up | |||
*0x0'''4''' = down | |||
*0x0'''2''' = right | |||
*0x0'''1''' = left | |||
|- | |||
|0x03F0 - 0x03FF||HP|| | |||
|- | |||
|0x0400 - 0x040F||Sprite orientation|| | |||
*0x'''4'''0 = Horizontal flip (face left) | |||
*0x0'''4''' = 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|| | |||
{{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 |
|