NEStinymachines

Metroid (USA)

Metroid (USA) は MMC1 の基板に載り、プログラムは 131,072 バイト。電源投入から 6,400 歩のクロールが、新しいコードを見つけた道筋を 103 本残した。それらを 253,223 フレームにわたって再生すると、プログラムのうち 15,464 バイト、12 パーセントが実行された。

規則が名付けたもの

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

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

場所リスティングでの名前入り方回数何であるか、その証拠
$C27C (バンク 7)b7_engine_C27C呼び出し288,568
ジャンプエンジン: テーブル 12、そこを通った跳躍 288,568
$C1E0 (バンク 7)b7_drain_C1E0呼び出し82,808
パレットの書き手: 走ったフレーム 82,911、書き込み 34,072
画面メモリへの書き手: 走ったフレーム 82,911、書き込み 106,172、ブランク中 41,900、描画中 64,272
$C215 (バンク 7)b7_poll_C215呼び出し82,808
パッドの読み取り: ポート $4017、一フレームの読み 8、一フレームのストローブ 2
$C21F (バンク 7)b7_poll_C21F呼び出し82,808
パッドの読み取り: ポート $4016、一フレームの読み 8、一フレームのストローブ 2
$C29A (バンク 7)b7_scroll_C29A呼び出し82,808
スクロールの書き手: 走ったフレーム 82,736、ブランク中の書き込み 165,266
$C4D9 (バンク 7)b7_bank_C4D9呼び出し82,808
バンク切り替え: 書き込み 414,040、ブランク中 413,165、描画中 875
$BA41 (バンク 1)b1_sound_BA41呼び出し80,964
サウンドドライバ: 走ったフレーム 40,411、書き込み 54,027
$DCC3 (バンク 7)b7_random_DCC3呼び出し51,038
乱数のバイト: 走ったフレーム 24,564、バイト $006B、回転 1、排他的論理和 1
$C1A3 (バンク 7)b7_sprites_C1A3呼び出し30,106
スプライトの書き手: 走ったフレーム 30,106、スプライトのページへの書き込み 7,708,176
$C9D7 (バンク 7)b7_dispatch_C9D7テーブル29,192
スプライトの書き手: 走ったフレーム 29,192、スプライトのページへの書き込み 484,800
$E173 (バンク 7)b7_sprites_E173呼び出し28,844
スプライトの書き手: 走ったフレーム 14,422、スプライトのページへの書き込み 28,844
$DD8B (バンク 7)b7_sprites_DD8B呼び出し26,617
スプライトの書き手: 走ったフレーム 14,414、スプライトのページへの書き込み 627,222
$8024 (バンク 1)b1_engine_8024呼び出し25,892
ジャンプエンジン: テーブル 1、そこを通った跳躍 25,892
$C1BC (バンク 7)b7_sprites_C1BC呼び出し19,036
スプライトの書き手: 走ったフレーム 19,054、スプライトのページへの書き込み 1,827,456
$CB29 (バンク 7)b7_sprites_CB29呼び出し14,422
スプライトの書き手: 走ったフレーム 14,506、スプライトのページへの書き込み 564,261
$E0C1 (バンク 7)b7_sprites_E0C1呼び出し14,422
スプライトの書き手: 走ったフレーム 14,424、スプライトのページへの書き込み 605,724
$90D7 (バンク 0)b0_dispatch_90D7テーブル14,313
スプライトの書き手: 走ったフレーム 14,313、スプライトのページへの書き込み 56,968
$F6B9 (バンク 7)b7_compare_F6B9呼び出し12,945
二つのものを比べる所: 命令 2、バイトの組 4、バイトの総数 6、比べた回数 834、横の位置のバイト $030E,$0421、縦の位置のバイト $030D,$0420,$0440,$0450
$F75B (バンク 7)b7_compare_F75B呼び出し12,945
二つのものを比べる所: 命令 1、バイトの組 1、バイトの総数 2、比べた回数 345、横の位置のバイト $030E,$0421
$CD6D (バンク 7)b7_random_CD6D呼び出し12,117
乱数のバイト: 走ったフレーム 12,145、バイト $006B、回転 2、排他的論理和 1
スプライトの書き手: 走ったフレーム 12,145、スプライトのページへの書き込み 549,984
$F140 (バンク 7)b7_compare_F140呼び出し11,600
二つのものを比べる所: 命令 2、バイトの組 11、バイトの総数 11、比べた回数 12,592、横の位置のバイト $030E,$03D9,$03E9,$0421,$0441,$0451、縦の位置のバイト $030D,$03D8,$0420,$0440,$0450
$8963 (バンク 0)b0_sprites_8963呼び出し2,738
スプライトの書き手: 走ったフレーム 558、スプライトのページへの書き込み 7,272
$C30C (バンク 7)b7_palette_C30C呼び出し2,366
パレットの書き手: 走ったフレーム 2,438、書き込み 7,074
$87D9 (バンク 0)b0_sprites_87D9呼び出し1,920
スプライトの書き手: 走ったフレーム 960、スプライトのページへの書き込み 7,488
$CCC2 (バンク 7)b7_dispatch_CCC2テーブル1,523
スプライトの書き手: 走ったフレーム 1,538、スプライトのページへの書き込み 69,426
$C4EF (バンク 7)b7_bank_C4EF呼び出し1,257
バンク切り替え: 書き込み 6,285、ブランク中 1,105、描画中 5,180
$C7AB (バンク 7)b7_bank_C7AB呼び出し996
バンク切り替え: 書き込み 4,980、ブランク中 70、描画中 4,910
$87CF (バンク 0)b0_sprites_87CF呼び出し960
スプライトの書き手: 走ったフレーム 960、スプライトのページへの書き込み 3,648
$87D6 (バンク 0)b0_sprites_87D6呼び出し960
スプライトの書き手: 走ったフレーム 960、スプライトのページへの書き込み 3,792
$D002 (バンク 7)b7_dispatch_D002テーブル782
スプライトの書き手: 走ったフレーム 786、スプライトのページへの書き込み 35,340
$8976 (バンク 0)b0_sprites_8976呼び出し646
スプライトの書き手: 走ったフレーム 646、スプライトのページへの書き込み 3,072
$9147 (バンク 0)b0_dispatch_9147テーブル567
スプライトの書き手: 走ったフレーム 571、スプライトのページへの書き込み 2,112
$88FE (バンク 0)b0_sprites_88FE呼び出し558
スプライトの書き手: 走ったフレーム 558、スプライトのページへの書き込み 2,232
$DE47 (バンク 7)b7_sprites_DE47呼び出し499
スプライトの書き手: 走ったフレーム 495、スプライトのページへの書き込み 2,910
$DE4A (バンク 7)b7_sprites_DE4A呼び出し392
スプライトの書き手: 走ったフレーム 368、スプライトのページへの書き込み 192
$C4E8 (バンク 7)b7_bank_C4E8呼び出し175
バンク切り替え: 書き込み 875、ブランク中 0、描画中 875
$C4B2 (バンク 7)b7_bank_C4B2呼び出し103
バンク切り替え: 書き込み 515、ブランク中 0、描画中 515
$C4FA (バンク 7)b7_bank_C4FA呼び出し103
バンク切り替え: 書き込み 515、ブランク中 515、描画中 0
$C5D7 (バンク 7)b7_bank_C5D7呼び出し103
バンク切り替え: 書き込み 515、ブランク中 515、描画中 0
$FFB0 (バンク 7)b7_irq割り込み(IRQ)103
バンク切り替え: 書き込み 1,442、ブランク中 1,442、描画中 0
スプライトの書き手: 走ったフレーム 83,203、スプライトのページへの書き込み 26,368
$FAB4 (バンク 7)b7_sprites_FAB4呼び出し74
スプライトの書き手: 走ったフレーム 74、スプライトのページへの書き込み 2,088
$C604 (バンク 7)b7_bank_C604呼び出し72
バンク切り替え: 書き込み 360、ブランク中 0、描画中 360
$8071 (バンク 0)b0_dispatch_8071テーブル18
スプライトの書き手: 走ったフレーム 36、スプライトのページへの書き込み 2,880
$C20E (バンク 7)b7_split_C20E呼び出し18
画面の分割: 走ったフレーム 36、描画中のスクロール書き込み 36、描画中のステータス読み 666
$C6D6 (バンク 7)b7_bank_C6D6呼び出し13
バンク切り替え: 書き込み 65、ブランク中 0、描画中 65
$98AE (バンク 0)b0_sprites_98AE呼び出し8
スプライトの書き手: 走ったフレーム 8、スプライトのページへの書き込み 1,280
$C5DC (バンク 7)b7_bank_C5DC呼び出し1
バンク切り替え: 書き込み 5、ブランク中 0、描画中 5
$E193 (バンク 7)呼び出し564,380
$F1F4 (バンク 7)呼び出し530,826
$B4BD (バンク 1)呼び出し441,989
$B4BD (バンク 0)呼び出し345,582
$DF6B (バンク 7)呼び出し295,327
$DFA3 (バンク 7)呼び出し295,327
$F1EE (バンク 7)呼び出し184,732
$FE27 (バンク 7)呼び出し173,064
$C45C (バンク 7)テーブル172,221
$C2BF (バンク 7)呼び出し158,392
$BC53 (バンク 1)呼び出し132,865
$B4EE (バンク 1)テーブル130,466
$BC53 (バンク 0)呼び出し103,707
$B4EE (バンク 0)テーブル103,516
$FA18 (バンク 7)呼び出し86,542
$C0D9 (バンク 7)毎フレーム(NMI)83,335
$C97E (バンク 7)呼び出し83,234
$C2CA (バンク 7)呼び出し82,808
$C44D (バンク 7)呼び出し82,808
$C4DE (バンク 7)呼び出し82,257
$C000 (バンク 7)呼び出し82,154
$C114 (バンク 7)呼び出し82,154
$C266 (バンク 7)呼び出し82,154
$F3AA (バンク 7)呼び出し79,981
$F351 (バンク 7)呼び出し72,110
$F949 (バンク 7)呼び出し72,110
$DFDF (バンク 7)呼び出し57,734
$8B87 (バンク 1)呼び出し57,688
$FE05 (バンク 7)呼び出し57,688
$BA08 (バンク 1)呼び出し55,008
$DE3D (バンク 7)呼び出し51,038
$B3B4 (バンク 1)呼び出し48,734
$BA08 (バンク 0)呼び出し48,586
$BA41 (バンク 0)呼び出し48,586
$B31B (バンク 1)呼び出し44,356
$B34B (バンク 1)呼び出し44,348
$BC64 (バンク 1)呼び出し44,289
$B33D (バンク 1)呼び出し44,286
$BC36 (バンク 1)呼び出し44,286
$BC3D (バンク 1)テーブル44,286
$BC4B (バンク 1)テーブル44,220
$B35C (バンク 1)テーブル44,166
$B322 (バンク 1)テーブル44,162
$B344 (バンク 1)テーブル44,116
$B329 (バンク 1)呼び出し44,050
$B364 (バンク 1)テーブル44,050
$B330 (バンク 1)テーブル43,933
$FAFF (バンク 7)呼び出し43,266
$FBEC (バンク 7)呼び出し43,266
$C36B (バンク 7)呼び出し42,169
$CE84 (バンク 7)呼び出し41,468
$B9F3 (バンク 1)呼び出し40,549
$BA37 (バンク 1)呼び出し40,482
$C2A8 (バンク 7)呼び出し38,469
$9AE2 (バンク 1)呼び出し37,500
$95C0 (バンク 1)呼び出し35,516
$D651 (バンク 7)呼び出し35,516
$E96A (バンク 7)呼び出し35,515
$B3B4 (バンク 0)呼び出し34,599
$B31B (バンク 0)呼び出し34,598
$B322 (バンク 0)テーブル34,598
$B34B (バンク 0)呼び出し34,586
$B33D (バンク 0)呼び出し34,569
$BC36 (バンク 0)呼び出し34,569
$BC3D (バンク 0)テーブル34,569
$BC4B (バンク 0)テーブル34,569
$BC64 (バンク 0)呼び出し34,569
$B35C (バンク 0)テーブル34,549
$B344 (バンク 0)テーブル34,540
$B329 (バンク 0)呼び出し34,502
$B330 (バンク 0)テーブル34,502
$B364 (バンク 0)テーブル34,502
$9A07 (バンク 0)呼び出し34,456
$F152 (バンク 7)呼び出し33,204
$F37F (バンク 7)呼び出し32,443
$D4CB (バンク 7)呼び出し28,844
$E1F1 (バンク 7)呼び出し28,844
$F186 (バンク 7)呼び出し25,982
$E8CE (バンク 7)呼び出し25,955
$E90F (バンク 7)呼び出し25,955
$E95F (バンク 7)呼び出し25,955
$F536 (バンク 7)呼び出し25,892
$F3E6 (バンク 7)テーブル25,418
$8009 (バンク 1)呼び出し25,186
$9A4C (バンク 1)テーブル25,186
$DC8F (バンク 7)呼び出し25,135
$800C (バンク 1)呼び出し25,118
$B9F3 (バンク 0)呼び出し24,293
$BA37 (バンク 0)呼び出し24,293
$C2C5 (バンク 7)呼び出し21,042
$E792 (バンク 7)呼び出し21,012
$9ADA (バンク 1)呼び出し19,054
$9AA8 (バンク 1)呼び出し18,750
$9AC6 (バンク 1)呼び出し18,750
$844B (バンク 1)呼び出し15,546
$F172 (バンク 7)呼び出し14,564
$84A7 (バンク 1)呼び出し14,515
$CD9C (バンク 7)呼び出し14,477
$8B13 (バンク 1)呼び出し14,422
$8B79 (バンク 1)呼び出し14,422
$95C3 (バンク 1)呼び出し14,422
$C92B (バンク 7)テーブル14,422
$CC0D (バンク 7)呼び出し14,422
$CC1A (バンク 7)呼び出し14,422
$CD92 (バンク 7)呼び出し14,422
$CDFA (バンク 7)呼び出し14,422
$D4BF (バンク 7)呼び出し14,422
$D7B3 (バンク 7)呼び出し14,422
$D9D4 (バンク 7)呼び出し14,422
$DB17 (バンク 7)呼び出し14,422
$DB37 (バンク 7)呼び出し14,422
$DB42 (バンク 7)呼び出し14,422
$E269 (バンク 7)呼び出し14,422
$F034 (バンク 7)呼び出し14,422
$F345 (バンク 7)呼び出し14,422
$F93B (バンク 7)呼び出し14,422
$FA9D (バンク 7)呼び出し14,422
$FAF2 (バンク 7)呼び出し14,422
$FBDD (バンク 7)呼び出し14,422
$FC65 (バンク 7)呼び出し14,422
$FDE3 (バンク 7)呼び出し14,422
$FE1B (バンク 7)呼び出し14,422
$F744 (バンク 7)呼び出し13,781
$F266 (バンク 7)呼び出し13,576
$F74B (バンク 7)呼び出し13,351
$F51E (バンク 7)呼び出し12,672
$E449 (バンク 7)呼び出し12,480
$E8F1 (バンク 7)呼び出し12,390
$F1E0 (バンク 7)呼び出し11,742
$F1BF (バンク 7)呼び出し11,600
$EF9E (バンク 7)呼び出し11,242
$F282 (バンク 7)呼び出し10,552
$CF6B (バンク 7)呼び出し10,144
$E98E (バンク 7)呼び出し9,558
$D976 (バンク 7)呼び出し7,955
$C318 (バンク 7)呼び出し7,098
$E25D (バンク 7)呼び出し6,285
$E37A (バンク 7)呼び出し6,285
$E3E5 (バンク 7)呼び出し6,285
$E8BE (バンク 7)呼び出し5,469
$9871 (バンク 0)呼び出し4,696
$8142 (バンク 0)テーブル4,421
$84FE (バンク 1)呼び出し4,408
$C9B1 (バンク 7)テーブル4,380
$E77B (バンク 7)呼び出し4,308
$E365 (バンク 7)呼び出し3,917
$E7AD (バンク 7)呼び出し3,915
$814D (バンク 0)テーブル3,883
$812C (バンク 0)テーブル3,876
$83F5 (バンク 1)呼び出し3,847
$CC36 (バンク 7)テーブル3,797
$E668 (バンク 7)呼び出し3,333
$EA2B (バンク 7)呼び出し3,192
$C376 (バンク 7)呼び出し2,955
$C3C6 (バンク 7)呼び出し2,793
$E54A (バンク 7)呼び出し2,760
$E6D2 (バンク 7)呼び出し2,550
$E457 (バンク 7)呼び出し2,479
$8263 (バンク 0)テーブル2,438
$E770 (バンク 7)呼び出し2,390
$981E (バンク 0)呼び出し2,376
$C3D4 (バンク 7)呼び出し2,300
$CF2E (バンク 7)呼び出し2,284
$CF4E (バンク 7)呼び出し2,071
$E8FC (バンク 7)呼び出し1,916
$B4A9 (バンク 1)呼び出し1,861
$E4A3 (バンク 7)呼び出し1,816
$8871 (バンク 0)呼び出し1,728
$80B0 (バンク 1)呼び出し1,487
$E519 (バンク 7)呼び出し1,416
$E038 (バンク 7)呼び出し1,386
$D09C (バンク 7)呼び出し1,367
$C2C0 (バンク 7)呼び出し1,349
$EB85 (バンク 7)呼び出し1,338
$E1E1 (バンク 7)呼び出し1,333
$CCB7 (バンク 7)呼び出し1,274
$8182 (バンク 0)テーブル1,266
$8109 (バンク 0)テーブル1,261
$C7D5 (バンク 7)呼び出し1,185
$C2B3 (バンク 7)呼び出し1,179
$C37E (バンク 7)呼び出し1,179
$F2CA (バンク 7)呼び出し1,048
$EAC0 (バンク 7)呼び出し1,043
$CDBF (バンク 7)呼び出し938
$EF8C (バンク 7)呼び出し924
$881A (バンク 0)呼び出し912
$CF4C (バンク 7)呼び出し872
$E094 (バンク 7)呼び出し848
$F7B3 (バンク 7)呼び出し836
$D79F (バンク 7)呼び出し831
$CFB7 (バンク 7)呼び出し822
$8243 (バンク 0)テーブル818
$CF81 (バンク 7)呼び出し801
$D055 (バンク 7)呼び出し782
$CF5D (バンク 7)呼び出し778
$99FA (バンク 1)テーブル698
$E564 (バンク 7)呼び出し664
$C434 (バンク 7)呼び出し656
$B6ED (バンク 1)テーブル641
$CF88 (バンク 7)呼び出し585
$E626 (バンク 7)呼び出し584
$E88B (バンク 7)呼び出し579
$80FB (バンク 1)呼び出し576
$FD8F (バンク 7)呼び出し558
$EF09 (バンク 7)呼び出し523
$B493 (バンク 1)呼び出し521
$B58A (バンク 1)テーブル520
$B7E7 (バンク 1)テーブル510
$82A3 (バンク 0)テーブル482
$8A8C (バンク 0)呼び出し478
$B4A2 (バンク 1)呼び出し474
$F3BE (バンク 7)テーブル474
$D4EB (バンク 7)テーブル471
$D5DA (バンク 7)呼び出し471
$D5FC (バンク 7)呼び出し471
$D609 (バンク 7)呼び出し471
$F483 (バンク 7)テーブル468
$8058 (バンク 1)呼び出し430
$F844 (バンク 7)呼び出し426
$8163 (バンク 0)テーブル414
$C158 (バンク 7)呼び出し396
$C16D (バンク 7)呼び出し396
$E7A2 (バンク 7)呼び出し366
$81F6 (バンク 1)呼び出し363
$ED7A (バンク 7)呼び出し357
$F752 (バンク 7)呼び出し352
$9A8F (バンク 1)呼び出し304
$F676 (バンク 7)呼び出し273
$F682 (バンク 7)呼び出し273
$F7BA (バンク 7)呼び出し273
$F4EE (バンク 7)テーブル264
$EB06 (バンク 7)テーブル263
$EB0C (バンク 7)呼び出し263
$EB7A (バンク 7)呼び出し263
$81DA (バンク 1)呼び出し259
$B368 (バンク 1)呼び出し247
$ED51 (バンク 7)呼び出し238
$ED8C (バンク 7)呼び出し238
$E5E2 (バンク 7)テーブル229
$E6A7 (バンク 7)呼び出し210
$822B (バンク 1)呼び出し209
$8244 (バンク 1)呼び出し209
$8318 (バンク 1)呼び出し209
$C2BE (バンク 7)呼び出し209
$B43E (バンク 1)呼び出し208
$B40E (バンク 1)呼び出し204
$B41D (バンク 1)呼び出し204
$C439 (バンク 7)呼び出し190
$B370 (バンク 1)呼び出し184
$B598 (バンク 1)テーブル184
$CB96 (バンク 7)呼び出し184
$EB28 (バンク 7)呼び出し184
$EB4D (バンク 7)呼び出し184
$FB7B (バンク 7)呼び出し184
$C43D (バンク 7)呼び出し176
$C45D (バンク 7)呼び出し176
$816E (バンク 1)呼び出し174
$CBF3 (バンク 7)呼び出し173
$B36C (バンク 1)呼び出し170
$B7D9 (バンク 1)テーブル170
$8AA7 (バンク 0)呼び出し160
$B4A9 (バンク 0)呼び出し159
$F262 (バンク 7)呼び出し156
$DC7F (バンク 7)呼び出し142
$F1A7 (バンク 7)呼び出し142
$B3FC (バンク 1)呼び出し138
$B9E4 (バンク 1)呼び出し138
$BC80 (バンク 1)テーブル138
$BF19 (バンク 1)呼び出し138
$F699 (バンク 7)呼び出し137
$D198 (バンク 7)テーブル121
$E720 (バンク 7)呼び出し119
$EA05 (バンク 7)呼び出し119
$EC93 (バンク 7)呼び出し119
$EC9B (バンク 7)呼び出し119
$ED5B (バンク 7)呼び出し119
$ED65 (バンク 7)呼び出し119
$ED98 (バンク 7)呼び出し119
$EFF8 (バンク 7)呼び出し119
$F01C (バンク 7)呼び出し119
$D147 (バンク 7)呼び出し118
$B374 (バンク 1)呼び出し115
$B650 (バンク 1)テーブル114
$F277 (バンク 7)呼び出し114
$8BD5 (バンク 1)テーブル112
$EA26 (バンク 7)テーブル111
$C41D (バンク 7)呼び出し110
$EF00 (バンク 7)呼び出し109
$C3FB (バンク 7)呼び出し106
$A93E (バンク 0)呼び出し103
$C531 (バンク 7)テーブル103
$8B5F (バンク 0)呼び出し102
$C487 (バンク 7)呼び出し101
$909F (バンク 0)呼び出し100
$9449 (バンク 0)呼び出し100
$C42C (バンク 7)呼び出し100
$E880 (バンク 7)呼び出し91
$F340 (バンク 7)呼び出し89
$81D1 (バンク 0)テーブル88
$90BA (バンク 0)テーブル87
$C1D4 (バンク 7)呼び出し73
$C578 (バンク 7)呼び出し73
$B7E7 (バンク 0)テーブル72
$C552 (バンク 7)テーブル72
$C801 (バンク 7)テーブル72
$C8B0 (バンク 7)呼び出し72
$C8BB (バンク 7)呼び出し72
$C8D1 (バンク 7)テーブル72
$CA18 (バンク 7)呼び出し72
$CBFD (バンク 7)呼び出し72
$B3F0 (バンク 1)呼び出し67
$8134 (バンク 1)呼び出し66
$CB73 (バンク 7)呼び出し66
$D92C (バンク 7)呼び出し66
$D0B5 (バンク 7)テーブル57
$B74F (バンク 1)テーブル54
$F2E8 (バンク 7)呼び出し54
$CBDE (バンク 7)呼び出し53
$F338 (バンク 7)呼び出し53
$B5A5 (バンク 1)呼び出し51
$B673 (バンク 1)テーブル51
$CBB4 (バンク 7)呼び出し50
$D1F7 (バンク 7)呼び出し50
$D2EB (バンク 7)呼び出し50
$D306 (バンク 7)呼び出し50
$D38E (バンク 7)呼び出し50
$B716 (バンク 1)テーブル49
$B6A1 (バンク 0)テーブル47
$D315 (バンク 7)呼び出し45
$D359 (バンク 7)呼び出し45
$B87F (バンク 0)テーブル40
$D2FA (バンク 7)呼び出し40
$D1EE (バンク 7)呼び出し39
$B710 (バンク 1)テーブル35
$CBB0 (バンク 7)呼び出し35
$CC98 (バンク 7)呼び出し35
$F279 (バンク 7)呼び出し35
$F332 (バンク 7)呼び出し35
$B493 (バンク 0)呼び出し31
$B703 (バンク 1)テーブル31
$CBAC (バンク 7)呼び出し31
$B4A2 (バンク 0)呼び出し30
$CFC3 (バンク 7)呼び出し30
$B36C (バンク 0)呼び出し29
$D5C8 (バンク 7)テーブル28
$B7D9 (バンク 0)テーブル24
$B6D3 (バンク 1)テーブル22
$80F9 (バンク 0)テーブル21
$CF55 (バンク 7)呼び出し21
$B40E (バンク 0)呼び出し19
$B41D (バンク 0)呼び出し19
$B43E (バンク 0)呼び出し19
$80D0 (バンク 0)テーブル18
$8FF1 (バンク 0)呼び出し18
$9001 (バンク 0)呼び出し18
$9011 (バンク 0)呼び出し18
$B3FC (バンク 0)呼び出し18
$B9E4 (バンク 0)呼び出し18
$BC7A (バンク 0)テーブル18
$BF19 (バンク 0)呼び出し18
$E4F1 (バンク 7)呼び出し18
$806E (バンク 0)テーブル16
$F68D (バンク 7)呼び出し16
$87AB (バンク 0)呼び出し13
$911A (バンク 0)テーブル13
$940B (バンク 0)呼び出し13
$E9B7 (バンク 7)呼び出し13
$E249 (バンク 7)呼び出し11
$8897 (バンク 0)呼び出し10
$C2C4 (バンク 7)呼び出し10
$EDFE (バンク 7)テーブル10
$EE3D (バンク 7)呼び出し10
$EE4A (バンク 7)呼び出し10
$CF77 (バンク 7)テーブル9
$801B (バンク 1)呼び出し8
$822E (バンク 0)テーブル8
$99B8 (バンク 1)テーブル8
$DCFC (バンク 7)呼び出し8
$FA41 (バンク 7)呼び出し8
$CB92 (バンク 7)呼び出し6
$D210 (バンク 7)呼び出し6
$9450 (バンク 0)呼び出し5
$B878 (バンク 0)テーブル5
$D340 (バンク 7)呼び出し5
$D38A (バンク 7)呼び出し5
$8068 (バンク 0)テーブル4
$8283 (バンク 0)テーブル4
$C3DA (バンク 7)呼び出し4
$8DDE (バンク 0)呼び出し3
$8E21 (バンク 0)呼び出し3
$8E4E (バンク 0)呼び出し3
$8F60 (バンク 0)呼び出し3
$CDD7 (バンク 7)呼び出し3
$D5E4 (バンク 7)呼び出し3
$8B9D (バンク 1)テーブル2
$8CFB (バンク 1)呼び出し2
$B368 (バンク 0)呼び出し2
$B374 (バンク 0)呼び出し2
$B695 (バンク 0)テーブル2
$B6E7 (バンク 1)テーブル2
$CEF9 (バンク 7)呼び出し2
$CF6E (バンク 7)呼び出し2
$EB8C (バンク 7)テーブル2
$EB92 (バンク 7)呼び出し2
$8BD4 (バンク 0)呼び出し1
$8D12 (バンク 0)呼び出し1
$8D3D (バンク 0)呼び出し1
$B404 (バンク 0)呼び出し1
$CB8E (バンク 7)呼び出し1
$CE92 (バンク 7)呼び出し1
$CFBE (バンク 7)テーブル1
$F311 (バンク 7)呼び出し1

