疑似カセットテープ環境(挫折)

ポケコンPC-G850Vにはプログラムをテープに保存するためのBSAVEというコマンドがあります。

  • BSAVEを実行すると、現在のBASICプログラムをテープに保存します。
  • BSAVE M START,ENDを実行すると、STARTアドレスからENDアドレスまでのバイナリデータをテープに保存します。

通信相手はテープレコーダとポケコンが選べるようです。

このプロトコルを解析して、外部にマイコンを置き、BSAVE/BLOADで気軽にプログラムの保存ができる環境を 作れるのではと思いました。

BSAVEのプロトコル解析はこちら。一応、ロジアナ経由でPWM波形をPCに取り込んでデータを取り出すことまではできました。大変効率の悪いBLOADまではこれで実現できます。

デコードとなんちゃってBLOADはこちら

ここまで検討して何ですが、これよりも高速化のほうを検討したほうが便利そうですので、いったんここで解析は終了します。

解析に使ったロジアナについて

BSAVE波形の解析には安物のロジアナを使いました。オープンソースのsigrokという波形ビューワが 使えます。GUIのPulseViewでもよいですが、Sigrok-CLIのほうが繰り返して実験するには便利でしょう。

たとえばBSAVEの解析のために11pinをモニタする場合、Pin3をGNDに、Pin7をD0に接続して、下記コマンドを実行します。

sigrok-cli --driver fx2lafw --config samplerate=20k -O bits:width=64 --channels=D0 --time 50s -o data.txt

その直後、実機でBSAVEを実行すると、data.txtにキャプチャ結果が得られます。

出力されたdata.txtを解析すればコードを取り出せます。

results matching ""

    No results matching ""