戻る

ポケコン PC-G850の解析とソフト集

[ハードウエア編] [I/O編] [ワークエリア編] [自作ソフト・周辺機器]

ワークエリア編
システムの動作にかかわってくるワークエリアの解説です。
高校時代にはかなりのアドレスを発見していましたが、資料が全て無くなってしまったため、ソフトウエア編にあるソフトのために調べたものがメインです。
Addr機能内容
76FFH動的変数の最終アドレス動的変数(単純変数または配列変数)は76FFHを最終アドレスとしたメモリに確保されます。動的変数は常に2文字で記憶され、それ以上の文字数は無視されます。1文字の場合には2文字目がスペースになります。
変数のタイプは、変数名の1文字目に以下の数値を足したものになります。
00H=数値変数
40H=文字列変数
80H=数値変数配列
C0H=文字列配列変数
変数の構造体は以下のようになっています。
オフセット内容
00変数名1文字目+変数タイプ識別子
01変数名2文字目
02,03次の変数までのオフセット(この数値はビッグエンディアン)
数値変数の場合は、00H,0BH固定。
文字列変数の場合は、00H,13H固定。
配列の場合は任意に変化。
041次元配列の場合は要素数。2次元配列の場合は引数2の値。その他は0固定。
052次元配列の場合は、引数1の値。その他は0固定。
062次元配列の場合は、引数3の値。その他は0固定。
07以降データ。
数値変数は8バイトデータ。
文字列変数は16バイト固定文字列。空き領域はヌルが入る。
1次元配列の場合は、(0)→(1)…の順番に並ぶ。
2次元配列の場合は、(0,0)→(1,0)…(0,1)→(1,1)…の順番に並ぶ。
7920H
7921H
次に画面に表示される文字の位置LOCATEや;で指定される文字位置。
LOCATE指定された場合は、X=(7920H),Y=(7921H)で次の表示が始まる。
7922H
7923H
最後に画面に表示された文字の位置最後にPRINTで表示された文字位置。 X=(7922H) Y=(7923H)
LOCATE指定されなかった場合は、X=0,Y+1で次の表示が始まる。
797DH表示コントロールフラグLOCATEで位置を指定した時と、PRINTの後に;が付いた時に1がセットされる。これを利用して7920H-7921Hか7922H-7923Hのどちらを使うかを決定する。
79FCH
79FDH
動的変数の先頭アドレスポインタ動的変数を検索するには、ここで指定されたアドレスから76FFHに向かってメモリ上を検索します。検索は動的変数の2~3バイト目のオフセット値を利用して、変数名のヘッダ部分を計算していきます。

Update 2005/11/23