client (0.6.2 anago only) | 2010-11-19 20:00 |
kazzo (0.1.3) | 2010-03-13 00:09 |
anago その1では、dump と program で別の様式としていましたが、 anago その2から workram read/write を搭載し、様式を統合しました。スクリプトが行える機能は拡張子で区別しますが、書式は全て同じです。
下記が拡張子別にサポートしている機能です。
スクリプトエンジンとして Squirrel 2.2.4 を採用していますので、文法はそれに準拠します。雰囲気は型宣言のない C だと思います。
多くの関数の最初の引数が d になっています。これは制御用に必要な userpointer というもので、スクリプト内部では関数の引数を渡すことのみに使用します。
対象ハードのパラメータを定義します。メンバの扱いを指定します。
対象ファイルの iNES mapper number を指定します。
いわゆる H/V を検出するか判断の材料にします。
PPU area 0x0000-0x1fff が ROM or RAM の可能性がある場合を指定します。
Program ROM (cpu_rom, $8000-$ffff, 例外あり), Charcter ROM (ppu_rom, 0x0000-0x1fff) の管理可能メモリサイズとバンクの大きさを指定します。workram access mode では使用しません。
Work RAM (cpu_ram, $6000-$7fff, 例外あり) の管理可能メモリサイズとバンクの大きさを指定します。dump mode と program mode では使用しません。
この3つのパラメータはすべて同じ値になることがほとんどですが、すべて指定してください。
0x20000 を定数にしています。board 変数のメンバに利用します。
function cpu_write(d, address, data)
なし
カートリッジ上の制御レジスタを write するために使用します。整数単体の場合は 1byte だけの write です。配列の場合は要素の整数を連続で write します。1byte 書くことに address は 1 ずつ増加します。