NEStinymachines

Super Mario Bros. + Duck Hunt (USA)

Super Mario Bros. + Duck Hunt (USA) は GxROM の基板に載り、プログラムは 65,536 バイト。電源投入から 8,000 歩のクロールが、新しいコードを見つけた道筋を 188 本残した。それらを 317,948 フレームにわたって再生すると、プログラムのうち 18,801 バイト、29 パーセントが実行された。

規則が名付けたもの

走行が入った 360 個のルーチン

ゲームのコードに入った場所のすべて。呼び出し、割り込み、テーブル経由のジャンプのどれかで入る。規則が名付けたものを先に、規則が見たものと一緒に並べる。それらのリスティングでの名前は、何であるかを言う: poll (読み取り)、engine (エンジン)、drain (書き出し)。

場所リスティングでの名前入り方回数何であるか、その証拠
$C588 (バンク 1)b1_random_C588呼び出し8,510,911
乱数のバイト: 走ったフレーム 34,995、バイト $05EC,$05ED,$05EE,$05EF、回転 4、排他的論理和 1
$D10E (バンク 1)b1_compare_D10E呼び出し636,885
二つのものを比べる所: 命令 1、バイトの組 1、バイトの総数 2、比べた回数 319、横の位置のバイト $0032,$0033、縦の位置のバイト $0032,$0033
$8E04 (バンク 0)b0_engine_8E04呼び出し244,538
ジャンプエンジン: テーブル 12、そこを通った跳躍 244,538
$84C3 (バンク 0)b0_sprites_84C3呼び出し234,696
スプライトの書き手: 走ったフレーム 39,116、スプライトのページへの書き込み 6,672
$EBB2 (バンク 0)b0_sprites_EBB2呼び出し161,620
スプライトの書き手: 走ったフレーム 39,087、スプライトのページへの書き込み 1,292,960
$C35E (バンク 1)b1_engine_C35E呼び出し82,521
ジャンプエンジン: テーブル 5、そこを通った跳躍 82,521
$8082 (バンク 0)b0_nmi毎フレーム(NMI)57,832
割り込みの中のゲーム: 走ったフレーム 58,008、全フレーム 107,528、待機の場所 $8057
乱数のバイト: 走ったフレーム 58,008、バイト $07A7,$07A8,$07A9,$07AA、回転 4、排他的論理和 1
画面の分割: 走ったフレーム 58,008、描画中のスクロール書き込み 95,422、描画中のステータス読み 9,533,847
$8EDD (バンク 0)b0_drain_8EDD呼び出し57,832
パレットの書き手: 走ったフレーム 57,832、書き込み 29,344
スクロールの書き手: 走ったフレーム 57,832、ブランク中の書き込み 111,030
画面メモリへの書き手: 走ったフレーム 57,832、書き込み 344,760、ブランク中 248,703、描画中 96,057
$8EE6 (バンク 0)b0_scroll_8EE6呼び出し57,832
スクロールの書き手: 走ったフレーム 57,832、ブランク中の書き込み 115,664
$8E5C (バンク 0)b0_poll_8E5C呼び出し57,827
パッドの読み取り: ポート $4017、一フレームの読み 8、一フレームのストローブ 2
$8E6A (バンク 0)b0_poll_8E6A呼び出し57,827
パッドの読み取り: ポート $4016、一フレームの読み 8、一フレームのストローブ 0
$F2D0 (バンク 0)b0_sound_F2D0呼び出し57,827
サウンドドライバ: 走ったフレーム 57,384、書き込み 120,430
$EBAA (バンク 0)b0_sprites_EBAA呼び出し40,524
スプライトの書き手: 走ったフレーム 12,126、スプライトのページへの書き込み 324,192
$8222 (バンク 0) (別の命令の内側)b0_routine_8223呼び出し39,273
スプライトの書き手: 走ったフレーム 39,370、スプライトのページへの書き込み 2,474,199
$F0E9 (バンク 0)b0_sprites_F0E9呼び出し39,010
スプライトの書き手: 走ったフレーム 39,010、スプライトのページへの書き込み 53,706
$C284 (バンク 1)b1_poll_C284呼び出し34,783
パッドの読み取り: ポート $4017、一フレームの読み 8、一フレームのストローブ 2
$C291 (バンク 1)b1_poll_C291呼び出し34,783
パッドの読み取り: ポート $4016、一フレームの読み 8、一フレームのストローブ 0
$CE4D (バンク 1)b1_sprites_CE4D呼び出し20,509
スプライトの書き手: 走ったフレーム 20,509、スプライトのページへの書き込み 3,801,664
$D853 (バンク 0)b0_compare_D853呼び出し15,456
二つのものを比べる所: 命令 1、バイトの組 3、バイトの総数 4、比べた回数 8、横の位置のバイト $0057,$0059,$0086,$0087
$E87D (バンク 0)b0_sprites_E87D呼び出し13,508
スプライトの書き手: 走ったフレーム 12,126、スプライトのページへの書き込み 4,360
$8158 (バンク 1)b1_poll_8158呼び出し11,641
パッドの読み取り: ポート $4016、一フレームの読み 8、一フレームのストローブ 3
$CA19 (バンク 1)b1_dispatch_CA19テーブル8,429
スプライトの書き手: 走ったフレーム 6,858、スプライトのページへの書き込み 490,094
$EBC1 (バンク 0)b0_sprites_EBC1呼び出し7,680
スプライトの書き手: 走ったフレーム 3,959、スプライトのページへの書き込み 7,680
$EC4A (バンク 0)b0_sprites_EC4A呼び出し7,680
スプライトの書き手: 走ったフレーム 3,959、スプライトのページへの書き込み 15,360
$E325 (バンク 0)b0_compare_E325呼び出し5,502
二つのものを比べる所: 命令 5、バイトの組 12、バイトの総数 9、比べた回数 15,260、横の位置のバイト $0057,$0058,$0059,$005A,$0086,$0087、縦の位置のバイト $00CE,$00CF,$00D4
$E5C1 (バンク 0)b0_sprites_E5C1呼び出し4,654
スプライトの書き手: 走ったフレーム 3,210、スプライトのページへの書き込み 9,308
$CD5C (バンク 1)b1_dispatch_CD5Cテーブル2,196
スプライトの書き手: 走ったフレーム 2,196、スプライトのページへの書き込み 403,106
$E686 (バンク 0)b0_sprites_E686呼び出し1,862
スプライトの書き手: 走ったフレーム 1,852、スプライトのページへの書き込み 11,172
$CEF9 (バンク 1)b1_dispatch_CEF9テーブル1,084
スプライトの書き手: 走ったフレーム 1,084、スプライトのページへの書き込み 125,748
$E5BB (バンク 0)b0_sprites_E5BB呼び出し834
スプライトの書き手: 走ったフレーム 734、スプライトのページへの書き込み 3,336
$82BC (バンク 1)b1_sprites_82BC呼び出し714
スプライトの書き手: 走ったフレーム 714、スプライトのページへの書き込み 34,272
$EBD1 (バンク 0)b0_sprites_EBD1呼び出し688
スプライトの書き手: 走ったフレーム 688、スプライトのページへの書き込み 2,536
$CD6C (バンク 1)b1_dispatch_CD6Cテーブル512
スプライトの書き手: 走ったフレーム 512、スプライトのページへの書き込み 1,528
$90CC (バンク 0)b0_sprites_90CC呼び出し380
スプライトの書き手: 走ったフレーム 757、スプライトのページへの書き込み 97,280
$82B7 (バンク 1)b1_sprites_82B7呼び出し354
スプライトの書き手: 走ったフレーム 354、スプライトのページへの書き込み 16,992
$8220 (バンク 0)b0_sprites_8220呼び出し350
スプライトの書き手: 走ったフレーム 350、スプライトのページへの書き込み 22,400
$C23B (バンク 1)b1_sprites_C23B呼び出し272
スプライトの書き手: 走ったフレーム 272、スプライトのページへの書き込み 17,408
$C3B8 (バンク 1)b1_palette_C3B8呼び出し270
パレットの書き手: 走ったフレーム 262、書き込み 7,664
$8000 (バンク 0)b0_reset電源投入188
バンク切り替え: 書き込み 188、ブランク中 188、描画中 0
スプライトの書き手: 走ったフレーム 105,723、スプライトのページへの書き込み 18,176
$80EF (バンク 1)b1_sprites_80EF呼び出し188
スプライトの書き手: 走ったフレーム 376、スプライトのページへの書き込み 48,128
$822C (バンク 1)b1_palette_822C呼び出し188
パレットの書き手: 走ったフレーム 188、書き込み 6,016
$8268 (バンク 1)b1_sprites_8268呼び出し188
スプライトの書き手: 走ったフレーム 188、スプライトのページへの書き込み 752
$82B2 (バンク 1)b1_sprites_82B2呼び出し179
スプライトの書き手: 走ったフレーム 179、スプライトのページへの書き込み 8,592
$CD16 (バンク 1)b1_dispatch_CD16テーブル168
スプライトの書き手: 走ったフレーム 168、スプライトのページへの書き込み 32,088
$C617 (バンク 1)b1_split_C617呼び出し136
画面の分割: 走ったフレーム 272、描画中のスクロール書き込み 272、描画中のステータス読み 7,532
$CD3C (バンク 1)b1_dispatch_CD3Cテーブル111
スプライトの書き手: 走ったフレーム 111、スプライトのページへの書き込み 21,201
$EC53 (バンク 0)b0_sprites_EC53呼び出し100
スプライトの書き手: 走ったフレーム 100、スプライトのページへの書き込み 600
$9061 (バンク 0)b0_dispatch_9061テーブル97
スプライトの書き手: 走ったフレーム 97、スプライトのページへの書き込み 388
$EFA4 (バンク 0)b0_sprites_EFA4呼び出し77
スプライトの書き手: 走ったフレーム 77、スプライトのページへの書き込み 77
$9071 (バンク 0)b0_dispatch_9071テーブル70
スプライトの書き手: 走ったフレーム 70、スプライトのページへの書き込み 280
$CD4C (バンク 1)b1_dispatch_CD4Cテーブル50
スプライトの書き手: 走ったフレーム 50、スプライトのページへの書き込み 9,550
$CD52 (バンク 1)b1_dispatch_CD52テーブル48
スプライトの書き手: 走ったフレーム 48、スプライトのページへの書き込み 9,168
$CE40 (バンク 1)b1_dispatch_CE40テーブル44
スプライトの書き手: 走ったフレーム 44、スプライトのページへの書き込み 8,404
$CF00 (バンク 1)b1_dispatch_CF00テーブル44
スプライトの書き手: 走ったフレーム 44、スプライトのページへの書き込み 8,395
$CC8B (バンク 1)b1_dispatch_CC8Bテーブル12
スプライトの書き手: 走ったフレーム 12、スプライトのページへの書き込み 756
$D12B (バンク 1)呼び出し676,358
$D114 (バンク 1)呼び出し636,885
$9BE1 (バンク 0)呼び出し293,155
$C047 (バンク 0)呼び出し234,696
$F26D (バンク 0)呼び出し224,498
$E3EB (バンク 0) (別の命令の内側)呼び出し148,340
$F1F6 (バンク 0)呼び出し132,940
$F171 (バンク 0)呼び出し95,869
$F1D7 (バンク 0)呼び出し95,081
$BE70 (バンク 0)呼び出し78,232
$F12A (バンク 0)呼び出し76,975
$F180 (バンク 0)呼び出し76,975
$E3E8 (バンク 0)呼び出し74,270
$C426 (バンク 1)呼び出し58,623
$8182 (バンク 0)呼び出し57,827
$8F97 (バンク 0)呼び出し57,825
$8F9E (バンク 0)呼び出し57,825
$8212 (バンク 0)呼び出し52,939
$E29C (バンク 0)呼び出し51,646
$C086 (バンク 1)毎フレーム(NMI)47,850
$C5F7 (バンク 1)呼び出し46,552
$C607 (バンク 1)呼び出し46,496
$81C6 (バンク 0)呼び出し39,273
$AEEA (バンク 0)呼び出し39,118
$B04A (バンク 0)呼び出し39,118
$89E1 (バンク 0)呼び出し39,116
$B624 (バンク 0)呼び出し39,116
$B74F (バンク 0)呼び出し39,116
$B7B8 (バンク 0)呼び出し39,116
$B855 (バンク 0)呼び出し39,116
$B9BC (バンク 0)呼び出し39,116
$BB96 (バンク 0)呼び出し39,116
$BED4 (バンク 0)呼び出し39,116
$EEE9 (バンク 0)呼び出し39,116
$EFBE (バンク 0)呼び出し39,010
$B29A (バンク 0)呼び出し38,742
$AF93 (バンク 0)呼び出し37,859
$B329 (バンク 0)呼び出し37,859
$B450 (バンク 0)呼び出し37,859
$DC64 (バンク 0)呼び出し37,859
$BF09 (バンク 0)呼び出し37,820
$EFEC (バンク 0)呼び出し37,645
$F091 (バンク 0)呼び出し37,645
$DFA1 (バンク 0)呼び出し37,432
$8EED (バンク 0)呼び出し37,149
$E3E9 (バンク 0)呼び出し37,126
$B0E9 (バンク 0)テーブル37,096
$C3C1 (バンク 1)呼び出し35,503
$C249 (バンク 1)呼び出し35,438
$C263 (バンク 1)呼び出し35,438
$C2BF (バンク 1)呼び出し35,438
$C61E (バンク 1)呼び出し35,375
$F56C (バンク 1)呼び出し34,804
$F591 (バンク 1)呼び出し34,804
$F621 (バンク 1)呼び出し34,804
$F6CF (バンク 1)呼び出し34,804
$F7CC (バンク 1)呼び出し34,804
$C348 (バンク 1)呼び出し34,783
$C0B3 (バンク 1)呼び出し34,781
$D131 (バンク 1)呼び出し34,266
$D160 (バンク 1)呼び出し34,266
$B5CC (バンク 0)呼び出し34,201
$C86E (バンク 1)テーブル32,675
$CC94 (バンク 1)呼び出し32,674
$C6C4 (バンク 1)呼び出し32,618
$C6F5 (バンク 1)呼び出し32,618
$C7FB (バンク 1)呼び出し32,618
$C890 (バンク 1)呼び出し32,618
$CCA9 (バンク 1)呼び出し32,618
$CFBA (バンク 1)呼び出し32,618
$CFC5 (バンク 1)呼び出し32,618
$D3D2 (バンク 1)呼び出し32,618
$D428 (バンク 1)呼び出し32,618
$D3DF (バンク 1)呼び出し32,565
$DFB0 (バンク 0)呼び出し31,974
$DF9A (バンク 0)呼び出し31,917
$DEBD (バンク 0)呼び出し31,787
$DEDD (バンク 0)呼び出し31,780
$DEC4 (バンク 0)呼び出し31,641
$DEE8 (バンク 0)呼び出し31,641
$B35A (バンク 0)テーブル31,477
$B58F (バンク 0)呼び出し31,477
$E3F0 (バンク 0)呼び出し28,764
$8231 (バンク 0)テーブル26,524
$AEDC (バンク 0)テーブル26,415
$F41B (バンク 0)呼び出し26,365
$F57C (バンク 0)呼び出し26,365
$F667 (バンク 0)呼び出し26,365
$F694 (バンク 0)呼び出し26,365
$F8F4 (バンク 0)呼び出し25,761
$8245 (バンク 0)テーブル23,930
$92B0 (バンク 0)呼び出し18,615
$92C8 (バンク 0)呼び出し18,615
$E243 (バンク 0)呼び出し15,456
$F152 (バンク 0)呼び出し15,456
$F1AF (バンク 0)呼び出し15,456
$DFC1 (バンク 0)呼び出し14,610
$E15B (バンク 0)呼び出し14,610
$E1AE (バンク 0)呼び出し14,610
$E1B5 (バンク 0)呼び出し14,399
$E388 (バンク 0)呼び出し14,154
$9595 (バンク 0)呼び出し13,965
$C902 (バンク 1)呼び出し13,878
$C8E0 (バンク 0)テーブル13,508
$DA33 (バンク 0)呼び出し13,508
$CD1D (バンク 1)テーブル13,460
$CA77 (バンク 0)呼び出し13,428
$8567 (バンク 0)テーブル13,395
$BF0F (バンク 0)呼び出し13,178
$BF02 (バンク 0)呼び出し12,978
$C5E0 (バンク 1)テーブル12,520
$8129 (バンク 1)呼び出し12,412
$C905 (バンク 0)呼び出し12,326
$84F4 (バンク 1)呼び出し11,660
$827C (バンク 1)呼び出し10,868
$DC52 (バンク 0)呼び出し10,492
$889D (バンク 0)テーブル9,416
$88AE (バンク 0)テーブル9,308
$836B (バンク 0)呼び出し8,782
$D81B (バンク 1)呼び出し8,421
$F062 (バンク 0)呼び出し8,134
$DC41 (バンク 0)呼び出し7,738
$B038 (バンク 0)呼び出し7,728
$B376 (バンク 0)テーブル5,952
$93FC (バンク 0)テーブル4,655
$9508 (バンク 0)呼び出し4,655
$92DB (バンク 0)テーブル4,652
$F1A8 (バンク 0)呼び出し3,724
$C932 (バンク 1)テーブル3,309
$C71D (バンク 1)呼び出し3,055
$F564 (バンク 1)呼び出し3,020
$F544 (バンク 1)呼び出し2,769
$F42E (バンク 1)テーブル2,654
$F550 (バンク 1)呼び出し2,654
$F4EE (バンク 1)テーブル2,518
$F502 (バンク 1)呼び出し2,518
$F8C5 (バンク 0)呼び出し2,341
$896A (バンク 0)呼び出し2,325
$F49B (バンク 1)テーブル2,309
$F568 (バンク 1)呼び出し2,309
$BC85 (バンク 0)テーブル2,281
$86E6 (バンク 0)テーブル2,041
$D67A (バンク 0)呼び出し1,948
$E6D2 (バンク 0)呼び出し1,948
$E236 (バンク 0)呼び出し1,862
$F148 (バンク 0)呼び出し1,862
$F19B (バンク 0)呼び出し1,862
$F8D8 (バンク 0)呼び出し1,555
$9BBB (バンク 0)呼び出し1,494
$F3A9 (バンク 0)呼び出し1,129
$F381 (バンク 0)呼び出し1,104
$D4EE (バンク 1)呼び出し1,052
$F39F (バンク 0)呼び出し1,050
$F3AD (バンク 0)呼び出し1,008
$8F11 (バンク 0)呼び出し969
$F8CB (バンク 0)呼び出し906
$9589 (バンク 0)呼び出し897
$BFA4 (バンク 0)呼び出し888
$F366 (バンク 1)呼び出し858
$B233 (バンク 0)テーブル828
$BFD7 (バンク 0)呼び出し820
$B269 (バンク 0)テーブル803
$F159 (バンク 0)呼び出し788
$F165 (バンク 0)呼び出し788
$F1B6 (バンク 0)呼び出し788
$F38B (バンク 0)呼び出し786
$8F5F (バンク 0)呼び出し720
$9A2E (バンク 0)テーブル709
$9BAC (バンク 0)呼び出し709
$9B0E (バンク 0)テーブル669
$9B36 (バンク 0)呼び出し669
$C5D9 (バンク 1)呼び出し655
$CF0B (バンク 1)呼び出し641
$810F (バンク 1)呼び出し606
$811C (バンク 1)呼び出し564
$F0B0 (バンク 0)呼び出し558
$E327 (バンク 0)呼び出し440
$F4E5 (バンク 1)テーブル416
$B36D (バンク 0)テーブル391
$81C5 (バンク 1)呼び出し376
$8218 (バンク 1)呼び出し376
$B288 (バンク 0)呼び出し374
$85F1 (バンク 0)呼び出し348
$8F06 (バンク 0)呼び出し334
$8E19 (バンク 0)呼び出し278
$8E2D (バンク 0)呼び出し278
$8808 (バンク 0)呼び出し256
$8407 (バンク 1)呼び出し246
$BF63 (バンク 0)呼び出し227
$BFAD (バンク 0)呼び出し227
$CEED (バンク 1)テーブル196
$80A9 (バンク 1)呼び出し188
$80EE (バンク 1)テーブル188
$8478 (バンク 1)呼び出し188
$84A1 (バンク 1)呼び出し188
$84F3 (バンク 1)テーブル188
$8511 (バンク 1)呼び出し188
$858B (バンク 0)テーブル180
$859B (バンク 0)テーブル180
$9C03 (バンク 0)呼び出し180
$9C09 (バンク 0)呼び出し180
$9C13 (バンク 0)呼び出し180
$9C22 (バンク 0)呼び出し180
$8652 (バンク 0)テーブル179
$865A (バンク 0)テーブル179
$8693 (バンク 0)テーブル179
$86A8 (バンク 0)テーブル179
$BC30 (バンク 0)呼び出し179
$85BF (バンク 0)テーブル167
$85E3 (バンク 0)テーブル167
$8643 (バンク 0)テーブル167
$86FF (バンク 0)テーブル167
$90ED (バンク 0)呼び出し167
$9131 (バンク 0)テーブル167
$92AA (バンク 0)呼び出し167
$92AF (バンク 0)呼び出し167
$B069 (バンク 0)テーブル167
$F388 (バンク 0)呼び出し163
$F3A6 (バンク 0)呼び出し150
$F383 (バンク 1)呼び出し147
$F3D0 (バンク 1)呼び出し147
$D52C (バンク 1)呼び出し139
$DF4B (バンク 0)呼び出し139
$C22B (バンク 1)呼び出し136
$C232 (バンク 1)呼び出し136
$C5E1 (バンク 1)呼び出し136
$D528 (バンク 1)呼び出し134
$C64B (バンク 1)呼び出し130
$D4D9 (バンク 1)呼び出し130
$98E5 (バンク 0)テーブル116
$9939 (バンク 0)呼び出し116
$9BAF (バンク 0)呼び出し116
$BDF6 (バンク 0)呼び出し103
$8A97 (バンク 0)呼び出し102
$8FCF (バンク 0)テーブル102
$8325 (バンク 0)呼び出し101
$EC46 (バンク 0)呼び出し100
$8732 (バンク 0)テーブル97
$8749 (バンク 0)テーブル97
$BC36 (バンク 0)呼び出し97
$CF44 (バンク 1)呼び出し90
$8FE4 (バンク 0)テーブル78
$88A5 (バンク 0)呼び出し77
$EFDC (バンク 0)呼び出し77
$D4E2 (バンク 1)呼び出し76
$C230 (バンク 1)呼び出し71
$C303 (バンク 1)呼び出し71
$C5AA (バンク 1)テーブル71
$D509 (バンク 1)呼び出し71
$F581 (バンク 1)呼び出し71
$C4BF (バンク 1)呼び出し65
$C502 (バンク 1)呼び出し65
$C5EE (バンク 1)呼び出し65
$C641 (バンク 1)呼び出し65
$C793 (バンク 1)呼び出し65
$C7B3 (バンク 1)呼び出し65
$C81D (バンク 1)テーブル65
$C839 (バンク 1)テーブル65
$C854 (バンク 1)テーブル65
$CCD4 (バンク 1)テーブル65
$D2A4 (バンク 1)呼び出し65
$C919 (バンク 1)テーブル62
$C271 (バンク 1)テーブル60
$DF8F (バンク 0)呼び出し57
$C26C (バンク 0)呼び出し56
$C2F1 (バンク 0)テーブル56
$C30E (バンク 0)呼び出し56
$B245 (バンク 0)テーブル55
$8A6B (バンク 0)呼び出し53
$BCED (バンク 0)呼び出し53
$BD84 (バンク 0)呼び出し53
$BE1F (バンク 0)呼び出し53
$BD9B (バンク 0)呼び出し50
$8A61 (バンク 0)呼び出し49
$8A6D (バンク 0)呼び出し49
$C226 (バンク 0)呼び出し46
$CD9A (バンク 1)テーブル45
$C998 (バンク 0)呼び出し42
$BC27 (バンク 0)呼び出し31
$F423 (バンク 1)テーブル30
$DA11 (バンク 0)呼び出し29
$BB38 (バンク 0)テーブル27
$BB84 (バンク 0)呼び出し27
$BBFE (バンク 0)呼び出し27
$C363 (バンク 0)呼び出し20
$E14F (バンク 0)呼び出し20
$BDD2 (バンク 0)テーブル19
$D464 (バンク 1)呼び出し19
$D948 (バンク 0)呼び出し15
$B273 (バンク 0)呼び出し14
$CF39 (バンク 1)呼び出し8
$CF96 (バンク 1)呼び出し8
$D446 (バンク 1)呼び出し8
$D4FA (バンク 1)呼び出し8
$F362 (バンク 1)呼び出し8
$F4A7 (バンク 0)呼び出し6
$F571 (バンク 0)呼び出し6
$CE18 (バンク 1)テーブル5
$DB1C (バンク 0)呼び出し5
$DAB4 (バンク 0)呼び出し4
$BE02 (バンク 0)呼び出し3
$BE41 (バンク 0)呼び出し3
$91CD (バンク 0)テーブル2
$9282 (バンク 0)呼び出し2
$9B01 (バンク 0)テーブル1

