昔のテープからゲームを取り出す方法(DumpListEditor その2)

→  ダンプリスト入力
→  昔のテープからのゲーム取り出し
→  PasocomMiniで音楽を楽しむ(New!!)
→  ラリーXに音楽をつけるの巻(New!!)
→  ゲーム改造
→  E-mail















Yahoo!ジオシティーズ
→ Home    → Emulator    → AutoStart    → Software    → Download    → Link

目次

 

昔のテープからゲームを取り出して遊ぶ

作業1 PCで録音してwavファイルを作る

作業2 DumpListEditorでゲームを抽出

作業3 テープが劣化している場合(ラベルの手修正)

謝辞

   

昔のテープからゲームを取り出して遊ぶ

 

 DumpListEditorがwav入力にも対応しました。当時録音したテープをwavファイルに変換した後、DumpListEditorにドロップすることで、入っているゲームを取り出すことが可能です。

 

DumpListEditorのダウンロードはこちらから(PC-8801、PC-6001、MZ-80K/B、MSX、ぴゅう太、FM-7、X1にも対応)

 

PC-8001のわかりやすい記事がありました。やもり様@yamori813のQiita記事より)

 

MZ-80系はこちらのtwitterがわかりやすいです。retrogamer128様のtweetより)

 

【PasocomMiniPC-8001をお使いの皆さまへ】(2020/9/12追記)

PasocomMini本体でwavファイルからcmtファイルに変換する機能がありますが、変換に相当時間がかかります。また、波形に乱れなどがあると変換エラーになってしまいます。wavファイルからcmtファイルの変換は事前にwindows上で行ってしまうと楽チンです!

 

作業1 PCで録音してwavファイルを作る

 

 当時のテープを再生できる環境が必要です。当時のものは無いかも知れませんが、ラジカセなどで十分だと思います。

パソコンとコードで接続して、音(ピーギャラ)を録音して下さい。

 

自分は、SoundEngineFreeを使って録音しています。

テープの状態が良い場合は、22050Hz、8bit、1channelで録音しておくと、wavファイルのサイズが小さくなります。

ノイズが多い場合には、44100Hzで録音しておいたほうが良いです(フィルタ処理とか後で加工できるので)。

また、音量が一定せず、大きくなったり小さくなったりするテープは、16bitで録音しておいたほうが良いです(8bitだと音が小さい部分で、データが無くなってしまいます)。

 

作業2 DumpListEditorでゲームを抽出

 

 wavファイルができたら、それをDumpListEditorにドロップするだけで、ゲームが自動的に抽出できます(DropはTextエリアではなく、ボタンの並んでいる所にお願いします)。

エッジやフィルタの12通りの組み合わせから一番ファイル抽出数の多いものが自動的に選択されます。

 

動作例1:全自動で、t88ファイルが出てきました。

    (#3にエラーが残っています。#4はテープ最後のゴミなので無視してOKです。)

 

(注)ver0.19から画面にはt88(p6t、mzt)ファイルが出力されるように変更しました。

 ・個別ファイルの取り出し→t88ファイルを選択してから[選択ファイルを再解析]ボタン押下。

 ・cmtファイルへの変換→「t88/p6t→cmt/p6」にチェックしてから[選択ファイルを再解析]。

 

エラーが無ければ、そのまま[cmt書出し]ボタンを押して、cmtファイルを書き出すことができます。これを、PasocomMini用SDカードの/boot/PCMフォルダに置くことで、PasocomMini上で当時のゲームを遊ぶことが可能になります(ファイル名に英数字、アンダーバー、ハイフン以外を使っているとリストに出てこないので注意)。

 

「波形表示」画面に切り替えると、wav波形を確認できます。その画面で中に入っているファイル名なども確認できます(マシン語は、先頭アドレスのみを表示)。

 

動作例2:テープの中には、ファイルが4つ入っていました(EA68, 8800, EA68, 8800)。

 

中に入っているファイルが全部抽出できていない時は、以下の点を確認してみて下さい。

1.モデル選択:モデル選択が間違っていると正しく抽出できません。まず、最初にモデルの設定をお願いします。

2.ボーレート:モデルや波形から、ボーレートが自動設定されますが、間違っている場合には手動で設定して下さい。

3.エッジ選択:波形を拡大してみて、明らかにエッジが間違っている場合には、手動で設定して下さい。

4.wavファイルの分割:負エッジと正エッジの2セットがテープに入っていることが多いようです。この場合、正しくエッジを判定できませんので、前半と後半の2つのwavファイルに分割して使って下さい。波形表示画面の[波形書出し]ボタンで、画面に表示されている範囲のwav書出しが可能です。

5.レベルしきい値変更:デフォルトでは最大波形の10%以下の部分は無音としています。「Rejectレベル(%)」の数字をいじってみて下さい。

 

DumpListEditorは、デフォルトでは、極力ファイルを出力しようとします。

・マシン語で1ブロック内に1つのエラーはチェックサムから逆算して穴埋めします。

・パルスが若干少なくてもエラーにせず、ファイルを出力します。

・MZ-80Kのチェックサムは無視します。

「チェックを厳しく」をチェックすることで、これらの機能を抑制することも可能です。

なお、BASICはチェックサムなどが無いので、完全なチェックはできず、文字化けすることが多いです。エラーを検出した場所には、「?」文字を挿入していますので、「BASIC入力」画面で確認が可能です。

 

作業3 テープが劣化している場合(ラベルの手修正)

 

 テープが劣化している場合には、自動ではゲームが抽出できない場合があります。

このような場合には、High Tone、Low Toneの検出結果を手作業で修正することで抽出できる可能性があります。

まず、「波形表示」画面に切り替え、エラー(×印)のある場所を拡大表示します。

マウスでドラッグして×印を囲ってから、[Drug範囲を拡大]ボタンを押して下さい(マウスのCTRL+ホイールUPや、上矢印キーでも、拡大可能です)。

 

動作例3:ラベル(L、H)が見える所まで拡大して、間違っている場所を手修正する。

 

LとHのラベルが見えるくらい拡大したら、ラベルをクリックして選択状態にした後、[L][H][無][H+H][L+無]のボタンを押して修正して下さい。

ラベルを修正することで、0/1の結果、バイト単位の結果が変わっていきます。すべての修正が終わったら、[File再抽出]ボタンを押して下さい。

 

動作例4:エラーが消えて、無事、ファイルが4つ抽出できました。(同じものが2セット入っていたようです。)

 

一連の作業の動画を、こちらに置いておきます。

 

手修正のやり方については、きらびぃさんの説明が図入りでわかりやすいので、こちらもご覧下さい。

 

★当時のテープを救出したい方は、ぜひメールでご相談下さい。ツールの改良やwavファイルの解析など、できる範囲でご協力します。

 

謝辞

 

下記のツール/情報を使わせていただきました。いつもありがとうございます。

 

HAL 8999様(PC-8001テープフォーマットの説明文書(cmt8001のhowto.txt))

久保ちゃん様(機能提案&サンプル音源ご提供)

きらびぃ様(波形修正実践例のtweet