現状PC-6001のROMカートリッジを吸い出す方法が無かったので、カートリッジを分解せずに吸い出せるようにkazzo(ファミコン吸い出し機)やTL866CS(ROMライタ)で吸い出せる基板を作成しました。
■2022.02.15更新 新しく変換基板を作成しました。
※ROMライタで吸い出すためのピンヘッダは取り付けない状態(半完成品)でお送りします。
ROMライタで吸い出す場合は、ピンヘッダを取り付けてください。
基板のシルクに電解コンデンサのマークがありますが、今回は必要ありません。
取り付けた場合はROMライタで吸い出すことが出来なくなります(ROMがショートしていると判断される)
ファミコンのようなバンク切り替えはありませんので吸い出すことは簡単です。
PC-6001用のカートリッジは最小で4kB、最大でも16KBの容量になります。
カートリッジを分解して見たところ、4KBROMが4個の基板であったり8KBROMが2個の基板があったり。
エッジコネクタからのCS2とCS3でカートリッジ内の8KBのROMを切り換えているようなので、この部分を基板上のROM SELECT(ROMSW)で切り替えてROMライタで8KBずつ吸い出します。
その時のROMライタのデバイス設定は 27C64 としています。
KazzoであればMAP#00(バンク切り替え無し)で8KBずつ吸い出して、不要な部分はバイナリカットします。
ROMライタの場合はROMSW-2に切り換えて吸い出したバイナリがすべてFFだった場合はROMが無いということになり、そのカートリッジは8KB(4KB)と判断できます。
データがあった場合は、バイナリエディタ等でSW-1とSW-2で吸い出したバイナリを結合し16KBとしてください。
Kazzoの場合はNESヘッダや余計なバイナリが含まれますので手順がちょっと変わります。
ROMSW-2に切り換えて吸い出したときに error: data is all 0xff と表示されれば、そのカートリッジは8KB(4KB)と判断します。
※2022.02.11更新 スクリプトを変更しました。
展開後 anago_wx.exe と同じところに保存してください。
吸い出した後のファイル名は拡張子が .nes となっていますので .bin や .rom などに変更してください。
16KBのROMイメージだった場合はそれぞれ吸い出したイメージを結合します。
例:copy /B P6_00.rom+P6_01.rom P6ROM_16kB.rom
吸い出したバイナリデータは不要な部分が含まれるのでApolloさんのサイトから「BINCUT」をダウンロードします。
http://www.retropc.net/apollo/
バイナリファイルの必要な部分だけを切り出すツール BINCUT
後は使用方法に従って下記のようなバッチファイルを作成します。
8KBであれば 例:
bincut p6_00.nes P6ROM_8kB.rom 10 200f
16KBであれば 例:
bincut p6_00.nes P6_00.rom 10 200f
bincut p6_01.nes P6_01.rom 10 200f
copy /B P6_00.rom+P6_01.rom P6ROM_16kB.rom
とすれば不要なバイナリをカットすることが出来ます。
吸い出した後はエミュレータやSD6031WIF、NANOCART、カートリッジ等を作成してROMイメージを書き込んで実機等で動作確認してみてください。
コメント