待つ場所

規則が名付けたループのうち、ルーチンの内側にあって、それ自身はコードの入口ではないもの。

場所リスティングでの名前何であるか、その証拠
$8057 (バンク 0)b0_spin_8057
待機のループ: 周回 362,815,896、一フレームの周回 3,374
$F312 (バンク 0)b0_wait_F312
フレーム待ち: 待つ相手のバイト $07BB、入った回数 11、周回 11、フレーム割り込みの下での書き込み 6,162、全フレーム 107,528
$813D (バンク 1)b1_wait_813D
フレーム待ち: 待つ相手のバイト $0020、入った回数 12,412、周回 29,590,426、フレーム割り込みの下での書き込み 48,232、全フレーム 107,528
$C07C (バンク 1)b1_wait_C07C
フレーム待ち: 待つ相手のバイト $0020、入った回数 34,791、周回 8,510,709、一周ごとの呼び出し 1、フレーム割り込みの下での書き込み 48,232、全フレーム 107,528
$C5DC (バンク 1)b1_wait_C5DC
フレーム待ち: 待つ相手のバイト $0020、入った回数 655、周回 2,443,491、フレーム割り込みの下での書き込み 48,232、全フレーム 107,528

ジャンプに使うテーブル

ゲームがその中から一つを選ぶ、アドレスのテーブル。ジャンプエンジンへの呼び出しの直後にあるものもあれば、カートリッジのどこかにあるものもある。後者は、ゲームが通って跳んだアドレスがどこから読み込まれたかで見つける。アドレスを積んでそこへ戻ることで跳ぶゲームもあれば、テーブルを二つに分けて、アドレスの下位バイトをある場所に、上位バイトを別の場所に置くゲームもある。どちらも同じやり方で見つける。項目は、走行が選ぶのを見た所までを数える。本当のテーブルはもっと長いかもしれない。最後の列は、その値が項目を選んだメモリのバイトで、追えた場合だけ書いてある: ゲームのモードか、物体の一つが今していることだ。

