[P6mkII]ピーガー音プレイヤー2

PC-6001mkII用の自作データーレコーダーです。SDカードからの再生、SDカードへの録音が可能です。リモート端子による分割ロードにも対応しています。

SDカード内にはバイナリファイル(CAS/P6)で保存します。バイナリファイルとはカセットテープのイメージファイルです。

再生時はバイナリをピーガー音に変換します。録音時はピーガー音をバイナリに変換します。変換はリアルタイムで行われるので、途中でWAVファイルに変換する必要はありません。これにより、実機とエミュレータとの間で容易にファイルのやり取りができるようになります。

接続方法は以下のとおりです。

・PC-6001mkII CMTIN←プレイヤーOUT

・PC-6001mkII CMTOUT→プレイヤーIN

・PC-6001mkII REMOTE→プレイヤーREMOTE

リモート端子はデータレコーダを制御するための端子です。リモート端子がオフの状態ではプレイヤーは停止します。オンの状態では再生します。市販のゲームはこのリモート端子を使って、複数のファイルを分割ロードします。

モードは3つあります。トップメニューではUP/DWボタンでモードを切り替えて、PLAYボタンで決定します。

PLAYモードではUP/DWボタンでファイルを選択して、PLAYボタンで再生します。STOPボタンで再生の中断が可能です。

REMOTE PLAYモードではUP/DWボタンでファイルを選択するだけです。PC-6001mkIIのリモート端子がオンになると、再生を開始します。再生中にリモート端子がオフになると一時停止です。STOPボタンで再生の中断が可能です。

CLOADコマンドが終了しない、または「TR Error」が出る場合にはVR1を調整してください。

RECモードではUP/DWボタンでファイル番号(0~65535の範囲)で選択します。PLAYボタンを押すと録音開始です。STOPボタンで録音を終了します。録音したファイル名は「SAV00000~65535.CAS」になります。

ATmega328Pには書き込み装置を使ってArduinoのブートローダーを書き込みます。

テープをバイナリファイル化

テープからバイナリファイルを作成する例です。データレコーダでテープを再生して、ライン入力付きのMP3プレイヤーで録音しています。WAVファイル化して、CASまたはP6ファイルに変換します。

https://github.com/nicotakuya/hsp_tapetool

いくつかコツがあります。音が割れる場合にはデータレコーダの出力に抵抗を入れること、音の振幅をきちんと-127~+127まで使い切っていること、音の位相がプラス側から始まっていること、22kHzより44kHzのほうが成功率が高いことなどがあります。

分割ロードへの対応

分割してロードする場合には、バイナリファイル内のデータとデータの間に「0」を入れてください。

プレイヤーは「3.4秒のピー音」→「データ」→「1秒のピー音」→「データ」の順に送信します。

たとえば、TINY XEVIOUSの場合、実際のテープは次のような構成になっています。

・ピー音

・LOADER(データが21秒くらい)

・(3秒くらい無音)

・ピー音

・「C9」の羅列と「XEVIOUS」

・(3秒くらい無音)

・ピー音

・「9C」の羅列

・本編データ(データが3分弱)

最初に「LOADER」のロードが終わると、リモートがオフになって再生を中断します。この時、プレイヤー側が反応して止まるまでデータの「0」が必要になります。プログラムを実行すると、リモートがオンに戻って、再生を続行します。再開時はまた「ピー音3.4秒」「データ」「ピー音1秒」の順に再生します。