NEStinymachines

Legend of Zelda, The (USA) (Rev 1)

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

規則が名付けたもの

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

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

場所入り方回数何であるか、その証拠
$FFAC (バンク 7)呼び出し8,128
バンク切り替え: 書き込み 40,640、ブランク中 13,619、描画中 27,021
$E5E2 (バンク 7)呼び出し5,934
ジャンプエンジン: テーブル 7、そこを通った跳躍 5,934
$98F5 (バンク 2)呼び出し4,230
スプライトの書き手: 走ったフレーム 1,410、スプライトのページへの書き込み 67,680
$A0F6 (バンク 6)呼び出し2,616
パレットの書き手: 走ったフレーム 2,616、書き込み 2,800
画面メモリへの書き手: 走ったフレーム 2,616、書き込み 27,706、ブランク中 8,169、描画中 19,537
$E484 (バンク 7)毎フレーム(NMI)2,616
割り込みの中のゲーム: 走ったフレーム 2,729、全フレーム 3,378、待機の場所 $E45B
乱数のバイト: 走ったフレーム 2,729、バイト $0018,$0019,$001A、回転 3、排他的論理和 1
スクロールの書き手: 走ったフレーム 2,729、ブランク中の書き込み 8,082
$E62D (バンク 7)呼び出し2,615
パッドの読み取り: ポート $4017、一フレームの読み 17、一フレームのストローブ 6
乱数のバイト: 走ったフレーム 2,695、バイト $0000,$00F8,$00F9、回転 3、排他的論理和 1
$E640 (バンク 7)呼び出し2,615
パッドの読み取り: ポート $4016、一フレームの読み 18、一フレームのストローブ 4
乱数のバイト: 走ったフレーム 2,615、バイト $0000,$00F8,$00F9、回転 3、排他的論理和 1
$9C67 (バンク 0)呼び出し2,598
サウンドドライバ: 走ったフレーム 2,598、書き込み 11,544
$986B (バンク 2)呼び出し1,410
スプライトの書き手: 走ったフレーム 1,410、スプライトのページへの書き込み 157,920
$9943 (バンク 2)呼び出し1,410
スプライトの書き手: 走ったフレーム 1,410、スプライトのページへの書き込み 22,560
$9EF0 (バンク 2)テーブル528
スプライトの書き手: 走ったフレーム 528、スプライトのページへの書き込み 528
$A1C3 (バンク 2)呼び出し528
スプライトの書き手: 走ったフレーム 528、スプライトのページへの書き込み 1,056
$A1DD (バンク 2)呼び出し528
スプライトの書き手: 走ったフレーム 528、スプライトのページへの書き込み 1,056
$A204 (バンク 2)呼び出し528
スプライトの書き手: 走ったフレーム 528、スプライトのページへの書き込み 3
$A59A (バンク 2)テーブル326
スプライトの書き手: 走ったフレーム 326、スプライトのページへの書き込み 1,252
$E5F7 (バンク 7)呼び出し80
スプライトの書き手: 走ったフレーム 80、スプライトのページへの書き込み 5,120
$FF50 (バンク 7)電源投入18
バンク切り替え: 書き込み 162、ブランク中 162、描画中 0
$FF98 (バンク 7)呼び出し18
バンク切り替え: 書き込み 90、ブランク中 90、描画中 0
$A18E (バンク 2)呼び出し13
スプライトの書き手: 走ったフレーム 13、スプライトのページへの書き込み 180
$A351 (バンク 2)呼び出し83,520
$A42B (バンク 2)呼び出し16,965
$9C50 (バンク 0)呼び出し4,278
$9F7C (バンク 0)呼び出し2,852
$A080 (バンク 6)呼び出し2,616
$9825 (バンク 0)呼び出し2,598
$98CC (バンク 0)呼び出し2,598
$99A0 (バンク 0)呼び出し2,598
$9AD3 (バンク 0)呼び出し2,598
$9B83 (バンク 0)呼び出し2,598
$EB30 (バンク 7)呼び出し2,318
$9020 (バンク 2)テーブル1,442
$903B (バンク 2)テーブル1,410
$90CF (バンク 2)呼び出し1,410
$95AC (バンク 2)テーブル1,410
$98C3 (バンク 2)呼び出し1,410
$A1F7 (バンク 2)呼び出し1,056
$A011 (バンク 2)呼び出し528
$E625 (バンク 7)呼び出し403
$A591 (バンク 2)テーブル339
$E8F8 (バンク 7)呼び出し280
$A307 (バンク 2)呼び出し192
$E96F (バンク 7)テーブル112
$9EE2 (バンク 0)呼び出し102
$A35D (バンク 2)呼び出し96
$E94B (バンク 7)テーブル85
$9D2A (バンク 2)呼び出し78
$9C27 (バンク 0)呼び出し77
$9FDE (バンク 2)呼び出し65
$E9C3 (バンク 7)テーブル65
$E47D (バンク 7)呼び出し64
$E580 (バンク 7)呼び出し64
$9C09 (バンク 0)呼び出し54
$804F (バンク 2)呼び出し51
$9C3B (バンク 0)呼び出し51
$A4C4 (バンク 2)テーブル48
$E46D (バンク 7)呼び出し46
$A3E1 (バンク 2)呼び出し39
$A437 (バンク 2)呼び出し39
$8D84 (バンク 1)呼び出し34
$9BFF (バンク 0)呼び出し34
$9C1D (バンク 0)呼び出し34
$9EDC (バンク 0)呼び出し34
$9F72 (バンク 0)呼び出し34
$A2A0 (バンク 2)テーブル32
$808C (バンク 6)呼び出し18
$80C6 (バンク 6)呼び出し18
$80D7 (バンク 6)呼び出し18
$8D00 (バンク 1)呼び出し18
$B4AC (バンク 5)呼び出し18
$B4E8 (バンク 5)呼び出し18
$E45E (バンク 7)呼び出し18
$E608 (バンク 7)呼び出し18
$94E7 (バンク 2)テーブル17
$9512 (バンク 2)テーブル17
$9545 (バンク 2)テーブル17
$905D (バンク 2)テーブル16
$A47F (バンク 2)テーブル16
$A4BD (バンク 2)テーブル16
$A51E (バンク 2)テーブル16
$A0F0 (バンク 2)呼び出し13
$A5DF (バンク 2)テーブル13
$9FC5 (バンク 2)テーブル9
$A017 (バンク 2)呼び出し2

待つ場所

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

場所何であるか、その証拠
$E45B (バンク 7)
待機のループ: 周回 19,870,380、一フレームの周回 5,882

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

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

場所項目選ばれた数選んだバイト
$900E (バンク 2)33$042D
$9035 (バンク 2)33$0013
$90DA (バンク 2)11$042D
$A292 (バンク 2)75$0013
$A596 (バンク 2)22$0013
$E923 (バンク 7)23$0012, $0016

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

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

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

起点届いたバイト命令含まれる位置
$02012534
$02002533
$02022532
$02032532
$00002406
$01FF1131
$0302529
$0305442
$0001251
$0638243
$0309181
$0303161

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

バイト読み書き書くルーチン読むルーチン
$00001,642,77866
$00011,484,13766
$00021,115,85066
$0003683,63966
$00F8291,35216
$000E169,02456
$000F168,20855
$000435,28366
$000528,51666
$00FA16,44313
$001515,93125
$00147,97563
$00E37,88212
$00077,58255
$00116,82666
$03026,04966
$005C5,26822
$06005,26542
$06025,25952
$06045,25242
$00E05,24913
$06015,23222
$00125,07536
$6E074,84823

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

すべてのゲーム