
今まで(2000年9月以前),私のHP上で公開しているMSX用のプログラムデータはFDD専用となっていたので,FDD未搭載のMSXではデータが読みとれませんでした。そこで,FDD用として作成されたデータをカセットインターフェースからでも読みとれるようにWAVE化する方法を考えたので,その方法について説明します。
ダウンロードのページへ
私の自作プログラムもこの方法にてWAVEファイル化ました。必要
なかたはこちらのページからダウンロードするようにお願いします。
|
私からのコメント |
私のMSXパソコン(FS-A1WSX,FDD搭載)はカセットインターフェースを搭載していないため,実際にWAVEデータをロードして確認することはできません。もし正常に読みとりができない場合は,メールか,掲示板にて私のほうまでお知らせいただければ幸いです。また,「FDDデータ→WAVE」変換について書かれているページを知っているというかたも同様にお願いします。
|
|
|
以下の方法は「MSX2テクニカルハンドブック」等の資料をもとにFDD
データからWAVEファイルを作成するまでの手順をまとめたものです。
↓
↓
↓
「P6DatRec」にてWAVEファイルに変換する |
↓
|
|
- MSXのFDDで読みとれるデータ,またはMSXエミュレータ用のディスクイメージを用意します。
- MSXエミュレータ(RuMSX)にて1.のデータをロードします。
BASICの場合 |
LOAD"ファイル名"[Enter] |
マシン語の場合 |
BLOAD"CAS:ファイル名"[Enter] |
- 読みとったデータをテープイメージとしてセーブします。
BASICの場合 |
CSAVE"ファイル名"[Enter] |
マシン語の場合 |
BSAVE"CAS:ファイル名"[Enter] |
- エミュレータを終了し,「.CAS」という拡張子のファイルができていることを確認します。
- 生成された「.CAS」ファイルの拡張子を「.P6」に変更します。
- 「.P6」ファイルをバイナリエディタで開きます。
- 0h~7h番地と18h~1Fh番地の2か所にある以下のテープイメージ用のヘッダー(赤色の部分)を削除し,セーブします。
1F A6 DE BA CC 13 7D 74 D3 D3 D3 D3 D3 D3 D3 D3
D3 D3 4F 43 48 49 20 20 1F A6 DE BA CC 13 7D 74
2C 80 0A 00 ・・・(このデータは一例です) |
- 7.でセーブしたファイルから,「P6DatRec」にてWAVEファイルを生成します。(「P6DatRec」の入手方法及び,使用方法は作者の森川浩氏のHPにあります)
- 8.で生成されたWAVEファイルをバイナリエディタで開きます。
- 4h~6h番地と28h~2Ah番地の2か所にあるデータ(赤色の部分)を読みとり,それぞれDB5Ahを加算します。
045555h+DB5Ah=0530AFh,045531h+DB5Ah=05308Bh
このデータを上書きしておきます。
52 49 46 46 55 55 04 00 57 41 56 45 66 6D 74 20
10 00 00 00 01 00 01 00 11 2B 00 00 11 2B
00 00
01 00 08 00 64 61 74 61 31 55 04 00 80 80 80 80
80 80 80 80 ・・・(このデータは一例です) |
↓
52 49 46 46 AF 30 05 00 57 41 56 45 66 6D 74 20
10 00 00 00 01 00 01 00 11 2B 00 00 11 2B
00 00
01 00 08 00 64 61 74 61 8B 30 05 00 80 80 80 80
80 80 80 80 ・・・(このデータは一例です) |
|
- 以下のファイルを13B4h番地に挿入します。
29694.DAT(解凍後29,694byte:ダウンロード可)
(約2.7秒の2.4kHz信号データ) |
- 以下のファイルを13B6Dh番地に挿入します。
26460.DAT(解凍後26,460byte:ダウンロード可)
(1.2秒の無音+1.2秒の2.4kHz信号データ) |
- WAVEデータを上書き保存し,完成となります。
|
以下にAT互換機を使用した方法について説明します。
AT互換機(サウンドカード必須),MSXパソコン(カセットインターフェース必
須),データレコーダ,カセットテープ,ケーブル類。サウンドカードの出力を
直接MSXに接続する場合は,データレコーダ,カセットテープは不要です。
|
- まず再生したいWAVEファイルを用意します。私の自作プログラムを使用する場合はダウンロードのページにある圧縮ファイル(sil_wav0.lzh等)を解凍しておきます。
- AT互換機のスピーカ出力端子とデータレコーダのマイク入力端子をケーブルで接続します。データレコーダを使用しない場合は,AT互換機のスピーカ出力端子を直接MSXのカセット入力に接続し,MSXのCLOADを実行後,以下手順4.→8.の順に操作します。
- データレコーダの録音ボタンを押し,カセットテープへの録音を開始します。
- AT互換機からメディアプレイヤーなどで必要なWAVEファイルを再生します。「数字パニック-落ちもの版-」の場合「OCHI.WAV」「OCHID.WAV」の両方を順に再生します。
- 必要なファイルの再生が全て終了したら,データレコーダの停止ボタンを押します。
- テープを巻き戻してデータレコーダをMSXパソコンに接続します。
- MSXを起動後,CLOAD[Enter]などと入力し,テープを再生します。
- BASICプログラムのロードが完了したらRUN[Enter]と入力します。
- プログラムによっては,BASICプログラムからマシン語プログラムを自動的にロードするものもあります。(「数字パニック-落ちもの版-」など)
|
MSXカセットファイルのフォーマットについて
(参考にしたもの:MSX2テクニカルハンドブック・アスキー出版)
|
<バイナリファイルのフォーマット> |
ロングヘッダ
2.4kHz/6.7秒 |
D3h×10個
(BASICの場合)
D0h×10個
(マシン語の場合) |
ファイル名
6バイト |
無音
1.2秒 |
ショートヘッダ
2.4kHz/1.7秒 |
プログラム
本体 |
00h
×7個 |
|
<1バイトの構成> |
0
スタートビット |
D0 |
D1 |
D2 |
D3 |
D4 |
D5 |
D6 |
D7 |
1
ストップビット |
1
ストップビット |
「P6DatRec」にて生成されるデータはストップビットが3ビットとなる
が,ストップビットは3ビット以上でも問題なく動作することを確認済み |
|
<ビットデータと周波数の関係> |
1.2kHz波形×1・・・データ「0」を表す
2.4kHz波形×2・・・データ「1」を表す |
|
|
|