2017/10/22

今更人に聞けないMSXのテープイメージ作成のこと

オールドPC楽しそうだけど、保守できなさそう…。

MSXならカートリッジだし、とりあえずゲームで遊べるか…。

MSX最高や!…でも、FDのソフトは管理できなさそう。

ディスクいけるやん!もっと買うたろ!!

…でも、カセットテープのソフトは管理できなさそう。(今ココ)

テープのイメージ化はこちらにそのものズバリの記事があるが、自分で実際作成して悩んだ事などのメモ書き。

(以下メモ)

音声ファイルで取り込む方法

 多分、一番簡単な方法。
CAS ToolsというWindows用のツールがあり、これを使えばcasファイル作成・wavファイルへ戻すことが可能。

元になるwavファイルはデータレコーダーから録音することがベターだと思うが、オーディオ用の再生器でも問題は無かった。
そもそもCMTの音声(という表現は正しくないかもしれないが)波形はパルスなのか、サインウェーブなのか。
bitの0と1に対応する周波数さえ合っていれば、問題ないのかな?

どのくらいの精度で録音することが望ましいかは不明だが、
  • 8bit
  • 44.1kHz
  • 録音レベルは波形の振幅が0dbを振り切る(波形がきれいな矩形波になるように)
これを基準とし、イメージ化失敗したら周波数を48kHzなどに変更することにした。
また、所有しているデータレコーダーは倍速再生機能があるが、これを使用してもイメージ化は可能なため、不具合が無ければ常時使用とした。

CAS Tools側の設定は環境によって左右されるかもしれないが、 『phase shift signal』にチェックを入れないと100%失敗する。
所有しているデータレコーダー側にも同じ機能があるが、こちらの機能を有効にしてもダメだった。
作成されたcasファイルを再度CAS Toolsへドラッグドロップするとwavファイル書き出しできるが、この時に表示されるディレクトリ構造を見て、『------ custom ~』と表示される部分が無くなれば正常にイメージ化されたと判断した。
 但し、殆どのテープソフトが一回で成功せず、B面のデータを録音したり、『envelope correction』を3.0または4.0にすることで成功するようになった。
(他の項目は変更してみても結果に影響しないようだった。)

しかし、1本だけデゼニランドの2本めのテープが何度やっても成功せず。
デゼニランドは1本のテープの中に2つのマシン語データが記録されているが、テープ両面とも2つめのデータで失敗してしまう。
音を聴くと、「ピーーーガッ」の部分が「ピピピーーーガッ」となっているが、これがテープ不良によるものかは見た目では判断できず。

波形編集ソフトでこの部分をカットすることによりイメージ化はできたが、本当に正しいデータなのか判断できないため、別の方法を試してみた。

実機でFDにセーブする方法

MSXTAPEというツールで、MSX実機でデータレコーダーから読み出したデータをイメージ化してFDに保存可能。
但し、MSXTAPEはBASICプログラムをイメージ化できない様子。
ドキュメントに記載は無かったが、テープを全て読み出したらCTRL+STOPで終了させないといけないようだ。
また、こちらもデータレコーダーの倍速再生機能を使っても問題なかった。
(実機だから当たり前か)

デゼニランドの2本めのテープをこのツールでイメージ化したものと、波形を修正してCAS Toolsでイメージ化したものをバイナリエディタで比較したが、2つのマシン語データ間の無音部分(フッター?)がMSXTAPEでイメージ化したものが88byte多い以外は同一だった。

今回はデータのヘッダー部分(?)の音が他と違うことから波形編集も可能であったが、CAS Toolsで何回も失敗するようなら、場合によってはこちらを使うことがベターか。

しかし、テープソフトは多くは持っていないが、BASICでマシン語データをロードするものが一般的なのだろうか?
そうなると2つのツールで作成したデータを切り貼りするのが確実か。

…という事で、カセットテープいけるやん!もっと買うたろ!!(自滅)


(追記)
数本テープソフトを入手したので、イメージ化などで難儀したものについて。
  • 黄金の墓
    テープA面,B面ともヘッダー部分の前にノイズのようなものが入っていて、ヘッダー部分を見つけられず。
    対処としては波形エディタでノイズのようなものをカットすることでイメージデータを作成することはできた。

    このノイズのようなものは何なのだろうか?何らかのコピー防止技術か??
    でも黄金の墓Ⅱには入っていなかったような…。
  • ハイドライド
    2つめのデータ形式が「custom」となってしまう。
    録音レベルなどの条件を変えて何回かイメージ化を行ったが、チェックサムは同一となるため、これで正常なのだろうか。
  • 地球戦士ライーザ
    2本めのテープA面にチェックサムが同じバイナリ形式のデータがあり、ファイル名も文字化けしてしてしまう。
    …この原因は凡ミスで、ファイル名にひらがなが使用されていたので文字化けしてしまい、それを「データが破損している」と誤認してしまった。
    データがダブっているのは、そういったストーリー展開になるのかな?
  • Blue MSXでテープイメージが使えない。
    MSXのエミュレータ全般に言えるが、いくつかのマシン定義にスロット構成などの間違いがあったり、マシン定義そのものが無かったりで所有している実機を調べて修正しているが、Bule MSXではBIOSのタイプを『Normal+Cassette Patch』にしないとテープイメージを読み込まないようだ。
    (何これ…)
(追記2)
MSX実機を使用したイメージ化方法について、TAPE2CASというツールが良いようだ。
これだとBASICとマシン語が混在したテープもイメージ化可能。
このツールもテープを全て読み出したらCTRL+STOPで終了させないといけない。

但し万全ではなくて、手持ちの黄金の墓がイメージ化できなかった。
おそらくテープに入っているノイズのようなものが原因で、最終データブロックの終了位置を見つけることができないようだ。
 (…ということは実機で遊ぶ場合は最後の最後でリードエラーになるのか?)
このとき、CTRL+STOPで終了させると最終データブロックは書き込まずに破棄してしまう。

結局のところwavファイルを変換する方法とどちらが良いかはケース・バイ・ケースになるのかな。

(追記3)
 MSX castoolの『phase shift signal』に必ずチェックを入れる必要があると思っていたが、マイクロキャビンのWorryはチェック有りだとイメージ化失敗してしまうようだ。

また、TAPE2CASを使用した場合、バイナリエディタでヘッダーを修正しなければいけないかも(?)
『オホーツクに消ゆ』のテープ音声を聞くと、このゲームは特殊なヘッダーなのかもしれないがcastoolでは100%イメージ化失敗。
TAPE2CASではバイナリエディタで一部データを修正することで読み込み可能となった。
<参考>

また、TAPE2CASを使用する場合、わざわざ実機を使用しなくても武田氏などのwavファイルをカセットイメージで扱えるエミュレータを使用して、CPUのリミッター解除してブン回すのが素早く作成できて良いかも。
wavファイル化するときも、録音レベルにあまり気を使わなくても良いみたいだし。
(30本近くイメージ作成して今更気づいた…。)

0 件のコメント:

コメントを投稿