UbuntuでMSXのプログラムをカセットテープからバックアップしてみた

中古ゲーム屋でMSX用ソフト「ミステリーハウス」のゲームプログラムが収められたカセットテープを保護したので、中のデータのサルベージに挑戦してみました。

カセットテープの外観です。ゲーム業界黎明期の空気が閉じ込められた素晴らしい一品です。
![IMG_20201115_112853079.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104361/2ed2e718-17d8-547d-9006-e7e734b09425.jpeg)

*「カセットテープにプログラムが入っているってどういうこと？」という方はこちらをどうぞhttps://ja.wikipedia.org/wiki/%E3%83%87%E3%83%BC%E3%82%BF%E3%83%AC%E3%82%B3%E3%83%BC%E3%83%80
##ご注意
*この記事で扱っている内容は自己所持しているメディアのバックアップの記録です。自己で所持していないソフトウェアの複製は違法行為となりますのでご注意下さい。
*ゲームのスクリーンショットは引用の範囲で利用しています。
*著作権の保護期間をもうちょっと短くしないとデジタル考古学的資産がまともに保護されないまま消えてしまうことが危惧されます。

##用意するもの
*カセットテープ(ミステリーハウス)
*ラジカセ
*オーディオケーブル
*Audacity(https://www.audacityteam.org/)
*MSXcastools(http://home.kabelfoon.nl/~vincentd/)
*PC

##ラジカセのイヤフォンとPCのマイクジャックをオーディオケーブルで接続
##Audacityを起動
###サンプリング周波数を44100に設定
48000でも良いらしい
![audamenu3.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104361/dbd9da7f-c216-b9ac-561c-63a9f1df38f8.jpeg)

##録音する
###Audacityで録音を開始
###ラジカセで再生開始
##波形を見てみる
CTRL+ホイールで表示を拡大すると音声の波形が見えてきます。
いわゆる矩形波というやつですね。
![Screenshot from 2020-11-19 21-01-29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104361/d8c8cca8-3d3d-2bf8-4d5c-d57649162882.png)
一方別のテープには正弦波っぽい波形が収められていました。
![Screenshot from 2020-11-19 21-05-06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104361/d7b2f3df-f76e-315a-532d-8dd46fc9a8bd.png)
##ボリュームについて考える
矩形波の場合は波形が上下に多少振り切っても問題なさそうですが正弦波は山谷の頂点部分が振り切らない程度にボリュームを調整した方がよさそうです。
ボリュームを調整しながら何度か録音してみましょう。
いい感じに録音できたら、このへんのメニューから16bitPCMを選択しておきます。
![audamenu.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104361/b2ede596-fa74-d99f-9c7f-d4cdb52edf5f.jpeg)

##ファイルに保存
ファイル＞書き出し＞WAVとして書き出し
![audamenu2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104361/7ef13d05-bb7e-68ad-91fb-759c0053eac0.jpeg)
##MSXCastools
###Wineのインストール
MSXCastoolsは本来Windows用ソフトであり、一般的な方法では起動できません。そこでここでは、LinuxでWindows用ソフトウェアを起動できる互換レイヤ「Wine(https://ja.wikipedia.org/wiki/Wine )」をインストールしておきます。
sudo apt-get install wine

###MSXCastoolsの起動
コマンドラインを起動し、MSXCastoolsのフォルダに移動したら以下のコマンドで起動します。
wine MSXcastoolsUI.exe
![Screenshot from 2020-11-19 21-20-37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104361/f665e337-6709-bdcf-b151-afa9bd7e6cfd.png)
###WAVファイルを開く
"Drag file here"と書かれた部分へ先程保存したWavファイルをドラッグするとメイン画面が表示されます。
![Screenshot from 2020-11-19 23-22-41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104361/23d27992-d342-95f5-0179-c32acfd375ab.png)


###チューニング
ウィンドウ上部のチェックボックスは両方ともとりあえずONで
"Push Here to canvert to cas"と書かれたボタンを押すとcas形式ファイルが保存されます。
3つのつまみを調整しながらファイルサイズが最大になるまで何度か保存してみましょう。
##ファイルを覗いてみる
コンソールを起動して、casファイルが保存されたディレクトリへ移動します。
hexdumpコマンドでファイル内部を表示してみましょう。
（インストールされていない場合は sudo apt-get install hexdump）

hexdump -C  ./MisteryHouse.cas

ゲーム内で使用するコマンドらしきものが見えてきました。
どうやらデータが上手く取り出せたっぽいですね。
![Screenshot from 2020-11-19 21-33-55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104361/9b1ed62e-2f1f-78ec-7790-1f79af48207f.png)

##エミュで起動してみる。
MSXエミュレータは様々ありますが、とりあえずWEB版の https://webmsx.org/ がお手軽です。
###ファイルのロード
下部のアイコンからLoad tape imageを選択し、作成したcasファイルを選択します。

![Screenshot_2020-11-19 WebMSX - The online MSX emulator.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104361/71391a31-3c74-5560-bc9a-c8c2328c57c5.png)
###cload
カセットからデータを読み込むコマンド「cload」を入力し、エンターキーを押すと・・上手く読み込めた様です。
![Screenshot_2020-11-19 WebMSX - The online MSX emulator(1).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104361/78da42ec-8037-f2d8-3f92-68972ad6ac2d.png)
###run!
ロードしたプログラムを実行するには「run」と入力してエンターまたはF5キーを押します。
エイ！
![Screenshot_2020-11-19 WebMSX - The online MSX emulator(2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104361/d55a5c3c-9985-5d76-9d38-3cdcceb4db7d.png)

起動しましたね！成功です！

##その後
しかしタイトル画面後の追加ロードは成功しませんでした。
散々試行錯誤したあげく元の音声データを見返してみると・・・

うーむどうやらテープが劣化して信号が不完全な部分が発生してしまった様です。
![Screenshot from 2020-11-19 21-47-30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104361/4465e425-d567-efbd-e1b8-071368f17274.png)

しかしまあ30年以上前のメディアから一部のデータを取り出せただけでもラッキーと言えるでしょう。
お手元にまだ当時のカセットテープが残っていたら、再生手段が消え去る前に一度チャレンジしてみてください。

ではでは！
![Screenshot_2020-11-19 WebMSX - The online MSX emulator(2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/104361/d55a5c3c-9985-5d76-9d38-3cdcceb4db7d.png)