NEStinymachines

Ninja Gaiden (USA)

Ninja Gaiden (USA) は MMC1 の基板に載り、プログラムは 131,072 バイト。電源投入から 400 歩のクロールが、新しいコードを見つけた道筋を 36 本残した。それらを 24,896 フレームにわたって再生すると、プログラムのうち 8,601 バイト、7 パーセントが実行された。

規則が名付けたもの

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

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

場所入り方回数何であるか、その証拠
$80F4 (バンク 3)呼び出し36,011
サウンドドライバ: 走ったフレーム 9,074、書き込み 102,492
$E819 (バンク 7)呼び出し28,174
パッドの読み取り: ポート $4016、一フレームの読み 15、一フレームのストローブ 3
$C028 (バンク 7)呼び出し21,686
バンク切り替え: 書き込み 108,349、ブランク中 0、描画中 108,349
$C02A (バンク 7)呼び出し17,612
バンク切り替え: 書き込み 88,029、ブランク中 0、描画中 88,029
$80A8 (バンク 5)呼び出し17,372
ジャンプエンジン: テーブル 1、そこを通った跳躍 17,372
$F91A (バンク 7)毎フレーム(NMI)14,087
バンク切り替え: 書き込み 308,539、ブランク中 260,271、描画中 48,268
パレットの書き手: 走ったフレーム 14,148、書き込み 118,694
スクロールの書き手: 走ったフレーム 14,148、ブランク中の書き込み 28,174
画面メモリへの書き手: 走ったフレーム 14,148、書き込み 151,036、ブランク中 151,036、描画中 0
$823B (バンク 4)呼び出し8,693
フレーム待ち: 待つ相手のバイト $001F、入った回数 8,692、周回 12,877,382、フレーム割り込みの下での書き込み 14,057、全フレーム 14,396
$8181 (バンク 4)呼び出し8,686
スプライトの書き手: 走ったフレーム 8,686、スプライトのページへの書き込み 527,376
$F104 (バンク 7)呼び出し5,096
フレーム待ち: 待つ相手のバイト $001F、入った回数 5,116、周回 16,857,610、フレーム割り込みの下での書き込み 14,057、全フレーム 14,396
$F5A2 (バンク 7)呼び出し4,954
バンク切り替え: 書き込み 49,467、ブランク中 0、描画中 49,467
画面の分割: 走ったフレーム 4,953、描画中のスクロール書き込み 9,897、描画中のステータス読み 3,417,661
$8013 (バンク 5)呼び出し2,454
スプライトの書き手: 走ったフレーム 2,454、スプライトのページへの書き込み 78,408
$F768 (バンク 7)呼び出し1,154
スプライトの書き手: 走ったフレーム 1,154、スプライトのページへの書き込み 72,654
$F0A7 (バンク 7)呼び出し1,125
スプライトの書き手: 走ったフレーム 1,125、スプライトのページへの書き込み 19,813
$D8D5 (バンク 7)呼び出し1,107
バンク切り替え: 書き込み 5,529、ブランク中 0、描画中 5,529
$F47E (バンク 7)呼び出し504
バンク切り替え: 書き込み 5,040、ブランク中 0、描画中 5,040
$8301 (バンク 4)呼び出し269
フレーム待ち: 待つ相手のバイト $001F、入った回数 269、周回 756,096、フレーム割り込みの下での書き込み 14,057、全フレーム 14,396
$F5EA (バンク 7)呼び出し251
バンク切り替え: 書き込み 1,255、ブランク中 0、描画中 1,255
$818E (バンク 6)呼び出し240
ジャンプエンジン: テーブル 1、そこを通った跳躍 240
$81E9 (バンク 4)呼び出し199
バンク切り替え: 書き込み 995、ブランク中 0、描画中 995
$86D2 (バンク 4)呼び出し133
スプライトの書き手: 走ったフレーム 133、スプライトのページへの書き込み 133
$817D (バンク 4)呼び出し131
スプライトの書き手: 走ったフレーム 131、スプライトのページへの書き込み 8,253
$8328 (バンク 4)呼び出し102
スプライトの書き手: 走ったフレーム 102、スプライトのページへの書き込み 408
$FFDA (バンク 7)電源投入36
バンク切り替え: 書き込み 252、ブランク中 252、描画中 0
スプライトの書き手: 走ったフレーム 108、スプライトのページへの書き込み 9,216
$E902 (バンク 7)呼び出し29
バンク切り替え: 書き込み 270、ブランク中 0、描画中 270
$EAC1 (バンク 7)呼び出し29
バンク切り替え: 書き込み 290、ブランク中 0、描画中 290
画面の分割: 走ったフレーム 116、描画中のスクロール書き込み 58、描画中のステータス読み 21,286
スプライトの書き手: 走ったフレーム 116、スプライトのページへの書き込み 116
$F8F0 (バンク 7)呼び出し29
バンク切り替え: 書き込み 290、ブランク中 0、描画中 290
画面の分割: 走ったフレーム 58、描画中のスクロール書き込み 58、描画中のステータス読み 19,923
$8161 (バンク 3)呼び出し37,495
$BF98 (バンク 4)呼び出し17,612
$BFB3 (バンク 5)呼び出し17,372
$8000 (バンク 3)呼び出し14,085
$8003 (バンク 5)テーブル8,686
$8006 (バンク 5)テーブル8,686
$83A9 (バンク 4)呼び出し8,686
$83B5 (バンク 4)呼び出し8,686
$81D7 (バンク 6)呼び出し6,940
$81C8 (バンク 6)呼び出し6,700
$82B9 (バンク 3)呼び出し6,139
$81A4 (バンク 6)呼び出し5,704
$81B5 (バンク 6)呼び出し5,704
$81E5 (バンク 6)呼び出し5,704
$E792 (バンク 7)呼び出し5,445
$82E0 (バンク 4)呼び出し4,234
$867F (バンク 4)呼び出し3,205
$F53E (バンク 7)呼び出し3,024
$F568 (バンク 7)呼び出し3,024
$837A (バンク 3)呼び出し3,020
$8193 (バンク 5)呼び出し2,454
$80D6 (バンク 5)呼び出し2,422
$87A0 (バンク 4)呼び出し1,383
$84D7 (バンク 3)テーブル1,245
$D85D (バンク 7)呼び出し1,125
$DC88 (バンク 7)呼び出し1,125
$EB64 (バンク 7)呼び出し1,125
$F10D (バンク 7)呼び出し1,125
$D710 (バンク 7)呼び出し1,107
$D9E4 (バンク 7)呼び出し1,107
$DD32 (バンク 7)呼び出し1,107
$E560 (バンク 7)呼び出し1,107
$E625 (バンク 7)呼び出し1,107
$E677 (バンク 7)呼び出し1,107
$EB7B (バンク 7)呼び出し1,107
$EFF1 (バンク 7)呼び出し1,107
$F1AC (バンク 7)呼び出し1,107
$F7E4 (バンク 7)呼び出し1,107
$8225 (バンク 3)テーブル884
$820A (バンク 3)テーブル883
$81F0 (バンク 3)テーブル852
$EC7B (バンク 7)テーブル741
$8535 (バンク 3)テーブル638
$822F (バンク 4)呼び出し577
$F2DD (バンク 7)呼び出し504
$81AA (バンク 4)呼び出し466
$823A (バンク 3)テーブル427
$8205 (バンク 3)テーブル426
$83CB (バンク 3)テーブル300
$8340 (バンク 4)呼び出し256
$8398 (バンク 4)呼び出し256
$8000 (バンク 6)テーブル240
$8157 (バンク 6)呼び出し240
$8166 (バンク 6)呼び出し240
$BFB3 (バンク 6)呼び出し240
$8192 (バンク 4)呼び出し233
$81CF (バンク 4)呼び出し233
$81DE (バンク 4)呼び出し233
$8243 (バンク 3)呼び出し216
$E2C3 (バンク 7)呼び出し216
$F745 (バンク 7)呼び出し216
$8471 (バンク 3)テーブル213
$83E6 (バンク 3)テーブル208
$F85D (バンク 7)テーブル200
$81FD (バンク 4)呼び出し197
$F850 (バンク 7)テーブル187
$F86F (バンク 7)テーブル187
$F83E (バンク 7)テーブル179
$F86A (バンク 7)テーブル179
$F831 (バンク 7)テーブル175
$EDB1 (バンク 7)テーブル136
$ED0D (バンク 7)テーブル135
$85EB (バンク 4)呼び出し132
$84C3 (バンク 3)テーブル123
$EEE7 (バンク 7)呼び出し121
$8448 (バンク 3)テーブル117
$80BE (バンク 4)呼び出し102
$860A (バンク 4)呼び出し66
$868D (バンク 4)呼び出し66
$F62D (バンク 7)呼び出し58
$EE55 (バンク 7)テーブル57
$8407 (バンク 3)テーブル56
$EE99 (バンク 7)テーブル38
$8000 (バンク 4)呼び出し36
$E526 (バンク 7)呼び出し36
$8500 (バンク 3)テーブル32
$850D (バンク 3)テーブル30
$E7DC (バンク 7)呼び出し29
$E7E7 (バンク 7)呼び出し29
$F0F3 (バンク 7)呼び出し29
$83FA (バンク 3)テーブル28
$84F2 (バンク 3)テーブル28
$D97C (バンク 7)呼び出し27
$E30A (バンク 7)呼び出し27
$F653 (バンク 7)呼び出し27
$F6B5 (バンク 7)呼び出し27
$8431 (バンク 3)テーブル2

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

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

場所項目選ばれた数選んだバイト
$BFB6 (バンク 5)32
$BFB6 (バンク 6)11

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

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

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

起点届いたバイト命令含まれる位置
$03002562
$02002534
$02032533
$02012532
$02022532
$06271131
$06281131
$062C1131
$06301131
$0340492
$0700354
$03A3326

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

バイト読み書き書くルーチン読むルーチン
$0028737,49336
$00F0691,79336
$00F3669,67726
$00F2608,41225
$00F1468,86736
$0000272,18966
$0001239,63266
$000298,80666
$033F56,77655
$005C53,46133
$00F451,82766
$00F545,59266
$001C42,47766
$038041,83233
$00E432,06035
$00E532,06035
$066D27,67723
$067D27,67623
$064D27,15423
$00A727,11854
$069D26,95423
$062625,36723
$067C23,74856
$069C23,61046

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

すべてのゲーム