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) |
||
(15 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|| | |||
|- | |||
|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 - | |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 | ||
Line 77: | Line 129: | ||
|- | |- | ||
|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 |
|