NEStinymachines

Battle Chess (USA)

Battle Chess (USA) は MMC1 の基板に載り、プログラムは 262,144 バイト。電源投入から 400 歩のクロールが、新しいコードを見つけた道筋を 29 本残した。それらを 23,529 フレームにわたって再生すると、プログラムのうち 7,626 バイト、3 パーセントが実行された。

規則が名付けたもの

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

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

場所入り方回数何であるか、その証拠
$C160 (バンク 15)呼び出し47,597
バンク切り替え: 書き込み 237,985、ブランク中 1,020、描画中 236,965
$C4EF (バンク 15)毎フレーム(NMI)11,271
スクロールの書き手: 走ったフレーム 11,414、ブランク中の書き込み 18,154
$D42F (バンク 15)呼び出し11,178
スプライトの書き手: 走ったフレーム 11,321、スプライトのページへの書き込み 2,813,343
$C764 (バンク 15)呼び出し11,152
パッドの読み取り: ポート $4016、一フレームの読み 8、一フレームのストローブ 2
パッドの読み取り: ポート $4017、一フレームの読み 8、一フレームのストローブ 2
$C6D0 (バンク 15)呼び出し8,977
パレットの書き手: 走ったフレーム 8,977、書き込み 287,264
画面メモリへの書き手: 走ったフレーム 8,977、書き込み 287,264、ブランク中 287,264、描画中 0
$D4A0 (バンク 15)呼び出し3,570
スプライトの書き手: 走ったフレーム 1,933、スプライトのページへの書き込み 58,768
$D05E (バンク 15)呼び出し1,879
スプライトの書き手: 走ったフレーム 1,877、スプライトのページへの書き込み 3,754
$8000 (バンク 14)呼び出し1,877
サウンドドライバ: 走ったフレーム 1,877、書き込み 33
$C35F (バンク 15)呼び出し1,540
フレーム待ち: 待つ相手のバイト $0030、入った回数 1,538、周回 3,941,011、フレーム割り込みの下での書き込み 14,052、全フレーム 13,029
$C9FD (バンク 15)呼び出し319
パレットの書き手: 走ったフレーム 291、書き込み 3,040
$C099 (バンク 15)呼び出し95
スプライトの書き手: 走ったフレーム 367、スプライトのページへの書き込み 24,320
$CD8F (バンク 15)呼び出し95
スプライトの書き手: 走ったフレーム 564、スプライトのページへの書き込み 24,064
$C000 (バンク 15)電源投入29
バンク切り替え: 書き込み 232、ブランク中 232、描画中 0
スプライトの書き手: 走ったフレーム 4,754、スプライトのページへの書き込み 7,424
$C174 (バンク 15)呼び出し29
バンク切り替え: 書き込み 145、ブランク中 145、描画中 0
$C156 (バンク 15)呼び出し16,628
$DD3C (バンク 15)呼び出し14,700
$C63C (バンク 15)呼び出し11,178
$D3BE (バンク 15)呼び出し11,178
$D3E2 (バンク 15)呼び出し11,152
$DD55 (バンク 15)呼び出し10,800
$D8EA (バンク 15)呼び出し3,528
$D36F (バンク 15)呼び出し3,460
$EA8A (バンク 15)呼び出し3,264
$EAA3 (バンク 15)呼び出し3,264
$C567 (バンク 15)呼び出し2,686
$DC7C (バンク 15)呼び出し2,450
$C149 (バンク 15)呼び出し2,380
$D93C (バンク 15)呼び出し2,352
$CC8D (バンク 15)呼び出し1,879
$E2A1 (バンク 15)呼び出し1,879
$E2BE (バンク 15)呼び出し1,879
$807A (バンク 14)呼び出し1,877
$CCC8 (バンク 15)呼び出し1,877
$8091 (バンク 14)呼び出し1,844
$E2EB (バンク 15)呼び出し1,835
$E357 (バンク 15)呼び出し1,753
$E727 (バンク 15)テーブル1,640
$C79D (バンク 15)呼び出し1,526
$8D99 (バンク 0)呼び出し1,304
$DBE8 (バンク 15)呼び出し1,300
$8A98 (バンク 0)呼び出し1,294
$DC39 (バンク 15)呼び出し1,150
$D9C9 (バンク 15)呼び出し1,039
$DA3C (バンク 15)呼び出し825
$DAED (バンク 15)呼び出し825
$EB70 (バンク 15)呼び出し768
$80CA (バンク 14)呼び出し763
$CAD3 (バンク 15)呼び出し686
$80E9 (バンク 14)呼び出し664
$81EB (バンク 14)呼び出し664
$DB52 (バンク 15)呼び出し650
$DD73 (バンク 15)呼び出し650
$DD7F (バンク 15)呼び出し650
$DB9D (バンク 15)呼び出し575
$DD6D (バンク 15)呼び出し575
$DD79 (バンク 15)呼び出し575
$CA93 (バンク 15)呼び出し566
$D980 (バンク 15)呼び出し392
$C103 (バンク 15)呼び出し369
$C367 (バンク 15)呼び出し351
$8283 (バンク 14)呼び出し297
$C343 (バンク 15)呼び出し241
$C0EF (バンク 15)呼び出し239
$C0F8 (バンク 15)呼び出し239
$9819 (バンク 0)呼び出し232
$97E5 (バンク 0)呼び出し217
$97A7 (バンク 0)呼び出し215
$9CC1 (バンク 0)呼び出し215
$C931 (バンク 15)呼び出し176
$C9C7 (バンク 15)呼び出し176
$CDE1 (バンク 15)呼び出し161
$CDD6 (バンク 15)呼び出し160
$C0E0 (バンク 15)呼び出し157
$8C9A (バンク 0)呼び出し122
$CEE1 (バンク 15)呼び出し120
$8C6E (バンク 0)呼び出し118
$8115 (バンク 14)呼び出し99
$8CCC (バンク 0)呼び出し98
$C04C (バンク 15)呼び出し96
$C13E (バンク 15)呼び出し96
$C074 (バンク 15)呼び出し95
$C143 (バンク 15)呼び出し95
$82A9 (バンク 14)呼び出し87
$8355 (バンク 14)呼び出し87
$CAC5 (バンク 15)呼び出し77
$CACA (バンク 15)呼び出し77
$E6B2 (バンク 15)テーブル76
$E1DF (バンク 15)呼び出し67
$C0D3 (バンク 15)呼び出し65
$CA5A (バンク 15)呼び出し64
$CA85 (バンク 15)呼び出し63
$EA66 (バンク 15)呼び出し52
$880C (バンク 0)呼び出し51
$CE13 (バンク 15)呼び出し51
$CE67 (バンク 15)呼び出し51
$CEF1 (バンク 15)呼び出し51
$CFC8 (バンク 15)呼び出し51
$D00C (バンク 15)呼び出し51
$E1FC (バンク 15)呼び出し51
$E23B (バンク 15)呼び出し51
$E373 (バンク 15)呼び出し51
$E3DF (バンク 15)呼び出し51
$EA78 (バンク 15)呼び出し51
$C8C0 (バンク 15)呼び出し38
$E6D6 (バンク 15)テーブル38
$E6DF (バンク 15)テーブル38
$80B9 (バンク 14)呼び出し33
$CCC0 (バンク 15)呼び出し33
$E4E4 (バンク 15)テーブル33
$8A16 (バンク 0)呼び出し29
$C01F (バンク 15)割り込み(IRQ)29
$C3B7 (バンク 15)呼び出し29
$EB1F (バンク 15)呼び出し29
$EB43 (バンク 15)呼び出し28
$C3BE (バンク 15)呼び出し27
$8CFB (バンク 13)呼び出し26
$8D2B (バンク 13)呼び出し26
$8FAE (バンク 13)呼び出し26
$9698 (バンク 0)呼び出し26
$96B7 (バンク 0)呼び出し26
$E87F (バンク 15)呼び出し26
$EA02 (バンク 15)呼び出し26
$EA32 (バンク 15)呼び出し26
$EAFD (バンク 15)呼び出し26
$96F0 (バンク 0)呼び出し25
$D7FA (バンク 15)呼び出し25
$D826 (バンク 15)呼び出し25
$8A4F (バンク 0)呼び出し24
$9C63 (バンク 0)呼び出し23
$CC9F (バンク 15)呼び出し17
$8D41 (バンク 0)呼び出し16
$8A54 (バンク 0)呼び出し14
$8C53 (バンク 0)呼び出し10
$8B65 (バンク 0)呼び出し7
$8D7C (バンク 0)呼び出し7
$99ED (バンク 0)呼び出し4
$8BCC (バンク 0)呼び出し3
$CE87 (バンク 15)呼び出し3
$E1ED (バンク 15)呼び出し3
$8AF9 (バンク 0)呼び出し2
$8B36 (バンク 0)呼び出し2
$914E (バンク 0)テーブル2
$9DA1 (バンク 0)テーブル2
$9DE4 (バンク 0)呼び出し2
$E558 (バンク 15)テーブル2
$E669 (バンク 15)テーブル2
$E67B (バンク 15)呼び出し2
$995D (バンク 0)呼び出し1

