Puyo Puyo/RAM map

From Data Crystal
Revision as of 02:42, 24 January 2024 by Xkeeper (talk | contribs) (Xkeeper moved page Puyo Puyo:RAM map to Puyo Puyo/RAM map: normalize subpages and titles)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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

RAM Map

004A Transitions from 0 to 1 during a spawn.
0067 P1 Next bottom color.
0068 P1 Next top color.
0069 P2 Next bottom color.
006A P2 Next top color.
006F Selected play mode (0 = 1 Player Endless Mode, 1 = 1 Player Mission Mode, 2 = 2 Player Mode).
0070 Level.
007A-007C Player score in hex, 3-bytes small-endian, the last decimal digit is not stored since it's always 0.
0087-008F Temporarily stores player score and number of blocks as decimal digits during conversion, one byte per digit in base-10.
0300-03DF P1 playfield.
0400-04DF P2 playfield.
0605 Used during P1 Puyo spawn.
0606 Used during P2 Puyo spawn.
0615 P1 Spawn delay timer.
0616 P2 Spawn delay timer.
0631 P1 Drop timer.
0632 P2 Drop timer.
0645 P1 X-coordinate of falling Puyo sprite.
0646 P2 X-coordinate of falling Puyo sprite.
064D P1 Y-coordinate of falling Puyo sprite.
064E P2 Y-coordinate of falling Puyo sprite.
0669 P1 X-coordinate of falling Puyo (1--6).
066A P2 X-coordinate of falling Puyo (1--6).
066D P1 Y-coordinate of falling Puyo (0--13, where 0 is a hidden row at the top).
066E P2 Y-coordinate of falling Puyo (0--13, where 0 is a hidden row at the top).
0679 P1 Current bottom color.
067A P2 Current bottom color.
067D P1 Current top color.
067E P2 Current top color.
0695 Low byte of number of blocks.
0699 High byte of number of blocks.
06D5 P1 orientation of falling Puyo (0 = down, 1 = left, 2 = up, 3 = right).
06D6 P2 orientation of falling Puyo (0 = down, 1 = left, 2 = up, 3 = right).

Playfield

The playfield is a 14 row x 6 column grid. The top row is hidden.

Each row is represented by 16 bytes: 00 08 a1 c1 a2 c2 a3 c3 a4 c4 a5 c5 a6 c6 00 08, where aX is an attribute byte and cX is a color byte. The bits of the lower nibble of attribute bytes describe how the Puyo is linked to its neighbors (bit0 = down, bit1 = up, bit2 = right, bit3 = left). The upper nibbles are usually 1, except for the hidden row where they are 9.

Colors

The following values are used for the playfield color bytes and for the P1/P2 current/next top/bottom colors:

0 - empty cell

1 - red

2 - yellow

3 - gray

4 - green

5 - light green

6 - blue

7 - black/transparent

A bottom color of FF indicates a special item (top=0 for Big Puyo, top=1 for Carbuncle).