Zelda II - The Adventure of Link (USA)
Zelda II - The Adventure of Link (USA) は MMC1 の基板に載り、プログラムは 131,072 バイト。電源投入から 400 歩のクロールが、新しいコードを見つけた道筋を 23 本残した。それらを 13,103 フレームにわたって再生すると、プログラムのうち 3,334 バイト、3 パーセントが実行された。
規則が名付けたもの
- パッドの読み取り: 2
- フレーム待ち: 1
- ジャンプエンジン: 1
- バンク切り替え: 7
- 画面メモリへの書き手: 1
- パレットの書き手: 1
- スプライトの書き手: 8
- スクロールの書き手: 1
- サウンドドライバ: 1
走行が入った 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) | 2 | 2 | $076C |
| $A705 (バンク 5) | 4 | 4 | $0736 |
| $B236 (バンク 5) | 2 | 2 | $0736 |
| $B248 (バンク 5) | 3 | 3 | $073B |
| $B3D5 (バンク 5) | 3 | 3 | $073B |
ルーチンが共有するメモリ
あるルーチンが書き、別のルーチンが読んだメモリは 660 バイト。添字を通して届いた場所は 25 か所で、メモリの中のテーブルや、物体の枠の並びはそう見える。
添字で届いた範囲: 位置を含むもの、次いで最も長いもの
| 起点 | 届いたバイト | 命令 | 含まれる位置 |
|---|---|---|---|
| $0200 | 256 | 2 | |
| $0300 | 256 | 1 | |
| $0400 | 256 | 1 | |
| $0500 | 256 | 1 | |
| $0600 | 256 | 1 | |
| $0700 | 256 | 1 | |
| $0000 | 224 | 2 | |
| $0267 | 108 | 3 | |
| $02D3 | 44 | 3 | |
| $0302 | 34 | 2 | |
| $00E0 | 32 | 1 | |
| $0305 | 30 | 1 |
最も忙しい共有バイト 24 個
| バイト | 読み書き | 書くルーチン | 読むルーチン |
|---|---|---|---|
| $0736 | 3,683,826 | 6 | 6 |
| $0000 | 328,819 | 6 | 6 |
| $0002 | 162,053 | 6 | 6 |
| $0001 | 127,993 | 6 | 6 |
| $00F5 | 117,068 | 3 | 5 |
| $0006 | 115,064 | 5 | 3 |
| $0003 | 64,397 | 6 | 5 |
| $000A | 51,224 | 4 | 2 |
| $0008 | 41,306 | 4 | 2 |
| $000C | 19,769 | 4 | 6 |
| $000D | 19,768 | 6 | 6 |
| $00FF | 19,383 | 3 | 4 |
| $00F7 | 18,661 | 2 | 5 |
| $0007 | 15,754 | 3 | 2 |
| $000B | 13,091 | 4 | 2 |
| $001A | 9,733 | 4 | 4 |
| $0012 | 9,619 | 3 | 3 |
| $0302 | 7,741 | 5 | 5 |
| $00EA | 7,358 | 4 | 2 |
| $001D | 7,088 | 3 | 2 |
| $00E9 | 5,120 | 3 | 3 |
| $0303 | 4,339 | 4 | 5 |
| $0304 | 4,339 | 4 | 5 |
| $0305 | 4,339 | 4 | 5 |
このページはゲームのバイトを一つも見せない。これらの数を読み取ったリスティングは、カートリッジと一緒に留まる。