にゃごすwiki

techhan/A.04

第1版第10刷

APPENDIX.4 ワークエリア一覧

MSX2のワーク・エリアの概略を図A.5に示します。以下の説明では、この図のF380H〜FFCAHのシステム・ワーク・エリアとフックについて解説します。表記は以下のとおりです。ただし、長さはバイト数です。

ラベル名(アドレス, 長さ)
初期値, 内容, 使用目的


図A.5 ワークエリア


●インタースロットのリード、ライトコール用サブルーチン

RDPRIM(F380H, 5)
内容     基本スロットからの読み込み
WRPRIM(F385H, 7)
内容     基本スロットへ書き込み
CLPRIM(F38CH, 14)
内容     基本スロットコール

●USR関数のマシン語プログラムの開始アドレス、テキスト画面

USRTAB(F39AH, 20)
初期値    FCERR
内容     USR関数のマシン語プログラム(0〜9)の開始番地、機械語プログラム定義前の値はすべてエラールーチンFCERR(475AH)を指す
LINL40(F3AEH, 1)
初期値    39
内容     SCREEN0のときの1行の幅(SCREEN0のときのWIDTH文により設定される)
LINL32(F3AFH, 1)
初期値    29
内容     SCREEN1のときの1行の幅(SCREEN1のときのWIDTH文により設定される)
LINLEN(F3B0H, 1)
初期値    29
内容     現在の画面の1行の幅
CRTCNT(F3B1H, 1)
初期値    24
内容     現在の画面の行数
CLMLST(F3B2H, 1)
初期値    14
内容     PRINT命令において各項目がカンマで区切られている場合の横位置

●初期化用ワーク

・SCREEN 0

TXTNAM(F3B3H, 2)
初期値    0000H
内容     パターンネーム・テーブル
TXTCOL(F3B5H, 2)
内容     使用せず
TXTCGP(F3B7H, 2)
初期値    0800H
内容     パターンジェネレータ・テーブル
TXTATR(F3B9H, 2)
内容     使用せず
TXTPAT(F3BBH, 2)
内容     使用せず

・SCREEN 1

T32NAM(F3BDH, 2)
初期値    1800H
内容     パターンネーム・テーブル
T32COL(F3BFH, 2)
初期値    2000H
内容     カラーテーブル
T32CGP(F3C1H, 2)
初期値    0000H
内容     パターンジェネレータ・テーブル
T32ATR(F3C3H, 2)
初期値    1B00H
内容     スプライトアトリビュート・テーブル
T32PAT(F3C5H, 2)
初期値    3800H
内容     スプライト・ジェネレータ・テーブル

・SCREEN 2

GRPNAM(F3C7H, 2)
初期値    1800H
内容     パターンネーム・テーブル
GRPCOL(F3C9H, 2)
初期値    2000H
内容     カラーテーブル
GRPCGP(F3CBH, 2)
初期値    0000H
内容     パターンジェネレータ・テーブル
GRPATR(F3CDH, 2)
初期値    1B00H
内容     スプライトアトリビュート・テーブル
GRPPAT(F3CFH, 2)
初期値    3800H
内容     スプライト・ジェネレータ・テーブル

・SCREEN 3

MLTNAM(F3D1H, 2)
初期値    0800H
内容     パターンネーム・テーブル
MLTCOL(F3D3H, 2)
内容     使用せず
MLTCGP(F3D5H, 2)
初期値    0000H
内容     パターンジェネレータ・テーブル
MLTATR(F3D7H, 2)
初期値    1B00H
内容     スプライトアトリビュート・テーブル
MLTPAT(F3D9H, 2)
初期値    3800H
内容     スプライト・ジェネレータ・テーブル

●その他のスクリーン設定

CLIKSW(F3DBH, 1)
初期値    1
内容     キークリックスイッチ(0=OFF、0以外=ON)。SCREEN文の<キークリックスイッチ>により設定される
CSRY(F3DCH, 1)
初期値    1
内容     カーソルのY座標
CSRX(F3DDH, 1)
初期値    1
内容     カーソルのX座標
CNSDFG(F3DEH, 1)
初期値    0
内容     ファンクションキー表示スイッチ(0=表示あり、0以外=表示なし)。KEY ON/OFF文によって設定される

●VDPレジスタのセーブエリアなど

RG0SAV(F3DFH, 1)
初期値    0
RG1SAV(F3E0H, 1)
初期値    0
RG2SAV(F3E1H, 1)
初期値    0
RG3SAV(F3E2H, 1)
初期値    0
RG4SAV(F3E3H, 1)
初期値    0
RG5SAV(F3E4H, 1)
初期値    0
RG6SAV(F3E5H, 1)
初期値    0
RG7SAV(F3E6H, 1)
初期値    0
STATFL(F3E7H, 1)
初期値    0
内容     VDPのステータスを保存(MSX2ではステータスレジスタ0の内容)
TRGFLG(F3E8H, 1)
初期値    FFH
内容     ジョイスティックのトリガボタンの状態を保存する
FORCLR(F3E9H, 1)
初期値    15
内容     前景色。COLOR文で設定される
BAKCLR(F3EAH, 1)
初期値    4
内容     背景色。COLOR文で設定される
BDRCLR(F3EBH, 1)
初期値    7
内容     周辺色。COLOR文で設定される
MAXUPD(F3ECH, 3)
初期値    JP 0000H (C3H, 00H, 00H)
内容     CIRCLE文が内部で使用
MINUPD(F3EFH, 3)
初期値    JP 0000H (C3H, 00H, 00H)
内容     CIRCLE文が内部で使用
ATRBYT(F3F2H, 1)
初期値    15
内容     グラフィック使用時のカラーコード

●PLAY文用ワークエリア

QUEUES(F3F3H, 2)
初期値    QUETAB(F959H)
内容     PLAY文実行時のキューテーブルを指す
FRCNEW(F3F5H, 1)
初期値    255
内容     BASICインタープリタが内部で使用する