場所届き方項目選ばれた数選んだバイト
$8218 (バンク 0)呼び出しの直後22$0770
$8237 (バンク 0)呼び出しの直後44$0772
$856D (バンク 0)呼び出しの直後1514$073C
$92CB (バンク 0)呼び出しの直後83$071F
$9667 (バンク 0)呼び出しの直後264
$AEE2 (バンク 0)呼び出しの直後44$0772
$B04F (バンク 0)呼び出しの直後127$000E
$B351 (バンク 0)呼び出しの直後33$001D
$BDC0 (バンク 0)呼び出しの直後82
$C282 (バンク 0)呼び出しの直後71$0016
$C892 (バンク 0)呼び出しの直後272$001B
$C90A (バンク 0)呼び出しの直後191$0016
$C128 (バンク 1)呼び出しの直後186$0025
$C227 (バンク 1)呼び出しの直後22$0026
$C907 (バンク 1)呼び出しの直後95$0031, $0301, $0351
$CCAE (バンク 1)呼び出しの直後1913$0031, $03A1
$CE66 (バンク 1)呼び出しの直後63

ルーチンが共有するメモリ

あるルーチンが書き、別のルーチンが読んだメモリは 918 バイト。添字を通して届いた場所は 136 か所で、メモリの中のテーブルや、物体の枠の並びはそう見える。

