Mike Tyson's Punch-Out!! (Japan, USA) (En)
Mike Tyson's Punch-Out!! (Japan, USA) (En) is on a MMC2 board with 131,072 bytes of program. A crawl of 6,400 steps from power-on kept 161 paths that found new code. Played back over 549,601 frames, they executed 25,519 bytes of it, 19 percent.
What the rules named
- The poll: 2
- The wait for the frame: 9
- The jump engine: 3
- The bank switch: 25
- The picture writer: 1
- The palette writers: 1
- The sprite writers: 24
- The scroll writer: 1
- The split: 1
- The sound driver: 1
The 319 routines the runs entered
Every place the game's code was entered, by a call, an interrupt or a jump through a table. The ones a rule named come first, with what the rule saw, and their names in the listing say what they are: a poll, an engine, a drain.
| at | its name in the listing | entered by | times | what it is, and the evidence |
|---|---|---|---|---|
| $AFA4 (bank 13) | b13_poll_AFA4 | a call | 2,242,811 | The poll: port $4016, reads a frame 31, strobes a frame 0 The poll: port $4017, reads a frame 31, strobes a frame 0 |
| $AA48 (bank 13) | b13_bank_AA48 | a call | 618,189 | The bank switch: writes 617,910, in the blank 0, while drawing 617,910 |
| $AA3C (bank 13) | b13_bank_AA3C | a call | 553,496 | The bank switch: writes 553,288, in the blank 347,985, while drawing 205,303 |
| $A008 (bank 13) | b13_nmi | each frame (NMI) | 380,698 | The bank switch: writes 44,988, in the blank 44,988, while drawing 0 |
| $AA40 (bank 13) | b13_bank_AA40 | a call | 348,463 | The bank switch: writes 348,444, in the blank 143,039, while drawing 205,405 |
| $A9DF (bank 13) | b13_scroll_A9DF | a call | 348,308 | The bank switch: writes 348,000, in the blank 348,000, while drawing 0 The scroll writer: frames it ran in 348,308, writes in the blank 696,544 |
| $AED4 (bank 13) | b13_engine_AED4 | a call | 277,916 | The jump engine: tables 6, jumps through them 277,916 |
| $F40B (bank 13) | b13_sound_F40B | a call | 251,130 | The sound driver: frames it ran in 249,994, writes 502,016 |
| $AA44 (bank 13) | b13_bank_AA44 | a call | 219,449 | The bank switch: writes 219,437, in the blank 14,005, while drawing 205,432 |
| $A09A (bank 13) | b13_split_A09A | a call | 205,576 | The split: frames it ran in 205,576, scroll writes while drawing 239,418, status reads while drawing 114,316,716 |
| $8000 (bank 7) | b7_sprites_8000 | a call | 205,421 | The sprite writers: frames it ran in 205,421, writes to the sprite page 104 |
| $AA87 (bank 13) | b13_bank_AA87 | a call | 205,421 | The bank switch: writes 205,246, in the blank 0, while drawing 205,246 |
| $9134 (bank 7) | b7_engine_9134 | a call | 162,307 | The jump engine: tables 1, jumps through them 162,307 |
| $AA6A (bank 13) | b13_bank_AA6A | a call | 143,038 | The bank switch: writes 142,877, in the blank 139,573, while drawing 3,304 |
| $A7A6 (bank 13) | b13_sprites_A7A6 | a call | 142,498 | The sprite writers: frames it ran in 137,482, writes to the sprite page 16 |
| $C24A (bank 13) | b13_drain_C24A | a call | 75,414 | The picture writer: frames it ran in 75,414, writes 105,618, in the blank 105,618, while drawing 0 |
| $860F (bank 11) | b11_engine_860F | a call | 73,884 | The jump engine: tables 3, jumps through them 73,884 |
| $D34F (bank 13) | b13_sprites_D34F | a call | 24,048 | The sprite writers: frames it ran in 15,163, writes to the sprite page 192,182 |
| $D043 (bank 13) | b13_sprites_D043 | a call | 23,449 | The sprite writers: frames it ran in 23,449, writes to the sprite page 200,235 |
| $D305 (bank 13) | b13_sprites_D305 | a call | 21,357 | The sprite writers: frames it ran in 16,290, writes to the sprite page 170,742 |
| $D3FE (bank 13) | b13_sprites_D3FE | a call | 19,499 | The sprite writers: frames it ran in 19,427, writes to the sprite page 1,644,923 |
| $D134 (bank 13) | b13_sprites_D134 | a call | 18,447 | The sprite writers: frames it ran in 7,948, writes to the sprite page 147,389 |
| $AA9F (bank 13) | b13_bank_AA9F | a call | 14,005 | The bank switch: writes 14,004, in the blank 14,004, while drawing 0 |
| $D16E (bank 13) | b13_sprites_D16E | a call | 11,908 | The sprite writers: frames it ran in 11,836, writes to the sprite page 49,994 |
| $CC8B (bank 13) | b13_sprites_CC8B | a call | 10,006 | The sprite writers: frames it ran in 9,144, writes to the sprite page 273,975 |
| $D176 (bank 13) | b13_sprites_D176 | a call | 9,201 | The sprite writers: frames it ran in 8,184, writes to the sprite page 198,840 |
| $AF0B (bank 13) | b13_palette_AF0B | a call | 8,207 | The palette writers: frames it ran in 8,207, writes 262,161 |
| $BDB5 (bank 13) | b13_sprites_BDB5 | a call | 7,246 | The sprite writers: frames it ran in 7,246, writes to the sprite page 228,501 |
| $C976 (bank 13) | b13_sprites_C976 | a call | 7,192 | The sprite writers: frames it ran in 7,192, writes to the sprite page 743,071 |
| $BE1A (bank 13) | b13_sprites_BE1A | a call | 4,811 | The sprite writers: frames it ran in 4,811, writes to the sprite page 30,390 |
| $D3DB (bank 13) | b13_sprites_D3DB | a call | 4,755 | The sprite writers: frames it ran in 4,755, writes to the sprite page 477,608 |
| $AA60 (bank 13) | b13_bank_AA60 | a call | 3,058 | The bank switch: writes 3,058, in the blank 0, while drawing 3,058 |
| $C978 (bank 13) | b13_sprites_C978 | a call | 2,009 | The sprite writers: frames it ran in 1,147, writes to the sprite page 92,100 |
| $CB81 (bank 13) | b13_sprites_CB81 | a call | 1,096 | The sprite writers: frames it ran in 1,034, writes to the sprite page 17,536 |
| $D070 (bank 13) | b13_sprites_D070 | a call | 644 | The sprite writers: frames it ran in 616, writes to the sprite page 5,152 |
| $AF38 (bank 13) | b13_sprites_AF38 | a call | 558 | The sprite writers: frames it ran in 948, writes to the sprite page 142,847 |
| $BEFF (bank 13) | b13_sprites_BEFF | a call | 532 | The sprite writers: frames it ran in 266, writes to the sprite page 3,591 |
| $8051 (bank 7) | b7_bank_8051 | a call | 440 | The bank switch: writes 440, in the blank 0, while drawing 440 |
| $AA5C (bank 13) | b13_bank_AA5C | a call | 427 | The bank switch: writes 427, in the blank 0, while drawing 427 |
| $BF55 (bank 13) | b13_bank_BF55 | a call | 425 | The bank switch: writes 1,700, in the blank 392, while drawing 1,308 |
| $BF3C (bank 13) | b13_bank_BF3C | a call | 414 | The bank switch: writes 414, in the blank 0, while drawing 414 |
| $AA54 (bank 13) | b13_bank_AA54 | a call | 295 | The bank switch: writes 295, in the blank 259, while drawing 36 |
| $AA64 (bank 13) | b13_bank_AA64 | a call | 295 | The bank switch: writes 295, in the blank 0, while drawing 295 |
| $A000 (bank 13) | b13_irq | an interrupt (IRQ) | 161 | The sprite writers: frames it ran in 245,923, writes to the sprite page 75,008 |
| $AA50 (bank 13) | b13_bank_AA50 | a call | 161 | The bank switch: writes 161, in the blank 0, while drawing 161 |
| $B666 (bank 13) | b13_sprites_B666 | a call | 161 | The bank switch: writes 161, in the blank 0, while drawing 161 The sprite writers: frames it ran in 324, writes to the sprite page 644 |
| $B6A1 (bank 13) | b13_bank_B6A1 | a call | 161 | The bank switch: writes 161, in the blank 0, while drawing 161 |
| $BF36 (bank 13) | b13_bank_BF36 | a call | 144 | The bank switch: writes 144, in the blank 0, while drawing 144 |
| $D0D2 (bank 13) | b13_sprites_D0D2 | a call | 139 | The sprite writers: frames it ran in 115, writes to the sprite page 1,112 |
| $AF3A (bank 13) | b13_sprites_AF3A | a call | 133 | The sprite writers: frames it ran in 133, writes to the sprite page 12,768 |
| $BBAA (bank 13) | b13_bank_BBAA | a call | 133 | The bank switch: writes 133, in the blank 0, while drawing 133 |
| $BCBE (bank 13) | b13_bank_BCBE | a call | 133 | The bank switch: writes 665, in the blank 0, while drawing 665 |
| $AF43 (bank 13) | b13_sprites_AF43 | a call | 98 | The sprite writers: frames it ran in 98, writes to the sprite page 1,176 |
| $AA96 (bank 13) | b13_bank_AA96 | a call | 23 | The bank switch: writes 23, in the blank 0, while drawing 23 |
| $8054 (bank 7) | b7_bank_8054 | a call | 10 | The bank switch: writes 20, in the blank 0, while drawing 20 |
| $A800 (bank 13) | b13_bank_A800 | a call | 8 | The bank switch: writes 8, in the blank 0, while drawing 8 |
| $ADC5 (bank 13) | b13_wait_ADC5 | a call | 4 | The wait for the frame: waits on the byte at $00D9, times entered 4, turns 630, calls on each turn 1, writes of it under the frame interrupt 275,110, frames in all 381,181 |
| $B001 (bank 13) | a call | 1,401,310 | ||
| $B021 (bank 13) | a call | 485,683 | ||
| $8000 (bank 8) | a call | 348,463 | ||
| $8025 (bank 8) | a call | 348,463 | ||
| $80CA (bank 8) | a call | 348,463 | ||
| $84B1 (bank 8) | a call | 348,463 | ||
| $88E2 (bank 8) | a call | 348,463 | ||
| $8012 (bank 7) | a call | 348,075 | ||
| $AF73 (bank 13) | a call | 348,075 | ||
| $A774 (bank 13) | a call | 347,919 | ||
| $AF8D (bank 13) | a call | 280,413 | ||
| $AFBD (bank 13) | a call | 280,262 | ||
| $BF99 (bank 13) | a call | 277,376 | ||
| $AF02 (bank 13) | a call | 259,716 | ||
| $F412 (bank 13) | a call | 246,245 | ||
| $8006 (bank 7) | a call | 214,927 | ||
| $C890 (bank 13) | a call | 206,002 | ||
| $8009 (bank 11) | a call | 205,444 | ||
| $8003 (bank 7) | a call | 205,421 | ||
| $8003 (bank 11) | a call | 205,421 | ||
| $8006 (bank 11) | a call | 205,421 | ||
| $8009 (bank 7) | a call | 205,421 | ||
| $800C (bank 7) | a call | 205,421 | ||
| $800F (bank 7) | a call | 205,421 | ||
| $8015 (bank 7) | a call | 205,421 | ||
| $A7C4 (bank 13) | a call | 205,421 | ||
| $B034 (bank 13) | a call | 205,421 | ||
| $B049 (bank 13) | a call | 205,421 | ||
| $B069 (bank 13) | a call | 205,421 | ||
| $B10A (bank 13) | a call | 205,421 | ||
| $B196 (bank 13) | a call | 205,421 | ||
| $B457 (bank 13) | a call | 205,421 | ||
| $B530 (bank 13) | a call | 205,421 | ||
| $C291 (bank 13) | a call | 205,421 | ||
| $C3D9 (bank 13) | a call | 205,421 | ||
| $C440 (bank 13) | a call | 205,421 | ||
| $C4E7 (bank 13) | a call | 205,421 | ||
| $B549 (bank 13) | a table | 205,083 | ||
| $F472 (bank 13) | a call | 184,638 | ||
| $81EF (bank 11) | a call | 183,390 | ||
| $F463 (bank 13) | a call | 181,731 | ||
| $9158 (bank 7) | a call | 167,850 | ||
| $9151 (bank 7) | a call | 84,785 | ||
| $8B54 (bank 7) | a call | 74,778 | ||
| $C3CA (bank 13) | a call | 67,309 | ||
| $C041 (bank 13) | a call | 60,298 | ||
| $C0BB (bank 13) | a call | 50,658 | ||
| $C0E0 (bank 13) | a call | 50,453 | ||
| $C079 (bank 13) | a call | 50,438 | ||
| $C09D (bank 13) | a call | 50,438 | ||
| $8B19 (bank 7) | a table | 42,468 | ||
| $8B50 (bank 7) | a table | 42,442 | ||
| $8B39 (bank 7) | a table | 32,336 | ||
| $8AF0 (bank 7) | a table | 31,693 | ||
| $F400 (bank 13) | a call | 22,484 | ||
| $F422 (bank 13) | a call | 20,863 | ||
| $F429 (bank 13) | a call | 18,545 | ||
| $C830 (bank 13) | a call | 16,246 | ||
| $C83E (bank 13) | a call | 16,246 | ||
| $C844 (bank 13) | a call | 16,246 | ||
| $C847 (bank 13) | a call | 16,246 | ||
| $8000 (bank 11) | a call | 14,005 | ||
| $910B (bank 7) | a call | 13,368 | ||
| $F41E (bank 13) | a call | 13,096 | ||
| $C5D4 (bank 13) | a table | 12,838 | ||
| $C720 (bank 13) | a table | 12,330 | ||
| $83AE (bank 11) | a table | 12,117 | ||
| $C58D (bank 13) | a table | 11,525 | ||
| $8B1E (bank 7) | a table | 10,642 | ||
| $A75B (bank 13) | a call | 10,618 | ||
| $83A7 (bank 11) | a table | 10,580 | ||
| $BC1F (bank 13) | a call | 10,525 | ||
| $AF2E (bank 13) | a call | 8,998 | ||
| $84EC (bank 11) | a table | 8,558 | ||
| $F44F (bank 13) | a call | 7,541 | ||
| $8371 (bank 11) | a table | 7,304 | ||
| $BF9E (bank 13) | a call | 7,248 | ||
| $C59B (bank 13) | a table | 6,847 | ||
| $838B (bank 11) | a table | 6,378 | ||
| $85E2 (bank 11) | a call | 6,378 | ||
| $A750 (bank 13) | a call | 5,978 | ||
| $837F (bank 11) | a table | 5,351 | ||
| $83F4 (bank 11) | a table | 5,300 | ||
| $C670 (bank 13) | a table | 4,688 | ||
| $C5F9 (bank 13) | a table | 3,707 | ||
| $85CA (bank 11) | a table | 3,660 | ||
| $85DB (bank 11) | a call | 3,573 | ||
| $C113 (bank 13) | a call | 3,512 | ||
| $C784 (bank 13) | a table | 3,309 | ||
| $BE09 (bank 13) | a call | 3,058 | ||
| $F4CD (bank 13) | a call | 2,827 | ||
| $F4DD (bank 13) | a call | 2,827 | ||
| $8ADD (bank 7) | a table | 2,726 | ||
| $AEF8 (bank 13) | a call | 2,708 | ||
| $848F (bank 11) | a table | 2,552 | ||
| $8363 (bank 11) | a table | 2,333 | ||
| $C7F1 (bank 13) | a table | 2,131 | ||
| $C7A7 (bank 13) | a table | 2,065 | ||
| $8556 (bank 11) | a table | 1,954 | ||
| $C850 (bank 13) | a call | 1,743 | ||
| $AEAB (bank 13) | a call | 1,662 | ||
| $C70C (bank 13) | a table | 1,615 | ||
| $AF04 (bank 13) | a call | 1,608 | ||
| $F414 (bank 13) | a call | 1,491 | ||
| $C5B7 (bank 13) | a table | 1,357 | ||
| $C68E (bank 13) | a table | 1,301 | ||
| $C6AA (bank 13) | a table | 1,281 | ||
| $C7BB (bank 13) | a table | 1,281 | ||
| $90FF (bank 6) | a call | 1,274 | ||
| $8482 (bank 11) | a table | 1,205 | ||
| $85D1 (bank 11) | a call | 1,147 | ||
| $C5E6 (bank 13) | a table | 1,083 | ||
| $84CD (bank 11) | a table | 955 | ||
| $C7D1 (bank 13) | a table | 887 | ||
| $AE9B (bank 13) | a call | 713 | ||
| $8493 (bank 11) | a table | 696 | ||
| $F4EF (bank 13) | a call | 690 | ||
| $84AF (bank 11) | a table | 676 | ||
| $F41B (bank 13) | a call | 663 | ||
| $8596 (bank 11) | a table | 646 | ||
| $C821 (bank 13) | a table | 597 | ||
| $8466 (bank 8) | a call | 594 | ||
| $839C (bank 11) | a table | 588 | ||
| $C744 (bank 13) | a table | 586 | ||
| $BEB3 (bank 13) | a call | 532 | ||
| $854D (bank 11) | a table | 531 | ||
| $F450 (bank 13) | a call | 528 | ||
| $AA1D (bank 13) | a call | 527 | ||
| $C80C (bank 13) | a table | 487 | ||
| $8906 (bank 8) | a call | 471 | ||
| $B65A (bank 13) | a call | 471 | ||
| $B651 (bank 13) | a call | 463 | ||
| $BF21 (bank 13) | a call | 460 | ||
| $F426 (bank 13) | a call | 441 | ||
| $8550 (bank 7) | a call | 440 | ||
| $B2EB (bank 13) | a call | 440 | ||
| $8540 (bank 7) | a call | 430 | ||
| $AA6E (bank 13) | a call | 419 | ||
| $AA0A (bank 13) | a call | 414 | ||
| $B016 (bank 13) | a call | 412 | ||
| $BF7E (bank 13) | a call | 411 | ||
| $8510 (bank 11) | a table | 402 | ||
| $C105 (bank 13) | a call | 399 | ||
| $B1C1 (bank 13) | a table | 380 | ||
| $AEA5 (bank 13) | a call | 372 | ||
| $C7EA (bank 13) | a table | 368 | ||
| $C649 (bank 13) | a call | 362 | ||
| $F518 (bank 13) | a call | 358 | ||
| $85A8 (bank 11) | a table | 337 | ||
| $85C1 (bank 11) | a table | 336 | ||
| $843E (bank 7) | a call | 330 | ||
| $F494 (bank 13) | a call | 330 | ||
| $AEF1 (bank 13) | a call | 327 | ||
| $BF0D (bank 13) | a call | 327 | ||
| $BC5F (bank 13) | a call | 322 | ||
| $BD9B (bank 13) | a call | 320 | ||
| $B1CE (bank 13) | a table | 305 | ||
| $BEE1 (bank 13) | a call | 305 | ||
| $C7C2 (bank 13) | a table | 293 | ||
| $8503 (bank 7) | a call | 278 | ||
| $849F (bank 7) | a call | 268 | ||
| $852B (bank 7) | a call | 267 | ||
| $BEC9 (bank 13) | a call | 266 | ||
| $C85C (bank 13) | a call | 266 | ||
| $C6BD (bank 13) | a table | 261 | ||
| $A9D1 (bank 13) | a call | 233 | ||
| $8459 (bank 11) | a table | 203 | ||
| $8574 (bank 11) | a table | 202 | ||
| $856D (bank 11) | a table | 196 | ||
| $C118 (bank 13) | a call | 196 | ||
| $84BE (bank 11) | a table | 192 | ||
| $8562 (bank 7) | a call | 191 | ||
| $C7E1 (bank 13) | a table | 188 | ||
| $C61E (bank 13) | a table | 181 | ||
| $B250 (bank 13) | a table | 166 | ||
| $BFAE (bank 13) | a call | 166 | ||
| $800E (bank 9) | a call | 161 | ||
| $801E (bank 7) | a call | 161 | ||
| $9000 (bank 6) | a call | 161 | ||
| $9030 (bank 6) | a call | 161 | ||
| $8465 (bank 11) | a table | 160 | ||
| $B6CB (bank 13) | a call | 155 | ||
| $BFB2 (bank 13) | a call | 155 | ||
| $AA06 (bank 13) | a call | 144 | ||
| $BFAA (bank 13) | a call | 144 | ||
| $AAE5 (bank 13) | a call | 135 | ||
| $AB4E (bank 13) | a call | 135 | ||
| $AE89 (bank 13) | a call | 135 | ||
| $BAE3 (bank 13) | a call | 133 | ||
| $BE96 (bank 13) | a call | 133 | ||
| $BEA1 (bank 13) | a call | 133 | ||
| $BEED (bank 13) | a call | 133 | ||
| $BFF2 (bank 13) | a call | 133 | ||
| $C6EA (bank 13) | a table | 131 | ||
| $84FF (bank 7) | a call | 130 | ||
| $C5CE (bank 13) | a table | 123 | ||
| $858C (bank 11) | a table | 121 | ||
| $C600 (bank 13) | a table | 109 | ||
| $8525 (bank 7) | a call | 98 | ||
| $AB58 (bank 13) | a call | 98 | ||
| $AE5F (bank 13) | a call | 98 | ||
| $AF5B (bank 13) | a call | 98 | ||
| $B5A9 (bank 13) | a table | 98 | ||
| $BED9 (bank 13) | a call | 98 | ||
| $83CE (bank 11) | a table | 78 | ||
| $857E (bank 11) | a table | 77 | ||
| $C3C1 (bank 13) | a call | 72 | ||
| $C770 (bank 13) | a table | 71 | ||
| $C6D7 (bank 13) | a table | 70 | ||
| $8417 (bank 11) | a table | 62 | ||
| $B24A (bank 13) | a table | 54 | ||
| $8565 (bank 11) | a table | 50 | ||
| $84B9 (bank 7) | a call | 48 | ||
| $C7B6 (bank 13) | a table | 46 | ||
| $842A (bank 7) | a call | 44 | ||
| $83D2 (bank 11) | a table | 38 | ||
| $AEC8 (bank 13) | a call | 35 | ||
| $802D (bank 7) | a call | 34 | ||
| $8421 (bank 7) | a call | 33 | ||
| $8DF4 (bank 7) | a call | 31 | ||
| $8435 (bank 7) | a call | 30 | ||
| $A4C6 (bank 13) | a call | 29 | ||
| $85A4 (bank 11) | a table | 24 | ||
| $C5C8 (bank 13) | a table | 24 | ||
| $8027 (bank 7) | a call | 22 | ||
| $8539 (bank 11) | a table | 22 | ||
| $8E3D (bank 7) | a call | 22 | ||
| $C6DF (bank 13) | a table | 19 | ||
| $83EB (bank 7) | a call | 18 | ||
| $BFF6 (bank 13) | a call | 16 | ||
| $8404 (bank 7) | a call | 15 | ||
| $AECE (bank 13) | a call | 15 | ||
| $B439 (bank 13) | a call | 15 | ||
| $C806 (bank 13) | a table | 13 | ||
| $B3A3 (bank 13) | a call | 10 | ||
| $BDA2 (bank 13) | a call | 10 | ||
| $C6CA (bank 13) | a table | 10 | ||
| $8021 (bank 7) | a call | 9 | ||
| $8024 (bank 7) | a call | 9 | ||
| $802A (bank 7) | a call | 9 | ||
| $C81D (bank 13) | a table | 8 | ||
| $B70B (bank 13) | a call | 7 | ||
| $8D8D (bank 7) | a call | 4 | ||
| $8E8E (bank 7) | a call | 4 | ||
| $8E94 (bank 7) | a call | 4 | ||
| $AAAB (bank 13) | a call | 4 | ||
| $AAB4 (bank 13) | a call | 4 | ||
| $ACB1 (bank 13) | a call | 4 | ||
| $ADD1 (bank 13) | a call | 4 | ||
| $AE28 (bank 13) | a call | 4 | ||
| $B957 (bank 13) | a call | 4 | ||
| $BFD1 (bank 13) | a call | 4 | ||
| $801B (bank 7) | a call | 3 | ||
| $8E15 (bank 7) | a call | 3 | ||
| $8EA9 (bank 7) | a call | 2 | ||
| $8030 (bank 7) | a call | 1 | ||
| $8033 (bank 7) | a call | 1 | ||
| $803F (bank 7) | a call | 1 | ||
| $8042 (bank 7) | a call | 1 | ||
| $8045 (bank 7) | a call | 1 | ||
| $8048 (bank 7) | a call | 1 | ||
| $804E (bank 7) | a call | 1 |
Where it waits
Loops a rule named that sit inside a routine and are not themselves a place the code is entered.
| at | its name in the listing | what it is, and the evidence |
|---|---|---|
| $A4F1 (bank 13) | b13_wait_A4F1 | The wait for the frame: waits on the byte at $0015, times entered 4, turns 384, calls on each turn 2, writes of it under the frame interrupt 13,243, frames in all 381,181 |
| $A590 (bank 13) | b13_wait_A590 | The wait for the frame: waits on the byte at $0000, times entered 2, turns 5,972, calls on each turn 1, writes of it under the frame interrupt 103, frames in all 381,181 |
| $A8A9 (bank 13) | b13_wait_A8A9 | The wait for the frame: waits on the byte at $00D9, times entered 133, turns 4,678, calls on each turn 2, writes of it under the frame interrupt 275,110, frames in all 381,181 |
| $A8CE (bank 13) | b13_wait_A8CE | The wait for the frame: waits on the byte at $0015, times entered 129, turns 6,729, calls on each turn 2, writes of it under the frame interrupt 13,243, frames in all 381,181 |
| $A90B (bank 13) | b13_wait_A90B | The wait for the frame: waits on the byte at $0000, times entered 96, turns 198,915, calls on each turn 1, writes of it under the frame interrupt 103, frames in all 381,181 |
| $ABF1 (bank 13) | b13_wait_ABF1 | The wait for the frame: waits on the byte at $0392, times entered 98, turns 9,310, calls on each turn 2, writes of it under the frame interrupt 476, frames in all 381,181 |
| $AF06 (bank 13) | b13_wait_AF06 | The wait for the frame: waits on the byte at $001F, times entered 261,998, turns 1,263,345,632, writes of it under the frame interrupt 696,069, frames in all 381,181 |
| $BF83 (bank 13) | b13_wait_BF83 | The wait for the frame: waits on the byte at $04C8, times entered 411, turns 11,786, calls on each turn 1, writes of it under the frame interrupt 1,634, frames in all 381,181 |
The tables it jumps through
A table of addresses the game picks one from. Some sit right after a call to a jump engine; others are anywhere in the cartridge, and we find them by where the address the game jumped through was loaded from. Some games jump by pushing an address and returning to it, and some keep a table as two, the low bytes of its addresses in one place and the high bytes in another; both are found the same way. An entry is counted as far as the runs saw one taken; the true table may be longer. The last column is the byte of memory whose value picked the entry, where we could follow it: the game's mode, or what one of its objects is doing.
| at | reached | entries | taken | chosen by the byte at |
|---|---|---|---|---|
| $8AC2 (bank 7) | after a call | 1 | 6 | |
| $8338 (bank 11) | after a call | 16 | 8 | $00C0, $00C2, $00C4, $00C7 |
| $83B2 (bank 11) | after a call | 13 | 12 | $00C4, $00C2, $00CA, $00C6 |
| $84F0 (bank 11) | after a call | 9 | 14 | $00C7 |
| $B1BB (bank 13) | after a call | 2 | 2 | |
| $B240 (bank 13) | after a call | 2 | 2 | |
| $B53F (bank 13) | after a call | 4 | 2 | $0000 |
| $C562 (bank 13) | after a call | 16 | 12 | |
| $C674 (bank 13) | after a call | 2 | 8 | |
| $C724 (bank 13) | after a call | 16 | 15 |
The memory its routines share
498 bytes of memory were written by one routine and read by another, and 72 places were reached through an index, which is what a table or a set of object slots in memory looks like.
Reaches through an index: those that hold positions, then the longest
| from | bytes reached | instructions | positions it holds |
|---|---|---|---|
| $0200 | 256 | 8 | |
| $020E | 241 | 66 | |
| $020D | 241 | 49 | |
| $020C | 241 | 45 | |
| $020F | 241 | 19 | |
| $020B | 241 | 18 | |
| $0208 | 241 | 8 | |
| $0000 | 240 | 6 | |
| $0201 | 125 | 3 | |
| $0202 | 121 | 4 | |
| $0500 | 109 | 2 | |
| $0507 | 104 | 1 |
The 24 busiest shared bytes
| byte | reads and writes | routines writing | routines reading |
|---|---|---|---|
| $00E1 | 57,883,296 | 6 | 6 |
| $00E0 | 38,739,977 | 6 | 6 |
| $00D0 | 3,212,359 | 3 | 6 |
| $00D3 | 3,062,500 | 4 | 6 |
| $001E | 1,958,416 | 3 | 6 |
| $0010 | 1,947,629 | 6 | 6 |
| $00D2 | 1,711,522 | 3 | 5 |
| $00E2 | 1,574,438 | 6 | 6 |
| $00DD | 1,232,616 | 3 | 4 |
| $0018 | 1,194,445 | 5 | 6 |
| $00F5 | 1,190,384 | 2 | 4 |
| $00F4 | 1,189,291 | 6 | 4 |
| $00A6 | 1,177,051 | 6 | 6 |
| $00A7 | 1,176,941 | 6 | 6 |
| $0410 | 1,129,058 | 6 | 6 |
| $0700 | 1,118,202 | 2 | 4 |
| $0701 | 1,092,725 | 2 | 3 |
| $00F2 | 1,046,053 | 6 | 2 |
| $0090 | 1,033,072 | 6 | 6 |
| $04C9 | 1,028,134 | 4 | 6 |
| $0725 | 881,746 | 3 | 6 |
| $06A4 | 841,514 | 2 | 3 |
| $06A6 | 841,376 | 2 | 3 |
| $0002 | 838,041 | 2 | 5 |
This page shows none of the game's bytes. The listing these figures were read from stays with the cartridge.