NEStinymachines

Metroid (USA)

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

規則が名付けたもの

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

ゲームのコードに入った場所のすべて。呼び出し、割り込み、テーブル経由のジャンプのどれかで入る。規則が名付けたものを先に、規則が見たものと一緒に並べる。

場所入り方回数何であるか、その証拠
$C1E0 (バンク 7)呼び出し1,940
パレットの書き手: 走ったフレーム 1,962、書き込み 1,571
画面メモリへの書き手: 走ったフレーム 1,962、書き込み 16,971、ブランク中 3,243、描画中 13,728
$C215 (バンク 7)呼び出し1,940
パッドの読み取り: ポート $4017、一フレームの読み 8、一フレームのストローブ 2
$C21F (バンク 7)呼び出し1,940
パッドの読み取り: ポート $4016、一フレームの読み 8、一フレームのストローブ 2
$C29A (バンク 7)呼び出し1,940
スクロールの書き手: 走ったフレーム 1,936、ブランク中の書き込み 3,828
$C4D9 (バンク 7)呼び出し1,940
バンク切り替え: 書き込み 9,700、ブランク中 9,570、描画中 130
$C27C (バンク 7)呼び出し1,820
ジャンプエンジン: テーブル 4、そこを通った跳躍 1,820
$B3B4 (バンク 0)呼び出し1,761
サウンドドライバ: 走ったフレーム 1,804、書き込み 1,761
$C1A3 (バンク 7)呼び出し936
スプライトの書き手: 走ったフレーム 936、スプライトのページへの書き込み 240,896
$C30C (バンク 7)呼び出し720
パレットの書き手: 走ったフレーム 724、書き込み 168
$9147 (バンク 0)テーブル672
スプライトの書き手: 走ったフレーム 682、スプライトのページへの書き込み 2,496
$C1BC (バンク 7)呼び出し452
スプライトの書き手: 走ったフレーム 456、スプライトのページへの書き込み 43,392
$90D7 (バンク 0)テーブル426
スプライトの書き手: 走ったフレーム 426、スプライトのページへの書き込み 1,704
$C4EF (バンク 7)呼び出し238
バンク切り替え: 書き込み 1,190、ブランク中 340、描画中 850
$C9D7 (バンク 7)テーブル200
スプライトの書き手: 走ったフレーム 200、スプライトのページへの書き込み 96
$C7AB (バンク 7)呼び出し188
バンク切り替え: 書き込み 940、ブランク中 100、描画中 840
$C4E8 (バンク 7)呼び出し26
バンク切り替え: 書き込み 130、ブランク中 0、描画中 130
$C4B2 (バンク 7)呼び出し22
バンク切り替え: 書き込み 110、ブランク中 0、描画中 110
$C4FA (バンク 7)呼び出し22
バンク切り替え: 書き込み 110、ブランク中 110、描画中 0
$C5D7 (バンク 7)呼び出し22
バンク切り替え: 書き込み 110、ブランク中 110、描画中 0
$FFB0 (バンク 7)割り込み(IRQ)22
バンク切り替え: 書き込み 308、ブランク中 308、描画中 0
スプライトの書き手: 走ったフレーム 2,002、スプライトのページへの書き込み 5,632
$C6D6 (バンク 7)呼び出し16
バンク切り替え: 書き込み 80、ブランク中 0、描画中 80
$8071 (バンク 0)テーブル4
スプライトの書き手: 走ったフレーム 8、スプライトのページへの書き込み 640
$C20E (バンク 7)呼び出し4
画面の分割: 走ったフレーム 8、描画中のスクロール書き込み 8、描画中のステータス読み 148
$C5DC (バンク 7)呼び出し4
バンク切り替え: 書き込み 20、ブランク中 0、描画中 20
$C604 (バンク 7)呼び出し4
バンク切り替え: 書き込み 20、ブランク中 0、描画中 20
$B4BD (バンク 0)呼び出し17,292
$C36B (バンク 7)呼び出し12,632
$BC53 (バンク 0)呼び出し5,220
$B4EE (バンク 0)テーブル5,027
$B4BD (バンク 1)呼び出し2,323
$C2A8 (バンク 7)呼び出し2,047
$C0D9 (バンク 7)毎フレーム(NMI)1,998
$C97E (バンク 7)呼び出し1,976
$C2CA (バンク 7)呼び出し1,940
$C44D (バンク 7)呼び出し1,940
$C4DE (バンク 7)呼び出し1,814
$C000 (バンク 7)呼び出し1,792
$C114 (バンク 7)呼び出し1,792
$C266 (バンク 7)呼び出し1,792
$B31B (バンク 0)呼び出し1,757
$B322 (バンク 0)テーブル1,757
$B34B (バンク 0)呼び出し1,745
$B33D (バンク 0)呼び出し1,740
$BC36 (バンク 0)呼び出し1,740
$BC3D (バンク 0)テーブル1,740
$BC4B (バンク 0)テーブル1,740
$BC64 (バンク 0)呼び出し1,740
$B35C (バンク 0)テーブル1,734
$9A07 (バンク 0)呼び出し1,720
$B344 (バンク 0)テーブル1,705
$B329 (バンク 0)呼び出し1,687
$B330 (バンク 0)テーブル1,687
$B364 (バンク 0)テーブル1,687
$C318 (バンク 7)呼び出し1,330
$BA08 (バンク 0)呼び出し920
$BA41 (バンク 0)呼び出し920
$B4EE (バンク 1)テーブル697
$BC53 (バンク 1)呼び出し697
$B9F3 (バンク 0)呼び出し460
$BA37 (バンク 0)呼び出し460
$812C (バンク 0)テーブル437
$EF9E (バンク 7)呼び出し416
$BA41 (バンク 1)呼び出し406
$B31B (バンク 1)呼び出し236
$B322 (バンク 1)テーブル236
$B34B (バンク 1)呼び出し236
$B3B4 (バンク 1)呼び出し236
$C7D5 (バンク 7)呼び出し234
$BC64 (バンク 1)呼び出し233
$B33D (バンク 1)呼び出し232
$B344 (バンク 1)テーブル232
$BC36 (バンク 1)呼び出し232
$BC3D (バンク 1)テーブル232
$BC4B (バンク 1)テーブル232
$B329 (バンク 1)呼び出し229
$B330 (バンク 1)テーブル229
$B35C (バンク 1)テーブル229
$B364 (バンク 1)テーブル229
$B9F3 (バンク 1)呼び出し203
$BA08 (バンク 1)呼び出し203
$BA37 (バンク 1)呼び出し203
$C2BF (バンク 7)呼び出し191
$B4A9 (バンク 0)呼び出し157
$C434 (バンク 7)呼び出し148
$B7E7 (バンク 0)テーブル102
$F1F4 (バンク 7)呼び出し92
$C158 (バンク 7)呼び出し86
$C16D (バンク 7)呼び出し86
$C376 (バンク 7)呼び出し77
$C3C6 (バンク 7)呼び出し60
$C2C5 (バンク 7)呼び出し48
$B6A1 (バンク 0)テーブル47
$C439 (バンク 7)呼び出し42
$EAC0 (バンク 7)呼び出し40
$C487 (バンク 7)呼び出し38
$B493 (バンク 0)呼び出し37
$8FF1 (バンク 0)呼び出し36
$9001 (バンク 0)呼び出し36
$9011 (バンク 0)呼び出し36
$B4A2 (バンク 0)呼び出し36
$EB85 (バンク 7)呼び出し36
$EF8C (バンク 7)呼び出し36
$B36C (バンク 0)呼び出し35
$909F (バンク 0)呼び出し34
$9449 (バンク 0)呼び出し34
$B7D9 (バンク 0)テーブル34
$C42C (バンク 7)呼び出し34
$C43D (バンク 7)呼び出し30
$C45D (バンク 7)呼び出し30
$C2B3 (バンク 7)呼び出し28
$C37E (バンク 7)呼び出し28
$EA2B (バンク 7)呼び出し24
$A93E (バンク 0)呼び出し22
$C531 (バンク 7)テーブル22
$90BA (バンク 0)テーブル18
$911A (バンク 0)テーブル16
$940B (バンク 0)呼び出し16
$DF6B (バンク 7)呼び出し16
$DFA3 (バンク 7)呼び出し16
$EF09 (バンク 7)呼び出し16
$9450 (バンク 0)呼び出し13
$8A8C (バンク 0)呼び出し12
$E564 (バンク 7)呼び出し12
$ED7A (バンク 7)呼び出し12
$80B0 (バンク 1)呼び出し8
$B40E (バンク 0)呼び出し8
$B41D (バンク 0)呼び出し8
$B43E (バンク 0)呼び出し8
$B87F (バンク 0)テーブル8
$C1D4 (バンク 7)呼び出し8
$C45C (バンク 7)テーブル8
$C578 (バンク 7)呼び出し8
$E5E2 (バンク 7)テーブル8
$EB06 (バンク 7)テーブル8
$EB0C (バンク 7)呼び出し8
$EB28 (バンク 7)呼び出し8
$EB4D (バンク 7)呼び出し8
$EB7A (バンク 7)呼び出し8
$ED51 (バンク 7)呼び出し8
$ED8C (バンク 7)呼び出し8
$FB7B (バンク 7)呼び出し8
$8DDE (バンク 0)呼び出し6
$8E21 (バンク 0)呼び出し6
$8E4E (バンク 0)呼び出し6
$8F60 (バンク 0)呼び出し6
$80D0 (バンク 0)テーブル4
$80F9 (バンク 0)テーブル4
$8BD4 (バンク 0)呼び出し4
$8D12 (バンク 0)呼び出し4
$8D3D (バンク 0)呼び出し4
$B3FC (バンク 0)呼び出し4
$B3FC (バンク 1)呼び出し4
$B404 (バンク 0)呼び出し4
$B9E4 (バンク 0)呼び出し4
$B9E4 (バンク 1)呼び出し4
$BC7A (バンク 0)テーブル4
$BC80 (バンク 1)テーブル4
$BF19 (バンク 0)呼び出し4
$BF19 (バンク 1)呼び出し4
$C2C0 (バンク 7)呼び出し4
$C552 (バンク 7)テーブル4
$C801 (バンク 7)テーブル4
$C8B0 (バンク 7)呼び出し4
$C8BB (バンク 7)呼び出し4
$C8D1 (バンク 7)テーブル4
$CA18 (バンク 7)呼び出し4
$CB8E (バンク 7)呼び出し4
$CBFD (バンク 7)呼び出し4
$E193 (バンク 7)呼び出し4
$E720 (バンク 7)呼び出し4
$EA05 (バンク 7)呼び出し4
$EA26 (バンク 7)テーブル4
$EC93 (バンク 7)呼び出し4
$EC9B (バンク 7)呼び出し4
$ED5B (バンク 7)呼び出し4
$ED65 (バンク 7)呼び出し4
$ED98 (バンク 7)呼び出し4
$EF00 (バンク 7)呼び出し4
$EFF8 (バンク 7)呼び出し4
$F01C (バンク 7)呼び出し4
$8142 (バンク 0)テーブル3
$B40E (バンク 1)呼び出し3
$B41D (バンク 1)呼び出し3
$B43E (バンク 1)呼び出し3
$B368 (バンク 0)呼び出し2
$B374 (バンク 0)呼び出し2
$B695 (バンク 0)テーブル2
$CF6B (バンク 7)呼び出し2
$DC8F (バンク 7)呼び出し2
$DCC3 (バンク 7)呼び出し2
$DE3D (バンク 7)呼び出し2
$DFDF (バンク 7)呼び出し2
$B878 (バンク 0)テーブル1

