SSブログ
English Version

ポケコン(G850)用拡張基板(その7)仮想画面でCP/M [ポケコン]

 「ポケコン(G850)用拡張基板(その5)確認事項4」の記事に今回開発したシステムバス用拡張基板(Eborsy)に実装した増設メモリと SD カード使って PC-G850V(以降、G850と記す)で CP/M を起動できたことを書きましたが、使ってみると画面が狭すぎて使い勝手が頗る悪いので対処してみました。

 具体的な対処方法として、小さなフォント文字と仮想画面の導入の二つになります。

  1. 縮小フォントの導入
     段々目が辛くなってきたお年頃なので小さなフォントには抵抗感があるのですが、標準サイズのフォントでは折角の CP/M が殆ど使い物にならないので縮小フォントの導入を検討してみました。
     ネットで探してみたところ、Windows用のベクターフォントは沢山見つかるのですが、ビットマップ方式のフォントはあまり見つけられませんでした(じっくり探せば見つかるだろうけれど)。
     使用制限等を気にするのも嫌なので文字数も少ないことだし自作することにしました。フォント作成ツールも探せばありそうですが、エクセルを使って簡易的な表示と数値化できる環境を作って 4 x 6 の 0x20 ~ 0x7f の範囲のフォントを作ってみました(縦 6 ドットですが最下行の bit は全て空白)
     G850 の LCD 画面のサイズは 144 x 48 ドットなのでこのフォントを使えば 36 文字 x 8 行の画面表示ができることになります。

     G850 の LCD 表示制御に関する情報は有志によりネット上で公開されていてハード解析作業が不要なので結構楽です。フォント表示は LCD コントローラを直接制御し、1文字表示時は該当ビットのみ更新、スクロール時は画面全体を更新するようにしました。

     ん~ Z80のアセンブラは手間が掛かるけど楽しいですね^^

    エクセルでの簡易的なフォント作成環境


  2. 仮想画面の構築
     縮小フォントが使えるようになって、表示画面が広くなりましたが、CP/M 自体が 80 文字 x 24 行程度の画面を想定して作られていて、まだ画面が小さすぎて使い辛いので標準サイズと同程度の仮想画面( 80 文字 x 25 行)の一部分を LCD で表示するような環境を構築しました。
     下図が概要図(なのか?)で水色のウィンド(以降、表示ウィンドと記す)が LCD で実際に表示する部分になります。
     表示ウィンドはカーソルキーで上下左右に移動出来るようにしました。また、操作の煩雑さを軽減するために横方向は4文字ずつ移動するようにし、リターンキーを押した際は自動的に仮想画面の左下に表示ウィンドが移動するようにしています(カーソルが仮想画面の最下行に達していない場合はカーソル行まで移動)

     この表示ウィンドの移動操作は CP/M のアプリケーションが動作中の時でも(アプリがキーセンスさえしていれば)可能なようにしました。

    仮想画面の概要

 以上が今回対応した内容になります。

 G850の電源として充電式電池を使っているのですが、直ぐに電池が無くなるので作業中に平行して充電できるように国内製造の充電式単四電池を購入しました。この電池にするとかなり持つようになったので、今まで使っていた海外製の安い電池は大外れだったということに気が付きましたw


★追記 2022/01/02
 twitterに投稿した動画付きメッセージを貼っておきます。
 動画画面を大きくして見ないと文字が読みづらいですね^^;


★追記 2022/01/05
 最新バージョンで収録し直してYouTubeにアップしました。



★追記 2022/01/06
 G850 の CP/M 側とパソコンとのファイルの送受信ができる環境としてソフトシリアル方式で転送速度が 19200bps の xmodem を作成しました。
 xmodem 自体を G850 へ送る手段が問題になりますが、「ポケコン(G850)用超高速Hexローダーの制作」の記事で書いた ヘキサファイルの高速ローダー(DropHx)がそのまま CP/M 上で動作し、100H からのメモリにダウンロードできるので、ダウンロード後に CP/M のsave コマンドでファイル化できました。うまく出来ているもんですねw
 でも DropHxはどうやって? の疑問に関しては CP/M の BIOS に PUN: と RDR: ディバイスとしてシリアル通信を組み込み PIP コマンドで転送しました。
 現状、G850 で CP/M が動いている環境は他には無いとは思いますが、G850 の CP/M 用の xmodem を公開しておきます。


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

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

nice! 0

コメント 0

コメントを書く

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