{{include unfinished_page}} ,{t},{BSIZE:1 0|SIZE:100%} ,{BSIZE:0}←[[7章 MSX拡張BIOS仕様]] ,{BSIZE:0|RIGHT}[[A.2 ワークエリア|Appendix A.2 ワークエリア]] →  ここではユーザーが利用可能なBIOSエントリを紹介します。  BIOSにはMAIN ROMとSUB ROM内のルーチンの2種類があり、コールの手順はそれぞれ異なります。ここでエントリは次のように表記します。  記号は次のような意味を持ちます。 ,記号,意味 ,MSX,MSX1からサポートされているルーチン ,MSX2,MSX2用に追加または機能拡張されたルーチン。 ,MSX2+,MSX2+用に追加または機能拡張されたルーチン。  [A]、[HL]などレジスタ名を[]で囲んだものは、そのレジスタの内容を示します。例えば、HLレジスタの内容が8000Hであった場合に、[HL]とは8000Hを示していることになります。  【】で囲んだものは、ワークエリア中の名前と番地です。例えば、【PRTFLG(F416H)】とあれば、ワークエリアのF416H番地にあるPRTFLGという名前の場所を示します。「A.2 ワークエリア」をご参照ください。 !A.1.1 MAIN ROM  MAIN ROM内のルーチンを呼び出す場合は、通常のサブルーチンコールとしてCALL命令または、RST命令で行います。 RST関係  以下のRSTのうち、RST 00H〜RST 28HはBASICインタプリタが使います。RST 30Hはインタースロットコールに、RST 38Hはハードウェア割り込みに使います。 CHKRAM (0000H/MAIN) 機能 RAMをチェックし、システム用のRAMに使うスロットを選択します。このルーチンの実行後は、さらに初期化のルーチンへ分岐します。 コール手順 なし 戻り値 なし 変更レジスタ すべて SYNCHR (0008H/MAIN) 機能 HLレジスタが指す文字が指定した文字かどうかを調べます。違っていたら「Syntax error」を発生し、同じであればCHRGTR (0010/MAIN)へジャンプします。 コール手順 例 ld hl, moji rst 08h db 'A' ・ ・ ・ moji: db 'B' 戻り値 変更レジスタ AF、HL RDSLT (000CH/MAIN) CHRGTR (0010H/MAIN) WRSLT (0014H/MAIN) OUTDO (0018H/MAIN) CALSLT (001CH/MAIN) DCOMPR (0020H/MAIN) ENASLT (0024H/MAIN) GETYPR (0028H/MAIN) CALLF (0030H/MAIN) KEYINT (0038H/MAIN) INITIO (003BH/MAIN) INIFNK (003EH/MAIN) DISSCR (0041H/MAIN) ENASCR (0044H/MAIN) WRTVDP (0047H/MAIN) RDVRM (004AH/MAIN) WRTVRM (004DH/MAIN) SETRD (0050H/MAIN) SETWRT (0053H/MAIN) FILVRM (0056H/MAIN) LDIRMV (0059H/MAIN) CHGMOD (005CH/MAIN) CHGCLR (0062H/MAIN) NMI (0066H/MAIN) CLRSPR (0069H/MAIN) INITXT (006CH/MAIN) INIT32 (006FH/MAIN) INIGRP (0072H/MAIN) INIMLT (0075H/MAIN) SETTXT (0078H/MAIN) SETT32 (007BH/MAIN) SETGRP (007EH/MAIN) SETMLT (0081H/MAIN) CALPAT (0084H/MAIN) CALATR (0087H/MAIN) GSPSIZ (008AH/MAIN) GRPPRT (008DH/MAIN) GICINI (0090H/MAIN) WRTPSG (0093H/MAIN) RDPSG (0096H/MAIN) STRTMS (0099H/MAIN) CHSNS (009CH/MAIN) CHGET (009FH/MAIN) CHSNS (00A2H/MAIN) !A.1.2 SUB ROM  SUB ROM内のルーチンを呼び出す場合は、以下のようにインタースロットコールを呼び出して使います。 ld ix, BIOS entry address call extrom  IXレジスタを壊したくない場合は、次のように呼び出します。 push ix ; save IX ld ix, BIOS entry address jp SUBROM ,{t},{BSIZE:1 0|SIZE:100%} ,{BSIZE:0}←[[7章 MSX拡張BIOS仕様]] ,{BSIZE:0|RIGHT}[[A.2 ワークエリア|Appendix A.2 ワークエリア]] →