エントリー

PB-100をPCに繋げる

 PB-100の新鮮な使い心地を楽しんでいますが,そうなってくると必要なのはプログラムのロードとセーブを行う仕組みです。苦労して入力したプログラムを保存する,OCRで雑誌のプログラムを入力するなど,ロードとセーブは使いこなしの第一歩です。

 PB-100のロードとセーブは,原則的にカセットインターフェースで行いますが,専用のカセットインターフェースは高価ですし,滅多にお目にかかれません。ならば自作となるわけですが,PB-100のカセットインターフェースはカスタムICが搭載されているので,入手が容易な部品でさっと作るわけにはいきません。

 それは12ピンの拡張端子が特殊なプロトコルであるからですが,ここを解析してP`B-100からはカセットインターフェースに見える,シリアルポートを作った人が海外にいます。

 いやー,こういうのは助かります。PB-100くらいだと波形を見ていればなんとなく解析も出来て,マイコンでさっと作る事も出来るかも知れませんが,時間も手間もかかりますし,何より本物のカセットインターフェースを持っていなくては解析が出来ません。

 作例ではAT90S2313という,これまた懐かしいAVRを使っています。私も手持ちが2つほどあり,使い道がなくて正直どうしようかと思っていた所だったので,好都合でした。

 オリジナルは,外部のEEPROMへの読み書きやプリンタインターフェースも持つ重装備でしたが,私はとりあえずシリアルポートさえ出ていればよかったので,回路を大幅に削減し,最低限のものだけにしました。するとAVR意外には抵抗が数個,10MHzのクリスタルにコンデンサが3つほどと,本当に簡単なものになってしまいました。AVRとクリスタル以外はチップを使ったので表からは見えません。

 20230517182048.jpg

 30分ほどで組み立てが終わり,AVRの書き込みもデジットのAVRWRTでさっさと済ませて,完成です。USB-シリアル変換基板をくっつけてテストをします。

 ところが,なかなか上手くいきません。最初はTeraTermでの送受信もおぼつかない状況でしたが,これはフロー制御をXon/Xoffにすることで解決。これでSAVEコマンドで読み込んだプログラムをLOADコマンドで書き戻せるようになったのですが,あくまでこれはバイナリでの話。

 バイナリをテキストに変換し,編集してまたバイナリに戻して転送という目標を達成するには,専用のツールを作られた方がいるのでこれを使います。

 しかし,これも複数のエリアにまたがる変換には対応しないなど,なかなか大変でした。ある方が修正版を出してくださっていたので,これを使ってどうにかやりたいことが出来るようになりました。(とはいえ複数のエリアへの書き込みは手動で一部テキストを修正しないといけないのですが・・・)

 しかしそれでも,実行すると原因不明のエラーで止まりますし,場合によってはリセットをしないと復活しないこともあります。しばらく悩んだのですが,結論はPB-100のバグでした。

 なんでも,変数のクリアを行うVACコマンドにはいろいろ深刻なバグがあるらしく,この命令の後にマルチステートメントでコマンドを書いてしまうとエラーになったり暴走したりするんだそうです。

 こんなバグは後のモデルでは解消されていると思いますが,これもPB-100ならではです。分かってしまえばなんということはありませんし,むしろ味わい深い個性です。

 ということで,PB-100がPCと繋がり,プログラムの保存が可能になりました。これが出来ないと実用に供することは現実的に不可能で,PB-100がそのハードルを越えてくれたことがうれしいです。

 

ページ移動

ユーティリティ

2024年05月

- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31 -

検索

エントリー検索フォーム
キーワード

ユーザー

新着画像

過去ログ

Feed