SSブログ
English Version

3チップ構成68Kマイコンの構想(その14)スクリーンエディタの開発 [68K]

 ソフトが豊富なCP/M-80とは違いCP/M-68Kはインターネットからダウンロードできるソフトはそれ程豊富ではありません。
 CP/Mのラインエディタ(ED)はあまり使い勝手が良くないので使い易いエディタが欲しくなります。

 CP/M-68K用のマイクロEmacsが入手可能ですがWordStar系のエディタが欲しいところです。ZDEもCP/M-68Kには対応していないようです・・・

 ネットで探すとCP/M-68K用のエディタのソースがいくつか見つかりますが、ソースファイル数が多くてCP/Mのコマンドライン内でリンクできなかったり(ライブラリアンを使ってリンクしたという記事もあった)、ビルドはできてもうまく動かなかったりでソースを解析して動くようにするよりは、エディタを作ってみようという結論に達しました^^

 ということでCP/M-68K Ver1.3のCコンパイラ環境を使ってスクラッチでスクリーンエディタを作り、sked(Simple Kitten EDitor)と命名しました^^
 ターミナルはTeraTermを想定し、VT100のエスケープシーケンスの一部を使い制御しています。
 エディタ内のデータ構造や処理方法について書いておこうかとも思いましたが、あまり興味をひかない内容と思われるので割愛しますw

 今時、TeraTermで接続したCP/M-68Kボードを動かす人はほとんどいないと思うので必要とする人は少ないでしょうが、シンボル情報が含まれるリロケータブル形式のものを公開します。

 reloc sked.rel sked.68k

の操作でシンボル情報を取り除いたコンパクトな実行ファイルに変換できます。
 typeコマンドの代わりにviewerとしても使えるのでコンソール接続のCP/M-68Kが動く環境を持っている人にとってはそれなりに便利だと思います。

 現時点で実装しているコマンドに関しては下のヘルプを表示中の画面キャプチャを参照してください。

help表示状態の画面


 ダウンロードはこちらからどうぞ(商用利用以外であれば自由に使用できます)
  • sked68k_v001g.zip
    ★2022/02/09 V0.01g メモリ確保方法をmallocからSP参照方式に変更 ★2019/04/08 V0.01f 新規ファイル中断時に新規ファイルが残らないようにした ★2019/04/06 v0.01d ファイル内のコントロールコードを表示
    ★2017/12/19 v0.01b help表示の誤記修正
    ★2017/12/17 v0.01a ステータス表示部分を改善

★2018/12/14 追記
 twitterにアップした操作動画付きツイートを貼っておきます。
 Win10の画面録画機能?で保存していますが、ウィンド内表示の上下がカットされるため、TeraTermを26行に設定して録画したので表示中の最下端の行の表示はゴミです。(skedは 80文字x24行 の画面で動作します)


★2019/01/12 追記
 WordStarのコマンドライクなスクリーンエディタがCP/M-68K上で使えるようになったのでライフゲームを動かしてみました。
 実行ファイルとソースは下記からダウンロードできます。(★2019/01/13 定常状態の検出ロジックを強化しました)

 実行ファイルはシンボル情報の入ったリロケータブル形式(rel形式)になっているので

reloc life68.rel life68.68k

でシンボル情報のないコンパクトな実行ファイルに変換できます。

LifeGame on CP/M-68K


★2019/02/11 追記
 CP/M-68K用に開発したxmodemアプリを下記の記事で公開しています。
 TeraTermのxmodem機能を使ってファイルの送受信が可能になります。
3チップ構成68Kマイコンの構想(その10)XMODEMアプリの作成



★2020/08/13 追記 {
 「レトロマイコン86ボードの構想(その14)untarの製作」の記事で書いたCP/M-86用に作成したuntarをCP/M-68Kに移植しました。

reloc untar.rel untar.68k

でシンボル情報のないコンパクトな実行ファイルに変換できます。

 ダウンロードは下記のリンクからどうぞ(商用利用以外であれば自由に使用できます)
・2021/01/04 Ver0.05
 Win10のtarコマンド等のヘッダ内サイズデータのデリミタが20Hの場合に対応

}

[TOP] [ 前へ ] 連載記事 [ 次へ ]
nice!(0)  コメント(9) 
共通テーマ:趣味・カルチャー