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 データを取得します。