待つ場所

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

場所リスティングでの名前何であるか、その証拠
$C42F (バンク 7)b7_wait_C42F
フレーム待ち: 待つ相手のバイト $001A、入った回数 100、周回 61,193、フレーム割り込みの下での書き込み 83,234、全フレーム 84,803
$C442 (バンク 7)b7_wait_C442
フレーム待ち: 待つ相手のバイト $001A、入った回数 556、周回 1,871,573、フレーム割り込みの下での書き込み 83,234、全フレーム 84,803

ジャンプに使うテーブル

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

場所届き方項目選ばれた数選んだバイト
$802A (バンク 0)呼び出しの直後2821$001F
$8048 (バンク 1)戻りで74$044A, $045A
$95EB (バンク 1)呼び出しの直後63
$C141 (バンク 7)呼び出しの直後95$001E
$C51F (バンク 7)ポインタ経由22$0024
$CC22 (バンク 7)呼び出しの直後74$0300
$CC7D (バンク 7)呼び出しの直後55$0300
$D1D7 (バンク 7)呼び出しの直後105$0300
$D4D3 (バンク 7)呼び出しの直後123$03E0, $03F0, $03D0, $03D3
$D7BD (バンク 7)呼び出しの直後11$0049, $00FF, $032C
$EA1C (バンク 7)呼び出しの直後53$005A
$EAE4 (バンク 7)呼び出しの直後32
$EDE2 (バンク 7)呼び出しの直後32
$F36E (バンク 7)呼び出しの直後75

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

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

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

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

