Blaster Master (USA)

Blaster Master (USA) is on a MMC1 board with 131,072 bytes of program. A crawl of 400 steps from power-on kept 48 paths that found new code. Played back over 39,548 frames, they executed 9,058 bytes of it, 7 percent.

What the rules named

The 194 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.

atentered bytimeswhat it is, and the evidence
$E63C (bank 7)a call185,281
The bank switch: writes 926,405, in the blank 5,606, while drawing 920,799
$835C (bank 5)a call109,728
The sound driver: frames it ran in 27,377, writes 44,702
$E914 (bank 7)a call56,296
The poll: port $4016, reads a frame 16, strobes a frame 4
The poll: port $4017, reads a frame 16, strobes a frame 4
$EC73 (bank 7)a call35,456
The sprite writers: frames it ran in 12,654, writes to the sprite page 1,288,048
$EB98 (bank 7)a call28,705
The palette writers: frames it ran in 28,751, writes 899,296
The picture writer: frames it ran in 28,751, writes 899,296, in the blank 899,296, while drawing 0
$E650 (bank 7)a call28,195
The bank switch: writes 140,975, in the blank 140,975, while drawing 0
$E664 (bank 7)a call28,195
The bank switch: writes 140,975, in the blank 140,975, while drawing 0
$E6BF (bank 7)a call28,195
The scroll writer: frames it ran in 28,195, writes in the blank 56,390
$EC61 (bank 7)a call28,195
The sprite writers: frames it ran in 28,297, writes to the sprite page 1,803,338
$F668 (bank 7)a call10,393
The sprite writers: frames it ran in 10,393, writes to the sprite page 389,176
$C7D8 (bank 7)a call3,257
The sprite writers: frames it ran in 3,257, writes to the sprite page 104,224
$F88C (bank 7)a call113
The sprite writers: frames it ran in 113, writes to the sprite page 3,160
$E678 (bank 7)a call48
The bank switch: writes 240, in the blank 240, while drawing 0
$E68C (bank 7)a call48
The bank switch: writes 48, in the blank 48, while drawing 0
$FFF4 (bank 7)power-on48
The bank switch: writes 96, in the blank 96, while drawing 0
The sprite writers: frames it ran in 3,653, writes to the sprite page 12,288
$BDF6 (bank 5)a call239,135
$808C (bank 5)a call229,264
$F0BC (bank 7)a call112,588
$82CE (bank 5)a call109,728
$E9A2 (bank 7)a call105,472
$E61B (bank 7)a call102,763
$E996 (bank 7)a call53,443
$DC47 (bank 7)a call43,316
$EA3A (bank 7)a call41,830
$DCDD (bank 7)a call41,043
$F1CA (bank 7)a call29,417
$EB7E (bank 7)each frame (NMI)28,705
$BE23 (bank 5)a call28,658
$DEEB (bank 7)a call28,658
$E895 (bank 7)a call28,206
$E697 (bank 7)a call28,195
$E936 (bank 7)a call28,195
$E287 (bank 7)a call28,148
$E2C1 (bank 7)a call28,148
$E8A9 (bank 7)a call28,148
$F029 (bank 7)a call24,857
$EB51 (bank 7)a call20,230
$D9F5 (bank 7)a call19,889
$F011 (bank 7)a call18,251
$EF2B (bank 7)a call17,309
$EFD7 (bank 7)a call17,309
$C928 (bank 7)a call16,908
$C8DF (bank 7)a call16,878
$C9A4 (bank 7)a call16,830
$ECB4 (bank 7)a call13,140
$8127 (bank 6)a table11,339
$D9D3 (bank 7)a call11,188
$DC51 (bank 7)a call10,478
$CDD0 (bank 7)a call9,218
$D2AB (bank 7)a call7,783
$D1A4 (bank 7)a call6,636
$CD0A (bank 7)a call6,556
$D9AF (bank 7)a call6,240
$F19B (bank 7)a call4,844
$EA3C (bank 7)a call4,526
$D798 (bank 7)a call4,502
$D7A0 (bank 7)a call4,469
$EB14 (bank 7)a call4,064
$D2FE (bank 7)a call3,649
$D2DE (bank 7)a call3,325
$D18D (bank 7)a call3,318
$CC6D (bank 7)a call3,278
$D1AD (bank 7)a call3,278
$C642 (bank 7)a call3,257
$C8AE (bank 7)a call3,257
$C971 (bank 7)a call3,257
$CA4B (bank 7)a call3,257
$D883 (bank 7)a call3,257
$CBDF (bank 7)a call3,238
$D256 (bank 7)a call3,238
$E974 (bank 7)a call2,913
$CCF9 (bank 7)a call2,903
$D37A (bank 7)a call2,864
$D3A3 (bank 7)a call2,864
$D3DE (bank 7)a call2,864
$D3F8 (bank 7)a call2,864
$D40B (bank 7)a call2,864
$D394 (bank 7)a call2,859
$E74D (bank 7)a call2,568
$F1BC (bank 7)a call2,457
$E986 (bank 7)a call2,444
$E775 (bank 7)a call2,373
$894E (bank 6)a call1,894
$96A2 (bank 6)a call1,808
$CCEF (bank 7)a call1,755
$8E32 (bank 6)a call1,547
$92DE (bank 6)a table1,547
$96C2 (bank 6)a call1,547
$CF07 (bank 7)a call1,547
$D21D (bank 7)a call1,547
$9641 (bank 6)a call1,528
$96D5 (bank 6)a call1,528
$96EB (bank 6)a call1,528
$CCE8 (bank 7)a call1,523
$950D (bank 6)a call1,363
$85E2 (bank 6)a call1,344
$815F (bank 6)a table1,317
$880B (bank 6)a call1,317
$D975 (bank 7)a call1,248
$D98C (bank 7)a call1,248
$DA15 (bank 7)a call1,204
$D95E (bank 7)a call1,196
$DC2D (bank 7)a call1,165
$DB98 (bank 7)a call1,157
$8124 (bank 6)a table792
$978B (bank 6)a table785
$D2DB (bank 7)a call785
$8624 (bank 6)a call776
$DCB2 (bank 7)a call704
$D2B1 (bank 7)a call675
$888C (bank 6)a call645
$E6FA (bank 7)a call491
$8853 (bank 6)a table461
$CCFF (bank 7)a call375
$92DB (bank 6)a table366
$DCD4 (bank 7)a call352
$ED12 (bank 7)a call339
$E6F0 (bank 7)a call286
$EB71 (bank 7)a call240
$BFE8 (bank 5)a call209
$F192 (bank 7)a call200
$EA03 (bank 7)a call183
$CE0F (bank 7)a call182
$E93F (bank 7)a call182
$DECC (bank 7)a call175
$BE17 (bank 5)a call142
$BFE5 (bank 5)a call142
$DEC2 (bank 7)a call142
$DF05 (bank 7)a call142
$DF0A (bank 7)a call142
$CE27 (bank 7)a call126
$9BAD (bank 6)a table116
$E704 (bank 7)a call104
$E949 (bank 7)a call103
$E953 (bank 7)a call103
$CE3C (bank 7)a call85
$D2B9 (bank 7)a call80
$D7B6 (bank 7)a call58
$E87C (bank 7)a call54
$D7C0 (bank 7)a call53
$D7CF (bank 7)a call53
$F19F (bank 7)a call53
$D908 (bank 7)a call52
$CE2E (bank 7)a call48
$E9A6 (bank 7)a call48
$F45D (bank 7)a call48
$F547 (bank 7)a call48
$F58F (bank 7)a call48
$F9CA (bank 7)a call48
$CDBA (bank 7)a call46
$E9CF (bank 7)a call46
$F5D9 (bank 7)a call46
$F67C (bank 7)a call46
$DAC4 (bank 7)a call44
$F1A3 (bank 7)a call44
$C5B2 (bank 7)a call40
$C659 (bank 7)a call40
$C6EF (bank 7)a call40
$CA14 (bank 7)a call40
$CC35 (bank 7)a call40
$CE82 (bank 7)a call40
$DCFC (bank 7)a call40
$E692 (bank 7)a call40
$E823 (bank 7)a call40
$F7D1 (bank 7)a call40
$C772 (bank 7)a call39
$C9D6 (bank 7)a call39
$CBA9 (bank 7)a call39
$D7E3 (bank 7)a call39
$E243 (bank 7)a call39
$D790 (bank 7)a call33
$815C (bank 6)a table27
$E862 (bank 7)a call27
$EAE9 (bank 7)a call27
$9707 (bank 6)a call25
$9770 (bank 6)a table25
$D283 (bank 7)a call20
$88E9 (bank 6)a call19
$882D (bank 6)a table16
$9B81 (bank 6)a call12
$9B98 (bank 6)a table12
$8850 (bank 6)a table9
$9788 (bank 6)a table9
$9BAA (bank 6)a table9
$D1EF (bank 7)a call9
$E6E9 (bank 7)a call9
$E9B8 (bank 7)a call9
$F833 (bank 7)a call9
$F90B (bank 7)a call9
$F927 (bank 7)a call9
$F9A5 (bank 7)a call9
$D238 (bank 7)a call8
$D246 (bank 7)a call1
$D82C (bank 7)a call1

