| Super Mario Bros. 2's cartridge ROM (USA, PRG0), counted by part of the game: each stretch of code or data goes to the part its code shows it serves, and the value sums the bytes of each part. | 0x10-0x4000f | Code |
On a vine, chain, or ladder the player climbs up at $F0 (1 px/frame), down at $20 (2 px/frame), and sideways at 1 px/frame. Holding up and down together reads past the end of the table, the byte $A5, and sends the player up at 5.6875 px/frame. Holding left and right together reads past the end of the sideways table too, again a byte $A5, the first of HandlePlayerState_Climbing, and sets the sideways speed to 5.6875 px/frame to the left. | 0x1f235-0x1f2380xade-0xae1 | Code |
Doki Doki Panic's disk holds Super Mario Bros. 2's character stats table, 92 bytes in the same layout. Mario's, Toad's, and the Princess's 23 bytes each equal the first, second, and fourth blocks on the disk. Luigi's block, the third, differs only in its six take-off speeds, each $02 lower in SMB2, so read as SMB2 reads them, Luigi leaves the ground 0.125 px/frame faster than the disk's block would. The four offsets before the table hold the same values, with the last two swapped. | 0x143dd-0x1440a0x14422-0x144380x14411-0x144160x143d9-0x143dc | Code |
Both games end a level with a Bonus Chance, and Doki Doki Panic's disk holds Super Mario Bros. 2's 24 bytes of slot-machine reels with two exceptions. Where SMB2's first reel has a turnip (its second symbol) and a Snifit (its fifth), the disk has $00, the value SMB2's code reads as a cherry, so that reel holds three of SMB2's cherry values on the disk and one in SMB2. A cherry on the first reel wins a life. | 0x14549-0x14560 | Code |
| Both games have 20 levels in seven parts: Doki Doki Panic's manual calls them pages in seven chapters, and Super Mario Bros. 2's calls them areas in seven worlds. SMB2's table of each world's first level, three levels a world and two in the last, is on Doki Doki Panic's disk byte for byte. | 0x1e022-0x1e029 | Manual |
| Most of Super Mario Bros. 2's enemy tiles occur on Doki Doki Panic's disk: 234 of the 244 non-blank tiles in its four banks of world enemies occur in the disk's tile files, byte for byte, and 80 of the 122 in its two banks of common enemies. Of the 199 non-blank tiles in Doki's four character files, 2 occur in SMB2's CHR ROM. Tiles are counted as often as they occur. | 0x22010-0x2280f0x23010-0x2400f0x20010-0x4000f | Code |
| Super Mario Bros. 2's song data shares no run of more than 5 bytes with either Doki Doki Panic disk: that is the longest run found for the twelve data regions of the ROM map's music part (the songs, their pointers and headers, and the level music indexes). The sound engine's six regions share none of more than 17 bytes and the sound effects' three none of more than 14, while the two routines that pick an area's music share a run of 24 bytes. Tanabe's team greatly enhanced the sound effects, Chris Kohler reported. | 0x9010-0x912d0x912e-0x94780x9479-0x94cc0x94cd-0x955f0x9560-0x964d0x964e-0x98bc0x98bd-0x9be30x9be4-0x9f2b0x9f2c-0x9fd60x9fd7-0xa0ca0xa0cb-0xa19c0xd51e-0xd5380x1f104-0x1f1080x1f6d0-0x1f6e90x8010-0x80470x836b-0x87560x8757-0x876e0x8f10-0x8fc20xa19d-0xa3fe0x1ec8c-0x1ec990x8048-0x819e0x819f-0x829d0x829e-0x830c | Interview |
Super Mario Bros. 2's cartridge keeps Doki Doki Panic data that it never shows. The 24 bytes the disassembly calls MysteryData14439, copied to RAM and unused, are on Doki's disk unchanged, and so are the 32 bytes of sprite entries it labels as the heads of Imajin, Lina, Mama, and Papa. After the heads, SMB2 has a PPU write of 20 blank tiles ($FB) at $20C6, which the disassembly labels BonusChanceUnused_BONUS_CHANCE; the disk's write at the same place holds text (bonus-chance-text). | 0x14449-0x144600x14569-0x145880x14589-0x145a0 | Code |