NEStinymachines

Paperboy (USA)

Paperboy (USA) は CNROM の基板に載り、プログラムは 32,768 バイト。電源投入から 400 歩のクロールが、新しいコードを見つけた道筋を 17 本残した。それらを 17,317 フレームにわたって再生すると、プログラムのうち 4,799 バイト、15 パーセントが実行された。

規則が名付けたもの

走行が入った 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 か所で、メモリの中のテーブルや、物体の枠の並びはそう見える。

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

起点届いたバイト命令含まれる位置
$000D2512横 13
$02002532
$03001808
$03011794
$02011571
$02021571
$02031571
$03021532
$0773801
$0535623
$05CD446
$058B441

位置と一緒に動くもの

少なくとも二つのルーチンが、位置の配列と一緒に、同じ範囲をたどった配列。画面上のものの表は、メモリの中ではこう見える: 性質ごとに配列が一つ、ものごとに枠が一つ。どの配列が位置を持つかは言える。ほかの配列のうち、どれが位置に足し込まれるか (速度がすること) と、どれがジャンプのテーブルの行き先を選ぶか (状態や種類がすること) も言える。残りが何を持つかは、まだ名付けていない。

枠配列ルーチン横の位置縦の位置位置に足し込まれる配列ジャンプを選ぶ配列一緒に動く配列
25411$000D$0026, $003F, $0058

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

バイト読み書き書くルーチン読むルーチン
$0000574,73366
$0094243,23733
$009D227,46336
$009E227,46366
$0095168,70533
$0450154,95623
$0002148,61866
$0001136,27766
$0097110,42121
$045167,07145
$009863,94916
$000552,21826
$000631,39946
$00B124,65422
$000721,89746
$009020,28012
$040018,81426
$050018,46366
$04FF18,22966
$04FB17,59966
$051917,38856
$04FA16,88966
$030016,78856
$041F16,65666

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

すべてのゲーム