●キー入力用ワークエリア

SCNCNT(F3F6H, 1)
初期値    1
内容     キースキャンの時間間隔
REPCNT(F3F7H, 1)
初期値    50
内容     キーのオートリピートが開始するまでの時間
PUTPNT(F3F8H, 2)
初期値    KEYBUF(FBF0H)
内容     キーバッファへの書き込みを行う番地を指す
GETPNT(F3FAH, 2)
初期値    KEYBUF(FBF0H)
内容     キーバッファからの読み込みを行う番地を指す

●カセット用パラメータ

CS120(F3FCH, 5*2)
・1200ボー
内容(値)   83(LOW01) ……………ビット0を表すLOWの幅
        92(HIGH01) ……………ビット0を表すHIGHの幅
        38(LOW11) ……………ビット1を表すLOWの幅
        45(HIGH11) ……………ビット1を表すHIGHの幅
        HEADLEN*2/256 …ショートヘッダ用のヘッダビットのHIGHバイト(HEDLEN=2000)
・2400ボー
内容(値)   37(LOW02) ……………ビット0を表すLOWの幅
        45(HIGH02) ……………ビット0を表すHIGHの幅
        14(LOW12) ……………ビット1を表すLOWの幅
        22(HIGH12) ……………ビット1を表すHIGHの幅
        HEADLEN*4/256 …ショートヘッダ用のヘッダビットのHighバイト(HEDLEN=2000)
LOW(F406H, 2)
初期値    LOW01, HIGH01(デフォルト1200ボー)
内容     現在のボーレートのビット0を表すLOWとHIGHの幅。SCREEN文の<カセットボーレート>により設定される
HIGH(F408H, 2)
初期値    LOW11, HIGH11(デフォルト1200ボー)
内容     現在のボーレートのビット1を表すLOWとHIGHの幅。SCREEN文の<カセットボーレート>により設定される
HEADER(F40AH, 1)
初期値    HEADLEN*2/256(デフォルト1200ボー)
内容     現在のボーレートのショートヘッダ用のヘッダビット(HEDLEN=2000)。SCREEN文の<カセットボーレート>により設定される
ASPCT1(F40BH, 2)
内容     256/アスペクト比。CIRCLE文で使用するためにSCREEN文で設定される
ASPCT2(F40DH, 2)
内容     256*アスペクト比。CIRCLE文で使用するためにSCREEN文で設定される
ENDPRG(F40FH, 5)
初期値    “:”
内容     RESUME NEXT文のための仮のプログラムの終わり

●BASICが内部で使うワーク

ERRFLG(F414H, 1)
内容     エラー番号を保存するためのエリア
LPTPOS(F415H, 1)
初期値    0
内容     プリンタのヘッド位置
PRTFLG(F416H, 1)
内容     プリンタへ出力するかどうかのフラグ
NTMSXP(F417H, 1)
内容     プリンタ種別(0=MSX用プリンタ、0以外=MSX用プリンタでない)
RAWPRT(F418H, 1)
内容     raw-modeでプリント中なら0以外
VLZADR(F419H, 2)
内容     VAL関数で置き換えられる文字のアドレス
VLZDAT(F41BH, 1)
内容     VAL関数で0に置き換わる文字
CURLIN(F41CH, 2)
内容     BASICが現在実行中の行番号
KBUF(F41FH, 318)
内容     クランチバッファ。BUF(F55EH)から中間言語に直されて入る
BUFMIN(F55DH, 1)
初期値    “,”
内容     INPUT文で使われる
BUF(F55EH, 258)
内容     タイプした文字が入るバッファ。ダイレクトステートメントがアスキーコードで入る
ENDBUF(F660H, 1)
内容     BUF(F55EH)がオーバーフローするのを防ぐ
TTYPOS(F661H, 1)
内容     BASICが内部で持つ仮想的なカーソル位置
DIMFLG(F662H, 1)
内容     BASICが内部で使用する
VALTYP(F663H, 1)
内容     変数の型の識別に使用する
DORES(F664H, 1)
内容     保存されている語がクランチできるかどうかを示す
DONUM(F665H, 1)
内容     クランチ用のフラグ
CONTXT(F666H, 2)
内容     CHRGETで使うテキストアドレスの保存
CONSAV(F668H, 1)
内容     CHRGETが呼ばれた後の定数のトークンを保存
CONTYP(F669H, 1)
内容     保存した定数のタイプ
CONLO(F66AH, 8)
内容     保存した定数の値
MEMSIZ(F672H, 2)
内容     BASICが使用するメモリの最上位番地
STKTOP(F674H, 2)
内容     BASICがスタックとして使用する番地。CLEAR文により変化する
TXTTAB(F676H, 2)
内容     BASICテキストエリアの先頭番地
TEMPPT(F678H, 2)
初期値    TEMPST(F67AH)
内容     テンポラリディスクリプタの空きエリアの先頭番地
TEMPST(F67AH, 3 * NUMTMP)
内容     NUMTEMP用の領域
DSCTMP(F698H, 3)
内容     ストリング関数の答えのストリングディスクリプタが入る
FRETOP(F69BH, 2)
内容     文字列領域の空きエリアの先頭番地
TEMP3(F69DH, 2)
内容     ガベージコレクションやUSR関数などに使われる
TEMP8(F69FH, 2)
内容     ガベージコレクション用
ENDFOR(F6A1H, 2)
内容     FOR文の次の番地を保存する(ループ時にFOR文の次から実行するため)
DATLIN(F6A3H, 2)
内容     READ文の実行により読まれたDATA文の行番号
SUBFLG(F6A5H, 1)
内容     USR関数などで配列を使うときのフラグ
FLGINP(F6A6H, 1)
内容     INPUTやREADで使われるフラグ
TEMP(F6A7H, 2)
内容     ステートメントコードのための一時保存場所。変数ポインタ、テキストアドレスなどに使用する
PTRFLG(F6A9H, 1)
内容     変換する行番号がなければ0、あれば0以外
AUTFLG(F6AAH, 1)
内容     AUTOコマンド有効、無効フラグ(0以外=有効中、0=無効中)
AUTLIN(F6ABH, 2)
内容     一番新しく入力された行番号
AUTINC(F6ADH, 2)
初期値    10
内容     AUTOコマンドの行番号の増分値
SAVTXT(F6AFH, 2)
内容     実行中のテキストのアドレスを保存する領域。主にRESUME文によりエラー回復で使用される
SAVSTK(F6B1H, 2)
内容     スタックを保存する領域。主にエラーが起きたとき、エラー回復ルーチンがスタックをリストアするために使用される
ERRLIN(F6B3H, 2)
内容     エラーが起きたときの行番号
DOT(F6B5H, 2)
内容     何らかの形で画面に表示された、あるいは入力された最新の行番号
ERRTXT(F6B7H, 2)
内容     エラーが起きたテキストのアドレス。主にRESUME文によるエラー回復で使用される
ONELIN(F6B9H, 2)
内容     エラーが起きたときの飛び先行のテキストアドレス。ON ERROR GOTO文により設定される
ONEFLG(F6BBH, 1)
内容     エラールーチンの実行中を示すフラグ。(0以外=実行中、0=実行中でない)
TEMP2(F6BCH, 2)
内容     一時保存用
OLDLIN(F6BEH, 2)
内容     Ctrl+STOP、STOP命令、END命令で中断されたか、あるいは最後に実行された行番号
OLDTXT(F6C0H, 2)
内容     次に実行する文のテキストアドレス
VARTAB(F6C2H, 2)
内容     単純変数の開始番地。NEW文を実行すると〔TXTTAB(F676H)の内容+2〕が設定される
ARYTAB(F6C4H, 2)
内容     配列テーブルの開始番地
STREND(F6C6H, 2)
内容     テキストエリアや変数エリアとして使用中であるメモリの最後の番地
DATPTR(F6C8H, 2)
内容     READ文の実行により読まれたデータのテキストアドレス
DEFTBL(F6CAH, 26)
内容     英文字1字に対し変数の型を保持するエリア。CLEAR、DEFSTR、!、#などの型宣言で変化する

