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.

Yoshi's Cookie/RAM map: Difference between revisions

From Data Crystal
Jump to navigation Jump to search
(Created RAM map)
 
m (and this)
Tag: New redirect
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{rammap|game=Yoshi's Cookie}}
#REDIRECT [[Yoshi's Cookie (NES)/RAM map]]
 
== RAM Map ==
<pre>Address Size    Description
------- ----    -----------
0000      2    mode jump address (LSB)
00A0      1    speed (01=low, 02=med, 03=hi)
0200    768    playfield matrix
0300      32    playfield dropping row
0320      32    playfield dropping column
0340      4    playfield dropping corner
03D9      1    mode
03E2      1    cursorY * 2
03E3      1    cursorX * 2
048E      1    00=playing, 02=paused
040B      1    round (01--0A)
040C      1    stage (01--0A)
0490      1    buttons pressed (bits)
0492      1    title screen option (01=1P, 02=VS)
04A0      1    00=playing, FF=demo
04A8      1    1P menu option (01=round, 02=speed, 03=music type)
05E4      1    continue (01=yes, 02=no)</pre>
 
== Playfield ==
The playfield is an 8&times;8 matrix stored in 768 bytes starting at address $0200.  Each element is represented by 4 bytes, each of which corresponds to a pattern table entry.  In other words, each cookie or Mario character is a 2&times;2 meta-tile; the upper 2 and the lower 2 bytes are adjacent in memory and the upper and lower pairs are separated by 16 bytes.  Each element can be one of 8 possible values:
 
<pre>empty
00 00
00 00
 
green koopa troopa shell
08 09
0A 0B
 
heart / super mushroom
10 11
20 21
 
flower / boo buddy
12 13
22 23
 
diamond / goomba
14 15
24 25
 
check / jumpin' piranha plant
16 17
26 27
 
circle / bloober
18 19
28 29
 
yoshi
1A 1B
2A 2B</pre>
 
The dropping row is stored in 32 bytes starting at address $0300.  Each element is in the same 2&times;2 meta-tile format as the playfield matrix.
 
The dropping column is stored in 32 bytes starting at address $0320.  However, unlike the playfield matrix and the dropping row, the 4 bytes of each element are stored sequentially.
 
The dropping corner element is stored as 4 bytes starting at address $0340.  Like the dropping column, its 4 bytes are stored sequentially.
 
== Mode ==
A single byte at $03D9 indicates the current game mode:
 
<pre>01 = title / continue
02 = playing / demo
03 = rotating rows / columns
04 = round X
05 = 1P mario enter animation
06 = game over
07 = clearing rows / columns
08 = shuffling rows / columns
09 = AxB points
0D = clearing rows / columns
0F = stage clear
12 = 1P menu
13 = 1P menu animation
14 = stage start push start
15 = paused
19 = adding rows / columns
1C = demo
36 = interstitial
37 = easy ending
38 = hard ending</pre>
 
A jump address is injected into $0000 when the mode changes (see [http://datacrystal.romhacking.net/wiki/Yoshi%27s_Cookie_(NES):ROM_map ROM Map]).
 
{{Internal Data|game=Yoshi's Cookie}}

Latest revision as of 21:14, 8 February 2024