famicom ROM cartridge utility - unagi
client version 0.6.x
by 鰻開発協同組合
公式サイト http://unagi.sourceforge.jp/
famicom ROM cartridge のデータ転送を行います。 ハードウェアは国内で有名な2種類に対応しています。
他の読み出しプログラムではマッパ別の対応はプログラムに内蔵されており、未対応のマッパの追加ができるのはプログラマだけでした。unagi ではマッパ対応をスクリプトに記載することによってユーザーが追加することができます。
バンク切り替えの仕様をしることによって技術的な興味がわくかもしれません。
コマンドラインでの無味乾燥なインタフェースによりビギナーお断りとなっております。
- パラレルポートと読み出しハードを接続した Windows 環境
- Windows XP にて動作確認しています。たぶん Win95 までなら大丈夫。
- パラレルポートアドレスは 0x0378 固定です。USB 接続のものは使えるか分かりません。
- USBと読み出しハードを接続した Windows 環境
- GIVEIO.SYS をインストールした環境
- パッケージには含まれていませんので別途用意してください。
cmd.exe, rxvt などのコマンドラインシェル
クライアントについている unagi.cfg をテキストエディタで編集して使用するハードを選んでください。行頭に # がついているものは無視されます。
キャラクタROM/RAM 判定の PPU_RAMFIND が正しく動作しない場合やキャラクタROM領域の書き込みが安定しない場合はコメントを外して試してみてください。根本的な対処方法は不明です。
unagi.exe [mode] [script file] [target file] ...
ROM イメージを作成します。
unagi.exe d [script file] [dump file] [flag] [mapper]
script file - 対応するマッパの ROM スクリプトファイルを指定します。
dump file - 出力する ROM イメージファイルを指定します。
以下は、通常は必要ありません。
flag - 出力するヘッダを設定します。複数の場合はスペースをいれずに記述します。
S カートリッジに backup RAM がついている場合
V スクリプトの設定を無視して mirroring を Vertical にする
H スクリプトの設定を無視して mirroring を Horizonal にする
_ mapper変更だけを適用する場合
mapper - スクリプトの設定を無視してマッパ番号を設定します。
バックアップ RAM イメージを PC 上に作成します。
unagi.exe r [script file] [dump file]
script file - 対応するマッパの RAM スクリプトファイルを指定します。
dump file - 出力する RAM イメージファイルを指定します。
バックアップ RAM イメージをカートリッジへ転送します。
unagi.exe w [script file] [ram file]
script file - 対応するマッパの RAM スクリプトファイルを指定します。
ram file - 入力する RAM イメージファイルを指定します。
カートリッジ上の ROM を flashmemory か SRAM に交換した上で、ROM イメージデータを代替デバイスに転送するモードです。制限は多いですが、一応動作実績があります。
ROM dump script パッケージの syntax.txt を参照してください。
unagi クライアントのバイナリとソースコード(例外有り)は下記が適用されます。unagi スクリプトは naruko が作成したものは下記が適用されます。
GNU General Public License v2
例外物
- GIVEIO.SYSアクセスライブラリに含まれる
giveio.c
,giveio.h
えふ・ぴー・じー・えー・ぱーく管理人の「さとう」さんのご厚意によりソースコードも配布ソースに含めてよい許可をいただいております。二次配布などの取り扱いはさとうさんの許可を得てください。 GIVEIO.SYS
配布パッケージにも含めませんし、作者が誰なのかもわからないのでパッケージに含めないでください。client_test.c
実験的なソースが入っているのと、なくても RELEASE ビルドは可能なこと、無断転用でのトラブルを防ぐために非公開にしました。個別に要望があればソースは公開します。
- 資料提供をしてくれた color さん, VirtuaNES のソース, nesdev
- GIVEIO.SYSアクセスライブラリのさとうさん
- ハードウェアを貸してくれたカシオン
- アイコンを描いてくれたひろひろきさん
- プログラミング環境の mingw と rxvt
- 各種実験に協力してくださっているばくてんさん
[LibUSB-Win32]
Copyright (c) 2002-2004 Stephan Meyer, <ste_meyer@web.de>
Copyright (c) 2000-2004 Johannes Erdfelt, <johannes@erdfelt.com>
Copyright (c) Thomas Sailer, <sailer@ife.ee.ethz.ch>
[opendevice.c] (c) 2008 by OBJECTIVE DEVELOPMENT Software GmbH