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 |
No edit summary |
||
Line 10: | Line 10: | ||
|- | |- | ||
|0x0016||PAD1 input||All current input | |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 | |0x0017||PAD2 input||All current input | ||
Line 35: | Line 35: | ||
|- | |- | ||
|0x0050||Room info|| | |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|| | |0x0051||Size of current room|| | ||
|- | |- | ||
|0x0052||Position in current room|| | |0x0052||Position in current room||256/240 pixel segments depending on horizontal or vertical scrolling | ||
|- | |- | ||
|0x0070 - 0x0071||Address of layout for current stage|| | |0x0070 - 0x0071||Address of layout for current stage|| | ||
Line 61: | Line 61: | ||
|- | |- | ||
|0x00EF||Current object slot||Used in [[The_Little_Mermaid:ROM_map#Function_0x8000|Function 0x8000 (Page 6)]] | |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 - 0x01FF||Stack|| | |0x0100 - 0x01FF||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 91: | Line 103: | ||
|- | |- | ||
|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 |
Revision as of 06:15, 29 December 2018
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 |
0x0070 - 0x0071 | Address of layout for current stage | |
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 - 0x01FF | 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 |