SHARP PC-1600KでCP/M80!その6

悩める表示系

今日は珍しく「こういう事をした」ではなく「こうしようと思ってるけど…でも…」という悩み相談だ!ご意見あったらぜひコメントまたはTwitterで教えて欲しい(T-T)

f:id:PocketGriffon:20210504222911j:plain

まず↑こちらがノーマルフォントでの表示画面で横26桁、縦4行の構成。

 

f:id:PocketGriffon:20210504223016j:plain

そして↑こっちがフォントを小さく表示した場合のサンプルで、横31桁、縦5行だ。

文字数的に言えば104 vs 155と約1.5倍の情報量がある。

そりゃ多い方がいいに決まってるよ…と思ってはいるのだが……

 

今回のCP/M80では、内部的に80x24キャラクタのバッファを持とうと考えている。つまり画面的には80x24の標準サイズがあるんだけど、見えてる範囲が26x4または31x5という制限があるという感覚だ。

気になってるのは、どっちのサイズを選択したとしても、全体を見るために画面を切り替えたりスクロールさせる仕組みは必要だ。どちらを選択しても作業量が変わらないのならば、どっちでも同じじゃん…くらいの感覚に陥ってる(^^;;;

 

画面表示の手間

もしも標準フォントを選択した場合は、表示系の多くはIOCSに任せる事が出来る。1文字だけ再描画したいなどの要求は頻繁に起こるけれど、これを全てシステムに任せる事が出来るのだ。この安心感は計り知れない(^^) 

IOCSの1文字表示処理(PRTANK:0100h)は制御文字を一切解釈してくれない。したがってエスケープシーケンスなどの組み立ては独自で作る必要がある。これはどちらのフォントを選択してもかかる手間は同じだ。VT100とまではいかないが、おそらく近しいものを実装する流れにはなるだろう。

 

縮小フォントを選択した場合は、全ての描画処理を独自にやる必要がある。フォントが縦6ドットという厄介な数字でもあるので、この部分は頑張りどころだ。そして全てを独自で作るということは、システム側のご機嫌を伺わずに作る事が出来るということでもある。この部分のプラス方向に考えて良いと思う。

 

ただ…縮小フォントの場合は、あの厄介なLCDCと格闘せねばならない。画面中の1文字だけを更新された場合には少々面倒な計算とプログラムが必要となる。この辺りも縮小フォントに踏み切れない要因だったりする。

 

…という感じでどっちも決定打がない(ToT)

 

そんな流れで調べていたら、Amstrad NC100というマシンで動くCP/M互換OSが、4x5ドットフォントを表示しているモノがあった!

うーん……ちゃんと読める(^^;;

これまた悩ましいものを見てしまった!

 

あたまから湯気が出そうなので、今日のところはここまで!(^^;;

ではまた次回!(^0^)ノ