PC-6001初代機からROMを吸い出す

必要なものは


手順

PC-6001とAT互換機(以後ATと表記)をデータレコーダ付属のケーブルで接続します。

ケーブルのCMT.IN(赤?) を サウンドカードのSpeaker(音声出力)に、 CMT.OUT(白?)をサウンドカードののMICに差し込みます。 要するに、PC-6001のcsaveをATで録音、 ATから出力する音をPC-6001でcloadできるようにするのが目的です。 ちなみに黒い端子のケーブルをつなぐ必要はありません。

注) サウンドカードのMICではなくLINE INの方がより良い状態で録音できるのですが、 私の環境ではMIC端子の方が後の変換処理がうまくいくのでそのようにしています。

次に、Ishioka氏のWebページにある、 saver というソフト(saver.lzh)をダウンロードします。

これを解凍すると、
saver.bas
saver.txt
saver.wav
という三つのファイルが抽出されるはずです。

PC-6001の電源を入れ、How Many Pages?には1を入力してから、 cloadと入力し、リターンキーを押します。 これでPC-6001側の準備は完了したので、続いて先ほどダウンロードした saverに含まれているsaver.wavという音声ファイルをAT側で再生します。 (再生するソフトはどのようなものでも構いませんので、 Windows付属のメディアプレイヤーで十分です)

サウンドカードから音が出ていれば、PC-6001側でロードが始まるはずです。 もし、ロードされていないようであれば、AT側から音が出ているか、 PC-6001側でロードができるくらいの音量が出ているかをチェックしてください。

どうしてもcloadできないようであれば、saverに付属しているsaver.basという ファイルをAT側で表示して、それを見ながら(当然印刷しても構いません) PC-6001のキーボードからプログラムを入力します。

cloadからの読みこみ、キーボード入力のいずれかの方法でプログラムの準備ができたら、 RUNしましょう。すると、

Output ROM data to Tape
1:BASICROM (&H0000-&H7FFF)
2:KANJIROM1(&H0000-&H3FFF)
3:KANJIROM2(&H0000-&H3FFF)
4:VOICEROM (&H4000-&H7FFF)
5:CGROM (&H6000-&H7FFF)

と表示されるので、“1”を入力します。 続けて、”0000”と入力、さらに続けて7FFFを入力します。 これは、メニュー1番目に該当するBASICROMがある、&h0000から&h7FFFを保存する(saveする...ピーガガガの 音として出力する)ということです。

これでインタプリタROMを保存する準備ができました。 AT側でサウンドを録音するソフトを起動して、WAVファイルを 8bit 11025Hz モノラルで録音するように設定します。 録音を開始し、それから1,2秒待ってからPC-6001のスペースキーを押します。

PC-6001側ではセーブを始めるので音が出ていますから、 AT側でその音(ピーガガガ)が聞こえているはずです。 PC6001側でOkが表示されて2秒ほど待ってからAT側での録音を終了してファイルをWAV形式で保存します。

次に、森川氏のページにある P6DatRecというソフトをダウンロードし解凍し、 この中のP6DatRec.exeを起動します。

データレコーダのウィンドウが表示されたら先ほど保存したWAVファイルを Drag&Dropすると、マウスが砂時計状態になり処理が開始されますから、 マウスが通常の状態に戻るまで待ちます。 処理が完了すると、WAVファイルと同じディレクトリに拡張子がP6のファイル、 拡張子がrepのファイルができるはずです。

まず、拡張子がrepのファイルをメモ帳等のソフトで開き(ただし、 repファイルはサイズが大きいので他のテキストエディタで開くことをお勧めします) ファイルの最終行までスクロールすると、

解析を終了しました。
最も不確かな0は pos = xxxx の val = 64 でした。
最も不確かな1は pos = yyyy の val = 6 でした。
この val が敷居値 ( 25 ) に近い場合、本変換は信頼できません。
のような部分があると思います。 この、valが25近辺である場合には変換にほぼ失敗しています。 ATで録音する時に音のレベルを調整して挑戦してみてください。

もし、valの値が25から大きく離れていたら、変換は無事に完了ですから、 拡張子がp6のファイルを、Basicrom.60に名前を変更してください。 これがBASICインタプリタのファイルです。