004080C0$0000$0100$0200$0300$0400$0500$0600$07003,4,5→3,5↓2X212X12+↓12↓2Y1↓2+↓21
コンソールのメモリ 2,048 バイト。一行が 256 バイト。 番号の付いた帯は、下に描いた物体の表の列の一つで、番号は下の並び順と同じ。長さは表と同じで、塗り方も下の図と同じだ。表の列どうしが重なる所では、ものが一つずつ、それぞれの性質をすべて持って順に並んでいるので、表は一つの輪郭として描き、性質が始まる所ごとに印を付けてある。 濃い四角は、規則が比較を見た位置。 行の下の印は、最も忙しい共有バイト 24 個のうちの一つ。 二行目は、プロセッサがスタックを置くページだ。 添字で届いた範囲のうち、どの表にも属さないものは描いていない: メモリを消すループは、ほとんどすべてのバイトに届くからだ。 列が近すぎて一つずつ名前を書けない所では、ラベルを 10 個省いた。下の図にはすべての名前がある。

添字で届いた範囲: 位置を含むもの、次いで最も長いもの

起点届いたバイト命令含まれる位置
$0030804横 1、縦 1
$0086227横 1
$00CE226縦 1
$0057122横 1
$002A911横 1、縦 1
$00CF610縦 1
$005867横 3
$008766横 1
$00D442縦 1
$020025614
$030025610
$04002564

位置と一緒に動くもの

少なくとも二つのルーチンが、位置の配列と一緒に、同じ範囲をたどった配列。画面上のものの表は、メモリの中ではこう見える: 性質ごとに配列が一つ、ものごとに枠が一つ。どの配列が位置を持つかは言える。ほかの配列のうち、どれが位置に足し込まれるか (速度がすること) と、どれがジャンプのテーブルの行き先を選ぶか (状態や種類がすること)、どれが減らされる一方か (タイマーがすること) も言える。残りが何を持つかは、まだ名付けていない。

012345678$002AXY$007A$0093$00AC$00DB↓$0430
表 1: 6 個のルーチンが一緒にたどる、最大 9 枠の配列 6 本。列はそれぞれのアドレスにある配列、行は枠で、画面上のもの一つが、すべての列を横切る一行になる。 X と Y は位置で、濃い四角は規則が比較を見た枠。+ は位置に足し込まれる配列で、速度がすることだ。→ はジャンプを選んだ配列で、状態や種類がすることだ。↓ は減らされる一方の配列で、タイマーがすることだ。輪郭だけの列は一緒に動くが、まだ名付けていない。
048121620$0057X$006D$0086X$009F+↓$00B5↓$00CEY$0400+↓+234$0416$0433+
表 2: 16 個のルーチンが一緒にたどる、最大 22 枠の配列 9 本。列はそれぞれのアドレスにある配列、行は枠で、画面上のもの一つが、すべての列を横切る一行になる。 列の下の数は、その配列が表の長さを超えて届いたバイト数。 X と Y は位置で、濃い四角は規則が比較を見た枠。+ は位置に足し込まれる配列で、速度がすることだ。→ はジャンプを選んだ配列で、状態や種類がすることだ。↓ は減らされる一方の配列で、タイマーがすることだ。輪郭だけの列は一緒に動くが、まだ名付けていない。
012345$0016→$001E$0046↓$0058X
表 3: 6 個のルーチンが一緒にたどる、最大 6 枠の配列 4 本。列はそれぞれのアドレスにある配列、行は枠で、画面上のもの一つが、すべての列を横切る一行になる。 X と Y は位置で、濃い四角は規則が比較を見た枠。+ は位置に足し込まれる配列で、速度がすることだ。→ はジャンプを選んだ配列で、状態や種類がすることだ。↓ は減らされる一方の配列で、タイマーがすることだ。輪郭だけの列は一緒に動くが、まだ名付けていない。
012345$0016→$006E$0087X
表 4: 4 個のルーチンが一緒にたどる、最大 6 枠の配列 3 本。列はそれぞれのアドレスにある配列、行は枠で、画面上のもの一つが、すべての列を横切る一行になる。 X と Y は位置で、濃い四角は規則が比較を見た枠。+ は位置に足し込まれる配列で、速度がすることだ。→ はジャンプを選んだ配列で、状態や種類がすることだ。↓ は減らされる一方の配列で、タイマーがすることだ。輪郭だけの列は一緒に動くが、まだ名付けていない。
012345$0016→$001E$0046↓$00CFY
表 5: 7 個のルーチンが一緒にたどる、最大 6 枠の配列 4 本。列はそれぞれのアドレスにある配列、行は枠で、画面上のもの一つが、すべての列を横切る一行になる。 X と Y は位置で、濃い四角は規則が比較を見た枠。+ は位置に足し込まれる配列で、速度がすることだ。→ はジャンプを選んだ配列で、状態や種類がすることだ。↓ は減らされる一方の配列で、タイマーがすることだ。輪郭だけの列は一緒に動くが、まだ名付けていない。
0123$00D0$00D4Y$00E0↓
表 6: 3 個のルーチンが一緒にたどる、最大 4 枠の配列 3 本。列はそれぞれのアドレスにある配列、行は枠で、画面上のもの一つが、すべての列を横切る一行になる。 X と Y は位置で、濃い四角は規則が比較を見た枠。+ は位置に足し込まれる配列で、速度がすることだ。→ はジャンプを選んだ配列で、状態や種類がすることだ。↓ は減らされる一方の配列で、タイマーがすることだ。輪郭だけの列は一緒に動くが、まだ名付けていない。
枠配列ルーチン横の位置縦の位置位置に足し込まれる配列ジャンプを選ぶ配列減らされる一方の配列一緒に動く配列
966$002A$002A$00DB$007A, $0093, $00AC, $00DB, $0430
22916$0057, $0086$00CE$009F, $0400, $0433$009F, $00B5, $0400$006D, $009F, $00B5, $0400, $0416, $0433
646$0058$0016$0046$0016, $001E, $0046
634$0087$0016$0016, $006E
647$00CF$0016$0046$0016, $001E, $0046
433$00D4$00E0$00D0, $00E0

最も忙しい共有バイト 24 個

バイト読み書き書くルーチン読むルーチン
$000720,830,61266
$002018,020,28666
$00008,476,94566
$00307,578,35166
$00043,208,57766
$00062,988,98866
$00372,489,46166
$00032,395,63066
$00051,985,87466
$00861,713,65266
$00CE1,702,34466
$00341,461,21666
$00081,328,05266
$006D1,323,35666
$0033963,56766
$0032917,72866
$0002885,35166
$00EA801,69765
$00E9800,80764
$006E719,43266
$071B518,68636
$071D518,68636
$00B5511,12966
$0087493,22246

このページはゲームのバイトを一つも見せない。これらの数を読み取ったリスティングは、カートリッジと一緒に留まる。

すべてのゲーム