SSブログ
English Version

レトロマイコン86ボードの構想(その12)CP/M-86でWordStar [8086]

 前回の記事で書いたようにCP/M-86で自作のxmodemが動くようになったので、次にエディタが欲しいところです。

 そこでまずはメジャーなWordStarを動かしてみました。

 「レトロマイコンZ80ボードの構想(その15)エスケープシーケンスの実験」の記事で書いたようにCP/M-80ではPIC24側で当時のエスケープシーケンスをANSIエスケープコードに変換してWordStarを動かしていて、この変換処理は今回のCP/M-86でも入れているのですが、CP/M-86のWordStarはうまく動きませんでした。

 TeraTermのログ機能を使ってCP/M-86版WordStarが使用しているエスケープシーケンスを確認し、次のエスケープシーケンスの変換処理を追加することで無事動くようになりました。
  • ESC 'E'
    画面消去

  • ESC 'Y' (y+' ') (x+' ')
    カーソル移動。()は1キャラクタコードで移動先カーソル位置(x,y)にスペースコードを加算したキャラクタコード。

  • ESC 'b' 0x0e
    強調文字属性に変更。今回はTeraTermで太文字黄色になるようにしました。

  • ESC 'b' 0x03
    強調文字属性の解除

 ネット情報ではTEDも人気が高かったようですが、起動するとトラップが発生し、動作しませんでした。
 ソース付きだったので初期化部分の処理を見てみたら int 10h を使用していた・・・

;
; We start by initializing the display, then allocate memory for the
; file and paste segments.  Parse the command line for a filename , if
; one was input, read in the file.  Finally set the INT 23 and 24 vectors.
cseg

start:
       mov      cl,9
       mov      dx,offset cls
       int      224

       push     ds 
             xor      ax,ax
             mov      ds,ax
             mov      ah,12h
             mov      bl,10h
             int      10h
             cmp      bl,10h
             je       not_ega


 WordStarの画面キャプチャを以下に貼っておきます。
 「レトロマイコンZ80ボードの構想(その15)エスケープシーケンスの実験」の記事に貼ってあるCP/M-80のWordStarの画面と同じですね。

 起動直後に表示される今で言うスプラッシュウィンド相当の画面です。

CP/M-86版WordStarの起動画面


 メニュー画面です。'F'コマンドでファイル一覧表示をON後の画面です。

CP/M-86版WordStarのメニュー画面


 ファイル編集画面です。

CP/M-86版WordStarの編集画面1


 ^JHコマンドでヘルプレベルを1にしてファイル内容の表示領域を広げています。

CP/M-86版WordStarの編集画面2


 スクリーンエディタ操作のバイナリエディタであるFileViewも動かしてみたので画面を貼っておきます。

FileView画面



★2019/10/09 追記
 WordStarのインストーラー(winstall.cmd)でターミナルタイプを「DEC VT-100」に設定したらなんなく動いた^^
 ディフォルト設定のエスケープシーケンスに対応しなくてもよかったかも(でも対応した方が動くソフトが増えるのでいいと思う)

Opening screen of WordStar Menu screnn of WordStar



[TOP] [ 前へ ] 連載記事 [ 次へ ]

nice!(0)  コメント(0) 
共通テーマ:趣味・カルチャー

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。