あとは同じ手順でPC-6001でsaverを再度RUNして、今度はメニューの5番、 CGROM(&h6000, &h7FFF)を保存するようにします。 こちらのファイル名はcgrom60.60として保存します。

以上、二つのbasicrom.60, cgrom60.60というファイルが出来上がったら、 エミュレータと同じディレクトリにファイルを置いてエミュレータを 起動してみてください。

ROMが正しく作成されていれば、How Many Pages?が表示されるはずです。


PC-6001以外の機種について

手順はまったく同じで、KANJIROMやVOICEROMも同様に変換するだけです。 どのマシンでどのROMイメージが必要になるのかは、エミュレータに添付されているreadme.txtを 参照してください。

また、KANJIROM1とKANJIROM2は一つのファイルに結合する必要があります。 バイナリエディタでつなげてもいいのですが、コマンドプロンプトから、 COPY /B KANJIROM1.ROM + KANJIROM2.ROM kanjirom.62のようにしてファイルを連結した方がいいでしょう。


Windowsでの録音について

私が最初にPC-6001からのROMを吸い出した時には、Macintosh用のハードレコーディングソフトを 使用しました。その後、他のマシンのROMイメージやテープイメージを作成する時には、 Sound Blaster AWE64 Goldを購入した時に付属していたCreative WaveStudioというソフトを使っています。 最近のCreative製サウンドカードにも付属しているようです。(バルク品には付いてない場合が多いです)

このROM吸い出し手順をまとめるために、フリーのソフトを使用して実験してみました。

とりあえずVectorにあった、 HotWavというソフトを使ってみました。

まず、PC-6001とAT互換機をデータレコーダケーブルで接続します。 音質を考えるとLINE INの方がいいようですが、PC-6001からの出力が 弱いのと、あとで録音したものを加工するのが面倒なのでMIC端子にしています。 ちなみに私の使用しているサウンドカードの設定では録音の音量は最大まで上げています。

テスト用にPC-6001で以下のプログラムを入力しました。

10 PRINT "HOGE"
20 END

続いて、先ほどダウンロードしたHotWav.exeを起動して 11025Hz Mono 8Bitに設定し、録音を開始すると同時にPC-6001で csave"hoge"を入力します。 この時、AT互換機にスピーカーが付いていて、音の出力設定が されていればピーガガガが聞こえてきますね。

PC-6001側でOKが表示されたら、HotWavでの録音を中止すると、 私のところではこのような波形が表示されましたので

hotwav例

これをhoge.wavというファイル名で保存します。 先頭部分の無音部分が長すぎるのも気になるので、範囲選択-削除で それなりの大きさ(大雑把な言い方ですけど)にしています。 ちなみに無音部分がまったく無いと変換に失敗しますから、 無音部分は必要です

続いて、P6DatRecを起動してhoge.wavを放り込むと、
hoge.p6
hoge.rep
というファイルが出来上がりますから、hoge.repを開き、最後の行を見てみます。

解析を終了しました。
最も不確かな0は pos = 81506 の val = 94 でした。
最も不確かな1は pos = 83105 の val = 5 でした。
この val が敷居値 ( 25 ) に近い場合、本変換は信頼できません。
と書かれていましたから、どうやら変換はうまくいっているようですが、 一応確認のために、hoge.p6というテープイメージをBASICのテキストに 変換してみましょう。

p6DatRecのウィンドウ上でマウスの右ボタンを押すと、ダイアログが表示 されますから、“BASICのリストを出力”という部分にチェックを付けて、 OKを押してから、先ほど作ったhoge.p6というファイルをP6DatRecに放り込むと、
hoge_.wav
hoge.txt
というファイルが出来上がりますので、hoge.txtを開いてみます。

FILENAME = hoge  


10 PRINT ”HOGE”
20 END
どうやら、正しく変換できたようです。

録音時の音声レベルが一番の鍵です。(次に注意するのがノイズ?) 録音する時に音のレベルを調整できないのであれば、Vectorや窓の杜にある 波形編集用のソフトで波形を大きくすることも有効です。 また、一度テープレコーダで録音してから、テープレコーダとAT互換機を 接続して録音する(再生時にテープレコーダのレベルを変えてみる)のも 手かもしれません。