Mike Tyson's Punch-Out!! (Japan, USA) (En)
Mike Tyson's Punch-Out!! (Japan, USA) (En) は MMC2 の基板に載り、プログラムは 131,072 バイト。電源投入から 400 歩のクロールが、新しいコードを見つけた道筋を 51 本残した。それらを 58,111 フレームにわたって再生すると、プログラムのうち 16,633 バイト、13 パーセントが実行された。
規則が名付けたもの
- パッドの読み取り: 2
- フレーム待ち: 5
- ジャンプエンジン: 3
- バンク切り替え: 21
- 画面メモリへの書き手: 1
- パレットの書き手: 1
- スプライトの書き手: 16
- スクロールの書き手: 1
- サウンドドライバ: 1
走行が入った 181 個のルーチン
ゲームのコードに入った場所のすべて。呼び出し、割り込み、テーブル経由のジャンプのどれかで入る。規則が名付けたものを先に、規則が見たものと一緒に並べる。
| 場所 | 入り方 | 回数 | 何であるか、その証拠 |
|---|---|---|---|
| $AFA4 (バンク 13) | 呼び出し | 137,386 | パッドの読み取り: ポート $4016、一フレームの読み 31、一フレームのストローブ 0 パッドの読み取り: ポート $4017、一フレームの読み 31、一フレームのストローブ 0 |
| $A008 (バンク 13) | 毎フレーム(NMI) | 47,458 | バンク切り替え: 書き込み 86、ブランク中 86、描画中 0 |
| $AA3C (バンク 13) | 呼び出し | 37,998 | バンク切り替え: 書き込み 37,993、ブランク中 37,446、描画中 547 |
| $AA40 (バンク 13) | 呼び出し | 37,579 | バンク切り替え: 書き込み 37,574、ブランク中 37,022、描画中 552 |
| $A9DF (バンク 13) | 呼び出し | 37,491 | バンク切り替え: 書き込み 37,459、ブランク中 37,459、描画中 0 スクロールの書き手: 走ったフレーム 37,491、ブランク中の書き込み 74,977 |
| $AA6A (バンク 13) | 呼び出し | 37,026 | バンク切り替え: 書き込み 36,975、ブランク中 36,035、描画中 940 |
| $A7A6 (バンク 13) | 呼び出し | 36,849 | スプライトの書き手: 走ったフレーム 35,353、スプライトのページへの書き込み 4 |
| $F40B (バンク 13) | 呼び出し | 22,658 | サウンドドライバ: 走ったフレーム 22,335、書き込み 45,316 |
| $AA48 (バンク 13) | 呼び出し | 1,712 | バンク切り替え: 書き込み 1,708、ブランク中 0、描画中 1,708 |
| $BDB5 (バンク 13) | 呼び出し | 1,638 | スプライトの書き手: 走ったフレーム 1,638、スプライトのページへの書き込み 56,486 |
| $AF0B (バンク 13) | 呼び出し | 1,213 | パレットの書き手: 走ったフレーム 1,213、書き込み 38,807 画面メモリへの書き手: 走ったフレーム 1,213、書き込み 38,807、ブランク中 38,807、描画中 0 |
| $BE1A (バンク 13) | 呼び出し | 1,137 | スプライトの書き手: 走ったフレーム 1,137、スプライトのページへの書き込み 7,057 |
| $AED4 (バンク 13) | 呼び出し | 675 | ジャンプエンジン: テーブル 4、そこを通った跳躍 675 |
| $CC8B (バンク 13) | 呼び出し | 580 | スプライトの書き手: 走ったフレーム 343、スプライトのページへの書き込み 12,792 |
| $D176 (バンク 13) | 呼び出し | 580 | スプライトの書き手: 走ったフレーム 299、スプライトのページへの書き込み 9,284 |
| $D305 (バンク 13) | 呼び出し | 572 | スプライトの書き手: 走ったフレーム 299、スプライトのページへの書き込み 4,576 |
| $AA44 (バンク 13) | 呼び出し | 570 | バンク切り替え: 書き込み 570、ブランク中 18、描画中 552 |
| $C978 (バンク 13) | 呼び出し | 558 | スプライトの書き手: 走ったフレーム 321、スプライトのページへの書き込み 25,884 |
| $AA87 (バンク 13) | 呼び出し | 552 | バンク切り替え: 書き込み 552、ブランク中 0、描画中 552 |
| $9134 (バンク 7) | 呼び出し | 363 | ジャンプエンジン: テーブル 1、そこを通った跳躍 363 |
| $BEFF (バンク 13) | 呼び出し | 144 | スプライトの書き手: 走ったフレーム 72、スプライトのページへの書き込み 972 |
| $AF38 (バンク 13) | 呼び出し | 138 | スプライトの書き手: 走ったフレーム 232、スプライトのページへの書き込み 35,323 |
| $AA5C (バンク 13) | 呼び出し | 121 | バンク切り替え: 書き込み 121、ブランク中 0、描画中 121 |
| $BF3C (バンク 13) | 呼び出し | 102 | バンク切り替え: 書き込み 102、ブランク中 0、描画中 102 |
| $BF55 (バンク 13) | 呼び出し | 102 | バンク切り替え: 書き込み 408、ブランク中 36、描画中 372 |
| $AA64 (バンク 13) | 呼び出し | 82 | バンク切り替え: 書き込み 82、ブランク中 0、描画中 82 |
| $AA54 (バンク 13) | 呼び出し | 69 | バンク切り替え: 書き込み 69、ブランク中 60、描画中 9 |
| $860F (バンク 11) | 呼び出し | 65 | ジャンプエンジン: テーブル 2、そこを通った跳躍 65 |
| $A000 (バンク 13) | 割り込み(IRQ) | 51 | スプライトの書き手: 走ったフレーム 10,834、スプライトのページへの書き込み 21,760 |
| $AA50 (バンク 13) | 呼び出し | 51 | バンク切り替え: 書き込み 51、ブランク中 0、描画中 51 |
| $B666 (バンク 13) | 呼び出し | 49 | バンク切り替え: 書き込み 49、ブランク中 0、描画中 49 スプライトの書き手: 走ったフレーム 98、スプライトのページへの書き込み 196 |
| $B6A1 (バンク 13) | 呼び出し | 49 | バンク切り替え: 書き込み 49、ブランク中 0、描画中 49 |
| $D134 (バンク 13) | 呼び出し | 44 | スプライトの書き手: 走ったフレーム 22、スプライトのページへの書き込み 352 |
| $AF3A (バンク 13) | 呼び出し | 37 | スプライトの書き手: 走ったフレーム 37、スプライトのページへの書き込み 3,552 |
| $BBAA (バンク 13) | 呼び出し | 36 | バンク切り替え: 書き込み 36、ブランク中 0、描画中 36 |
| $BCBE (バンク 13) | 呼び出し | 36 | バンク切り替え: 書き込み 180、ブランク中 0、描画中 180 |
| $BF36 (バンク 13) | 呼び出し | 36 | バンク切り替え: 書き込み 36、ブランク中 0、描画中 36 |
| $D34F (バンク 13) | 呼び出し | 26 | スプライトの書き手: 走ったフレーム 22、スプライトのページへの書き込み 208 |
| $C976 (バンク 13) | 呼び出し | 22 | スプライトの書き手: 走ったフレーム 22、スプライトのページへの書き込み 2,314 |
| $AA9F (バンク 13) | 呼び出し | 18 | バンク切り替え: 書き込み 18、ブランク中 18、描画中 0 |
| $AF43 (バンク 13) | 呼び出し | 9 | スプライトの書き手: 走ったフレーム 9、スプライトのページへの書き込み 108 |
| $A800 (バンク 13) | 呼び出し | 2 | バンク切り替え: 書き込み 2、ブランク中 0、描画中 2 |
| $B001 (バンク 13) | 呼び出し | 85,765 | |
| $8000 (バンク 8) | 呼び出し | 37,579 | |
| $8025 (バンク 8) | 呼び出し | 37,579 | |
| $80CA (バンク 8) | 呼び出し | 37,579 | |
| $84B1 (バンク 8) | 呼び出し | 37,579 | |
| $88E2 (バンク 8) | 呼び出し | 37,579 | |
| $8012 (バンク 7) | 呼び出し | 37,446 | |
| $AF73 (バンク 13) | 呼び出し | 37,446 | |
| $A774 (バンク 13) | 呼び出し | 37,401 | |
| $F412 (バンク 13) | 呼び出し | 22,583 | |
| $F472 (バンク 13) | 呼び出し | 22,502 | |
| $F463 (バンク 13) | 呼び出し | 22,415 | |
| $B021 (バンク 13) | 呼び出し | 17,705 | |
| $AF8D (バンク 13) | 呼び出し | 17,197 | |
| $AFBD (バンク 13) | 呼び出し | 17,153 | |
| $AF02 (バンク 13) | 呼び出し | 13,077 | |
| $BC1F (バンク 13) | 呼び出し | 2,941 | |
| $F429 (バンク 13) | 呼び出し | 2,070 | |
| $BF9E (バンク 13) | 呼び出し | 1,975 | |
| $F400 (バンク 13) | 呼び出し | 1,961 | |
| $F422 (バンク 13) | 呼び出し | 1,564 | |
| $8006 (バンク 7) | 呼び出し | 1,425 | |
| $AF2E (バンク 13) | 呼び出し | 1,415 | |
| $C041 (バンク 13) | 呼び出し | 993 | |
| $C113 (バンク 13) | 呼び出し | 989 | |
| $F41E (バンク 13) | 呼び出し | 936 | |
| $BF99 (バンク 13) | 呼び出し | 694 | |
| $A09A (バンク 13) | 呼び出し | 596 | |
| $8000 (バンク 7) | 呼び出し | 552 | |
| $8003 (バンク 7) | 呼び出し | 552 | |
| $8003 (バンク 11) | 呼び出し | 552 | |
| $8006 (バンク 11) | 呼び出し | 552 | |
| $8009 (バンク 7) | 呼び出し | 552 | |
| $8009 (バンク 11) | 呼び出し | 552 | |
| $800C (バンク 7) | 呼び出し | 552 | |
| $800F (バンク 7) | 呼び出し | 552 | |
| $8015 (バンク 7) | 呼び出し | 552 | |
| $A7C4 (バンク 13) | 呼び出し | 552 | |
| $B034 (バンク 13) | 呼び出し | 552 | |
| $B049 (バンク 13) | 呼び出し | 552 | |
| $B069 (バンク 13) | 呼び出し | 552 | |
| $B10A (バンク 13) | 呼び出し | 552 | |
| $B196 (バンク 13) | 呼び出し | 552 | |
| $B457 (バンク 13) | 呼び出し | 552 | |
| $B530 (バンク 13) | 呼び出し | 552 | |
| $C291 (バンク 13) | 呼び出し | 552 | |
| $C3D9 (バンク 13) | 呼び出し | 552 | |
| $C440 (バンク 13) | 呼び出し | 552 | |
| $C4E7 (バンク 13) | 呼び出し | 552 | |
| $C890 (バンク 13) | 呼び出し | 552 | |
| $B549 (バンク 13) | テーブル | 543 | |
| $C850 (バンク 13) | 呼び出し | 486 | |
| $AF04 (バンク 13) | 呼び出し | 408 | |
| $90FF (バンク 6) | 呼び出し | 394 | |
| $9158 (バンク 7) | 呼び出し | 374 | |
| $C24A (バンク 13) | 呼び出し | 212 | |
| $9151 (バンク 7) | 呼び出し | 192 | |
| $AE9B (バンク 13) | 呼び出し | 182 | |
| $C079 (バンク 13) | 呼び出し | 173 | |
| $C09D (バンク 13) | 呼び出し | 173 | |
| $8B54 (バンク 7) | 呼び出し | 167 | |
| $C0BB (バンク 13) | 呼び出し | 147 | |
| $BEB3 (バンク 13) | 呼び出し | 144 | |
| $C0E0 (バンク 13) | 呼び出し | 138 | |
| $BF21 (バンク 13) | 呼び出し | 129 | |
| $AA1D (バンク 13) | 呼び出し | 125 | |
| $C105 (バンク 13) | 呼び出し | 108 | |
| $AA6E (バンク 13) | 呼び出し | 104 | |
| $AA0A (バンク 13) | 呼び出し | 102 | |
| $8B19 (バンク 7) | テーブル | 97 | |
| $BF7E (バンク 13) | 呼び出し | 96 | |
| $8B50 (バンク 7) | テーブル | 95 | |
| $BD9B (バンク 13) | 呼び出し | 93 | |
| $BF0D (バンク 13) | 呼び出し | 93 | |
| $BC5F (バンク 13) | 呼び出し | 92 | |
| $BEE1 (バンク 13) | 呼び出し | 85 | |
| $AEA5 (バンク 13) | 呼び出し | 83 | |
| $F4EF (バンク 13) | 呼び出し | 80 | |
| $8AF0 (バンク 7) | テーブル | 73 | |
| $8B39 (バンク 7) | テーブル | 72 | |
| $BEC9 (バンク 13) | 呼び出し | 72 | |
| $C85C (バンク 13) | 呼び出し | 72 | |
| $AEF8 (バンク 13) | 呼び出し | 63 | |
| $8906 (バンク 8) | 呼び出し | 53 | |
| $801E (バンク 7) | 呼び出し | 51 | |
| $9000 (バンク 6) | 呼び出し | 51 | |
| $9030 (バンク 6) | 呼び出し | 51 | |
| $A75B (バンク 13) | 呼び出し | 51 | |
| $800E (バンク 9) | 呼び出し | 49 | |
| $A9D1 (バンク 13) | 呼び出し | 45 | |
| $B6CB (バンク 13) | 呼び出し | 44 | |
| $BFAE (バンク 13) | 呼び出し | 44 | |
| $BFB2 (バンク 13) | 呼び出し | 44 | |
| $F518 (バンク 13) | 呼び出し | 37 | |
| $AA06 (バンク 13) | 呼び出し | 36 | |
| $AAE5 (バンク 13) | 呼び出し | 36 | |
| $AB4E (バンク 13) | 呼び出し | 36 | |
| $AE89 (バンク 13) | 呼び出し | 36 | |
| $BAE3 (バンク 13) | 呼び出し | 36 | |
| $BE96 (バンク 13) | 呼び出し | 36 | |
| $BEA1 (バンク 13) | 呼び出し | 36 | |
| $BEED (バンク 13) | 呼び出し | 36 | |
| $BFAA (バンク 13) | 呼び出し | 36 | |
| $BFF2 (バンク 13) | 呼び出し | 36 | |
| $C720 (バンク 13) | テーブル | 36 | |
| $C784 (バンク 13) | テーブル | 36 | |
| $910B (バンク 7) | 呼び出し | 26 | |
| $8B1E (バンク 7) | テーブル | 22 | |
| $C58D (バンク 13) | テーブル | 22 | |
| $8000 (バンク 11) | 呼び出し | 18 | |
| $8363 (バンク 11) | テーブル | 18 | |
| $C118 (バンク 13) | 呼び出し | 18 | |
| $83AE (バンク 11) | テーブル | 17 | |
| $83A7 (バンク 11) | テーブル | 13 | |
| $C5F9 (バンク 13) | テーブル | 13 | |
| $802D (バンク 7) | 呼び出し | 9 | |
| $83F4 (バンク 11) | テーブル | 9 | |
| $85D1 (バンク 11) | 呼び出し | 9 | |
| $AB58 (バンク 13) | 呼び出し | 9 | |
| $AE5F (バンク 13) | 呼び出し | 9 | |
| $AF5B (バンク 13) | 呼び出し | 9 | |
| $B5A9 (バンク 13) | テーブル | 9 | |
| $BED9 (バンク 13) | 呼び出し | 9 | |
| $8DF4 (バンク 7) | 呼び出し | 8 | |
| $C670 (バンク 13) | テーブル | 8 | |
| $C70C (バンク 13) | テーブル | 8 | |
| $A4C6 (バンク 13) | 呼び出し | 7 | |
| $8027 (バンク 7) | 呼び出し | 5 | |
| $8E3D (バンク 7) | 呼び出し | 5 | |
| $8493 (バンク 11) | テーブル | 4 | |
| $84BE (バンク 11) | テーブル | 4 | |
| $8ADD (バンク 7) | テーブル | 4 | |
| $BFF6 (バンク 13) | 呼び出し | 4 | |
| $8021 (バンク 7) | 呼び出し | 3 | |
| $8024 (バンク 7) | 呼び出し | 3 | |
| $802A (バンク 7) | 呼び出し | 3 | |
| $AEF1 (バンク 13) | 呼び出し | 2 | |
| $801B (バンク 7) | 呼び出し | 1 | |
| $8E15 (バンク 7) | 呼び出し | 1 |
待つ場所
規則が名付けたループのうち、ルーチンの内側にあって、それ自身はコードの入口ではないもの。
| 場所 | 何であるか、その証拠 |
|---|---|
| $A8A9 (バンク 13) | フレーム待ち: 待つ相手のバイト $00D9、入った回数 36、周回 1,101、一周ごとの呼び出し 2、フレーム割り込みの下での書き込み 15,815、全フレーム 47,611 |
| $A90B (バンク 13) | フレーム待ち: 待つ相手のバイト $0000、入った回数 9、周回 525、一周ごとの呼び出し 1、フレーム割り込みの下での書き込み 9、全フレーム 47,611 |
| $ABF1 (バンク 13) | フレーム待ち: 待つ相手のバイト $0392、入った回数 9、周回 855、一周ごとの呼び出し 2、フレーム割り込みの下での書き込み 18、全フレーム 47,611 |
| $AF06 (バンク 13) | フレーム待ち: 待つ相手のバイト $001F、入った回数 13,653、周回 164,891,623、フレーム割り込みの下での書き込み 74,942、全フレーム 47,611 |
| $BF83 (バンク 13) | フレーム待ち: 待つ相手のバイト $04C8、入った回数 96、周回 2,710、一周ごとの呼び出し 1、フレーム割り込みの下での書き込み 379、全フレーム 47,611 |
ジャンプエンジンのテーブル
テーブルはそれぞれ、エンジンへの呼び出しの直後にある。項目は、走行が選ぶのを見た所までを数える。本当のテーブルはもっと長いかもしれない。最後の列は、その値が項目を選んだメモリのバイトで、追えた場合だけ書いてある: ゲームのモードか、物体の一つが今していることだ。
| 場所 | 項目 | 選ばれた数 | 選んだバイト |
|---|---|---|---|
| $8AC2 (バンク 7) | 1 | 6 | |
| $8338 (バンク 11) | 15 | 3 | |
| $83B2 (バンク 11) | 12 | 3 | |
| $B53F (バンク 13) | 4 | 2 | $0000 |
| $C562 (バンク 13) | 16 | 4 | |
| $C724 (バンク 13) | 3 | 1 |
ルーチンが共有するメモリ
あるルーチンが書き、別のルーチンが読んだメモリは 330 バイト。添字を通して届いた場所は 49 か所で、メモリの中のテーブルや、物体の枠の並びはそう見える。
添字で届いた範囲: 位置を含むもの、次いで最も長いもの
| 起点 | 届いたバイト | 命令 | 含まれる位置 |
|---|---|---|---|
| $0200 | 256 | 8 | |
| $020D | 241 | 34 | |
| $020C | 241 | 21 | |
| $020E | 241 | 19 | |
| $020F | 241 | 12 | |
| $020B | 241 | 11 | |
| $0208 | 241 | 6 | |
| $0000 | 240 | 2 | |
| $0201 | 125 | 3 | |
| $0500 | 109 | 1 | |
| $05A0 | 96 | 1 | |
| $0202 | 69 | 4 |
最も忙しい共有バイト 24 個
| バイト | 読み書き | 書くルーチン | 読むルーチン |
|---|---|---|---|
| $00E1 | 3,732,186 | 6 | 6 |
| $00E0 | 2,434,603 | 6 | 6 |
| $00D0 | 233,153 | 3 | 5 |
| $001E | 190,950 | 3 | 6 |
| $0010 | 159,979 | 5 | 6 |
| $00F2 | 112,875 | 3 | 2 |
| $00F4 | 109,407 | 5 | 3 |
| $00F5 | 108,307 | 2 | 4 |
| $0700 | 93,423 | 2 | 4 |
| $0701 | 92,715 | 2 | 3 |
| $0725 | 84,286 | 1 | 6 |
| $00F0 | 75,403 | 3 | 3 |
| $00F3 | 75,340 | 3 | 2 |
| $00F1 | 75,303 | 2 | 2 |
| $00D2 | 61,486 | 2 | 3 |
| $06C1 | 58,446 | 1 | 2 |
| $0004 | 55,435 | 2 | 3 |
| $06A4 | 51,651 | 2 | 3 |
| $06A6 | 51,633 | 2 | 3 |
| $0020 | 41,007 | 4 | 3 |
| $0410 | 39,538 | 6 | 6 |
| $0012 | 38,256 | 3 | 3 |
| $00D9 | 38,218 | 3 | 4 |
| $0014 | 37,851 | 4 | 2 |
このページはゲームのバイトを一つも見せない。これらの数を読み取ったリスティングは、カートリッジと一緒に留まる。