Where it waits

Loops a rule named that sit inside a routine and are not themselves a place the code is entered.

atwhat it is, and the evidence
$E93A (bank 7)
The wait for the frame: waits on the byte at $0012, times entered 28,183, turns 94,159,591, writes of it under the frame interrupt 233,721, frames in all 29,048
$F647 (bank 7)
The wait for the frame: waits on the byte at $00E0, times entered 41, turns 6,233, calls on each turn 1, writes of it under the frame interrupt 164, frames in all 29,048
$F872 (bank 7)
The wait for the frame: waits on the byte at $00F3, times entered 4, turns 112, calls on each turn 2, writes of it under the frame interrupt 28,148, frames in all 29,048

The memory its routines share

649 bytes of memory were written by one routine and read by another, and 66 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

frombytes reachedinstructionspositions it holds
$030025616
$050025616
$070025614
$040025613
$00002568
$06002567
$02002564
$04011553
$04021553
$04031553
$04041553
$04051553

The 24 busiest shared bytes

bytereads and writesroutines writingroutines reading
$001294,685,51766
$007A2,802,98966
$007B2,295,43666
$00F71,667,22226
$00441,585,01866
$00F81,491,76222
$003F1,105,52666
$003E1,078,18666
$00581,053,72533
$0000843,78566
$0045555,14766
$00DB284,73966
$00F5282,08423
$0057248,08536
$00FF242,51366
$00E9239,39223
$0056215,58245
$0019214,55766
$0032210,18745
$000A191,64456
$00E4182,76633
$000D171,68566
$0001163,19766
$0034151,72326

This page shows none of the game's bytes. The listing these figures were read from stays with the cartridge.

All the games