待つ場所

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

場所何であるか、その証拠
$C150 (バンク 15)
フレーム待ち: 待つ相手のバイト $03E9、入った回数 1,790、周回 6,623,410、フレーム割り込みの下での書き込み 18,110、全フレーム 13,029
$C3B9 (バンク 15)
フレーム待ち: 待つ相手のバイト $0030、入った回数 28、周回 10,692,043、フレーム割り込みの下での書き込み 14,052、全フレーム 13,029
$C3C0 (バンク 15)
フレーム待ち: 待つ相手のバイト $0663、入った回数 26、周回 5,429,565、フレーム割り込みの下での書き込み 178,432、全フレーム 13,029
$C3CA (バンク 15)
フレーム待ち: 待つ相手のバイト $0663、入った回数 26、周回 1,907,047、フレーム割り込みの下での書き込み 178,432、全フレーム 13,029
$C568 (バンク 15)
フレーム待ち: 待つ相手のバイト $002B、入った回数 3,454、周回 2,557,546、フレーム割り込みの下での書き込み 2,101、全フレーム 13,029
$D82A (バンク 15)
フレーム待ち: 待つ相手のバイト $002B、入った回数 392、周回 1,199,685、フレーム割り込みの下での書き込み 2,101、全フレーム 13,029
$DA9B (バンク 15)
フレーム待ち: 待つ相手のバイト $002B、入った回数 825、周回 1,265,075、フレーム割り込みの下での書き込み 2,101、全フレーム 13,029

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

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

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

起点届いたバイト命令含まれる位置
$07002566
$02002563
$00002561
$03002561
$04002561
$05002561
$06002561
$00042313
$05601201
$00051131
$000A1131
$000B1131

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

バイト読み書き書くルーチン読むルーチン
$06637,603,82834
$03E96,660,50523
$002B5,046,92866
$005D972,09154
$0032769,77066
$0033314,88766
$000E248,47766
$0007187,29166
$0664177,11133
$00A4169,17955
$00A2162,18656
$00A3161,90856
$006F123,51955
$00A6118,74756
$039075,19866
$039375,19866
$039174,84866
$039474,84866
$000473,76965
$000D70,58666
$000F54,72066
$002641,75866
$000C41,30966
$00A535,22654

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

すべてのゲーム