この文は、MSXのBIOSとワークエリアに関する資料です。
アドレス:所在:種別:俗称 の順のヘッダとBIOSの持つ、機能やワークエリアの意味の行のくり返しという形式になっています。
ヘッダの見方は、最初の16進数の数字がコールしたり、ワークエリアの存在するアドレス、所在は、MAINとあるものは、メインROMに、SUBとあるものは、サブROM、RAMとあるものはRAMに各ルーチン・ワークエリアが存在する事を示します。
種別は、その番地が何を表わすかで、BIOS,ワークエリア(WORK),フック(HOOK),各種データ(DATA)があります。
俗称は、そのルーチンやワークエリアのラベルとしての俗称です。
次の行からは、BIOSの持つ、機能やワークエリアの意味です。
BIOSのパラメーターと出力結果関連で、入力とあるのは、呼ぶ前にセットする必要があるパラメーター、出力結果とあるのは、コールした結果の入るレジスタなど、BIOSで使用というのは、BIOSで使用する(値が変わる)レジスタを表します。
この資料は、自由にコピーして結構です。それでは、本資料をMSXでのプログラミングにいかして下さい。
[参考文献]
SUPER-Xインデックスタンク(By Romi)
MSX2/2+早分かり小事典(日本文芸社)
MSXテクニカルガイドブック第四版(ASCAT)
MSX・FAN各号
MSXマガジン各号
ftp://ftp.saitama-u.ac.jp/non-pub/MSX/cam031313.student.utwente.nl/Docs/から入手したBIOS.TXT,Hooks.txt,Where.txt
MCCMホームページのMillenniumコーナー内MiLCからBIOS,MSX-2 BIOS calls(http://www.database.nl/mccm/millennium/milc/BIOS/topic_1.htm)
[お願い]
本テキストは、上記にある参考文献を元にして書きましたが、写し間違いや訳の間違い、テクハンやデータパックのようなオフィシャルの資料が無い事に代表される資料不足による記述不十分な点などがあると思います。誤りや、注意すべき点などがありましたら、私の方まで連絡してください。資料の提供も大歓迎です。
[MSX-BIOS List] 0000:MAIN:BIOS:CHKRAM RAMをチェックし、システム用の RAM スロットをセット。つまり、ソフトウェアリセットである。 入力/なし 出力結果/なし BIOSで使用/ALL 0008:MAIN:BIOS:SYNCHR (HL)の1文字が指定した文字かチェックする。違うなら、Syntax errorを出し、合ってたら0010Hへ。 入力/HL=チェックする文字のアドレス。 000C:MAIN:BIOS:RDSLT Aのスロットのアドレス(HL)から1バイト読み込む。割り込みは禁止されたまま戻ってくる。 入力/A=スロット、HL=読込みアドレス 0010:MAIN:BIOS:CHRGTB BASICのテキストから文字(もしくはトークン)を取り出す。 入力/HL 出力結果/HL=次の文字へのポインタ A=取り出した文字 数字の場合Cフラグ、ステートメント終了時Zフラグが立つ BIOSで使用/AF,HL 0014:MAIN:BIOS:WRSLT Aのスロットのアドレス(HL)にEの1バイトを書き込む。割り込みは禁止されたまま戻ってくる。 入力/A=スロット、HL=読込みアドレス、E=書き込みデータ 0018:MAIN:BIOS:OUTDO 現在使っているデバイスにAレジスタの内容を出力。 入力/A=出力文字 出力結果/なし BIOSで使用/なし 001C:MAIN:BIOS:CALSLT IYの上位8ビットで指定されたスロットの(IX)をコールする。 出力結果/コールしたルーチンによる BIOSで使用/コールしたルーチンによる 0020:MAIN:BIOS:DCOMPR HLとDEの内容を比較する。 出力結果/HL=DEならZフラグ、HL0:つける 出力結果/なし BIOSで使用/AF 0135:MAIN:BIOS:CHGSND 1bitサウンドポートの状態を変える。 入力/A=0:OFF A=1:ON 出力結果/なし BIOSで使用/AF 0138:MAIN:BIOS: 基本スロット・レジスタに出力している値をAに読みこむ。 入力/なし 出力結果/A=基本スロットレジスタの値 BIOSで使用/A 013B:MAIN:BIOS: 基本スロット・レジスタにAを書き込む。 入力/A=書き込む内容 出力結果/なし BIOSで使用/なし 013E:MAIN:BIOS:RDVDP VDPのステータスレジスタ0をAに読み込む。 入力/なし 出力結果/A=ステータスレジスタ0の内容 BIOSで使用/A 0141:MAIN:BIOS:SNSMAT キーボードマトリクスからAで指定した行をAに得る。 入力/A=調べるキーボードマトリクスの行 出力結果/キーボードマトリクスの状態 BIOSで使用/AF,C 0144:MAIN:BIOS:PHYDIO ディスクのセクタ単位での読み書き。 入力/Cy=1:書き込み 0:読込み A=ドライブ番号(0:A 1:B...) B=セクタ数 C=メディアID DE=対象の先頭セクタ番号 HL=DTA(書き込む内容、読み込み先)アドレス。 出力/Cy=0:成功 1:失敗 A=エラーコード B=読み(書き)残したセクタ数 0147:MAIN:BIOS:FORMAT ディスクをフォーマットする。 014A:MAIN:BIOS: デバイスが動作中かどうかチェックする。 入力/なし 出力結果/A<>0なら、動作中 BIOSで使用/AF 014D:MAIN:BIOS: Aの文字をプリンタに出力する。 入力/A=出力する文字 出力結果/なし BIOSで使用/F 0156:MAIN:BIOS:KILBUF キーボードバッファをクリアする。 入力/なし 出力結果/なし BIOSで使用/HL 0159:MAIN:BIOS:CALBAS BASICインタプリタ内のルーチンをインタースロットコールする。 入力/IX=コールするアドレス 出力結果/ルーチンによる BIOSで使用/ルーチンによる 015C:MAIN:BIOS:SUBROM SUB-ROMをインタースロットコールする。 入力/IX=コールするアドレス 同時にIXをスタックに積む 015F:MAIN:BIOS:EXTROM SUB-ROMをインタースロットコールする。 入力/IX=コールするアドレス 出力結果/ルーチンによる BIOSで使用/IY,裏以外 0168:MAIN:BIOS:EOL 行の終わりまで文字をデリートする。 入力/H=X座標 L=Y座標 出力結果/なし BIOSで使用/ALL 016B:MAIN:BIOS:BIGFIL VRAM(HL)からBCバイトをAで埋める。スクリーンモードのチェックをしない。 入力/HL=書き込み開始アドレス BC=書き込むバイト数 A=書き込むデータ 出力結果/なし BIOSで使用/AF,BC 016E:MAIN:BIOS:NSETRD VDPにアドレスHLをセットし読み出せる状態にする。VRAMのアドレスは全ビットが有効。 入力/HL=読み出し開始アドレス 出力結果/なし BIOSで使用/AF 0171:MAIN:BIOS:NSTWRT VDPにアドレスHLをセットし、書き込める状態にする。VRAMのアドレスは全ビットが有効。 入力/HL=書き込み開始アドレス 出力結果/なし BIOSで使用/AF 0174:MAIN:BIOS:NRDVRM VRAMの(HL)をAに読み込む。VRAMのアドレスは全ビットが有効。 入力/HL=VRAM読込みアドレス 出力結果/A=読み込んだデータ BIOSで使用/F 0177:MAIN:BIOS:NWRVRM AをVRAM(HL)に書き込む。VRAMのアドレスは全ビットが有効。 入力/A=書き込むデータ HL=書き込むVRAMアドレス 出力結果/なし BIOSで使用/AF 017A:MAIN:BIOS:RDRES リセットの状態を調べる。(2+) 入力/なし 出力結果/A=Bit7:リセットの状態(0:ハードウェア 1:ソフトウェア) BIOSで使用/なし 017A:MAIN:BIOS:WRRES リセットの状態を書き込む。(2+)BIOS 017AHで得たリセットの状態に80HでORを取ってからこのBIOSで書き込み、それから0番地ジャンプしてリセットを行う。 入力/A=リセットの状態 出力結果/なし BIOSで使用/なし 0180:MAIN:BIOS:CHGCPU Aの値により、CPUを切り替える。(TR Only) 入力/Aのビット7=LEDの変化 Aのビット1,0=0,0:Z80 0,1:R800-ROM 1,0:R800-DRAM 出力結果/なし BIOSで使用/AF 0183:MAIN:BIOS:GETCPU 動作しているCPUの種別をAに獲得。(TR Only) 入力/なし 出力結果/A=0:Z80 1:R800-ROM 2:R800-DRAM BIOSで使用/F 0186:MAIN:BIOS:PCMPLY PCM音声の再生。(TR Only) 入力/A=Bit7:データの所在(0-Main RAM 1-VRAM) Bit1,0:0,0-15.75kHz 0,1-7.875kHz 1,0-5.25kHz 1,1-3.9375kHz EHL=データの開始番地 DBC=データの長さ(バイト数) 出力/Cy=0:正常終了 Cy=1:異常終了 A:異常の原因(0:周波数指定の誤り 1:CTRL+STOPによる中断) EHL:中断番地 BIOSで使用/ALL 0189:MAIN:BIOS:PCMREC PCM音声の録音。(TR Only) 入力/A=Bit7:データの所在(0-Main RAM 1-VRAM) Bit6-3:トリガーレベル Bit2:データ圧縮の有無(0:なし 1:あり) Bit1,0:0,0-15.75kHz 0,1-7.875kHz 1,0-5.25kHz 1,1-3.9375kHz EHL=データの開始番地 DBC=データの長さ(バイト数) 出力/Cy=0:正常終了 Cy=1:異常終了 A:異常の原因(0:周波数指定の誤り 1:CTRL+STOPによる中断) EHL:中断番地 BIOSで使用/ALL 0085:SUB :DOLINE 線を書く 入力/(BC,DE)- ((FCB3H),(FCB5H)),(F3F2H),(FB02H) 0089:SUB :BIOS:GRPPRT グラフィック画面に文字Aを表示。 入力/A=文字 出力結果/なし BIOSで使用/なし 00C9:SUB :BIOS:NVBXLN ボックスを描く。 入力/(BC,DE)- ((FCB3H),(FCB5H)),(F3F2H),(FB02H) 00CD:SUB :BIOS:NVBXFL 塗り潰されたボックスを描く。 入力/(BC,DE)-((FCB3H),(FCB5H)),(F3F2H),(FB02H) 00D1:SUB :BIOS:CHGMOD スクリーンモードをAに変える。 入力/A=スクリーンモード 出力結果/なし BIOSで使用/ALL 00D5:SUB :BIOS:INITXT 画面をテキストモード(Screen 0,40*24)にして初期化。 入力/なし 出力結果/なし BIOSで使用/ALL 00D9:SUB :BIOS:INIT32 画面をテキストモード(Screen 1,32*24)にして初期化。 入力/なし 出力結果/なし BIOSで使用/ALL 00DD:SUB :BIOS:INIGRP 画面を高解像度モード(Screen 2)にして初期化。 入力/なし 出力結果/なし BIOSで使用/ALL 00E1:SUB :BIOS:INIMLT 画面をマルチカラーモード(Screen 3)にして初期化。 入力/なし 出力結果/なし BIOSで使用/ALL 00E5:SUB :BIOS:SETTXT VDPをテキストモード(Screen 0,40*24)にする。 入力/なし 出力結果/なし BIOSで使用/ALL 00E9:SUB :BIOS:SETT32 VDPをテキストモード(Screen 1,32*24)にする。 入力/なし 出力結果/なし BIOSで使用/ALL 00ED:SUB :BIOS:SETGRP VDPを高解像度モード(Screen 2)にする。 入力/なし 出力結果/なし BIOSで使用/ALL 00F1:SUB :BIOS:SETMLT VDPをマルチカラーモード(Screen 3)にする。 入力/なし 出力結果/なし BIOSで使用/ALL 00F5:SUB :BIOS:CLRSPR すべてのスプライトを初期化する。 入力/(FCAFH)にスクリーンモード 出力結果/なし BIOSで使用/ALL 00F9:SUB :BIOS:CALPAT AのスプライトジェネレータテーブルのアドレスをHLに得る。 入力/A=スプライト番号 /HL=スプライトジェネレータテーブルのアドレス BIOSで使用/AF,DE,HL 00FD:SUB :BIOS:CALATR AのスプライトアトリビュートテーブルのアドレスをHLにいれる。 入力/A=スプライト面番号 出力結果/HL=スプライトアトリビュートテーブルのアドレス BIOSで使用/AF,DE,HL 0101:SUB :BIOS:GSPSIZ スプライトサイズを獲得。 入力/なし BIOSで使用/AF 出力結果/A=サイズ Cフラク16*16のとき1 0105:SUB :BIOS:GETPAT キャラクタパターンを得る。 入力/A=文字コード 出力結果/(FC40H)にパターン BIOSで使用/ALL 0109:SUB :BIOS:WRTVRM AをVRAM(HL)に書き込む。 入力/A=書き込む内容 HL=書き込むVRAMアドレス 出力結果/なし BIOSで使用/AF 010D:SUB :BIOS:RDVRM AにVRAM(HL)の値を読む。 入力/HL=読み込むVRAMアドレス 出力/A=読み込んだ値。 BIOSで使用/AF 0111:SUB :BIOS:CHGCLR 画面の色を変える。 (F3E9H)から3バイトに、前景、背景、周辺色。 0115:SUB :BIOS:CLS 画面クリア 入力/なし 出力結果/なし BIOSで使用/ALL 011D:SUB :BIOS:DSPFNK ファンクションキーの表示 入力/なし 出力結果/なし BIOSで使用/ALL 012D:SUB :BIOS:WRTVDP VDPのレジスタCにデータBを書き込む。 入力/C=書き込むVDPレジスタ番号 B=書き込むデータ 出力結果/なし BIOSで使用/AF,BC 0131:SUB :BIOS:VDPSTA VDPのレジスタAをAに読む。(あらかじめメモリに書き込んである値を返す) 入力/A=読み込むレジスタ番号 出力/A=読み込んだ値 BIOSで使用/F 013D:SUB :BIOS:SETPAG ページの切替。 (FAF5H)にディスプレイページ番号 (FAF6H)にアクティブページ 0141:SUB :BIOS:INIPLT パレットの初期化。 入力/なし 出力結果/なし BIOSで使用/AF,BC,DE 0145:SUB :BIOS:RSTPLT パレットをVRAMからリストアする。BASICのCOLOR=RESTORE。メモリ上の値で初期化する。 入力/なし 出力結果/なし BIOSで使用/AF,BC,DE 0149:SUB :BIOS:GETPLT パレットからカラーコードを得る。 入力/Bの上4bit=赤 Bの下4bit=青 Cの下4bit=緑 014D:SUB :BIOS:SETPLT パレット設定。 入力/D=パレット番号 Aの上4bit=赤 Aの下4bit=青 Eの下4bit=緑 017D:SUB :BIOS:BEEP BEEP音を鳴らす。 入力/なし 出力結果/なし BIOSで使用/ALL 0181:SUB :BIOS:PROMPT プロンプト表示。 入力/なし 出力結果/なし BIOSで使用/ALL 01AD:SUB :BIOS:NEWPAD マウス、ライトペンの状態を読む。 入力/A=設定 出力結果/A=値 BIOSで使用/ALL 01B5:SUB :BIOS:CHGMDP VDPのモードをAに変える。パレットは初期化される。 入力/A=モード 出力結果/なし BIOSで使用/ALL 01BD:SUB :BIOS:KNJPRT グラフィック画面に漢字を出力する。(但し、MSX2では、第1水準のみのサポート) 入力/BC=JISコード A=表示モード(ロジカルオペレーション) 出力結果/なし BIOSで使用/AF 01F5:SUB :BIOS:REDCLK クロックデータを読む。 入力/C=クロックRAMアドレス 出力結果/A=読んだデータ BIOSで使用/F 01F9:SUB :BIOS:WRTCLK クロックデータを書き込む。 入力/A=書き込みデータ C=クロックアドレス 出力結果/なし BIOSで使用/F [主なデータ] 002D:MAIN:DATA:ROMID MSXのバージョン番号 0:MSX1 1:MSX2 2:MSX2+ 3:MSX Turbo-R 4-:??? 002B:MAIN:DATA: IDバイト キャラクタジェネレータの種類、日付のフォーマット、インタラプト周期などの情報。 002C:MAIN:DATA: IDバイト キーボードの種別、PRINT USING等の情報。 0006:MAIN:DATA: VDP(Read)のポート0のアドレス。 0007:MAIN:DATA: VDP(Write)のポート0のアドレス。 [ワークエリア] F380:RAM :WORK:RDPRIM 基本スロットからの読み込みルーチン。 (5) F385:RAM :WORK:WRPRIM 基本スロットへの書き込みルーチン。 (7) F38C:RAM :WORK:CLPRIM 基本スロットコールルーチン。 (14) F39A:RAM :WORK:USRTAB USR関数のマシン語プログラムの開始番地。定義前は、エラールーチンを指す。 (2*10) F3AE:RAM :WORK:LINL40 Screen 0の時の1行の幅。Screen 0の時のWidth文で設定する。 (これを設定してからスクリーンモード切替を行なう) [40](1) F3AF:RAM :WORK:LINL32 Screen 1の時の1行の幅。Screen 1の時のWidth文で設定する。 [40](1) F3B0:RAM :WORK:LINLEN 現在の画面の1行の幅。 [29](1) F3B1:RAM :WORK:CRTCNT 現在の画面の行数。(VDPの192/212Line切替と共に使うと良い) [24](1) F3B2:RAM :WORK:CLMLST PRINT命令に置いて、各項目がカンマで区切られている場合の横位置。 [14](1) F3B3:RAM :WORK:TXTNAM SCREEN0の時のパターンネームテーブル先頭アドレス [0000H](2) F3B5:RAM :WORK:TXTCOL 使用しない。 (2) F3B7:RAM :WORK:TXTCGP SCREEN0の時のパターンジェネレータテーブル先頭アドレス [0800H](2) F3B9:RAM :WORK:TXTATR 使用しない (2) F3BB:RAM :WORK:TXTPAT 使用しない。 (2) F3BD:RAM :WORK:T32NAM SCREEN1の時のパターンネームテーブルの先頭アドレス。 [1800H](2) F3BF:RAM :WORK:T32COL SCREEN1の時のカラーテーブル先頭アドレス [2000H](2) F3C1:RAM :WORK:T32CGP SCREEN1の時のパターンジェネレータテーブル先頭アドレス [0000H](2) F3C3:RAM :WORK:T32ATR SCREEN1の時のスプライトアトリビュートテーブル先頭アドレス [1B00H](2) F3C5:RAM :WORK:T32PAT SCREEN1の時のスプライトジェネレータテーブル先頭アドレス [3800H](2) F3C7:RAM :WORK:GRPNAM SCREEN2の時のパターンネームテーブル先頭アドレス [1800H](2) F3C9:RAM :WORK:GRPCOL SCREEN2の時のカラーテーブル先頭アドレス [2000H](2) F3CB:RAM :WORK:GRPCGP SCREEN2の時のパターンジェネレータテーブル先頭アドレス [0000H](2) F3CD:RAM :WORK:GRPATR SCREEN2の時のスプライトアトリビュートテーブル先頭アドレス [1B00H](2) F3CF:RAM :WORK:GRPPAT SCREEN2の時のスプライトパターンジェネータテーブル先頭アドレス [3800H](2) F3D1:RAM :WORK:MLTNAM SCREEN3の時のパターンネームテーブル先頭アドレス [0800H](2) F3D3:RAM :WORK: 使用しない。 (2) F3D5:RAM :WORK:MLTCGP SCREEN3の時のパターンジェネレータテーブル先頭アドレス [0000H](2) F3D7:RAM :WORK:MLTATR SCREEN3の時のスプライトアトリビュートテーブル先頭アドレス [1B00H](2) F3D9:RAM :WORK:MLTPAT SCREEN3の時のスプライトジェネレータテーブル先頭アドレス [3800H](2) F3DB:RAM :WORK:CLIKSW キークリックスイッチ(キーを押したときに音が出るか否か)。 SCREEN文の<キークリックスイッチ>により、設定。 [1](1) F3DC:RAM :WORK:CSRY カーソルのY座標(1〜) [1](1) F3DD:RAM :WORK:CSRX カーソルのX座標(1〜) [1](1) F3DE:RAM :WORK:CNSDFG ファンクションキー表示スイッチ。0以外なら表示する。 [FFH](1) F3DF:RAM :WORK:RG0SAV VDPレジスタ0の保存場所。 [0](1) F3E0:RAM :WORK:RG1SAV VDPレジスタ1の保存場所 [E0H](1) F3E1:RAM :WORK:RG2SAV VDPレジスタ2の保存場所 [0](1) F3E2:RAM :WORK:RG3SAV VDPレジスタ3の保存場所 [0](1) F3E3:RAM :WORK:RG4SAV VDPレジスタ4の保存場所 [0](1) F3E4:RAM :WORK:RG5SAV VDPレジスタ5の保存場所 [0](1) F3E5:RAM :WORK:RG6SAV VDPレジスタ6の保存場所 [0](1) F3E6:RAM :WORK:RG7SAV VDPレジスタ7の保存場所 [0](1) F3E7:RAM :WORK:STATFL VDPのステータスの保存場所。MSX2以上ではステータスレジスタ0の内容 [0](1) F3E8:RAM :WORK:TRGFLG ジョイスティックのトリガボタンの状態を保存する。(0:Hit 1:Not) (Bit0:Space Bit4:Port1-A Bit5:Port1-B Bit6:Port2-A Bit7:Port2-B) [FFH](1) F3E9:RAM :WORK:FORCLR 前景色。COLOR文で設定される。 [15](1) F3EA:RAM :WORK:BAKCLR 背景色。COLOR文で設定される。 [4](1) F3EB:RAM :WORK:BDRCLR 周辺色。COLOR文で設定される。 [7](1) F3EC:RAM :WORK:MAXUPD CIRCLE文が内部で使用する。 [JP 0000H/C3 00 00] (3) F3EF:RAM :WORK:MINUPD CIRCLE文が内部で使用する。 [JP 0000H/C3 00 00] (3) F3F2:RAM :WORK:ATRBYT グラフィック使用時のカラーコード。 [15](1) F3F3:RAM :WORK:QUEUES PLAY文実行時のキューテーブルを指す。 [F959H](2) F3F5:RAM :WORK:FRCNEW BASICインタプリタが内部で使用する。 [255](1) F3F6:RAM :WORK:SCNCNT キースキャンの時間間隔。 [1](1) F3F7:RAM :WORK:REPCNT キーのオートリピートが始まるまでの時間。 [50](1) F3F8:RAM :WORK:PUTPNT キーバッファの書き込みを行う番地を指す。 [FBF0H](2) F3FA:RAM :WORK:GETPNT キーバッファから読み込みを行う番地を指す。 [FBF0H](2) F3FC:RAM :WORK:CS120 カセットテープ用パラメーター (5*2) F406:RAM :WORK:LOW カセットテープのデータ (2) F408:RAM :WORK:HIGH カセットテープのデータ (2) F40A:RAM :WORK:HEADER カセットテープのデータ (1) F40B:RAM :WORK:ASPCT1 256/アスペクト比。CIRCLE文で使用する為にSCREEN文で設定される。 (2) F40D:RAM :WORK:ASPCT2 256*アスペクト比。CIRCLE文で使用する為にSCREEN文で設定される。 (2) F40F:RAM :WORK:ENDPGM RESUME NEXT 文の為の仮のプログラムの終わり [":"](5) F414:RAM :WORK:ERRFLG エラー番号を保存するエリア (1) F415:RAM :WORK:LPTPOS プリンタのヘッド位置 [0](1) F416:RAM :WORK:PRTFLG プリンタへ出力するかどうかのフラグ (1) F417:RAM :WORK:NTMSXP プリンタ種別。0=MSXプリンタ 0以外=MSXプリンタではない。 (1) F418:RAM :WORK:RAWPRT raw-modeでプリント中なら0以外を書き込む。漢字モードで、プリンタ制御コードを 出力するときや、ビットイメージを出力するときに0以外を書き込む。 (1) F419:RAM :WORK:VLZADR VAL関数で置き換えられる文字のアドレス。 (2) F41B:RAM :WORK:VLZDAT VAL関数で0に置き換わる文字 (1) F41C:RAM :WORK:CURLIN BASICが実行中の行番号 (2) F41F:RAM :WORK:KBUF クランチバッファ。(F55EH)から中間言語に直されて入る。 (318) F55D:RAM :WORK:BUFMIN INPUT文で使われる。 [","](1) F55E:RAM :WORK:BUF タイプした文字が入るバッファ。ダイレクトステートメントがアスキーコードで入る。 BASICはここの値が保存されるのを期待してないので機械語プログラムが一時的に 使ってもかまわない。 (258) F660:RAM :WORK:ENDBUF BUF(F55E)がオーバーフローするのを防ぐフラグ。 (1) F661:RAM :WORK:TTYPOS BASICが内部で持つ仮想的なカーソル位置。 (1) F662:RAM :WORK:DIMFLG BASICが内部で使用する. (1) F663:RAM :WORK:VALTYP 変数の型の識別に使用する. (1) F664:RAM :WORK:OPRTYP 保存されている語がクランチできるかを示す。 (1) F665:RAM :WORK:DONUM クランチ用のフラグ。 (1) F666:RAM :WORK:CONTXT CHRGETで使うテキストアドレスの保存。 (2) F668:RAM :WORK:CONSAV CHRGETが呼ばれた後の定数のトークンを保存する。 (1) F669:RAM :WORK:CONTYP 保存した定数のタイプ。 (1) F66A:RAM :WORK:CONLO 保存した定数の値。 (8) F672:RAM :WORK:MEMSIZ BASICが使用するメモリの最上位番地。 (2) F674:RAM :WORK:STKTOP BASICがスタックとして使用する番地。CLEAR文によって変化する。 (2) F676:RAM :WORK:TXTTAB BASICテキストエリアの先頭番地。 (2) F678:RAM :WORK:TEMPPT テンポラリディスクリプタの空きエリアの先頭番地。 [F67AH](2) F67A:RAM :WORK:TEMPST NUMTEMP用の領域。 (3*NUMTMP) F698:RAM :WORK:DSCTMP ストリング関数の答えのストリングディスクリプタが入る。 (3) F69B:RAM :WORK:FRETOP 文字列領域の空エリアの先頭番地。 (2) F69D:RAM :WORK:TEMP3 ガベージコレクションやUSR関数などに使われる。 (2) F69F:RAM :WORK:TEMP8 ガベージコレクション用 (2) F6A1:RAM :WORK:ENDFOR FOR文の次の番地を保存する。 (2) F6A3:RAM :WORK:DATLIN READ文の実行により、読まれたDATA文の行番号。 (2) F6A5:RAM :WORK:SUBFLG USR関数等で配列を使う時のフラグ。 (1) F6A6:RAM :WORK:USFLG INPUTやREADで使われるフラグ。 (1) F6A7:RAM :WORK:TEMP ステートメントコードの為の一時保存場所。 変数ポインタ、テキストアドレス等に使用。 (2) F6A9:RAM :WORK:ptrflg ポインタに変換する行番号がなければ0、あれば0以外。 (1) F6AA:RAM :WORK:AUTFLG AUTOコマンド有効・無効フラグ。(0以外=有効中、0=無効中) (1) F6AB:RAM :WORK:AUTLIN 一番新しく入力された行番号。 (2) F6AD:RAM :WORK:AUTINC AUTOコマンドの行番号の増分。 [10](2) F6AF:RAM :WORK:SAVTXT 実行中のテキストのアドレスを保存する領域。 (2) F6B1:RAM :WORK:SAVSTK スタックを保存する領域。 (2) F6B3:RAM :WORK:ERRLIN エラーがおきたときの行番号。 (2) F6B5:RAM :WORK:DOT 何等かの形で画面に表示又は、入力された最新の行番号。 (2) F6B7:RAM :WORK:ERRTXT エラーが起きたテキストのアドレス。 (2) F6B9:RAM :WORK:ONELIN エラーが起きたときの飛び先のテキストアドレス。ON ERROR GOTOで設定。 (2) F6BB:RAM :WORK:ONEFLG エラールーチンの実行中を示すフラグ。0以外なら実行中。 (1) F6BC:RAM :WORK:TEMP2 一時保存用。 (2) F6BE:RAM :WORK:OLDLIN 中断されたか、あるいは最後に実行された行番号。 (2) F6C0:RAM :WORK:OLDTXT 次に実行する文のテキストアドレス。 (2) F6C2:RAM :WORK:VARTAB 単純変数の開始番地。NEWを実行すると、(F676H)+2が設定される。 (2) F6C4:RAM :WORK:ARYTAB 配列テーブルの開始番地。 (2) F6C6:RAM :WORK:STREND テキストエリアや変数エリアとして使用中であるメモリの最後の番地。 (2) F6C8:RAM :WORK:DATPTR READ文の実行で読まれたデータのテキストアドレス。 (2) F6CA:RAM :WORK:DEFTBL 英文字1文字に対し、変数の型を保持するエリア。 (26) F6E4:RAM :WORK:PRMSTK スタック上の以前の定義ブロック(ガベージコレクション用) (2) F6E6:RAM :WORK:PRMLEN 処理対象のテーブルのバイト数。 (2) F6E8:RAM :WORK:PARM1 処理対象のパラメータ定義テーブル。PRMSIZは定義ブロックバイト数 (PRMSIZ) F74C:RAM :WORK:PRMPRV 以前のパラメータブロックのポインタ(ガベージコレクション用) [F6E4H](2) F74E:RAM :WORK:PRMLN2 パラメータブロックの大きさ。 (2) F750:RAM :WORK:PARM2 パラメータの保存用。 (100) F7B4:RAM :WORK:PRMFLG PARM1がサーチ済みかどうかを示すフラグ。 (1) F7B5:RAM :WORK:ARYTA2 サーチの終点。 (2) F7B7:RAM :WORK:NOFUNS 処理対象関数がない場合は0。 (1) F7B8:RAM :WORK:TEMP9 ガベージコレクション用の一時保存場所。 (2) F7BA:RAM :WORK:FUNACT 処理対象関数の数。 (2) F7BC:RAM :WORK:SWPTMP SWAP文の最初の値の一時保存場所。 (8) F7C4:RAM :WORK:TRCFLG トレースフラグ。 0以外=TRACE ON 0=TRACE OFF (1) F7C5:RAM :WORK:FBUFFR マスパックが内部で使用する。 (43) F7F0:RAM :WORK:DECTMP 10進整数を浮動小数点数にする時使用。 (2) F7F2:RAM :WORK:DECTM2 除算ルーチンの実行時に使用する。 (2) F7F4:RAM :WORK:DECCNT 除算ルーチンの実行時に使用する。 (2) F7F6:RAM :WORK:DAC DAC。演算の対象となる値を設定するエリア。 (16) F806:RAM :WORK:HOLD8 10進数の乗算の為のレジスタ保存エリア。 (48) F836:RAM :WORK:HOLD2 マスパックが内部で使用する。 (8) F83E:RAM :WORK:HOLD1 マスパックが内部で使用する。 (8) F847:RAM :WORK:ARG DAC(F7F6H)との演算対象となる値を設定するエリア。ARG。 (16) F857:RAM :WORK:RNDX 最新の乱数を倍精度実数で保存する。RND関数で設定される。 (8) F85F:RAM :WORK:MAXFIL ファイル番号の最大値。MAXFILES文で設定される。 (1) F860:RAM :WORK:FILTAB ファイルデータエリアの先頭番地。 (2) F862:RAM :WORK:NULBUF SAVE、LOADでBASICインタープリタが使用するバッファ。 (2) F864:RAM :WORK:PTRFIL アクセス中のファイルのファイルデータがある番地。 (2) F866:RAM :WORK:RUNFLG プログラムをLOAD後、実行するなら0でない値。 (1) F866:RAM :WORK:FILNAM ファイル名の保存エリア。 (11) F871:RAM :WORK:FILNM2 ファイル名の保存エリア。 F87C:RAM :WORK:NLONLY プログラムロード中は0でない値となる。 (1) F87D:RAM :WORK:SAVEND セーブするマシン語プログラムの最終番地。 (2) F87F:RAM :WORK:FNKSTR ファンクションキーの文字列保存エリア。 (16文字*10) F91F:RAM :WORK:CGPNT ROM上の文字フォント格納スロット番号 (1) F920:RAM :WORK: ROM上の文字フォント格納アドレス。 (2) F922:RAM :WORK:NAMBAS 現在のパターンネームテーブルのベースアドレス。 (2) F924:RAM :WORK:CGPBAS 現在のパターンジェネレータテーブルのベースアドレス。 (2) F926:RAM :WORK:PATBAS 現在のスプライトジェネレータテーブルのベースアドレス。 (2) F928:RAM :WORK:ATRBAS 現在のスプライトアトリビュートテーブルのベースアドレス。 (2) F92A:RAM :WORK:CLOC グラフィックルーチンが内部で使用する。 (2) F92C:RAM :WORK:CMASK グラフィックルーチンが内部で使用する。 (1) F92D:RAM :WORK:MINDEL グラフィックルーチンが内部で使用する。 (2) F92F:RAM :WORK:MAXDEL グラフィックルーチンが内部で使用する。 (2) F931:RAM :WORK:ASPECT CIRCLE文のワークエリア アスペクト比 F933:RAM :WORK:CENCNT CIRCLE文のワークエリア End count F935:RAM :WORK:CLINEF CIRCLE文のワークエリア Flag to draw line to centre F936:RAM :WORK:CNPNTS CIRCLE文のワークエリア 点を打つ座標 F938:RAM :WORK:CPLOTF CIRCLE文のワークエリア Plot polarity flag F939:RAM :WORK:CPCNT CIRCLE文のワークエリア 1/8 of number of points in circle F93B:RAM :WORK:CPCNT8 CIRCLE文のワークエリア F93D:RAM :WORK:CRCSUM CIRCLE文のワークエリア F93F:RAM :WORK:CSTCNT CIRCLE文のワークエリア F941:RAM :WORK:CSCLXY CIRCLE文のワークエリア X,Y方向の縮小比 F942:RAM :WORK:CSAVEA CIRCLE文のワークエリア reservation area of ADVGRP F944:RAM :WORK:CSAVEM CIRCLE文のワークエリア reservation area of ADVGRP F945:RAM :WORK:CXOFF CIRCLE文のワークエリア X方向の中心からのオフセット F947:RAM :WORK:CYOFF CIRCLE文のワークエリア Y方向の中心からのオフセット F949:RAM :WORK:LOHMSK PAINT文のワークエリア F94A:RAM :WORK:LOHDIR PAINT文のワークエリア F94B:RAM :WORK:LOHADR PAINT文のワークエリア F94D:RAM :WORK:LOHCNT PAINT文のワークエリア F94F:RAM :WORK:SKPCNT PAINT文のワークエリア Skip count F951:RAM :WORK:MOVCNT PAINT文のワークエリア Movement count F953:RAM :WORK:PDIREC PAINT文のワークエリア ペイント方向 F954:RAM :WORK:LFPROG PAINT文のワークエリア F955:RAM :WORK:RTPROG PAINT文のワークエリア F956:RAM :WORK:MCLTAB PLAYマクロ、またはDRAWマクロのテーブルの先頭を指す。 (2) F958:RAM :WORK:MCLFLG PLAY/DRAWの指示。 (1) F959:RAM :WORK:QUETAB キューテーブル。 (24) F971:RAM :WORK:QUEBAK BCKQで使用する。 (4) F975:RAM :WORK:VOICAQ 音声1のキュー。 (128) F9F5:RAM :WORK:VOICBQ 音声2のキュー。 (128) FA75:RAM :WORK:VOICCQ 音声3のキュー。 (128) FAF5:RAM :WORK:DPPAGE ディスプレイページ番号 (1) FAF6:RAM :WORK:ACPAGE アクティブページ番号 (1) FAF7:RAM :WORK:AVCSAV AVコントロールポートの保存。 (1) FAF8:RAM :WORK:EXBRSA SUB-ROMのスロット番号 (1) FAF9:RAM :WORK:CHRCNT バッファ中のキャラクタのカウンタ。ローマ字かな変換で使用。(値は0<=n<=2) (1) FAFA:RAM :WORK:ROMA バッファ中のキャラクタを入れておくエリア。ローマ字かな変換で使用。 (1) FAFC:RAM :WORK:MODE ローマ字かな変換のモードスイッチとVRAMサイズ。 (1) Bit 7:0-ひらがな 1-カタカナ(ローマ字かな変換) Bit 6:第2水準漢字ROMの有無。 0-なし 1-あり(2+) Bit 5:0-screen 10,1-screen 11(2+) Bit 4:クリッピング 0-しない 1-する (2+) Bit 3:SCREEN 0-3のVRAMアドレスをマスク 0-しない 1-する Bit 2,1:VRAM容量 0,0-16K 0,1-64K 1,1-128K Bit 0:ローマ字かな変換 0-しない 1-する FAFD:RAM :WORK:NORUSE 漢字ドライバが使用。 (1) Bit 7:1-グラフィック、文字混在モード Bit 6:1-SHIFT+カーソルによる画面の上下スクロール Bit 5,4:漢字ドライバ内部で使用 Bit 3-0:VDPのロジカルオペレーション。 FAFE:RAM :WORK:XSAVE X座標の保存、ライトペンのインタラプト要求の有無など。 (2) FB00:RAM :WORK:YSAVE Y座標の保存。 (2) FB02:RAM :WORK:LOGOPR ロジカル・オペレーションコード (1) FB03:RAM :WORK:RSTMP FB03:RAM :WORK:TOCNT FB04:RAM :WORK:RSFCB FB06:RAM :WORK:RSIQLN FB07:RAM :WORK:MEXBIH Hook FB0C:RAM :WORK:OLDSTT Hook FB12:RAM :WORK:OLDINT Hook FB17:RAM :WORK:DEVNUM FB18:RAM :WORK:DATCNT Hook FB1B:RAM :WORK:ERRORS FB1C:RAM :WORK:FLAGS FB1D:RAM :WORK:ESTBLS FB1E:RAM :WORK:COMMSK FB1F:RAM :WORK:LSTCOM FB20:RAM :WORK:LSTMOD FB21:RAM :WORK:DRVTBL ディスクROMスロットに繋がったドライブ数、スロットアドレスのテーブル。2*4Byte(8) FBB0:RAM :WORK:ENSTOP [SHIFT+CTRL+GRAPH+かなキー]による、ウォームスタートを可能にするフラグ。 0以外-可能 0-不可 (1) FBB1:RAM :WORK:BASROM BASICテキストの存在場所を示す。0=RAM/0以外=ROM上(CTRL+STOP不可) (1) FBB2:RAM :WORK:LINTTB ラインターミナルテーブル。テキスト画面の各行の情報を保持するする エリア。 (24) FBCA:RAM :WORK:FSTPOS BIOSのINLIN(B1H)で入力した行の最初の文字の位置。 (2) FBCC:RAM :WORK:CODSAV カーソルが重なった部分のキャラクタを保存するエリア。 (1) FBCD:RAM :WORK:FNKSWI KEY ON時にどのファンクションキーが表示されているかを示す。 (1) FBCE:RAM :WORK:FNKFLG ファンクションキー割り込みの動作状態を示す。 (10) FBD8:RAM :WORK:ONGSBF TRPTBL(FC4CH)で待機中のイベントが発生したかどうかのフラグ。 (1) FBD9:RAM :WORK:CLIKFL キークリックフラグ (1) FBDA:RAM :WORK:OLDKEY キーマトリクスの状態(旧) (11) FBE5:RAM :WORK:NEWKEY キーマトリクスの状態(新) (11) FBF0:RAM :WORK:KEYBUF キーコードバッファ。 (40) FC18:RAM :WORK:LINWRK スクリーンハンドラが使う一時保存場所。 (40) FC40:RAM :WORK:PATWRK パターンコンバータが使う一時保存場所。 (8) FC48:RAM :WORK:BOTTOM 実装したRAMの先頭(低位)番地。通常は8000H。 (2) FC4A:RAM :WORK:HIMEM 利用可能なメモリーの上位番地。CLEAR文の<メモリの上限>により設定。 (2) FC4C:RAM :WORK:TRPTBL 割り込み処理で使うトラップテーブル (78) FC9A:RAM :WORK:RTYCNT BASICが内部で使用する。 (1) FC9B:RAM :WORK:INTFLG CTRL+STOPがおされた場合など、ここに03Hを入れることにより、ストップする。 04Hを入れるとただのSTOP一時停止になる。 (1) FC9C:RAM :WORK:PADY パドルのY座標 (1) FC9D:RAM :WORK:PADX パドルのX座標 (1) FC9E:RAM :WORK:JIFFY PLAY文が内部で使用。BASICのシステム変数TIMEと同じ値を返す。 (2) FCA0:RAM :WORK:INTVAL インターバルの間隔。ON INTERVAL GOSUB文により設定される。 (2) FCA2:RAM :WORK:INTCNT インターバルの為のカウンタ。タイマー割り込みでカウントダウンされる。 (2) FCA4:RAM :WORK:LOWLIM FCA5:RAM :WORK:WINWID FCA6:RAM :WORK:GRPHED グラフィックキャラクタを出す時のフラグ。 (1) FCA7:RAM :WORK:ESCCNT エスケープコードがきてから何文字目かをカウントするエリア。 (1) FCA8:RAM :WORK:INSFLG インサートモードフラグ FCA9:RAM :WORK:CSRSW カーソル表示の有無。LOCATE文の<カーソルスイッチ>で設定される。 (1) FCAA:RAM :WORK:CSTYLE カーソルの形 (1) FCAB:RAM :WORK:CAPST CAPSキーの状態。0以外なら CAPS ON (1) FCAC:RAM :WORK:KANAST カナキーの状態。0以外なら ON (1) FCAD:RAM :WORK:KANAMD カナキーの配列状態 0=50音配列 0以外=JIS配列 (1) FCAE:RAM :WORK:FLBMEM BASICプログラムロード中は 0 以外の値 (1) FCAF:RAM :WORK:SCRMOD 現在のスクリーンモードの番号 (1) FCB0:RAM :WORK:OLDSCR スクリーンモード保存エリア (1) FCB1:RAM :WORK:CASPRV TurboRではI/OポートA7Hの保存場所 FCB2:RAM :WORK:BRDATR PAINT文で使用する境界色のカラーコード (1) FCB3:RAM :WORK:GXPOS X座標 (2) FCB5:RAM :WORK:GYPOS Y座標 (2) FCB7:RAM :WORK:GRPACX グラフィックアキュムレータ(X座標) (2) FCB9:RAM :WORK:GRPACY グラフィックアキュムレータ(Y座標) (2) FCBB:RAM :WORK:DRWFLG DRAW文で使用するフラグ (1) FCBC:RAM :WORK:DRWSCL DRAWスケーリングファクタ 0=スケーリングしない 0以外=スケーリングする。 (1) FCBD:RAM :WORK:DRWANG DRAWする時の角度 (1) FCBE:RAM :WORK:RUNBNF BLOAD中、BSAVE中、どちらでもないのいずれかを示すフラグ (1) FCBF:RAM :WORK:SAVENT BSAVEの開始番地 (2) FCC1:RAM :WORK:EXPTBL 拡張スロット用フラグテーブル。各スロットの拡張の有無 (4) FCC1:スロット0-FCC4:スロット3 Bit 7:0-拡張されてない。1-拡張されている。 FCC1:メインROMの存在するスロット番号。スロット関連のBIOSで使える。 FCC5:RAM :WORK:SLTTBL 各拡張スロットレジスタ用の現在のスロット選択状況 (4) FCC5:スロット0-FCC8:スロット3 Bit 1,0-ページ0のスロット番号 Bit 3,2-ページ1のスロット番号 Bit 5,4-ページ2のスロット番号 Bit 7,6-ページ3のスロット番号 FCC9:RAM :WORK:SLTATR 各スロット用にページ別の属性を保存する。 (64) Bit 7:ROM化されたBASICのテキストがあると1 Bit 6:拡張デバイスのプログラムがあると1 Bit 5:CALL命令ルーチンがあると1 FCC9:スロット0-0のページ0,FCCA:スロット0-0のページ1...FD08:スロット3-3のページ3 FD09:RAM :WORK:SLTWRK 各スロット用に2バイトづつ特定のワークエリアを確保する。 (128) FD09:スロット0-0のページ0,FD0B:スロット0-0のページ1...FD88:スロット3-3のページ3 FD89:RAM :WORK:PROCNM 拡張ステートメント拡張デバイス(CALL命令)の名前が入る。最後は0 (16) FD99:RAM :WORK:DEVICE カートリッジ用の装置識別に使用する。 (1) FD9A:RAM :HOOK:H.KEYI MSXIO割り込み処理の始め。RS-232C等の割り込み処理を追加する。 FD9F:RAM :HOOK:H.TIMI MSXIOタイマ割り込み処理。タイマー割り込み処理を追加する。 FDA4:RAM :HOOK:H.CHPU MSXIO CHPUT (1文字表示)の始め。他のコンソール出力装置を接続する。 文字表示のとき通るので、BIOS 008DH(GRPPNT)辺りを繋ぐのも面白い。 FDA9:RAM :HOOK:H.DSPC MSXIO DSPCSR(カーソル表示)の始め。他のコンソール出力装置を接続する。 FDAE:RAM :HOOK:H.ERAC MSXIO ERACSR(カーソル消去)ノ始め。他のコンソール出力装置を接続する。 FDB3:RAM :HOOK:H.DSPF MSXIO DSPFNK(ファンクションキー表示)の始め。他のコンソール出力装置を接続する。 FDB8:RAM :HOOK:H.ERAF MSXIO ERAFNK(ファンクションキー消去)の始め。他のコンソール出力装置を接続する。 FDBD:RAM :HOOK:H.TOTE MSXIO TOTEXT(画面をテキストモードにする)の始め。他のコンソール出力装置を接続する。 FDC2:RAM :HOOK:H.CHGE MSXIO CHGET (1文字取り出し) の始め。他のコンソール出力装置を接続する。 FDC7:RAM :HOOK:H.INIP MSXIO INIPAT(文字パターンの初期化)の始め。他の文字セットを使う為。 FDCC:RAM :HOOK:H.KEYC MSXIO KEYCOD(キーコード変換)の始め。他のキー配置を使う。 FDD1:RAM :HOOK:H.NMI MSXIO NMIルーチン(Key Easy)の始め。他のキー配置を使う為。 FDD6:RAM :HOOK:H.NMI MSXIO NMI(ノンマスカブルインタラプト)の始め。NMI処理をする。 FDDB:RAM :HOOK:H.PINL MSXINL PINLIN(1行入力)の始め。他のコンソール入力装置を使う等。 FDE0:RAM :HOOK:H.QINL MSXINL QINLIN("?"+1行入力)の始め。他のコンソール入力装置を使う等。 FDE5:RAM :HOOK:H.INLI MSXINL INLIN(1行入力)の始め。他のコンソール入力装置を使う等。 FDEA:RAM :HOOK:H.ONGO MSXSTS INGOTOP(ON GOTO)の始め。他の 割り込み処理装置を使う為。 FDF4:RAM :HOOK:H.SETS MSXSTS SETS (セット アトリビュート)の始め。ディスク装置を接続する。 FDEF:RAM :HOOK:H.DSKI MSXSTS DSKO$(ディスク出力)の始め。ディスク装置を接続する為。 FDF9:RAM :HOOK:H.NAME MSXSTS NAME (リネーム)の始め。ディスク装置を接続する。 FDFE:RAM :HOOK:H.KILL MSXSTS KILL (ファイル削除)の始め。ディスク装置を接続する。 FE03:RAM :HOOK:H.IPL MSXSTS IPL(初期プログラムのロード)の始め。ディスク装置を接続する。 FE08:RAM :HOOK:H.COPY MSXSTS COPY (ファイルコピー)の始め。ディスク装置を接続する。 FE0D:RAM :HOOK:H.CMD MSXSTS CMD(拡張コマンド)の始め。ディスク装置を接続する。 FE12:RAM :HOOK:H.DSKF MSXSTS DSKF (ディスクの空)の始め。ディスク装置を接続する。 FE17:RAM :HOOK:H.DSKI MSXSTS DSKI (ディスク入力)の始め。ディスク装置を接続する。 FE1C:RAM :HOOK:H.ATTR MSXSTS ATTR$(アトリビュート)の始め。ディスク装置を接続する。 FE21:RAM :HOOK:H.LSET MSXSTS LSET (左づめ代入)の始め。ディスク装置を接続する為。 FE26:RAM :HOOK:H.RSET MSXSTS RSET (右づめ代入)の始め。ディスク装置を接続する。 FE2B:RAM :HOOK:H.FIEL MSXSTS FIELD(フィールド)の始め。ディスク装置を接続する。 FE30:RAM :HOOK:H.MKI$ MSXSTS MKI$ (整数作成)の始め。ディスク装置を接続する。 FE35:RAM :HOOK:H.MKS$ MSXSTS MKS$ (単精度実数作成)の始め。ディスク装置を接続する。 FE3A:RAM :HOOK:H.MKD$ MSXSTS MKD$ (倍精度実数作成)の始め。ディスク装置を接続する為。 FE3F:RAM :HOOK:H.CVI MSXSTS CVI(整数変換)の始め。ディスク装置を接続する。 FE44:RAM :HOOK:H.CVS MSXSTS CVS(単精度実数変換)の始め。ディスク装置を接続する。 FE49:RAM :HOOK:H.CVD MSXSTS CVD(倍精度実数変換)の始め。ディスク装置を接続する。 FE4E:RAM :HOOK:H.GETP SPDSK GETPTR(ファイルポインタ取り出し)ディスク装置を接続する。 FE53:RAM :HOOK:H.SETF SPCDSK SETFIL(ファイルポインタ設定)ディスク装置を接続。 FE58:RAM :HOOK:H.NOFO SPDSK NOFOR (OPEN文にFORがない)ディスク装置を接続する。 FE5D:RAM :HOOK:H.NULO SPCDSK NULOPN(空ファイルをオープン)ディスク装置を接続。 FE62:RAM :HOOK:H.NTFL SPCDSK NTFLO(ファイル番号が0でない)ディスク装置を接続する。 FE67:RAM :HOOK:H.MERG SPCDSK MERGE(プログラムファイルのマージ)ディスク装置を接続する。 FE6C:RAM :HOOK:H.SAVE SPCDSK SAVE (セーブ)ディスク装置を接続する。 FE71:RAM :HOOK:H.BINS SPCDSK BINSAV(機械語セーブ)ディスク装置を接続する。 FE76:RAM :HOOK:H.BINL SPCDSK BINLOD(機械語ロード)ディスク装置を接続する。 FE7B:RAM :HOOK:H.FILE SPCDSK FILES(ファイル名の表示)ディスク装置を接続。 FE80:RAM :HOOK:H.DGET SPCDSK DGET (ディスクGET)ディスク装置を接続する。 FE85:RAM :HOOK:H.FILO SPCDSK FILOUT(ファイル出力)ディスク装置を接続。 FE8A:RAM :HOOK:H.INDS SPCDSK INDSKC(ディスクの属性を入力)ディスク装置を接続。 FE8F:RAM :HOOK:H.RSLF SPCDSK 前のドライブを再び選択する。ディスク装置を接続する為。 FE94:RAM :HOOK:H.SAVD SPCDSK 現在選択しているドライブを保存。ディスク装置を接続する。 FE99:RAM :HOOK:H.LOC SPCDSK LOC関数(場所を示す)ディスク装置を接続する。 FE9E:RAM :HOOK:H.LOF SPCDSK LOF関数(ファイルの長さ)ディスク装置を接続。 FEA3:RAM :HOOK:H.EOF SPCDSK EOF関数(ファイルの終わり)ディスク装置を接続する。 FEA8:RAM :HOOK:H.FPOS SPCDSK FPOS関数(ファイルの場所)ディスク装置を接続する。 FEAD:RAM :HOOK:H.BAKU SPCDSK BAKUPT(バックアップ)ディスク装置を接続する。 FEB2:RAM :HOOK:H.PARD SPCDEV PARDEV(装置名の取り出し)論理装置名を拡張する。 FEB7:RAM :HOOK:H.NODE SPCDEV NODEVN(装置名なし)省略装置名を他の装置に設定する。 FEBC:RAM :HOOK:H.POSD SPCDEV POSDSK ディスク装置を接続する。 FEC1:RAM :HOOK:H.DEVN SPCDEV DEVNAM(装置名の処理)論理装置名を拡張する。 FEC6:RAM :HOOK:H.GEND SPCDEV GENDSP(装置割り当て)論理装置名を拡張する。 FECB:RAM :HOOK:H.RUNC BIMISC RUNC (RUNの為のクリア) FED0:RAM :HOOK:H.CLEA BIMISC CLEARC(CLEAR文の為のクリア) FED5:RAM :HOOK:H.LOPD BIMISC LOPDFT(くり返しと省略値の設定)変数に他の省略値を使う。 FEDA:RAM :HOOK:H.STKE BIMISC STKERR(スタックエラー) FEDF:RAM :HOOK:H.ISFL BIMISC ISFLIO(ファイルの入出力かどうか) FEE4:RAM :HOOK:H.OUTD BIO OUTDO(OUTを実行) FEE9:RAM :HOOK:H.CRDO BIO CRDO(CRLFを実行) FEEE:RAM :HOOK:H.DSKC BIO DSKCHI (ディスクの属性を入力) FEF3:RAM :HOOK:H.DOGR GENGRP DOGRAPH(グラフィック処理を実行) FEF8:RAM :HOOK:H.PRGE BINTRP PRGEND(プログラム終了) FEFD:RAM :HOOK:H.ERRP BINTRP ERRPRT(エラー表示) FF02:RAM :HOOK:HERRF エラーハンドラー FF07:RAM :HOOK:HREAD メインループ"OK" FF0C:RAM :HOOK:HMAIN メインループ FF11:RAM :HOOK:H,DIRD BINTRP DIRDO(ダイレクトステートメント実行) FF16:RAM :HOOK:HFINI メインループの終わり FF1B:RAM :HOOK:HFINE メインループの終わり FF20:RAM :HOOK:HCRUN Tokenise FF25:RAM :HOOK:HCRUS Tokenise FF2A:RAM :HOOK:HISRE Tokenise FF2F:RAM :HOOK:HNTFN Tokenise FF34:RAM :HOOK:HNOTR Tokenise FF39:RAM :HOOK:HSNGF FOR文 FF3E:RAM :HOOK:HNEWS Runloop新しいステートメント FF43:RAM :HOOK:HGONE Runloop実行 FF48:RAM :HOOK:HCNRG CHRGTRルーチン FF4D:RAM :HOOK:HRETU RETURN文 FF52:RAM :HOOK:HPRTF PRINT文 FF57:RAM :HOOK:HCOMP PRINT文 FF5C:RAM :HOOK:HFINP PRINT文 FF61:RAM :HOOK:HTRMN READ/INPUT文エラー FF66:RAM :HOOK:HFRME 記述の評価 FF6B:RAM :HOOK:HNTPL 記述の評価 FF70:RAM :HOOK:HEVAL 引数の評価 FF75:RAM :HOOK:HOKNO 引数の評価 FF75:RAM :HOOK:H.OLNORN(H.MDIN) (MSX-MIDI)MIDI IN割り込み FF7A:RAM :HOOK:HFING 引数の評価 FF7F:RAM :HOOK:H.ISMI BINTRP ISMID$(MID$かどうか) FF84:RAM :HOOK:H.WIDT BINTRP WIDTHS(WIDTH) FF89:RAM :HOOK:H.LIST BINTRP LIST FF8E:RAM :HOOK:H.BUFL BINTRP BUFLIN(バッファライン) FF93:RAM :HOOK:H.FRQINT(H.MDTM) (MSX-MIDI)8253タイマー割り込み FF98:RAM :HOOK:HSCNE 行番号からポインタへの変換 FF9D:RAM :HOOK:HFRET ディスクリプタの開放 FFA2:RAM :HOOK:H.PTRG BIPTRG PTRGET(ポインタ取り出し)省略値以外の変数を使用。 FFA7:RAM :HOOK:H.PHYD MSXIO PHYDIO(物理ディスク入出力) ディスク装置を接続する。 ここをBIOSのPHYDIO同様にコールする事で、セクタ単位の入出力ができる。 FFAC:RAM :HOOK:HFORM ディスクのフォーマット FFB1:RAM :HOOK:H.ERRO BINTRP ERROR アプリケーションプログラムのエラー処理 FFB6:RAM :HOOK:H.LPTO MSXIO LPTOUT(プリンタ出力)省略値以外のプリンタを使用。 FFBB:RAM :HOOK:H.LPTS MSXIO LPTSTT(プリンタの状態)省略値以外のプリンタを使用。 FFC0:RAM :HOOK:H.SCRE MSXSTS SCREEN文の入口。SCREEN文を拡張する。 FFC5:RAM :HOOK:H.PLAY MSXSTS PLAY文の入口。PLAY文を拡張する。 FFCA:RAM :HOOK:FCALL 拡張BIOSが使用するフック FFCF:RAM :HOOK:H.BGFD DOSが使用する。 FFD4:RAM :HOOK:H.ENFD DOSが使用する。 FFE7:RAM :WORK:RG8SAV VDPレジスタ8の保存場所。 (1) FFE8:RAM :WORK:RG9SAV VDPレジスタ9の保存場所 (1) FFE9:RAM :WORK:RG10SA VDPレジスタ10の保存場所 (1) FFEA:RAM :WORK:RG11SA VDPレジスタ11の保存場所 (1) FFEB:RAM :WORK:RG12SA VDPレジスタ12の保存場所 (1) FFEC:RAM :WORK:RG13SA VDPレジスタ13の保存場所 (1) FFED:RAM :WORK:RG14SA VDPレジスタ14の保存場所 (1) FFEE:RAM :WORK:RG15SA VDPレジスタ15の保存場所 (1) FFEF:RAM :WORK:RG16SA VDPレジスタ16の保存場所 (1) FFF0:RAM :WORK:RG17SA VDPレジスタ17の保存場所 (1) FFF1:RAM :WORK:RG18SA VDPレジスタ18の保存場所 (1) FFF2:RAM :WORK:RG19SA VDPレジスタ19の保存場所 (1) FFF3:RAM :WORK:RG20SA VDPレジスタ20の保存場所 (1) FFF4:RAM :WORK:RG21SA VDPレジスタ21の保存場所 (1) FFF5:RAM :WORK:RG22SA VDPレジスタ22の保存場所 (1) FFF7:RAM :WORK:RG23SA VDPレジスタ23の保存場所 (1) FFFA:RAM :WORK:RG25SA VDPレジスタ25の保存場所(2+) (1) FFFB:RAM :WORK:RG26SA VDPレジスタ26の保存場所(2+) (1) FFFC:RAM :WORK:RG27SA VDPレジスタ27の保存場所(2+) (1) FFFF:RAM :WORK: 拡張スロット 選択レジスタ。