プログラミング
カシオ電卓で実現する本物のTelnet BBS
A True Telnet BBS on a Casio Calculator (ei3lh.eu)
要約
著者は、かつては退屈な計算機に過ぎなかったカシオVX-4電卓に魅了され、BASIC言語とRS232シリアルポートのハック可能性を発見しました。その結果、8KBのRAMという制約の中で、Raspberry Pi Zero Wをブリッジとして使用し、世界初のTelnet BBSを電卓上でホストするというプロジェクトを成功させました。
全文翻訳
カシオ電卓で本物のTelnet BBSをホストする。
EI3LHが計算機、コーディング、コンピューティングの分野で執筆。
私のカシオVX-4でBBS(Bulletin Board Service)をホストする。
11~17分
私はカシオVX-4が大好きで、それのAI生成された偽の雑誌広告まで作ってしまいました!
2026年8月14日。
約8週間前、私は計算機にほとんど興味がありませんでした。空白で、鈍く、退屈に見えるオブジェクトで、1980年代/1990年代の学校の数学の授業での長く、困難な雨の午後の午後を思い出させます。
2026年8月14日に早送りすると、私は今、カシオポケットコンピュータ電卓を2台所有しており(日本から多大な費用をかけて直輸入)、それらのために4つのソフトウェアを開発しました(1つはすでにGithubで公開されており、残りは皆さんが遊べるようにオープンソースにする約束です!)、電卓のファンアート(AI生成)を作成し、そして今ではそれらに完全に夢中になっています。
何が変わったのでしょうか?BASICとRS232です。それだけです。
ブッフ・ア・ラ・モード!
それは、SOTAリフレクターでマーク・M5TEAが投稿した記事を読んだことから始まりました。マークは、人気の電卓エミュレーターを移植したことに言及していました。BASICソフトウェアだけでなく、C言語やCasio CASL言語も書ける、ある種のポケットカシオの装置です。
私は笑いのために「好奇心クリック」をし、エミュレートされた電卓のボタンをいくつか押し、それ以上はあまり考えませんでした。
その日の後半、電卓がBASICソフトウェアをどのように実行できるのか、そしてさらに、それをどこまでプッシュできるのかを知りたくて、もう一度見に行きました。
数分が数時間になり、数時間が数日になりました。私は夢中になりました。
クラシックなものから始めました:
10 PRINT "HELLO WORLD"
20 GOTO 10
RUN
そして結果は:
HELLO WORLD
HELLO WORLD
HELLO WORLD
すぐにランダムなクイックショットプログラムのテストに飽きてしまい、電卓のプログラマビリティだけでなく、その2つのゲートウェイのハッキング可能性のおかげで何が可能になるか考え始めました。
小さなインターフェースポートと、RS232シリアル入出力ポートとして偽装された2.5mmジャックです。
ブッフ・ア・ラ・モード!
これが私を夢中にさせた瞬間でした。
私はもう一つの情熱であるアマチュア無線、特にCW(モールス信号)について考え始めました。
私はソフトウェア開発の世界の出身ではなく、プログラミングの知識は非常に限られています。そこでLLMに、ポータブル運用中に無線交信を記録するための簡単なソフトウェアをコーディングできるか尋ねました。
これが、現在公開されている(そしてまだアルファ版の)Jamoncito FXロギングソフトウェアの誕生となりました。
その後すぐに、BASICで書かれた小さなCWキーイングプログラムをまとめました。これは未完成で、私の目標を達成するには電卓と無線機との間に外部ブリッジ回路が必要になりますが、少し考えれば何ができるかを示しています。
私の珍しいカシオZ-1GRポケットコンピュータ電卓。
残念ながら修理が必要です。(出品者の写真)
ちなみに、私は長年ポケットノートと万年筆(文房具と筆記具はお好みで)を持ち歩く習慣があります。
日中(または夜間)に何か思いついたら、いつか役立つかもしれないと思って書き留めておきます。
また、それは私の脳を整理するのに役立ち、デジタルノートを取るのと比較して、集中力を維持し、真に重要なメモの間にランダムな思考がデジタルな虚空に失われるのを防ぐのに役立つと感じています。
両方のソフトウェアプロジェクトを進めながら、別のアイデアが浮かび、急いでポケットノートと万年筆を手に取り、それを書き留めました。
アイデアを次のレベルに進めたいのであれば、実際のハードウェアを入手する必要があることがすぐに明らかになりました。
そこで、私は東に目を向け、ほぼ新品同様の状態に見えるカシオVX-4を見つけました。
完全な箱入り、新品同様の状態の取扱説明書とプログラミングブック、オプションの32KB RAM追加カードが付属しています。
これは、オンボードの8KBに32KBを追加します。もし特に大胆な気分なら、8KBのICをはんだ付けして32KBのチップに交換することで、VX-4を64KBのフルロードされた強力なマシンにすることができます。これは、その兄弟機である64KBのFX-870Pに匹敵します。
この特定のVX-4の販売には、ボーナスアイテムも含まれていました。
完全に組み立てられた2.5mmからUSB-C FTDI RS232ケーブル!
素晴らしい発見でした。シリアルケーブル付きのフルロードされたVX-4が、まともな価格で手に入りました。
あとは、支払いをして、発送し、アイルランドに到着したときに動作することを祈るだけでした。
私の宝物であるカシオVX-4。
出品者の写真です。この演出を上回ることはできないでしょう!
人々は常にプレートを必要とするでしょう。
私はカシオVX-4と、RS232データを解釈できるものとの間の通信リンクについて考え始めました。
そして、通信について考えることは、私を技術の祭壇へと導きました。
BBS(Bulletin Board Service)はどうでしょうか?
「なんて独創的だ」と言うかもしれません。
はい、しかし8KBのRAMしかない電卓で完全にホストされるBBSはどうでしょうか?
本物の、真のTelnet BBSが電卓上でホストされるのです。
ディスコ。
私の次のプロジェクトが決まりました。
テクノロジーは「学」です。
それは私を科学者にする!
数日が経過し、私の2台の電卓が日本からアイルランドへと旅する間、私はプロジェクトに取り組み続け、エミュレーターのおかげで典型的なカシオ電卓の操作手順についてできる限り多くを学ぼうとしました。
ビッグデーがやってきて、私は購入品が入った小包を急いで開けました。
VX-4は説明どおりでした。箱入りで、ほぼ新品同様でした。
同梱されていた本は、一度も開けられたことがないように見えました。
Z-1GRは状況が異なりました。それは死んでいました。完全に死んでいました。
マルチメーターでプローブしても、生命の兆候は全くありませんでした。
出品者はそれを「ジャンク」としてリストしていましたが、私はそれに対してかなりの金額を支払ったので、少し痛いです。
とはいえ、それを復活させるためにいくつかアイデアがあります。
まず、バッテリーではなくDCで給電してみること、そしてもし電源が入れば、LCDディスプレイが機能するかどうかを確認することです。LCDは疲れたLCD偏光板の兆候を示しています。
Z-1GRが死から蘇る兆候を示した場合に備えて、LCDディスプレイ専用の偏光フィルムを用意しています。
このスペースにご注目ください!
これで物理的なハードウェアが手に入ったので、(世界初?)の電卓BBSに取り掛かる時が来ました!
私のカシオVX-4をCOMモードに設定し、RS232 USB-Cケーブルに接続しました。
お電話ですか?
最初から明確にしておきますが、ここではコーディングの詳細には触れません。
安心してください、このソフトウェアが完成し、完全に準備ができたら、皆さんが共有したり、ボロボロにしたり、私のひどいスキルを笑ったり、そしてできれば改善したり、独自の電卓BBSを作るインスピレーションを得たりできるように、私のGithubリポジトリに公開します。
プロジェクトに着手する前に、最初から直面した最大の障害は、a) 電卓をオンラインにすること、b) 非常に限られた8KBのRAMでした。
はい、追加の32KB RAMモジュールという贅沢がありましたが、私はBBSがVX-4のすべてのオプション、特にベースラインの8KBモデルで動作することを望んでいました。
なお、FX-870Pは同じデバイスですが、RAMが多いだけです。
VX-4は、より安価なオプションとして市場に投入され、「教育用」電卓として宣伝されていました。
その名称のとおり、主に教育および商業部門に販売されていました。
当然、何らかのハードウェア改造や、おそらくリバースエンジニアリングなしでは、電卓をインターネットと通信させる方法は全くありませんでした。これは私の知識の範囲外です。
より可能性の高い道は、RS232ポートを活用し、ブリッジを追加することでした。
答えは後者、つまり、私が何もせずに持っていたRaspberry Pi Zero W(もう一つ、何もせずに放置されていたオリジナルのRaspberry Pi Model Bもあります。これは別の日に詳しく説明します!)でしたが、Pi ZeroがVX-4に干渉しないという条件付きでした。
つまり、接続性を提供する以外は、Piは電卓に依存するということです。つまり、電卓はBBSとその運用性の100%ホストであるということです。
私は自分のルールをわずかに曲げ、Pi Zero Wにメッセージアーカイブボルトとしても機能させました。これにより、VX-4は依然として呼び出し者がBBSに残したメッセージを保存しますが、Pi上のテキストファイルボルトにも複製します。
これにより、BBS管理者として私は...