起点届いたバイト命令含まれる位置
$03012254横 1、縦 1
$03092253横 1
$03071614横 1、縦 1
$0402813横 2、縦 2
$0403333横 1、縦 1
$030025524
$02002535
$030C2258
$030A2257
$030D2257
$030E2257
$03022254

位置と一緒に動くもの

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

0481216202428$0301XY+193$0302+193$0303+193$030B+193$030C+193$030D+193$030E+193
表 1: 11 個のルーチンが一緒にたどる、最大 225 枠の配列 7 本。列はそれぞれのアドレスにある配列、行は枠で、画面上のもの一つが、すべての列を横切る一行になる。 225 枠のうち最初の 32 枠を描いてある。 列の下の数は、その配列が表の長さを超えて届いたバイト数。 X と Y は位置で、濃い四角は規則が比較を見た枠。+ は位置に足し込まれる配列で、速度がすることだ。→ はジャンプを選んだ配列で、状態や種類がすることだ。↓ は減らされる一方の配列で、タイマーがすることだ。輪郭だけの列は一緒に動くが、まだ名付けていない。
0481216202428$0300→+223$0307XY+129$030A+193
表 2: 3 個のルーチンが一緒にたどる、最大 161 枠の配列 3 本。列はそれぞれのアドレスにある配列、行は枠で、画面上のもの一つが、すべての列を横切る一行になる。 161 枠のうち最初の 32 枠を描いてある。 列の下の数は、その配列が表の長さを超えて届いたバイト数。 X と Y は位置で、濃い四角は規則が比較を見た枠。+ は位置に足し込まれる配列で、速度がすることだ。→ はジャンプを選んだ配列で、状態や種類がすることだ。↓ は減らされる一方の配列で、タイマーがすることだ。輪郭だけの列は一緒に動くが、まだ名付けていない。
0481216202428$0300→+223$0308+193$0309X+193$030B+193$030F↓+193
表 3: 4 個のルーチンが一緒にたどる、最大 225 枠の配列 5 本。列はそれぞれのアドレスにある配列、行は枠で、画面上のもの一つが、すべての列を横切る一行になる。 225 枠のうち最初の 32 枠を描いてある。 列の下の数は、その配列が表の長さを超えて届いたバイト数。 X と Y は位置で、濃い四角は規則が比較を見た枠。+ は位置に足し込まれる配列で、速度がすることだ。→ はジャンプを選んだ配列で、状態や種類がすることだ。↓ は減らされる一方の配列で、タイマーがすることだ。輪郭だけの列は一緒に動くが、まだ名付けていない。
枠配列ルーチン横の位置縦の位置位置に足し込まれる配列ジャンプを選ぶ配列減らされる一方の配列一緒に動く配列
225711$0301$0301$0302, $0303, $030B, $030C, $030D, $030E
16133$0307$0307$0300$0300, $030A
22554$0309$0300$030F$0300, $0308, $030B, $030F

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

バイト読み書き書くルーチン読むルーチン
$001A171,705,34236
$064D21,481,67956
$000016,192,65166
$000113,818,60866
$00E44,725,50923
$00E54,725,50923
$00052,920,54866
$00E22,369,22766
$00E32,369,20066
$00021,786,95866
$00E01,584,49166
$00E11,584,49166
$004B1,581,86466
$00041,117,17266
$00031,030,34566
$006B1,026,95766
$00141,014,02026
$002E904,32626
$00EB896,54923
$002F821,74622
$0069629,09636
$006A629,09636
$065C501,72536
$001D462,25236

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

すべてのゲーム