SSブログ
English Version

ポケコン(G850)用拡張ボード(EborsyEEP)でCP/M(その5)LCDのシンボル制御 [ポケコン]

 前回の記事でポケコン(PC-G850V,以降 G850 と記す)で動作する CP/M 環境内で既存のアプリケーションを起動できるランチャーの製作について書きましたが、色々なゲームで遊んでいると G850 の LCD のシンボルを非表示制御しているものとしていないものがあることに気が付きました。
 今回の CP/M 起動時でも余分なシンボルが表示されたままだったのでシンボルの表示制御についてネットで探してみましたが見つけることが出来ませんでした。

 どのようなシンボルがあるのかについては全てのシンボルを表示した状態の下の写真を見てください。

G850V で全シンボル表示状態の画面例


 余談ですが、DEGRAD の部分は DE + G + RAD の3部構成になっていて G を共用することで狭いLCDに必要な文字を詰め込んでいました。

 はじめにLCDコントローラを直接アクセスして表示データを設定する方法ですがコマンドポート(40H)に下表に従って書込み座標を設定後、データポート(41H)にデータを出力します。表中の Page address は Y / 8 の値を設定します。

LCDコントローラへの書込みアドレスの設定方法


 G850 のLCDの解像度は 144 x 48 で column アドレスとしては 0 ~ 143 の範囲なのですが、144 column に書込むことでシンボル部分の表示制御ができました。

 シンボル表示制御の調査結果を下表にまとめました。対応ビットが1で表示されます。

No.symbolpage adrcolumn adrassign bit
1RUN014402h
2PRO014408h
2TEXT014440h
3CASL114408h
4STAT214401h
52ndF214420h
6[M]214480h
7CAPS314404h
8カナ314480h
9414402h
10DE414410h
11G414440h
12RAD514401h
13CONST514404h
14PRINT514410h
15BUSY514440h
16[BATT]514480h
★修正 2023/08/14 前回の修正を元に戻した
★修正 2023/08/12 page adrを修正


 今回は CP/M 上で動くお手軽な GAME 言語を使って調べました。
 参考として全てのシンボルを非表示にする GAME 言語のソースが下記になります。

全シンボル非表示制御の例(GAME言語)
1' PC-G850V LCD 144x48(64) 2' delete all symbols 10 M=&+1 20 M:0)=$3E M:1)=$00 M:2)=$D3 M:3)=$00 M:4)=$C9 30 D=M+1 P=M+3 40 #=1000 100'** set pos X<-x,Y<-y 110 P:0)=$40 D:0)=%(X/16) >=M 120 D:0)=X/16+$10 >=M 130 D:0)=Y+$B0 >=M 140 ] 199' set A to symbole area 200 X=144 210 Y=0,5 220 !=100 230 D:0)=A P:0)=$41 >=M 240 @=Y+1 250 ] 1000 A=$FF !=200 1010 I=0,2000 "" @=I+1 1020 A=0 !=200



★追記 2023/07/30
 G850 上で単独で動作する GAME 言語を下記の記事からダウンロードできます。
 ・「ポケコン(PC-G850V)でGAME言語


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

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

nice! 0

コメント 0

コメントを書く

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