電子趣味の部屋

電子系のガジェットやアプリ開発等の趣味の話題を書いてます

CASIO PB-100のカセットインターフェイスを自作

CASIO PB-100のカセットインターフェイスの簡単な作り方を見つけたので、自作してみました。

正確には使用しているのはPB-100Fですが、PB-100シリーズなら何でも対応してると思います。

参考にしたサイトです。
ziend.net
ここではカセット&プリンタインターフェイスを作成しているサイトからカセットインターフェイルに特化し、極限まで簡略化したものの回路図が紹介されてます。

実際に作成したものはこんな感じです。

PB-100に装着した画像

配線をイメージした回路図です。

使用した部品のリストです。
AVR AT90S2313
セラロック 10MHz
抵抗 5.6KΩ 4個
セラミックコンデンサ 15pF
USBシリアル変換モジュール
適当な基板
適当な線材
適当なピンヘッダ

基板と線材とピンヘッダ以外は秋月電子通商で購入したので、リンクにしておきました。

Mass storage and printer interface for the FX-700P calculatorにあるtape25d.zipにHEXファイルはあるので、これをそのままROMライターでAT90S2313に書き込みました。

PCでの接続はTeraTermで行いました。
シリアルポートは下の設定で上手く動作しました。
スピード : 9600
データ : 8bit
パリティ : none
ストップビット : 1bit
フロー制御 : Xon/Xoff

下のテストプログラムを保存してみました。

10 S=0
20 FOR I=0 TO 10
30 S=S+1
40 NEXT I
50 PRINT S

プログラムを保存する際はSAVEコマンドでPCに転送します。
PB-100の場合はソースがテキストで受信されるのではなく、バイナリを文字列にしたような信号文字列が受信されます。

oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
oonnB`H`VdloB`H`>hPhPh0`oooooooooooooooooooooooooooooooooooooooo
oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
oooooooooooooooooooooooo4hPh0`TiH`Phng0i0`0e@aH`PhZdR`PhngPa0`Ti
H`Ti2h@ang0j0`2m@angPb0`<eTingPg0`

プログラムをロードする際はLOADコマンドを実行後、TeraTermからこの文字列を送信します。
送信方法は、そのまま文字列をコピペで送信しても、テキストファイルで保存してファイル送信しても成功しました。
受信の際にTeraTermのログ出力を使用して保存したテキストファイルでも送信に成功しました。

まだ試してないのですが、CASsette IO Utilitiesを使用すると信号文字列をBASICへ変換したり、BASICを信号文字列へ変換したりできるようです。

CASIOの純正カセットインターフェイスは入所が困難なので、プログラムを残したい場合は簡単にできるこの方法がおすすめです。