NEStinymachines

Zelda II - The Adventure of Link (USA)

Zelda II - The Adventure of Link (USA) は MMC1 の基板に載り、プログラムは 131,072 バイト。電源投入から 400 歩のクロールが、新しいコードを見つけた道筋を 23 本残した。それらを 13,103 フレームにわたって再生すると、プログラムのうち 3,334 バイト、3 パーセントが実行された。

規則が名付けたもの

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

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

場所入り方回数何であるか、その証拠
$D385 (バンク 7)呼び出し6,474
ジャンプエンジン: テーブル 6、そこを通った跳躍 6,458
$D367 (バンク 7)呼び出し4,862
パッドの読み取り: ポート $4016、一フレームの読み 16、一フレームのストローブ 4
パッドの読み取り: ポート $4017、一フレームの読み 16、一フレームのストローブ 4
$FFCC (バンク 7)呼び出し2,477
バンク切り替え: 書き込み 12,385、ブランク中 12,090、描画中 295
$8000 (バンク 6)呼び出し2,431
サウンドドライバ: 走ったフレーム 2,372、書き込み 4,862
$C032 (バンク 7)呼び出し2,431
バンク切り替え: 書き込み 12,155、ブランク中 11,860、描画中 295
$C07B (バンク 7)毎フレーム(NMI)2,431
スクロールの書き手: 走ったフレーム 2,431、ブランク中の書き込み 9,606
$D2EC (バンク 7)呼び出し2,431
パレットの書き手: 走ったフレーム 2,431、書き込み 1,344
画面メモリへの書き手: 走ったフレーム 2,431、書き込み 57,502、ブランク中 39,752、描画中 17,750
$D24C (バンク 7)呼び出し1,607
スプライトの書き手: 走ったフレーム 1,626、スプライトのページへの書き込み 102,848
$B574 (バンク 5)呼び出し1,421
スプライトの書き手: 走ったフレーム 1,421、スプライトのページへの書き込み 5,684
$B596 (バンク 5)呼び出し1,421
スプライトの書き手: 走ったフレーム 1,421、スプライトのページへの書き込み 17,052
$B678 (バンク 5)テーブル852
スプライトの書き手: 走ったフレーム 852、スプライトのページへの書き込み 36,740
$A8CF (バンク 5)呼び出し732
スプライトの書き手: 走ったフレーム 751、スプライトのページへの書き込み 4,297
$A918 (バンク 5)呼び出し732
スプライトの書き手: 走ったフレーム 701、スプライトのページへの書き込み 3,333
$A8C1 (バンク 5)呼び出し23
スプライトの書き手: 走ったフレーム 23、スプライトのページへの書き込み 5,888
$BF9D (バンク 5)呼び出し23
バンク切り替え: 書き込み 115、ブランク中 0、描画中 115
$BFB1 (バンク 5)呼び出し23
バンク切り替え: 書き込み 115、ブランク中 0、描画中 115
$FF70 (バンク 7)電源投入23
バンク切り替え: 書き込み 92、ブランク中 92、描画中 0
$FF9D (バンク 7)呼び出し23
バンク切り替え: 書き込み 115、ブランク中 115、描画中 0
$FFB1 (バンク 7)呼び出し23
バンク切り替え: 書き込み 115、ブランク中 115、描画中 0
$D250 (バンク 7)呼び出し19
スプライトの書き手: 走ったフレーム 19、スプライトのページへの書き込み 1,197
$BAB8 (バンク 5)呼び出し12,768
$821B (バンク 6)呼び出し2,431
$826A (バンク 6)呼び出し2,431
$D346 (バンク 7)呼び出し2,431
$A6D9 (バンク 5)呼び出し2,428
$D174 (バンク 7)呼び出し2,428
$D168 (バンク 7)呼び出し2,412
$B8D2 (バンク 5)呼び出し1,923
$B22D (バンク 5)テーブル1,565
$B5EA (バンク 5)呼び出し1,282
$B623 (バンク 5)呼び出し1,282
$B663 (バンク 5)呼び出し1,282
$B5B5 (バンク 5)呼び出し1,227
$B3CF (バンク 5)テーブル886
$810F (バンク 6)呼び出し881
$8116 (バンク 6)呼び出し881
$A6F0 (バンク 5)テーブル847
$A737 (バンク 5)テーブル732
$B242 (バンク 5)テーブル679
$B261 (バンク 5)テーブル641
$B502 (バンク 5)呼び出し641
$B5D8 (バンク 5)呼び出し641
$B603 (バンク 5)呼び出し641
$B63C (バンク 5)呼び出し641
$B529 (バンク 5)呼び出し586
$815A (バンク 6)呼び出し369
$8167 (バンク 6)呼び出し369
$BA6F (バンク 5)呼び出し126
$D261 (バンク 7)呼び出し82
$D263 (バンク 7)呼び出し82
$D266 (バンク 7)呼び出し82
$8147 (バンク 6)呼び出し72
$8120 (バンク 6)呼び出し69
$AF1F (バンク 5)テーブル69
$818C (バンク 6)呼び出し57
$BA40 (バンク 5)呼び出し57
$8293 (バンク 6)呼び出し42
$B24E (バンク 5)テーブル36
$814F (バンク 6)呼び出し29
$A6A0 (バンク 5)呼び出し23
$A70F (バンク 5)テーブル23
$A72E (バンク 5)テーブル23
$ADE0 (バンク 5)呼び出し23
$AF2B (バンク 5)テーブル23
$AF34 (バンク 5)テーブル23
$B960 (バンク 5)呼び出し23
$D281 (バンク 7)呼び出し23
$D29C (バンク 7)呼び出し23
$B40A (バンク 5)テーブル19
$B412 (バンク 5)テーブル17

待つ場所

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

場所何であるか、その証拠
$C010 (バンク 7)
フレーム待ち: 待つ相手のバイト $0736、入った回数 19、周回 3,680,259、フレーム割り込みの下での書き込み 174、全フレーム 2,603

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

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

場所項目選ばれた数選んだバイト
$A6DF (バンク 5)22$076C
$A705 (バンク 5)44$0736
$B236 (バンク 5)22$0736
$B248 (バンク 5)33$073B
$B3D5 (バンク 5)33$073B

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

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

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

起点届いたバイト命令含まれる位置
$02002562
$03002561
$04002561
$05002561
$06002561
$07002561
$00002242
$02671083
$02D3443
$0302342
$00E0321
$0305301

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

バイト読み書き書くルーチン読むルーチン
$07363,683,82666
$0000328,81966
$0002162,05366
$0001127,99366
$00F5117,06835
$0006115,06453
$000364,39765
$000A51,22442
$000841,30642
$000C19,76946
$000D19,76866
$00FF19,38334
$00F718,66125
$000715,75432
$000B13,09142
$001A9,73344
$00129,61933
$03027,74155
$00EA7,35842
$001D7,08832
$00E95,12033
$03034,33945
$03044,33945
$03054,33945

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

すべてのゲーム