現在使用している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.4shared.com/s/fRHUOVFzpjq
最近みつけたのが、ntvcm https://github.com/davidly/ntvcm で、 上記2点の抱える問題をすべてクリアしてます。
tek4010に手を加えずに、描画コードを送れ、hi-tech-CもMBASICも使えます。
$ ./ntvcm asm.com test で、test.asmをアセンブルしてくれる動作ですが
「asm.com」の部分は大文字、小文字を含めて「.com」まで 正確に入力する必要があります。
cpm上のファイル名を強制的に小文字に改変する「-l」オプションはCPMコマンドの部分には効果がありませんので
癖を掴んで慣れるのに時間がかかります。 慣れればかなり便利なエミュだと思います。
あと、hi-tech-C用のgraphプログラムのソースとtek4010用のライブラリ、円、ひし形描画デモのソースなどの書庫リンクは
https://www.4shared.com/s/fju5TtYA4jq
MBASICでtek4010に描画するデモのソースとBDOSの一文字出力ルーチンのソースの書庫リンクは
https://www.4shared.com/s/fpSPuAEe6ku
以前、GAME言語のあれこれについての中で、GAME80ICなどでZ80-MBC2とのscreenコマンドでのシリアル接続中にソーステキストのコピーペースト転送ができない事に触れていたが、単に使ってる環境に依存した所謂「おまかん」なのだが、回避したければ、素直にwindowsで使うか 若しくは linuxでもwine上でteratermを使えば済む話ではある。だが、我が家に於いては普段使いにできるwindows機など無い。棚の奥を探せばwin7の入った古PCが有るとは思うがボードマイコンとの接続の為だけに引っ張り出してきたいとまでは思わない。そこで ふと考えるにteratermにあってscreenやcu,minicomにないものはと、teratermには、テキスト転送中に行単位、文字単位でミリセカンドのディレイを挟む設定がある。対してlinux系のシリアル接続コマンドにそういった類のモノを知らない(単に自分が知らないだけの可能性もある) 。そこで、duckduckgo検索のサービスである「Duck.AI」に聞いてみた。自分の思いついた革新的なアイデアは大概は先人が既に思いついてる当たり前過ぎるモノというのはいつもの事であっさりと解決策を教えてくれた。
コメント
コメントを投稿