待つ場所

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

場所何であるか、その証拠
$C42F (バンク 7)
フレーム待ち: 待つ相手のバイト $001A、入った回数 34、周回 20,860、フレーム割り込みの下での書き込み 1,976、全フレーム 2,302
$C442 (バンク 7)
フレーム待ち: 待つ相手のバイト $001A、入った回数 114、周回 410,730、フレーム割り込みの下での書き込み 1,976、全フレーム 2,302

ジャンプエンジンのテーブル

テーブルはそれぞれ、エンジンへの呼び出しの直後にある。項目は、走行が選ぶのを見た所までを数える。本当のテーブルはもっと長いかもしれない。最後の列は、その値が項目を選んだメモリのバイトで、追えた場合だけ書いてある: ゲームのモードか、物体の一つが今していることだ。

場所項目選ばれた数選んだバイト
$802A (バンク 0)289$001F
$C141 (バンク 7)93$001E
$EA1C (バンク 7)53
$EAE4 (バンク 7)21

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

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

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

起点届いたバイト命令含まれる位置
$03002553
$00002242
$05001931
$05091931
$02601602
$007A1011
$0405813
$040F812
$0400811
$0401811
$0404811
$0409811

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

バイト読み書き書くルーチン読むルーチン
$001A4,469,53036
$0001766,02566
$0000676,13566
$064D534,00346
$00E4117,69923
$00E5117,69923
$00E259,24966
$00E359,22566
$00E039,85666
$00E139,85666
$000237,87766
$000336,59266
$001423,51014
$002E19,75622
$002F17,96422
$065C15,10236
$002A14,16412
$00EB11,37823
$001D11,05236
$00189,83713
$69979,25634
$00128,94716
$001F8,57266
$00157,80012

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

すべてのゲーム