Magic Jewelry:RAM map
|001A||Jewel removal blinking delay timer|
|0056||X-coordinate of falling column (0--5)|
|0057||Y-coordinate of falling column (0--12, the 13 visible rows)|
|0059||Fall delay timer (increments from 0 until it reaches value in $005B)|
|005B||Fall speed (the lower, the faster the drop)|
|005C||Current top jewel color|
|005D||Current middle jewel color|
|005E||Current bottom jewel color|
|005F||Next top jewel color|
|0060||Next middle jewel color|
|0061||Next bottom jewel color|
|006A||Moving bonus points X-coordinates|
|0087-008A||Level (each byte stores a decimal digit, reverse order, highest digit hidden)|
|0077-007E||Score (each byte stores a decimal digit, reverse order, highest digit hidden)|
|007F-0084||Jewelry Counter (each byte stores a decimal digit, reverse order, highest digit hidden)|
The playfield is a 15 row x 6 column grid. The top 2 rows are hidden (rows -2 and -1).
The playfield starts at $0380 and each row is represented by 8 bytes: 00 XX XX XX XX XX XX 00, where XX is a jewel color value.
The falling column spawns at row 0 and column 3 and it is drawn by modifying playfield memory as opposed to separate sprites. Those coordinates represent the bottom jewel of the column. The top and middle jewels are initially hidden in rows -2 and -1, respectively. The game ends if there is no space to spawn a new column or if the falling column locks such that its top and middle jewels are located in either of the hidden rows.
The following values are used for the playfield cells and for the current/next top/middle/bottom colors:
0 - empty cell
1 - red
2 - purple
3 - yellow
4 - orange
5 - blue
6 - green
7 - wild
Wilds appear as an X. They always spawn as a column of 3 wilds. And, if a wild column lands on the playfield floor, it vanishes. However, if it lands on a jewel, then all 3 wilds become the color of that jewel and subsequentially, all jewels of that color in the entire playfield vanish.
|Internal Data for Magic Jewelry (NES)|