現在使用しているCPMエミュレーターは2種類 一つは、 https://github.com/jhallen/cpm から cpm を紹介します。 最後の更新から3年経過してますが、それでも まだ新しい部類の方です。 $ ./cpm #### で linuxのカレントディレクトリにあるCPMコマンドを直接起動して端末画面上で動作させることが出来ます。 $ ./cpm だけの場合は、linuxのカレントディレクトリを cpmの A> として扱います。 これは、BDOSエミュレーション機能によるものだそうです。 難点は、tek4010のコードを素通しできないので、一部改変が必要なことと。 BDOSエミュレーション機能のもとではhi-tech-Cがエラー出して、利用できません。 BDOSエミュレーション機能を切って、用意されたディスクイメージ上に hi-tech-Cの諸々をコピーしてやれば使えるやもしれませんが、 そこまでの手間を掛けるのも如何なものかと思われるので試すことすらしていません。 tek4010対応 改変版のリンクは https://www.4shared.com/s/flRE-X7-pfa 二つ目は、 https://github.com/serge-404/CPM32 から 「CP/M-80 program EXEcutor for LINUX」を紹介します。 こちらは、先の「cpm」と同じようですが A>のような コマンドプロンプトモードはありません。 linuxのシェル プロンプトから、カレントディレクトリにあるcpmコマンド 拡張子 COMかCPM のファイルを実行します。 難点は、tek4010のコードを素通しできないので、一部改変が必要なことと。 こちらではhi-tech-Cでのコンパイルはできるのですが、 逆にMBASICがBDOS・BIOSの機能の一部が対応してないとエラーで動作しない。 C言語より当時メジャーだったBASICが動かないのはかなり痛い問題なんだが この問題は、既に作者のもとに報告されているので そう遠くなく改善されると期待する。 あと、動作異常でターミナルに戻ってくるとターミナルの表示が乱れる場合は $ stty saneで解消されるらしい。 tek4010対応 改変版のリンクは https://www.4sh...
大昔のメインフレームとかには、出力装置はプリンタぐらいしかなく。シリアル接続の端末の画面に出すのは、一時的な作業状況程度の文字情報のみだった。記憶装置としては紙や磁気のテープやハードドライブがついてる程度かな。音楽も演奏できないし、3DグラフィックスをリアルタイムでFPSいくらでとかありえない世界だった。そんな中でもゲームを作ってやってた連中がいた。文字だけで構成されたログーとかのRPGやスタートレックなんかが有名だが、アステロイドのようなワイヤーフレームグラフィックを使ったゲームをやっていた連中もいる。そこで使われたのがテクトロニクスのTEK4010シリーズの端末。純粋にコンピュータからシリアル経由で送られてくるテキストデータを利用して、画面上にプロッタのような描画をこなす。WindowsだとTeratermにこれの機能が組み込まれてるので普通に使える。実はlinuxでもXtermに「-t」オプションで この機能が内蔵されてる。が 残念なことにfedora40辺りから Xterm -t で起動しても即落ちして全く使えない状態になってる。Xtem自体が永らく更新が滞ってるらしく。X11のサーバーなどの更新に追随できてないようだ。 で、このTek4010の有り難いのは、グラフィック機能のないワンボードマイコンにシリアル接続さえできれば、計算結果のグラフ程度なら描画させることができる。流石にインベーダーゲームとかは無理っぽいけど、昔あった「ミステリーハウス」的なゲームならやる気が有ればできるかも? と、前置きはこれくらいで Z80-MBC2のCPM上で動作する グラフ描画プログラムの出力をTek4010エミュで受けた時の動きの動画を MBC2から送られたデータで、円とひし形、最後に3Dハットの点画を描画します。 そのあと、GAME-CCのMAZEを動作させてみましたが、グラフモードだとANSIやVTのエスケープシーケンス受け付けないので、画面が崩れてダメでした。 そこで改めて、通常端末でのGAME-CCのMAZEの動作動画を以下に 以前、あげた動画と同じ内容ですがこちらは Z80 実機 8Mhz動作、USBシリアル115200 での接続状態での動作です。 画面だけで、音もBGMも解説も何もない動画です。 ...