●ユーザー関数のパラメータに関するワーク

PRMSTK(F6E4H, 2)
内容     スタック上の以前の定義ブロック(ガベージコレクション用)
PRMLEN(F6E6H, 2)
内容     処理対象のテーブルのバイト数
PARM1(F6E8H, PRMSIZ)
内容     処理対象のパラメータ定義テーブル。PRMSIZは定義ブロックのバイト数で初期値は100
PRMPRV(F74CH, 2)
初期値    PRMSTK
内容     以前のパラメータブロックのポインタ(ガベージコレクション用)
PRMLN2(F74EH, 2)
内容     パラメータブロックの大きさ
PARM2(F750H, 100)
内容     パラメータの保存用
PRMFLG(F7B4H, 1)
内容     PARM1がサーチ済みかどうかを示すフラグ
ARYTA2(F7B5H, 2)
内容     サーチの終点
NOFUNS(F7B7H, 1)
内容     処理対象関数がない場合は0
TEMP9(F7B8H, 2)
内容     ガベージコレクション用の一時保存場所
FUNACT(F7BAH, 2)
内容     処理対象関数の数
SWPTMP(F7BCH, 8)
内容     SWAP文の最初の変数の値の一時保存場所
TRCFLG(F7C4H, 1)
内容     トレースフラグ。(0以外=TRACE ON、0=TRACE OFF)

●Math-Pack用ワーク

FBUFFR(F7C5H, 43)
内容     マスパックが内部で使用する
DECTMP(F7F0H, 2)
内容     10進整数を不動小数点数にするときに使用する
DECTM2(F7F2H, 2)
内容     除算ルーチンの実行時に使用する
DECCNT(F7F4H, 1)
内容     除算ルーチンの実行時に使用する
DAC(F7F6H, 16)
内容     演算の対象となる値を設定するエリア
HOLD8(F806H, 48)
内容     10進数の乗算のためのレジスタ保存エリア
HOLD2(F836H, 8)
内容     マスパックが内部で使用する
HOLD(F83EH, 8)
内容     マスパックが内部で使用する
ARG(F847H, 16)
内容     DAC(F7F6H)との演算対象となる値を設定するエリア
RNDX(F857H, 8)
内容     最新の乱数を倍精度実数で保存する。RND関数で設定される

●BASICインタープリタが使うデータエリア

MAXFIL(F85FH, 1)
内容     ファイル番号の最大値。MAXFILES文により設定される
FILTAB(F860H, 2)
内容     ファイルデータエリアの先頭番地
NULBUF(F862H, 2)
内容     SAVE、LOADでBASICインタープリタが使用するバッファ
PTRFIL(F864H, 2)
内容     アクセス中のファイルのファイルデータがある番地
RUNFLG(F866H, 0)
内容     プログラムをロード後実行するなら0でない値。LOAD文のRオプションなどで使用する
FILNAM(F866H, 11)
内容     ファイル名の保存エリア
FILNM2(F871H, 11)
内容     ファイル名の保存エリア
NLONLY(F87CH, 1)
内容     プログラムロード中は0でない値となる
SAVEND(F87DH, 2)
内容     セーブするマシン語プログラムの最終番地
FNKSTR(F87FH, 160)
内容     ファンクションキーの文字列保存エリア(16文字×10)
CGPNT(F91FH, 3)
内容     ROM上の文字フォント格納アドレス
NAMBAS(F922H, 2)
内容     現在のパターンネーム・テーブルのベース番地
CGPBAS(F924H, 2)
内容     現在のパターン・ジェネレーター・テーブルのベース番地
PATBAS(F926H, 2)
内容     現在のスプライト・ジェネレーター・テーブルのベース番地
ATRBAS(F928H, 2)
内容     現在のスプライトアトリビュート・テーブルのベース番地
CLOC(F92AH, 2)
内容     グラフィックルーチンが内部で使用する
CMASK(F92CH, 1)
内容     グラフィックルーチンが内部で使用する
MINDEL(F92DH, 2)
内容     グラフィックルーチンが内部で使用する
MAXDEL(F92FH, 2)
内容     グラフィックルーチンが内部で使用する

