下記の表はPB-1000のメモリーマップで「システムエリア」となっている部分(ワークエリア)の詳細です。
「カシオPB-1000テクニカルハンドブック」を基に、出来るだけ皆様に分かりやすいように解説を追加して掲載しています(のつもり
^^;)。
実は私はPB-1000の内部を解析出来るほど能力が無いので(涙)、解説で間違っている部分や解説抜けのある部分をフォローしてくださる方、
大募集です!宜しくお願いします...。
(一応、解説は増える予定です。いつになる事やら..
^^;)
LABEL | アドレス (16進数) |
バイト数 | 内容 | 解説 | |
スクリーン データ |
INTOP | 6000 | 256 | 中間コード・バッファ | |
EDTOP | 6100 | 257 | 入力バッファ | この領域は入力(表示)された文字のコードを記憶しているテキストVRAMです。 この領域についての詳しい説明 |
|
LEDTP | 6201 | 1536 | 表示ドットバッファ | この領域は表示された内容(グラフィック面)を記憶しているグラフィックVRAMです。 この領域についての詳しい説明 |
|
LPFTP | 6801 | 192 | 4行目表示バッファ | ||
CSRDT | 68C1 | 6 | カーソル点滅用データ・バッファ | ||
LCDST | 68C7 | 1 | データ=76543210(ビット) 5ビット目=反転表示 4ビット目=カーソルバーON/OFF 3ビット目=カーソル移動範囲指定 2ビット目=仮想スクリーン/実スクリーン 1ビット目=カーソル表示イネーブル 0ビット目=KEY入力時/PRINT |
BASICのINPUT文で入力時にカーソルの移動範囲を制限する方法を 参照するには、ここをクリックしてください。 |
|
EDCSR | 68C8 | 1 | カーソル位置 | このアドレスに値を書き込むとカーソル位置を指定出来ます。 (LOCATE文と同じ) 座標=32*Y+X |
|
SCTOP | 68C9 | 1 | 実スクリーントップ 上位3ビットを使用(下位5ビットは0) |
||
TOEDB | 68CA | 1 | 論理行トップ 上位3ビット使用(下位5ビットは0) |
||
BOEDB | 68CB | 1 | 論理行ボトム 上位3ビット使用(下位5ビットは1) |
||
MOEDB | 68CC | 1 | 論理行トップ(INPUT時) | ||
TOARE | 68CD | 1 | カーソル移動範囲トップ | BASICのINPUT文で入力時にカーソルの移動範囲を制限する方法を 参照するには、ここをクリックしてください。 |
|
BOARE | 68CE | 1 | カーソル移動範囲ボトム | BASICのINPUT文で入力時にカーソルの移動範囲を制限する方法を 参照するには、ここをクリックしてください。 |
|
EDCNT | 68CF | 1 | |||
DSPMD | 68D0 | 1 | 00H=通常表示 01=PF表示 03H=MENU表示 |
||
SCROL | 68D1 | 1 | 80H=4行スクロール 60H=3行スクロール |
||
キー・ データ |
KYSTA | 68D2 | 1 | データ=76543210(ビット) 7ビット目=AC 6ビット目=OFF 5ビット目=APO禁止 4ビット目=コントラスト 3ビット目=REPEATイネーブル 2ビット目=REPEAT ON/OFF 1ビット目=BEEP 0ビット目=0固定 |
|
CHATA | 68D3 | 1 | チャタリング時間のカウント時間 | ||
KEYCM | 68D4 | 1 | KO | ||
KEYIN | 68D5 | 2 | KI | ||
KEYMD | 68D7 | 1 | データ=76543210(ビット) 3ビット目=CAPS ON(小文字=1)/ OFF(大文字=0) 0ビット目=カナ ON(1)/OFF(0) |
||
KYREP | 68D8 | 1 | キーリピート・カウント時間 | ||
KECNT | 68D9 | 22 | キー・バッファ | ||
KANA1 | 68EF | 2 | カナ・モード中バッファ | ||
APOCN | 68F1 | 1 | APOカウンタ(TMINTにて-1) | ||
演算 | BNKNO | 68F2 | 1 | 未使用 | |
BASIC データ |
ANGFL | 68F3 | 1 | 角度モード 0=DEG 1=RAD 2=GRA |
このアドレスを参照すれば、現在設定されている角度モードを参照出来ます。 |
WORK1 | 68F4 | 24 | WORKバッファ | ||
OUTDV | 6904 | 1 | 出力デバイス 00H=表示 02H=プリンタ 04H=FCB |
||
PTADC | 690D | 1 | プリンタ出力文字数 | ||
NOWFC | 690E | 2 | 現在対象にしているFCBの 先頭番地 |
||
VAR1 | 6910 | 1 | 変数用ワーク | ||
VAR2 | 6911 | 1 | 変数用ワーク | ||
VAR3 | 6912 | 1 | 変数用ワーク | ||
VAR4 | 6913 | 2 | 変数用ワーク | ||
CONTA | 6915 | 2 | CONT時に実行を再開するポインタ | ||
DATPA | 6917 | 2 | DATA文ポインタ | ||
NB_X1 | 6919 | 1 | DRAW文用ワークエリア | ||
NB_Y1 | 691A | 1 | DRAW文用ワークエリア | ||
NB_X2 | 691B | 1 | DRAW文用ワークエリア | ||
NB_Y2 | 691C | 1 | DRAW文用ワークエリア | ||
ERRFL | 691D | 2 | ON ERROR 有効ファイル DIRアドレス | ||
EJPDE | 691F | 2 | ON ERROR 飛び先ポインタ | ||
ERRLN | 6921 | 2 | エラー発生行番号 | ||
ERRDE | 6923 | 2 | エラー発生文のアドレス | ||
ERRN | 6925 | 1 | エラー番号 | ||
EJPFLG | 6926 | 1 | 00H=通常の処理中 01H=ON ERROR処理ルーチン中 |
||
TRAFG | 6927 | 1 | 00H=TROFF 01H=TRON |
||
INPER | 6928 | 2 | INPUTエラー時の戻り番地 | ||
MACCN | 692A | 1 | 未使用 | ||
メモ・データ | MEMO | 692B | 4 | 未使用 | |
メインデータ | IOBF | 692F | 2 | メモリーマップのアドレス管理用 | このアドレスの詳細を参照するにはここをクリックしてください。 |
SSTOP | 6931 | 2 | メモリーマップのアドレス管理用 | このアドレスの詳細を参照するにはここをクリックしてください。 | |
SBOT | 6933 | 2 | メモリーマップのアドレス管理用 | このアドレスの詳細を参照するにはここをクリックしてください。 | |
FORSK | 6935 | 2 | メモリーマップのアドレス管理用 | このアドレスの詳細を参照するにはここをクリックしてください。 | |
GOSSK | 6937 | 2 | メモリーマップのアドレス管理用 | このアドレスの詳細を参照するにはここをクリックしてください。 | |
TONDT | 6939 | 2 | メモリーマップのアドレス管理用 | このアドレスの詳細を参照するにはここをクリックしてください。 | |
DTTB | 693B | 2 | メモリーマップのアドレス管理用 | このアドレスの詳細を参照するにはここをクリックしてください。 | |
TOSDT | 693D | 2 | メモリーマップのアドレス管理用 | このアドレスの詳細を参照するにはここをクリックしてください。 | |
PTSDT | 693F | 2 | メモリーマップのアドレス管理用 | このアドレスの詳細を参照するにはここをクリックしてください。 | |
HIMEM | 6941 | 2 | メモリーマップのアドレス管理用 | このアドレスの詳細を参照するにはここをクリックしてください。 | |
BASEN | 6943 | 2 | メモリーマップのアドレス管理用 | このアドレスの詳細を参照するにはここをクリックしてください。 | |
MEMEN | 6945 | 2 | メモリーマップのアドレス管理用 | このアドレスの詳細を参照するにはここをクリックしてください。 | |
DAIDI | 6947 | 2 | メモリーマップのアドレス管理用 | このアドレスの詳細を参照するにはここをクリックしてください。 | |
BASDI | 6949 | 2 | メモリーマップのアドレス管理用 | このアドレスの詳細を参照するにはここをクリックしてください。 | |
DIREN | 694B | 2 | メモリーマップのアドレス管理用 | このアドレスの詳細を参照するにはここをクリックしてください。 | |
ACJMP | 694D | 2 | BREAK時のジャンプ先の番地 | キー入力関係のシステムコールで[BRK]キーを押した時に この領域で指定されたアドレスにジャンプします。 |
|
CHARA | 694F | 1 | |||
ANSFG | 6950 | 1 | 演算結果後のFLAG 1=演算後 0=その他 |
||
CSRCN | 6951 | 1 | カーソル点滅用カウンタ (ONINT中にて-1) |
||
スタック | USPBT | 6952 | 249 | ユーザー・スタック・エリア | |
USPTP | 6A4B | 0 | |||
SSPBT | 6A4B | 255 | システム・スタック・エリア | ||
SSPTP | 6B4A | 0 | |||
CHR$ | CGRAM | 6B4A | 96 | F0H-FFH用表示ビットパターン | DEFCHR$で定義されたデータが収められています。 |
ELVAD | 6BAA | 2 | コントラスト・データ | 詳細は不明ですが、&H6BAAがコントラストで62〜124辺りまでで、 &H6BABが液晶表示の最大の濃さ(?)みたいです。 &H6BABは134のままにしておいた方が良さそうです。 |
|
BEEPF | 6BAC | 1 | キー・ビープ用フラグ 0=ON 1=OFF |
このアドレスの内容を参照する事で、キー・ビープ(BEEP
ON)の 状態かそうでないか判断出来ます。 |
|
演算変数 | DATE | 6BAD | 3 | DATE$用データ | 日付データは以下の様になります。 &H6BAD→年:00〜79(2000〜2079) 80〜99(1980〜1999) &H6BAE→月:01〜12 &H6BAF→日:01〜31 |
TIME | 6BB0 | 2 | TIME$用データ | 時刻データは24時間制で管理されており、以下の様になっています。 &H6BB0→分データ=76543210(ビット) 6,5,4ビット目=分の10の位(0〜5) 3,2,1,0ビット目=時の1の位(0〜9) &H6BB1→時データ=76543210(ビット) 5ビット目=「20時」代を示すビット 4ビット目=「10時」代を示すビット 3,2,1,0ビット目=0〜9を表す。 |
|
STAT | 6BB2 | 72 | STAT用データ | ||
RS-232C | OPTCD | 6BFA | 1 | 接続オプション FFH=未接続 55H=MD-100(A) 00H=FA-7 |
このアドレスの値を変更すると、PB-1000本体単独の状態でも メニュー画面でオプションに対しての操作が行えるようになりますが、 実際に操作を実行すると暴走するので注意! RS-232Cの設定確認程度だったら使用可。電源OFF→ONで元に戻ります。 |
LCD | IOSTS | 6BFB | 1 | データ=76543210(ビット) 1ビット目=受信オープン 0ビット目=送信オープン |
|
バッファ | RS1 | 6BFC | 1 | RS-232C設定データ データ=76543210(ビット) 7,6,5ビット目=通信速度 000B=9600 ボー 001B=4800 ボー 010B=2400 ボー 011B=1200 ボー 100B=600 ボー 101B=300 ボー 110B=150 ボー 111B=75ボー 4ビット目=ストップビット(0=1ビット 1=2ビット 3ビット目=データ長(0=7 1=8) 2ビット目=OFF/ONパリティ(1=パリティON) 1ビット目=パリティ制御(0=Even 1=Odd) 0ビット目=MT/RS-232C |
POKE文で通信設定を変更する場合は、RSFG(&H6C00)を変更してください。 |
RS2 | 6BFD | 1 | RS-232Cデータ データ=76543210(ビット) 1ビット目=出力用XOFF中 0ビット目=入力用SO中 |
||
RS3 | 6BFE | 1 | RS-232Cデータ データ=76543210(ビット) 6ビット目=入力用XOFF中 5ビット目=出力用SO中 4ビット目=CD制御指定(0=制御しない) 3ビット目=DSR制御指定(0=制御しない) 2ビット目=CTS制御指定(0=制御しない) 1ビット目=XON/XOFF指定(0=制御しない) 0ビット目=SI/SO指定(0=制御しない) |
POKE文で通信設定を変更する場合は、RSFG(&H6C01)を変更してください。 | |
RS4 | 6BFF | 1 | RS-232Cデータ データ=76543210(ビット) 7ビット目=フレーミング 6ビット目=パリティ 5ビット目=オーバーラン 4ビット目=not Ready 0ビット目=バッファ |
||
RSFG | 6C00 | 2 | RS-232C用デフォルト値 (RS1,RS3のデータ) |
最後に設定した通信設定を記憶している場所です。 MENU画面でもこのアドレスの内容を参照しています。 |
|
PRNFG | 6C02 | 2 | プリントアウトルーチンBUSYチェック データ=76543210(ビット) 2ビット目=ACK 1ビット目=ERROR 0ビット目=BUSY (入力時:1=チェック 0=チェック無し 3=イニシャル・データ) (RTN時:5=イニシャル・データ) |
||
DSPFG | 6C04 | 1 | データ=76543210(ビット) 00H=全画面表示 6ビット目=表示開始行(0-3) 4,3ビット目=1固定 1ビット目=表示終了行(0-3) |
||
INTCK | 6C05 | 1 | 01H=データ受信 | ||
RXCNT | 6C06 | 258 | RS-232C.MT用受信バッファ 1バイト..受信バイト数 1バイト..入力用ポインタ 256バイト..バッファ |
||
ANSAD | 6D08 | 9 | ANS用データ | ||
RND | 6D11 | 9 | 乱数用データ | ||
CALC | 6D1A | 258 | CALC用データ | 数式記憶機能記憶用の領域です。 &H6D1Aを0にするとクリアとなります。 |
|
MTFL | 6E1C | 1 | MT用ワーク | ||
IOBF0 | 6E1D | 35 | SAVE/LOAD用FCB | ||
IOBUF | 6E40 | 258 | SAVE/LOAD用I/Oバッファ | ||
キー・ データ |
TIMAT | 6F42 | 5 | クロックブート用フラグ | |
ONFL0 | 6F47 | 2 | クロック・ブートのファイル番地 | ||
ONFIL1 | 6F49 | 2 | プリセット・ファイルの番地 | ||
ONFIL2 | 6F4B | 2 | プリセット・ファイルの番地 | ||
ONFIL3 | 6F4D | 2 | プリセットファイルの番地 | ||
ONFIL4 | 6F4F | 2 | プリセットファイルの番地 | ||
モード・ ワーク |
MODE | 6F51 | 1 | データ=76543210(ビット) 7ビット目=ASSEMBLER 6ビット目=MENU 5ビット目=SAVE/LOAD 4ビット目=CALC 3ビット目=INPUT 2ビット目=MEMO 1ビット目=EDIT 0ビット目=BASIC BASIC実行時 1ビット目=STOP 0ビット目=RUN |
|
NOWFL | 6F54 | 2 | 現在使用しているファイルの番地 | ||
NOWLN | 6F56 | 2 | 現在実行している行番号 | ||
EXEDE | 6F58 | 2 | ワーク | ||
FDDFL | 6F5A | 16 | ワーク | ||
LOADB | 6F6A | 2 | ワーク | ||
MTFL2 | 6F6C | 1 | ワーク | ||
MTFL3 | 6F6D | 1 | ワーク | ||
MTFL5 | 6F6E | 1 | ワーク | ||
MTFL6 | 6F6F | 1 | ワーク | ||
MTFL7 | 6F70 | 2 | ワーク | ||
MTFL8 | 6F72 | 2 | ワーク | ||
BSVWK | 6F74 | 32 | ワーク | ||
MENUC | 6F94 | 15 | ワーク | ||
INPST | 6FA3 | 12 | ワーク | ||
FLWK | 6FAF | 40 | ワーク |
※参考文献:「カシオPB-1000テクニカルハンドブック(株式会社モダン編/学習研究社発刊」
ご意見がありましたら VYU04421@nifty.ne.jpまで