2013年7月4日木曜日

PCエンジンのセーブデータについて考える【第1部】

おそらくごちゃごちゃするので、以下の3部構成にします。

・第1部:バックアップ領域を増やす-天の声2を改造

第2部:パソコンと共有-セーブデータをPCとやり取りする

第3部:BRAMの考察-セーブデータの構造を知る

.

メガドライブ、ファミコン、スーパーファミコン、ゲームボーイなど、一通りセーブデータをパソコンにバックアップしたり書き戻ししたりできるようになっているけど、PCエンジンに関しては未だにコレといった手段がありません。

v1.0のシステムカードのデバッグ画面見て手打ちする、NEOのフラッシュカード(使えるか知らない)、「でべろ」とか、最近(?)ではChris Covell'sさんの作られたBRAM Toolってのを使って・・・手打ちとか。

如何せん、あまり良い方法ではない、ってことで、上記と比べて比較的使えるのではないかという方法を考えてみました。

第1部では、「第2部:パソコンと共有」を前提に、PCエンジン実機のみでも便利に使える方法を書いてみます。
.

第1部:バックアップ領域を増やす

今回の方法では、「天の声2」を改造してバックアップ領域を増やします。

PICT8608

PCエンジンのセーブデータバックアップ容量は、最初にバックアップできる媒体として発売されたインターフェースユニット(IFU-30)がSRAM2KByte搭載ということから、天の声2も2KByteです。

今回の改造では、天の声バンクや他のPCエンジンシリーズとの連携も考えると2KByteそのものを増やすことはできないので、8KByteのSRAMを使い、2KByte×4個分に増やすということになります。

考え方的には「天の声バンク(HuCard)」のそれと同じです。

PICT8566

天の声2を分解してみると、PDIP版SRAM6116(24pin)が使われています。

(余談:IFU-30ではSOP版が使われていますが、同じように改造できるハズです↓)

PICT8601

このSRAMを取り外し、メガドラやファミコンなどでおなじみの8KByteSRAM、6264(28pin)を載せることにします。

pcesave5

PCとのやり取りを考えた場合、SRAMの内容を移動する手段も考えなければいけないのですが、今回はメガドライブのカセットを有効利用し、SweetRammyでデータの移動ができるように考えています。

PICT8565

使うメガドラのカセットは上写真のようなSRAM(8KByte)が載っているタイプなら何でも良く、このSRAM処理部分だけをモジュール化します。

データはメガドラカセットに載ってるリセットICで保護されるので、モジュール基板のまま放置していてもデータは消えません

他に用意するものは適当なユニバーサル基板とピンヘッダ&ソケット、必要なら電池&電池ボックス、スイッチ、ジャンパなど。

PICT8569

まずメガドラカセットから、SRAM、電池、リセットIC(1026B、BA6162な ど)、パスコンを取り外します(全て再利用可能)。

配線方法を簡単に書くと、

・6264のCS2(26pin)をリセットICの3pin

・6264の/CS1(20pin)を6116の/CS(18pin)

・6264のVcc(28pin)をリセットICの6pin

・6264のA11&A12をGNDorVcc(スイッチなどで切り替えられるように)

・電池(3032)の+をリセットICの4pin

・+5VをリセットICの8pin

・+5V入力のためのピンを2本配置

残りのピンは同じ信号ピン同士を繋げば出来上がり。

tenkoe2mod

絵にも書いてありますが、ピンソケット部のVccピンは未接続のままにする。

これは、外部電池がもし付いてた場合に壊れる可能性があるからあえて繋ぎません。

天の声2では標準で単3電池2本使うようになっていますが、今回の改造後は必要ありません

見てわかる人はわかりますが、メガドラカセットに載っていた回路をそのままモジュール化しただけなので、簡単にカセットへも戻せる仕様(2Kだけど)です。

BANK切り替えはアドレスバスの後ろから2本をVccとGNDで切り替えることで実現しています。

