Cite as
“Yoshi's Cookie (USA)”
Licence
proprietary; never redistributed (docs/data-policy.md#roms)
Credit
Nintendo
Notes
No-Intro name. NES 2.0 header; mapper 4 (MMC3), 128 KB PRG ROM in sixteen 8 KB banks, 64 KB CHR ROM, no battery. Without the header the SHA-1 is 44aae1649a4ad3ae73d5f24962590c2b7c0314ea.

Cited on

Claims (18)

Yoshi's Cookie keeps its random number generator in one byte, $0424, and steps it as x←5x+17mod256, written out in place at each call site, so the sequence runs through all 256 values before it repeats.0x1C933-0x1C9480x5FB4-0x5FF3Verified
The power-on code sets the generator to $C3.0x1C0F4-0x1C0F8Verified
The title screen leaves the generator alone; the 1P setup menu (round, speed, music) steps it once per frame, from the frame it opens to the frame Start leaves it.0x1C7DE-0x1C8090x1C933-0x1C948Verified
With the setup menu's defaults, which start on Round 1 Stage 1, a 4×4 board of two kinds, the first board played depends only on how many frames the player spends in the menu, counted mod 256. The model of the setup gives 19 different boards over the 256 counts, each a checkerboard; Mesen matches the model for the seven counts the probe plays.0x1C933-0x1C9480x1E9EA-0x1EB1BVerified
Each stage's board comes from the generator: it picks the stage's kinds of cookie, then fills the board from the bottom left, row by row, redrawing any cookie that matches the one to its left or the one below.0x1E9EA-0x1EB1B0x602B-0x6054Verified
A cookie kind is a generator step mod 5, drawn again while it equals the previous pick; the previous pick is reset to 0 at each stage's start, so the first kind picked is never kind 0.0x5FB4-0x5FF30x1E8E0-0x1E8EDVerified
With n kinds in play, a cookie's kind is the list entry at the count of generator steps with bit 7 set among n − 1 steps, so the middle kinds of the list come up more often than the ends.0x5FF4-0x602AVerified
A table gives each stage's board width, height, and kinds of cookie: Round 1 opens on a 4×4 board of two kinds, the first 6×6 board with all five kinds is Round 5 Stage 6, and from Round 6 Stage 2 on every board is one; Rounds 8 to 10 reuse Round 7's row.0x1EB1C-0x1EBED0x1E94B-0x1E99BCode
The cookies that come in from the edges are of 3 kinds in Round 1, 4 in Rounds 2 and 3, and 5 in Rounds 4 to 10.0x69FE-0x6A080x6055-0x60A8Code
Starting a game sets up the first board twice: once under the round banner, then again when the player presses a button to play, from where the generator stopped; the banner's board is never played.0x1E9EA-0x1EB1BVerified
The attract-mode demo saves the generator, plays from the fixed seed $FB, and puts the saved value back when it ends.0x1C4BA-0x1C4C40x1CDF2-0x1CDF7Code
On the first stages of Round 1, a shift slides the cursor's row or column one cell, wrapping around. A row or column that is all one kind then clears, the rows above drop, the columns to its right close up, and any line that forms clears in turn. The stage ends when the board is empty.0x1D100-0x1D16BVerified
Each pass of the line check tests the rows first, and the columns only if no row matched. Rows are tested only on a board at least two cookies wide, columns only on one at least two tall, and both scans pass over tile $1A, kind 5, so a cookie of that kind counts as any kind; the atlas takes it to be the Yoshi cookie. Only whole rows and whole columns clear, so the board stays a rectangle.0x1EC57-0x1ECDC0x1ECDD-0x1ED55Code
A shift slides for 7 frames, the frame of the input included.0x1D2BB-0x1D2F6Verified
With the menu's default settings, the first new cookies for Round 1 Stage 1 are drawn after 226 frames of play from the board's setup, counted as the batch timer counts them; a stage cleared sooner leaves the generator where the setup left it.0x1D1D3-0x1D2310x1E725-0x1E733Verified
The timer to the next batch of cookies counts down one per frame of play, and six more on the first frame of play after a shift, so a shift costs its seven frames. It stands still while lines clear, and the shift that empties the board is never charged its six.0x1D1D3-0x1D2310x1D2BB-0x1D2F6Verified
In Round 1 Stage 1, holding B during play divides the time left to the next batch by four; holding it again later in the stage only counts the frame down.0x1CF80-0x1CF9D0x1E734-0x1E738Verified
A board that holds a single cookie of some kind and no cookie of kind 5 (tile $1A, which counts as any kind) can't be emptied by shifts, since every line that clears is two or more cookies of one kind. Only incoming cookies can rescue it.0x1EC57-0x1ECDC0x1ECDD-0x1ED55Code