ファイティング武術2ndの修理

 コナミが販売していたファイティング武術2ndという基板にもNVRAM(TimeKeeper RAM, M48T58Y)が使われており、これも電池が切れると起動しなくなってしまいます。
 また、2GBのHDDが使用されており、これもまた時間が経つと故障してしまうことが多いようです。


 これらを解決するためにNVRAMをFRAMへの置き換え、HDDをCFへの置き換えを行ってみたところ、問題無く動作するようになりました。
 ただし、HDDのイメージ化を最近になって行ったのですが、4台入手して1台が最後の方で読めない、3台が全く読み出せない・読み出すと結果が異なる・一部が読み出せないという症状だったため、完全に動作しているHDDのイメージは取得出来ていません。
 最後の方が読み出せない1台が、読み出せていない箇所がゲーム中では使用していないようなので、このHDDを使用することにより動作していますが、すべての領域が読み出せるHDDがあればと考えて探しています。ファイティング武術2ndの基板をお持ちの方で読み出せた方は連絡をいただけるとうれしく思います。

FRAMへの置き換えについて

 FRAMへ書き込む内容ですが、以前書いたスリルドライブと似たような内容で起動するようになります。

 0xe,fの値についても以前書いたスリルドライブと同じ計算式で求めることが出来ますので、値を変えて計算をしてみてください。


 今回使用したFRAMと変換基板ですが、FRAMは以前と同じ物を使用し、変換基板は秋月電子通商で購入したものを使用しました。

品名 型番 詳細など
FRAM FM16W08 Cypress Semiconductor has acquired Ramtron International Corporation
連結ソケット(両端オスピン)28pin 2227P-28G-06 連結ソケット(両端オスピン)28P: パーツ一般 秋月電子通商-電子部品・ネット通販
SOP28pin(1.27mm)DIP変換基板 AE-SOP28-DIP-A SOP28ピン(1.27mm)DIP変換基板 金フラッシュ: パーツ一般 秋月電子通商-電子部品・ネット通販


変換基板にFRAMを半田付けし、連結ソケットを取り付けるとこんな感じになります。

HDDのCF化について

 HDDのイメージ化ですが、maximum forceのHDDをCFに入れ替える際に使用した、mameで使われているchdmanというプログラムを使用しました。linuxのddでも可能だと思われます。
 今回は以下のCF-IDE変換基板とCFカードを使用しました。電源をFDDの電源に変換する必要があるため、電源変換用のケーブルも使用しています。

変換名人 CFカード → 3.5

変換名人 CFカード → 3.5"IDE変換アダプタ 40ピン(オス) CFIDE-401LA

Transcend 4GB CF CARD (133X、 TYPE I ) TS4GCF133

Transcend 4GB CF CARD (133X、 TYPE I ) TS4GCF133

アイネックス コネクタ変換ケーブル大4P-小4 WA-076A

アイネックス コネクタ変換ケーブル大4P-小4 WA-076A

 元のHDDの容量は2GBですが、2GBのCFカードではすべて書き込めないため4GBを使用します。


 まずはHDDのイメージをchdmanを使用して取得します。
 HDDをIDE-USB変換などを使用してパソコンに接続し、フォーマットしますか、などと聞かれますのですべてキャンセルボタンを押して、コントロールパネルにあるディスクの管理でディスク何番で認識しているかを確認します。今回はディスク5として認識しているとしてコマンドラインのオプションは指定しています。


 まずはコマンドプロンプトを立ち上げます。Windows7などの場合は右クリックして管理者権限で実行を選ばないとHDDが見えませんので注意が必要です。
 コマンドプロンプトを起動してchdmanがあるディレクトリまでcdコマンドを使って移動してください。
 chdmanのバージョンでオプションが異なります。
 1.47ぐらいまでのchdmanの場合は

D:\tmp\oldchdman> chdman -createhd \\.\PHYSICALDRIVE5 fightingb.chd 

で読み出しが可能です。
 1.47からは

D:\tmp\chdman> chdman createhd -o fightingb.chd -i \\.\PHYSICALDRIVE5 -chs 4092,16,63 -c none

とする必要があります。オプション-chsでHDDのCHS数を指定する必要があります。これはHDDを見るとcylinder, header, sector数が記載されていますので、それを,で連結して指定します。また、なぜか圧縮についての設定を行わないと取り込みが出来ませんでしたので-cを指定しています。
 オプションについてはchdman -helpや、chdmanと引数なしで実行すると表示されますので、こちらを参考にしてください。


 次にIDE-USB変換にCF-IDE変換を取り付けた物に交換してPCにて認識させて、chdmanで書き戻します。
 1.47以前のchdmanは

D:\tmp\oldchdman> chdman -extract fightingb.chd \\.\PHYSICALDRIVE5

で書き戻すことが出来ます。
 1.47からは

D:\tmp\oldchdman> chdman extracthd -i fightingb.chd -o \\.\PHYSICALDRIVE5 -f

で書き戻すことが出来ます。
 chdmanの新しいバージョンでは引数の位置ではなく、-i, -oで入出力を指定するようになっているため事故が少ないかと思われます。
 また古いバージョンではHDDが読み取れなくてタイムアウトした場合、そこで読み出しを中断しますが、新しいバージョンではある決められた値で1セクタ分を埋めて次を読み出すようになっているようです。


 上記手直しやHDDの入れ替えを行うことにより、基板が壊れていなければ起動するようになるはずです。

OPデモなど

 現時点で動かせる基板でOPデモを取り込んでみました。

 このOPデモがすごく印象に残っていたので、遊ぶことが出来るようになって良かったなと思ってます。