●CIRCLE文で使うデータエリア

ASPECT(F931H, 2)
内容     円の縦横の比率。CLRCLE文の<比率>により設定される
CENCNT(F933H, 2)
内容     CIRCLE文が内部で使用する
CLINEF(F935H, 1)
内容     円の中心へ線を引くかどうかのフラグ。CIRCLE文の<角度>で指定
CNPNTS(F936H, 2)
内容     プロットする点
CPLOTF(F938H, 1)
内容     CIRCLE文が内部で使用する
CPCNT(F939H, 2)
内容     円の1/8分割の数
CPCNT8(F93BH, 2)
内容     CIRCLE文が内部で使用する
CRCSUM(F93DH, 2)
内容     CIRCLE文が内部で使用する
CSTCNT(F93FH, 2)
内容     CIRCLE文が内部で使用する
CSCLXY(F941H, 1)
内容     xとyのスケール
CSAVEA(F942H, 2)
内容     ADVGRPの保存エリア
CASVEM(F944H, 1)
内容     ADVGRPの保存エリア
CXOFF(F945H, 2)
内容     中心からのxのオフセット
CYOFF(F947H, 2)
内容     中心からのyのオフセット

●PAINT文で使用するデータエリア

LOHMSK(F949H, 1)
内容     PAINT文が内部で使用する
LOHDIR(F94AH, 1)
内容     PAINT文が内部で使用する
LOHADR(F94BH, 2)
内容     PAINT文が内部で使用する
LOHCNT(F94DH, 2)
内容     PAINT文が内部で使用する
SKPCNT(F94FH, 2)
内容     スキップカウント
MIVCNT(F951H, 2)
内容     移動カウント
PDIREC(F953H, 1)
内容     ペイントの方向
LFPROG(F954H, 1)
内容     PAINT文が内部で使用する
RTPROG(F955H, 1)
内容     PAINT文が内部で使用する

●PLAYで使うデータエリア

MCLTAB(F956H, 2)
内容     PLAYマクロ、あるいはDROWマクロのテーブルの先頭を指す
MCLFLG(F958H, 1)
内容     PLAY/DRAWの指示
QUETAB(F959H, 24)
内容     キューテーブル
           +0 : PUT オフセット
           +1 : GET オフセット
           +2 : バックアップ・キャラクタ
           +3 : キューの長さ
           +4+5 : キューのアドレス
QUEBAK(F971H, 4)
内容     BCKQで使用する
VOICAQ(F975H, 128)
内容     音声1のキュー(1=a)
VOICBQ(F9F5H, 128)
内容     音声2のキュー(2=b)
VOICCQ(FA75H, 128)
内容     音声3のキュー(3=c)

●MSX2で追加されたワークエリア

DFPAGE(FAF5H, 1)
内容     ディスプレイページ番号
ACPAGE(FAF6H, 1)
内容     アクティブページ番号
AVCSAV(FAF7H, 1)
内容     AVコントロールポートの保存
EXBRSA(FAF8H, 1)
内容     SUM-ROMのスロットアドレス
CHRCNT(FAF9H, 1)
内容     バッファ中のキャラクタのカウンタ。ローマ字カナ変換で使用(値は0<=n<=2)
ROMA(FAFAH, 2)
内容     バッファ中のキャラクタを入れておくエリア。ローマ字カナ変換で使用
MODE(FAFCH, 1)
内容     ローマ字カナ変換のモードスイッチとVRAMサイズ
	〔K000WVVC〕
	  │   ││││
	  │   │││└ 1=変換する、0=変換しない
	  │   │││
	  │   │└┴─ 00=16KVRAM
	  │   │       01=64KVRAM
	  │   │       10=128KVRAM
	  │   │
	  │   └─── 0=マスクする、1=マスクしない
	  │            スクリーン0〜3においてVRAMアドレスを指定するときに3FFFHとANDを
	  │            とって設定するかどうかのフラグ、SCREEN4〜8ではつねにマスクしない
	  └──────1=カタカナ、0=ひらがな
NORUSE(FAFDH, 1)
内容     未使用
XSAVE(FAFEH, 2)
内容     〔IOOOOOOO XXXXXXXX〕
YSAVE(FB00H, 2)
内容     〔×OOOOOOO YYYYYYYY〕
          I=1 ライトペンのインターラプト要求あり
          OOOOOOO  =符号なしオフセット
          XXXXXXXX   = X座標
          YYYYYYYY   = Y座標
LOGOPR(FB02H, 1)
内容     ロジカル・オペレーション・コード

●RS-232Cで使うデータエリア

RSTMP(FB03H, 50)
内容     RS-232Cまたはディスクのワークエリア
TOCNT(FB03H, 1)
内容     RS-2332Cルーチンが内部で使用する
RSFCB(FB04H, 2)
内容     FB04H+0 : RS-232CのLOWアドレス
        FB04H+1 : RS-232CのHIGHアドレス
RSIQLN(FB06H, 1)
内容     RS-232Cルーチンが内部で使用する
MEXBIH(FB07H, 5)
内容     FB07H+0 : RST 30H(0F7H)
        FB07H+1 : バイトデータ
        FB07H+2 : (Low)
        FB07H+3 : (Hogh)
        FB07H+4 : RET (0C9H)
OLDSTT(FB0CH, 5)
内容     FB0CH+0 : RST 30H(0F7H)
        FB0CH+1 : バイトデータ
        FB0CH+2 : (Low)
        FB0CH+3 : (Hogh)
        FB0CH+4 : RET (0C9H)
OLDINT(FB12H, 5)
内容     FB12H+0 : RST 30H(0F7H)
        FB12H+1 : バイトデータ
        FB12H+2 : (Low)
        FB12H+3 : (Hogh)
        FB12H+4 : RET (0C9H)
DEVNUM(FB17H, 1)
内容     RS-232Cルーチンが内部で使用する
DATCNT(FB18H, 3)
内容     FB18H+0 : バイトデータ
        FB18H+1 : バイトポインタ
        FB18H+2 : バイトポインタ
ERRORS(FB1BH, 1)
内容     RS-232Cルーチンが内部で使用する
FLAGS(FB1BH, 1)
内容     RS-232Cルーチンが内部で使用する
ESTBLS(FB1DH, 1)
内容     RS-232Cルーチンが内部で使用する
COMMSK(FB1EH, 1)
内容     RS-232Cルーチンが内部で使用する
LSTCOM(FB1FH, 1)
内容     RS-232Cルーチンが内部で使用する
LSTMOD(FB20H, 1)
内容     RS-232Cルーチンが内部で使用する

●DOSが使用するデータエリア

リザーブ(FB21H〜FB34H)

●PLAY文が使用するデータエリア

PRSCNT(FB35H, 1)
内容     DOSが使用する
(以下はMSX1と共通)
内容     D1〜D0 文字列パース
        D7=0 1パス
SAVSP(FB36H, 2)
内容     プレー中のスタックポインタを保存
VOICEN(FB38H, 1)
内容     解釈中の現在の音声
SAVVOL(FB39H, 2)
内容     休止のために音量を保存する
MCLLEN(FB39H, 1)
内容     PLAY文が内部で使用する
MCLPTR(FB3CH, 2)
内容     PLAY文が内部で使用する
QUEUEN(FB3EH, 1)
内容     PLAY文が内部で使用する
MUSICF(FC3FH, 1)
内容     音楽演奏用の割り込みフラグ
PLYCNT(FB40H, 1)
内容     キューに格納されているPLAY文の数

●音声スタティックデータエリアからの変位

METREX(+0, 2)
(変位は10進数)
内容     タイマカウントダウン
VCXLEN(+2, 1)
内容     この音声のためのMCLLEN
VCXPTR(+3, 2)
内容     この音声のためのMCLPTR
VCXSTP(+5, 2)
内容     スタックポインタの先頭を保存
QLENGX(+7, 1)
内容     キューに格納されるバイト数
NTICSX(+8, 2)
内容     新しいカウントダウン
TONPRX(+10, 2)
内容     トーンの周期を設定するエリア
AMPPRX(+12, 1)
内容     音量、エンベロープの区別
ENVPRX(+13, 2)
内容     エンベロープの周期を設定するエリア
OCTAVX(+15, 1)
内容     オクターブを設定するエリア
NOTELX(+16, 1)
内容     音の長さを設定するエリア
TEMPOX(+17, 1)
内容     テンポを設定するエリア
VOLUMX(+18, 1)
内容     音量を設定するエリア
ENVLPX(+19, 14)
内容     エンベロープの波形を設定するエリア
MCLSTX(+33, 3)
内容     スタックの保存場所
MCLSEX(+36, 1)
内容     初期化スタック
VCBSIZ(+37, 1)
内容     スタティックバッファの大きさ

●音声スタティック・データエリア

VCBA(FB41H, 37)
内容     音声0のスタティックデータ
VCBB(FB66H, 37)
内容     音声1のスタティックデータ
VCBC(FB8BH, 37)
内容     音声2のスタティックデータ

●データエリア

ENSTOP(FBB0H, 1)
内容     [SHIFT+Ctrl+GRAPH+かなキー]によるウォームスタートを可能にするフラグ(0=不可能、0以外=可能)
BASROM(FBB1H, 1)
内容     BASICテキストの存在場所を示す(0=RAM上、0以外=ROM上)
LINTTB(FBB2H, 24)
内容     ラインターミナルテーブル。テキスト画面の各行の情報を保持するエリア
FSTPOS(FBCAH, 2)
内容     BIOSのINLIN(00B1H)で入力した行の最初の文字の位置
CODSAV(FBCCH, 1)
内容     カーソルが重なった部分のキャラクタを保存するエリア
FNKSWI(FBCDH, 1)
内容     KEY ON時にどのファンクションキーが表示されているか表す(1=F1〜F5が表示、0=F6〜F10が表示)
FNKFLG(FBCEH, 10)
内容     ON KEY GOSUB文により定義された行の実行を許可、禁止、停止するかファンクションキーごとに保存するためのエリア。KEY(n)ON/OFF/STOP文により設定される(0=KEY(n)OFF/STOP、1=KEY(n)ON)
ONGSBF(FBD8H, 1)
内容     TRPTBL(FC4CH)で待機中のイベントが発生したかどうかのフラグ
CLIKFL(FBD9H, 1)
内容     キークリック・フラグ
OLDKEY(FBDAH, 11)
内容     キーマトリクスの状態(旧)
NEWKEY(FBE5H, 11)
内容     キーマトリクスの状態(新)
KEYBUF(FBF0H, 40)
内容     キーコードバッファ
LINWRK(FC18H, 40)
内容     スクリーンハンドラが使う一時保存場所
PATWRK(FC40H, 8)
内容     パターンコンバータが使う一時保存場所
BOTTOM(FC48H, 2)
内容     実装したRAMの先頭(低位)番地。MSX2では通常8000H
HIMEM(FC4AH, 2)
内容     利用可能なメモリーの上位番地。CLEAR文の<メモリ上限>により設定される
TRPTBL(FC4CH, 78)
内容     割り込み処理で使うトラップテーブル。ひとつのテーブルは3バイトで構成される1バイト目がON/OFF/STOP状態を表し、残りが分岐先のテキストアドレスを表す
        FC4CH〜FC69H(3*10バイト) ← ON KEY GOSUBで使用
        FC6AH〜FC6CH(3*1バイト) ← ON STOP GOSUBで使用
        FC6DH〜FC6FH(3*1バイト) ← ON SPRITE GOSUBで使用
        FC70H〜FC7EH(3*5バイト) ← ON STRIG GOSUBで使用
        FC7FH〜FC81H(3*1バイト) ← ON INTERVAL GOSUBで使用
        FC82H〜FC99H ← 拡張用
RTYCNT(FC9AH, 1)
内容     BASICが内部で使用する
INTFLG(FC9BH, 1)
内容     Ctrl+STOPが押された場合など、ここに03Hを入れることによりストップする
PADY(FC9CH, 1)
内容     パドルのY座標
PADX(FC9DH, 1)
内容     パドルのX座標
JIFFY(FC9EH, 2)
内容     PLAY文が内部で使用する
INTVAL(FCA0H, 2)
内容     インターバルの間隔。ON INTERVAL GOSUB文により設定される
INTCNT(FCA2H, 2)
内容     インターバルのためのカウンタ
LOWLIM(FCA4H, 1)
内容     カセットテープからの読み込み中に使う
WINWID(FCA5H, 1)
内容     カセットテープからの読み込み中に使う
GRPHED(FCA6H, 1)
内容     グラフィックキャラクタを出す時のフラグ(1=グラフィックキャラクタ、0=通常の文字)
ESCCNT(FCA7H, 1)
内容     エスケープコードがきてから何文字目かをカウントするエリア
INSFLG(FCA8H, 1)
内容     挿入モードのフラグ(0=通常モード、0以外=挿入モード)
CSRSW(FCA9H, 1)
内容     カーソル表示の有無(0=表示なし、0以外=表示あり)
	LOCATE文の<カーソルスイッチ>により設定される
CSTYLE(FCAAH, 1)
内容     カーソルの形(0=■、0以外=_)
CAPST(FCABH, 1)
内容     CAPSキーの状態(0=CAP OFF、0以外=CAP ON)
KANAST(FCACH, 1)
内容     かなキーの状態(0=かなOFF、0以外=かなON)
KANAMD(FCADH, 1)
内容     かなキー配列の状態(0=50音配列、0以外=JIS配列)
FLBMEM(FCAEH, 1)
内容     BASICプログラムをロード中は0
SCRMOD(FCAFH, 1)
内容     現在のスクリーンモードの番号
OLDSCR(FCB0H, 1)
内容     スクリーンモード保存エリア
CASPRV(FCB1H, 1)
内容     CAS:が使う文字保存場所
BRDATR(FCB2H, 1)
内容     PAINTで使用する境界色のカラーコード。PAINT文の<境界色>で指定される
GXPOS(FCB3H, 2)
内容     X座標
GYPOS(FCB5H, 2)
内容     Y座標
GRPACX(FCB7H, 2)
内容     グラフィックアキュムレータ(X座標)
GRPACY(FCB9H, 2)
内容     グラフィックアキュムレータ(Y座標)
DRWFLG(FCBBH, 1)
内容     DRAW文で使用するフラグ
DRWSCL(FCBCH, 1)
内容     DRAWスケーリングファクタ(0=スケーリングしない、0以外=する)
DRWANG(FCBDH, 1)
内容     DRAWするときの角度
RUNBNF(FCBEH, 1)
内容     BLOAD中、BSAVE中、どちらでもない、のいずれかを表すフラグ
SAVENT(FCBFH, 2)
内容     BSAVEの開始番地
EXPTBL(FCC1H, 4)
内容     拡張スロット用のフラグテーブル。各スロットの拡張の有無
SLTTBL(FCC5H, 4)
内容     各拡張スロットレジスタ用の、現在のスロット選択状況
SLTATR(FCC9H, 64)
内容     各スロット用に属性を保存する
SLTWRK(FD09H, 128)
内容     各スロット用に特定のワークエリアを確保する
PROCNM(FD89H, 16)
内容     拡張ステートメント(CALL文の後)、拡張デバイス(OPENの後)の名前が入る。0は終わり
DEVICE(FD99H, 1)
内容     カートリッジ用の装置識別に使用する

●フック

H.KEYI(FD9AH)
意味     MSXIO割り込み処理の始め

使用目的  RS-232Cなどの割り込み処理を追加する
H.TIMI(FD9FH)
意味     MSXIOタイマ割り込み処理
使用目的  タイマー割り込み処理を追加するため
H.CHPH(FDA4H)
意味     MSXIO CHPUT(1文字出力)の始め
使用目的  他のコンソール出力装置をつなぐため
H.DSPC(FDA9H)
意味     MSXIO DSPCSR(カーソル表示)の始め
使用目的  他のコンソール装置をつなぐため
H.ERAC(FDAEH)
意味     MSXIO ERACSR(カーソル消去)の始め
使用目的  他のコンソール装置をつなぐため
H.DSPF(FDB3H)
意味     MSXIO DSPFNK(ファンクションキー表示)の始め
使用目的  他のコンソール装置をつなぐため
H.ERAF(FDB8H)
意味     MSXIO ERAFNK(ファンクションキー消去)の始め
使用目的  他のコンソール装置をつなぐため
H.TOTE(FDBDH)
意味     MSXIO TOTEXT(画面をテキストモードにする)の始め
使用目的  他のコンソール装置をつなぐため
H.CHGE(FDC2H)
意味     MSXIO CHGET(1文字取り出し)の始め
使用目的  他のコンソール装置をつなぐため
H.INIP(FDC7H)
意味     MSXIO INIPAT(文字パターンの初期化)の始め
使用目的  他の文字セットを使うため
H.KEYC(FDCCH)
意味     MSXIO KEYCOD(キーコード変換)の始め
使用目的  他のキー配置を使うため
H.KYEA(FDD1H)
意味     MSXIO NMIルーチン(Key Easy)の始め
使用目的  他のキー配置を使うため
H.NMI(FDD6H)
意味     MSXIO NMI(ノンマスカブルインタラプト)の始め
使用目的  NMI処理をするため
H.PINL(FDDBH)
意味     MSXINL PINLIN(1行入力)の始め
使用目的  他のコンソール入力装置や他の入力方式を使うため
H.QINL(FDEOH)
意味     MSXINL QINLIN(”?”を表示して1行入力)の始め
使用目的  他のコンソール入力装置や他の入力方式を使うため
H.INLI(FDE5H)
意味     MSXINL INLIN(1行入力)の始め
使用目的  他のコンソール入力装置や他の入力方式を使うため
H.ONGO(FDEAH)
意味     MSXSTS INGOTP(ON GOTO)の始め
使用目的  他の割り込み処理装置を使うため
H.DSKO(FDEFH)
意味     MSXSTS DSKO$(ディスク出力)の始め
使用目的  ディスク装置を接続するため
H.SETS(FDF4H)
意味     MSXSTS SETS(セット アトリビュート)の始め
使用目的  ディスク装置を接続するため
H.NAME(FDF9H)
意味     MSXSTS NAME(リネーム)の始め
使用目的  ディスク装置を接続するため
H.KILL(FDFEH)
意味     MSXSTS KILL(ファイルの削除)の始め
使用目的  ディスク装置を接続するため
H.IPL(FE03H)
意味     MSXSTS IPL(初期プログラムのロード)の始め
使用目的  ディスク装置を接続するため
H.COPY(FE08H)
意味     MSXSTS COPY(ファイルのコピー)の始め
使用目的  ディスク装置を接続するため
H.CMD(FE0DH)
意味     MSXSTS CMD(拡張コマンド)の始め
使用目的  ディスク装置を接続するため
H.DSKF(FE12H)
意味     MSXSTS DSKF(ディスクの空き)の始め
使用目的  ディスク装置を接続するため
H.DSKI(FE17H)
意味     MSXSTS DSKI(ディスク入力)の始め
使用目的  ディスク装置を接続するため
H.ATTR(FE1CH)
意味     MSXSTS ATTR$(アトリビュート)の始め
使用目的  ディスク装置を接続するため
H.LSET(FE21H)
意味     MSXSTS LSET(左詰め代入)の始め
使用目的  ディスク装置を接続するため
H.RSET(FE26H)
意味     MSXSTS RSET(左詰め代入)の始め
使用目的  ディスク装置を接続するため
H.FIEL(DE2BH)
意味     MSXSTS FIELD(フィールド)の始め
使用目的  ディスク装置を接続するため
H.MKI$(FE30H)
意味     MSXSTS MKI$(整数作成)の始め
使用目的  ディスク装置を接続するため
H.MKS$(FE35H)
意味     MSXSTS MKS$(単精度実数作成)の始め
使用目的  ディスク装置を接続するため
H.MKD$(FE3AH)
意味     MSXSTS MKD$(倍精度実数作成)の始め
使用目的  ディスク装置を接続するため
H.CVI(FE3FH)
意味     MSXSTS CVI(整数変換)の始め
使用目的  ディスク装置を接続するため
H.CVS(FE44H)
意味     MSXSTS CVS(単精度実数変換)の始め
使用目的  ディスク装置を接続するため
H.CVD(FE49H)
意味     MSXSTS CVD(倍精度実数変換)の始め
使用目的  ディスク装置を接続するため
H.GETP(FE4EH)
意味     SPDSK GETPTR(ファイルポインタ取り出し)
使用目的  ディスク装置を接続するため
H.SETF(FE53H)
意味     SPCDSK SETFIL(ファイルポインタ設定)
使用目的  ディスク装置を接続するため
H.NOFO(FE58H)
意味     SPDSK NOFOR(OPEN文にFORがない)
使用目的  ディスク装置を接続するため
H.NULO(FE5DH)
意味     SPCDSK NULOPN(空きファイルをオープン)
使用目的  ディスク装置を接続するため
H.NTFL(FE62H)
意味     SPCDSK NTFLO(ファイル番号が0でない)
使用目的  ディスク装置を接続するため
H.MERG(FE67H)
意味     SPCDSK MERGE(プログラムファイルのマージ)
使用目的  ディスク装置を接続するため
H.SAVE(FE6CH)
意味     SPCDSK SAVE(セーブ)
使用目的  ディスク装置を接続するため
H.BINS(FE71H)
意味     SPCDSK BINSAV(機械語セーブ)
使用目的  ディスク装置を接続するため
H.BINL(FE76H)
意味     SPCDSK BINLOD(機械語ロード)
使用目的  ディスク装置を接続するため
H.FILE(FD7BH)
意味     SPCDSK FILES(ファイル名の表示)
使用目的  ディスク装置を接続するため
H.DGET(FE80H)
意味     SPCDSK DGET(ディスクGET)
使用目的  ディスク装置を接続するため
H.FILO(FE85H)
意味     SPCDSK FILOU1(ファイル出力)
使用目的  ディスク装置を接続するため
H.INDS(FE8AH)
意味     SPCDSK INDSKC(ディスクの属性を入力)
使用目的  ディスク装置を接続するため
H.RSLF(FE8FH)
意味     SPCDSK 前のドライブを再び選択する
使用目的  ディスク装置を接続するため
H.SAVD(FE94H)
意味     SPCDSK 現在選択しているドライブを保存する
使用目的  ディスク装置を接続するため
H.LOC(FE99H)
意味     SPCDSK LOC関数(場所を示す)
使用目的  ディスク装置を接続するため
H.LOF(FE9EH)
意味     SPCDSK LOF関数(ファイルの長さ)
使用目的  ディスク装置を接続するため
H.EOF(FEA3H)
意味     SPCDSK EOF関数(ファイルの終わり)
使用目的  ディスク装置を接続するため
H.FPOS(FEA8H)
意味     SPCDSK FPOS関数(ファイルの場所)
使用目的  ディスク装置を接続するため
H.BAKU(FEADH)
意味     SPCDSK BAKUPT(バックアップ)
使用目的  ディスク装置を接続するため
H.PARD(FEB2H)
意味     SPCDEV PARDEV(装置名の取り出し)
使用目的  論理装置名を拡張するため
H.NODE(FEB7H)
意味     SPCDEV NODEVN(装置名なし)
使用目的  省略装置名を他の装置に設定する
H.POSD(FEBCH)
意味     SPCDEV POSDSK
使用目的  ディスク装置を接続するため
H.DEVN(FEC1H)
意味     SPCDEV DEVNAM(装置名の処理)
使用目的  論理装置名を拡張するため
H.GEND(FEC6H)
意味     SPCDEV GENDSP(装置割り当て)
使用目的  論理装置名を拡張するため
H.RUNC(FECBH)
意味     BIMISC RUNC(RUNのためのクリア)
H.CLEA(FED0H)
意味     BIMISC CLEARC(CLEAR文のためのクリア)
H.LOPD(FED5H)
意味     BIMISC LOPDFT(繰り返しと省略値の設定)
使用目的  変数に他の省略値を使うため
H.STKE(FEDAH)
意味     BIMISC STKERR(スタックエラー)
H.ISFL(FEDFH)
意味     BIMISC ISFLIO(ファイルの入出力かどうか)
H.OUTD(FEE4H)
意味     BIO OUTDO(OUTを実行)
H.CRDO(FEE9H)
意味     BIO CRDO(CRLFを実行)
H.DSKC(FEEEH)
意味     BIO DSKCHI(ディスクの属性を入力)
H.DOGR(FEF3H)
意味     GENGRP DOGRPH(グラフィック処理を実行)
H.PRGE(FEF8H)
意味     BINTRP PRGEND(プログラム終了)
H.ERRP(FEFDH)
意味     BINTRP ERRPRT(エラー表示)
H.ERRF(FF02H)
意味     BINTRP
H.READ(FF07H)
意味     BINTRP READY
H.MAIN(FF0CH)
意味     BINTRP MAIN
H.DIRD(FF11H)
意味     BINTRP DIRDO(ダイレクトステートメント実行)
H.FINI(FF16H)
意味     BINTRP
H.FINE(FF1BH)
意味     BINTRP
H.CRUN(FF20H)
意味     BINTRP
H.CRUS(FF25H)
意味     BINTRP
H.ISRE(FF2AH)
意味     BINTRP
H.NTFN(FF2FH)
意味     BINTRP
H.NOTR(FF34H)
意味     BINTRP
H.SNGF(FF39H)
意味     BINTRP
H.NEWS(FF3EH)
意味     BINTRP
H.GONE(FF43H)
意味     BINTRP
H.CHRG(FF48H)
意味     BINTRP
H.RETU(FF4DH)
意味     BINTRP
H.PRTF(FF52H)
意味     BINTRP
H.COMP(FF57H)
意味     BINTRP
H.FINP(FF5CH)
意味     BINTRP
H.TRMN(FF61H)
意味     BINTRP
H.FRME(FF66H)
意味     BINTRP
H.NTPL(FF6BH)
意味     BINTRP
H.EVAL(FF70H)
意味     BINTRP
H.OKNO(FF75H)
意味     BINTRP
H.FING(FF7AH)
意味     BINTRP
H.ISMI(FF7FH)
意味     BINTRP ISMID$(MID$かどうか)
H.WIDT(FF84H)
意味     BINTRP WIDTHS(WIDTH)
H.LIST(FF89H)
意味     BINTRP LIST
H.BUFL(FF8EH)
意味     BINTRP BUFLIN(バッファライン)
H.FRQI(FF93H)
意味     BINTRP FRQINT
H.SCNE(FF98H)
意味     BINTRP
H.FRET(FF9DH)
意味     BISTRS FRETMP
H.PTRG(FFA2H)
意味     BIPTRG PTRGET(ポインタ取り出し)
使用目的  省略値以外の変数を使用するため
H.PHYD(FFA7H)
意味     MSXIO PHYDIO(物理ディスク入出力)
使用目的  ディスク装置を接続するため
H.FORM(FFACH)
意味     MSXIO FORMAT(ディスクをフォーマットする)
使用目的  ディスク装置を接続するため
H.ERRO(FFB1H)
意味     BINTRP ERROR
使用目的  アプリケーション・プログラムのエラー処理
H.LPTO(FFB6H)
意味     MSXIO LPTOUT(プリンタ出力)
使用目的  省略値以外のプリンタを使うため
H.LPTS(FFBBH)
意味     MSXIO LPTSTT(プリンタの状態)
使用目的  省略値以外のプリンタを使うため
H.SCRE(FFC0H)
意味     MSXSTS SCREEN文の入口
使用目的  SCREEN文を拡張するため
H.PLAY(FFC5H)
意味     MSXSTS PLAY文の入口
使用目的  PLAY文を拡張するため

●拡張BIOS用

FCALL(FFCAH)
内容     拡張BIOSが使用するフック
DISINT(FFCFH)
内容     DOSが使用する
ENAINT(FFD4H)
内容     DOSが使用する