6264map

切り替えは電源OFF時に行うこと。

電源ON時に切り替えると、データが壊れたり、起動している本体が暴走する可能性があります。

PICT8594 PICT8593

モジュール基板を実際に作るとこんな感じ。

次に天の声2の基板から6116を取り除き、ピンへッダを付けます。

PICT8571 PICT8576

ピンホールが小さいので、細ピンヘッダでないとちゃんと刺さらないので注意です。

PICT8588 PICT8590

モジュールと天の声2の結合は、頭合わせで取り付けます。

これだけだとリセットICへ+5Vの供給ができないので、天の声2の空きパターンから+5Vを引き出し(上写真左でいうと真ん中辺りの赤い線)、モジュールのEXTピンへ繋ぎます。

PICT8607

天の声2は空きスペースがたくさんあるので、モジュール化しても余裕で内蔵可能です。

これで完成なので、実際にバンク切り替えしてセーブしてみて、ちゃんと機能するか確かめましょう。

改造直後、バンク切り替えたりした際に、ゲームによっては「初期化するか?」と聞かれることがあります。

FlashROMの場合は性質的に、初期化してしまうと全てのバンクのデータが消えますが、SRAMは単純に使用しているバンク内を、PCEの場合は$00で埋めるだけなので安心して初期化してください。

PICT8589

.

以上で終わりですが、もし、パソコンとの共有はいらないよとか、電池がちょっとなぁって人は、FRAMを使うという方法がよいでしょう。

FRAMとは電池の要らないSRAMで、現在では生産終了品なので入手が困難ですが、手に入れることは可能です。

調べたところ、2KByteのポン付けできるFRAMならバイヤーさんから数百円で購入可能だったりしますが、個人的にあまり必要性を感じないから買わない予定。

パソコンとの共有は要らない&4分割ではちょっと、と言う人は、62256使って16バンク切り替えがいいかも。

62256は/CSが1本だけなので、取り付けは楽(CS2本だと他にロジックICが必要になる)です。

そんなとこで、工作が苦手な人には少し大変かもですが、金額もそんなに高くなく部品も揃えやすいので、PCエンジンファンは是非チャレンジしてみてください。

.

【追記:2014/07/01】

Twitterにて某氏さん(名前出してよいかわからないので伏せます)が考案されたFRAM使ったロジックを真似して、SRAMでもちゃんと動くか試してみました。

PICT8617

SRAMモジュールをEXT-BUSに接続するタイプを作ったのですが、ピンソケットの足が長いタイプを使わないと、PCエンジンのEXT-BUSに繋げられない。

1列のは5ピンのが単価安かったから選んだんだけど、横幅が思ったより長くて加工がメンドイので、10ピン×2個+@のがいいかもしれない。

PICT8619 PICT8623

PICT8621 PICT8622

動作させてみましたが、通常のセーブ&ロードも問題無いですし、天の声バンクとのやり取りもすんなり正常動作してくれました。

このことから「天の声2」(と同等品?)を自作できてしまうことが確認できました。

EXT-BUSタイプは天の声2と比べても小さくて場所取らないし、AV出力やRGBも一緒に引き出して作ってしまえば便利に使えます。

その内自分でもカードタイプ作ってみようと思う今日この頃。

情報公開していただきありがとうございました。

.

【上と関係ない追記】

PCE関係ということで・・・

PICT8660

よく考えたらウチにはPCE用アケコンがファイティングスティック1つしかないし箱にしまいっぱなしだから、オフでも6ボタン仕様より安く手に入る3ボタンアケコンを改造して使う(格闘やらないから十分)ことにした。

スタートは左上のまま、C=Ⅰ、B=Ⅱ、A=SELECTにしたんだけど、このアケコンのボタン配置はキャラバンソフトやるのに最適なことに気が付いたw

キャラバン系好きな人にはお勧めです。

0 件のコメント: