anago script file reference - dump mode
スクリプトファイル
dump mode では dumpcore.nut と指定された スクリプトファイル(.ad .ae .af or .ag) を2つ読み込みます。dumpcore.nut の内容は変更しないでください。
スクリプトファイルでは board, cpu_dump(), ppu_dump() の3つの定義が必要です。簡潔な記述のために関数を追加することも可能です。
スクリプトファイルに必要な変数と関数
board
- mappernum: iNES header mappernumber の標準値
- cpu_rom: そのハードの program ROM の設定
- ppu_rom: そのハードの charcter ROM の設定
- ppu_ramfind: true のとき charcter メモリが ROM か RAM を判別します。
- vram_mirrorfind: true のとき H/V フラグを自動判別します。プログラム制御できるハードは false にしてください。
script_common_ja での記載も参考にしてください。
cpu_dump()
function cpu_dump(d, pagesize, banksize)
引数
- d: userpointer
- pagesize: board.cpu_romsize * scale / board.cpu_banksize. for ループの終了条件に使用する。
- banksize: board.cpu_romsize. cpu_read() の引数に利用する。
戻り値
なし
説明
CPU 領域の ROM を read するための関数です。for ループを作成し可変領域を取得後、可能であれば固定領域を取得してください。
ppu_dump()
function ppu_dump(d, pagesize, banksize)
引数
- d: userpointer
- pagesize: board.ppu_romsize * scale / board.ppu_banksize. for ループの終了条件に使用する。
- banksize: board.ppu_romsize. ppu_read() の引数に利用する。
戻り値
なし
説明
この関数は ppu_rom.size_base が 0 の場合は定義する必要がありません。ppu_ramfind が true かつ、接続ハードウェアの charcter メモリが RAM の場合はこの関数を実行しません。
PPU 領域の ROM を read するための関数です。for ループを作成し可変領域を取得してください。
.ad ファイルから利用できる関数
cpu_write()
script_common_ja を参照。
cpu_read()
function cpu_read(d, address, length)
引数
- d: userpointer
- address: 対象アドレス。利用可能範囲は 0x8000-0xffff。
- length: 取得長。利用可能範囲は 0-0x3fff。
戻り値
なし
説明
CPU 領域の対象アドレスから Program ROM データを取得します。length が 0 のときは読みだしを行いますが、記録を行いません。これは MMC2 と MMC4 で必要です。
ppu_read()
function ppu_read(d, address, length)
引数
- d: userpointer
- address: 対象アドレス。利用可能範囲は 0x0000-0x1fff。
- length: 取得長。利用可能範囲は 1-0x1fff。
戻り値
なし
説明
PPU 領域の対象アドレスから Charcter ROM データを取得します。