Paperboy (USA)
Paperboy (USA) は CNROM の基板に載り、プログラムは 32,768 バイト。電源投入から 400 歩のクロールが、新しいコードを見つけた道筋を 17 本残した。それらを 17,317 フレームにわたって再生すると、プログラムのうち 4,799 バイト、15 パーセントが実行された。
規則が名付けたもの
- パッドの読み取り: 1
- 待機のループ: 1
- 割り込みの中のゲーム: 1
- ジャンプエンジン: 5
- バンク切り替え: 1
- 画面メモリへの書き手: 1
- パレットの書き手: 1
- スプライトの書き手: 1
- スクロールの書き手: 1
- サウンドドライバ: 1
- 乱数のバイト: 1
- 二つのものを比べる所: 1
走行が入った 138 個のルーチン
ゲームのコードに入った場所のすべて。呼び出し、割り込み、テーブル経由のジャンプのどれかで入る。規則が名付けたものを先に、規則が見たものと一緒に並べる。
| 場所 | 入り方 | 回数 | 何であるか、その証拠 |
|---|---|---|---|
| $80EA | 呼び出し | 12,444 | パッドの読み取り: ポート $4016、一フレームの読み 11、一フレームのストローブ 4 乱数のバイト: 走ったフレーム 5,062、バイト $0000、回転 1、排他的論理和 1 |
| $8006 | 毎フレーム(NMI) | 6,766 | 割り込みの中のゲーム: 走ったフレーム 6,766、全フレーム 6,817、待機の場所 $80A1 スクロールの書き手: 走ったフレーム 6,766、ブランク中の書き込み 13,068 |
| $853E | 呼び出し | 6,551 | パレットの書き手: 走ったフレーム 6,551、書き込み 586 画面メモリへの書き手: 走ったフレーム 6,551、書き込み 3,568、ブランク中 2,836、描画中 732 |
| $839E | 呼び出し | 6,542 | 二つのものを比べる所: 命令 1、バイトの組 65、バイトの総数 13、比べた回数 59,079、横の位置のバイト $0019,$001A,$001B,$001C,$001D,$001E,$001F,$0020,$0021,$0022,$0023,$0024 スプライトの書き手: 走ったフレーム 6,551、スプライトのページへの書き込み 720,675 |
| $9C26 | 呼び出し | 2,457 | ジャンプエンジン: テーブル 1、そこを通った跳躍 1,221 |
| $98C8 | 呼び出し | 1,632 | ジャンプエンジン: テーブル 4、そこを通った跳躍 485 |
| $8706 | 呼び出し | 681 | ジャンプエンジン: テーブル 11、そこを通った跳躍 279 |
| $8722 | 呼び出し | 554 | ジャンプエンジン: テーブル 8、そこを通った跳躍 475 |
| $80A4 | 呼び出し | 58 | バンク切り替え: 書き込み 116、ブランク中 0、描画中 116 |
| $8048 | 電源投入 | 17 | サウンドドライバ: 走ったフレーム 6,594、書き込み 51 |
| $80B3 | 呼び出し | 6 | ジャンプエンジン: テーブル 1、そこを通った跳躍 6 |
| $81F0 | 呼び出し | 74,532 | |
| $86BE | 呼び出し | 27,311 | |
| $94FC | テーブル | 15,284 | |
| $81B6 | 呼び出し | 9,098 | |
| $867E | 呼び出し | 6,551 | |
| $8151 | 呼び出し | 6,203 | |
| $85C4 | 呼び出し | 3,600 | |
| $834D | 呼び出し | 2,845 | |
| $A4CD | 呼び出し | 2,487 | |
| $84F3 | 呼び出し | 2,469 | |
| $8044 | 呼び出し | 2,465 | |
| $8DB6 | テーブル | 2,465 | |
| $8F86 | 呼び出し | 2,457 | |
| $9B65 | テーブル | 2,457 | |
| $9F44 | テーブル | 2,457 | |
| $9FA4 | 呼び出し | 2,457 | |
| $9FB6 | 呼び出し | 2,457 | |
| $A462 | 呼び出し | 2,457 | |
| $9BE0 | 呼び出し | 2,456 | |
| $88A4 | テーブル | 2,414 | |
| $832B | 呼び出し | 2,308 | |
| $8DC8 | 呼び出し | 2,239 | |
| $8FD6 | 呼び出し | 2,081 | |
| $861A | 呼び出し | 1,617 | |
| $A4E2 | 呼び出し | 1,276 | |
| $9C1C | 呼び出し | 1,228 | |
| $908B | テーブル | 1,084 | |
| $872F | 呼び出し | 794 | |
| $817A | 呼び出し | 780 | |
| $818B | 呼び出し | 780 | |
| $865E | 呼び出し | 720 | |
| $8618 | 呼び出し | 690 | |
| $A69B | テーブル | 582 | |
| $862B | 呼び出し | 563 | |
| $864F | 呼び出し | 562 | |
| $84EA | 呼び出し | 524 | |
| $9698 | 呼び出し | 476 | |
| $81AA | 呼び出し | 457 | |
| $9899 | テーブル | 431 | |
| $8E3C | 呼び出し | 418 | |
| $98A4 | テーブル | 412 | |
| $98B2 | テーブル | 407 | |
| $98BD | テーブル | 382 | |
| $86CC | 呼び出し | 244 | |
| $A61D | テーブル | 189 | |
| $A993 | テーブル | 177 | |
| $8290 | 呼び出し | 163 | |
| $8505 | 呼び出し | 162 | |
| $8530 | 呼び出し | 162 | |
| $8883 | テーブル | 161 | |
| $A87C | テーブル | 132 | |
| $A90E | テーブル | 130 | |
| $9AB2 | テーブル | 126 | |
| $82D9 | 呼び出し | 120 | |
| $8678 | 呼び出し | 112 | |
| $863A | 呼び出し | 109 | |
| $860F | 呼び出し | 102 | |
| $8643 | 呼び出し | 90 | |
| $8261 | 呼び出し | 88 | |
| $82B8 | 呼び出し | 88 | |
| $8244 | 呼び出し | 76 | |
| $A683 | テーブル | 67 | |
| $8A0A | 呼び出し | 66 | |
| $8A59 | 呼び出し | 66 | |
| $8A70 | 呼び出し | 66 | |
| $8A76 | 呼び出し | 66 | |
| $8A80 | 呼び出し | 66 | |
| $9E98 | 呼び出し | 66 | |
| $A512 | 呼び出し | 66 | |
| $A522 | 呼び出し | 66 | |
| $9494 | テーブル | 62 | |
| $94F0 | テーブル | 54 | |
| $9E50 | テーブル | 48 | |
| $825C | 呼び出し | 40 | |
| $811A | 呼び出し | 39 | |
| $86C1 | 呼び出し | 36 | |
| $866F | 呼び出し | 34 | |
| $8790 | テーブル | 30 | |
| $9652 | 呼び出し | 28 | |
| $8716 | 呼び出し | 26 | |
| $A5E1 | テーブル | 24 | |
| $A7BA | テーブル | 24 | |
| $A605 | テーブル | 21 | |
| $986E | テーブル | 19 | |
| $8629 | 呼び出し | 18 | |
| $864D | 呼び出し | 18 | |
| $9E62 | テーブル | 18 | |
| $813E | 呼び出し | 17 | |
| $8754 | テーブル | 17 | |
| $8785 | テーブル | 17 | |
| $8868 | テーブル | 17 | |
| $A4ED | 呼び出し | 17 | |
| $A50B | 呼び出し | 17 | |
| $95CB | 呼び出し | 14 | |
| $821D | 呼び出し | 10 | |
| $8928 | テーブル | 10 | |
| $89DC | 呼び出し | 10 | |
| $9D37 | 呼び出し | 10 | |
| $9EF8 | 呼び出し | 10 | |
| $9B50 | テーブル | 8 | |
| $9BDE | 呼び出し | 8 | |
| $9F31 | テーブル | 8 | |
| $A7C9 | 呼び出し | 8 | |
| $A805 | テーブル | 8 | |
| $A897 | テーブル | 8 | |
| $A929 | テーブル | 8 | |
| $86D5 | 呼び出し | 5 | |
| $9159 | 呼び出し | 5 | |
| $91B1 | 呼び出し | 5 | |
| $9235 | 呼び出し | 5 | |
| $9486 | 呼び出し | 5 | |
| $A7B0 | テーブル | 4 | |
| $88FB | テーブル | 3 | |
| $9481 | 呼び出し | 3 | |
| $9A84 | テーブル | 3 | |
| $9F24 | 呼び出し | 3 | |
| $A58D | テーブル | 3 | |
| $A5B2 | テーブル | 3 | |
| $8917 | テーブル | 2 | |
| $9AC4 | テーブル | 2 | |
| $852A | 呼び出し | 1 | |
| $879B | テーブル | 1 | |
| $891C | テーブル | 1 | |
| $8A8B | 呼び出し | 1 | |
| $9AA1 | テーブル | 1 | |
| $9E43 | テーブル | 1 | |
| $A40A | 呼び出し | 1 |
待つ場所
規則が名付けたループのうち、ルーチンの内側にあって、それ自身はコードの入口ではないもの。
| 場所 | 何であるか、その証拠 |
|---|---|
| $80A1 | 待機のループ: 周回 48,914,261、一フレームの周回 7,175 |
ルーチンが共有するメモリ
あるルーチンが書き、別のルーチンが読んだメモリは 689 バイト。添字を通して届いた場所は 51 か所で、メモリの中のテーブルや、物体の枠の並びはそう見える。
添字で届いた範囲: 位置を含むもの、次いで最も長いもの
| 起点 | 届いたバイト | 命令 | 含まれる位置 |
|---|---|---|---|
| $000D | 25 | 12 | 横 13 |
| $0200 | 253 | 2 | |
| $0300 | 180 | 8 | |
| $0301 | 179 | 4 | |
| $0201 | 157 | 1 | |
| $0202 | 157 | 1 | |
| $0203 | 157 | 1 | |
| $0302 | 153 | 2 | |
| $0773 | 80 | 1 | |
| $0535 | 62 | 3 | |
| $05CD | 44 | 6 | |
| $058B | 44 | 1 |
位置と一緒に動くもの
少なくとも二つのルーチンが、位置の配列と一緒に、同じ範囲をたどった配列。画面上のものの表は、メモリの中ではこう見える: 性質ごとに配列が一つ、ものごとに枠が一つ。どの配列が位置を持つかは言える。ほかの配列のうち、どれが位置に足し込まれるか (速度がすること) と、どれがジャンプのテーブルの行き先を選ぶか (状態や種類がすること) も言える。残りが何を持つかは、まだ名付けていない。
| 枠 | 配列 | ルーチン | 横の位置 | 縦の位置 | 位置に足し込まれる配列 | ジャンプを選ぶ配列 | 一緒に動く配列 |
|---|---|---|---|---|---|---|---|
| 25 | 4 | 11 | $000D | $0026, $003F, $0058 |
最も忙しい共有バイト 24 個
| バイト | 読み書き | 書くルーチン | 読むルーチン |
|---|---|---|---|
| $0000 | 574,733 | 6 | 6 |
| $0094 | 243,237 | 3 | 3 |
| $009D | 227,463 | 3 | 6 |
| $009E | 227,463 | 6 | 6 |
| $0095 | 168,705 | 3 | 3 |
| $0450 | 154,956 | 2 | 3 |
| $0002 | 148,618 | 6 | 6 |
| $0001 | 136,277 | 6 | 6 |
| $0097 | 110,421 | 2 | 1 |
| $0451 | 67,071 | 4 | 5 |
| $0098 | 63,949 | 1 | 6 |
| $0005 | 52,218 | 2 | 6 |
| $0006 | 31,399 | 4 | 6 |
| $00B1 | 24,654 | 2 | 2 |
| $0007 | 21,897 | 4 | 6 |
| $0090 | 20,280 | 1 | 2 |
| $0400 | 18,814 | 2 | 6 |
| $0500 | 18,463 | 6 | 6 |
| $04FF | 18,229 | 6 | 6 |
| $04FB | 17,599 | 6 | 6 |
| $0519 | 17,388 | 5 | 6 |
| $04FA | 16,889 | 6 | 6 |
| $0300 | 16,788 | 5 | 6 |
| $041F | 16,656 | 6 | 6 |
このページはゲームのバイトを一つも見せない。これらの数を読み取ったリスティングは、カートリッジと一緒に留まる。