MSX Datapack wiki化計画

Appendix A.1 BIOS 一覧

※
※ このページは書きかけです。以下の可能性があります。
※ ・誤字、脱字等のチェックをおこなっていません。
※ ・テキスト、表などフォーマットがされていない。
※ ・画像が抜けている。
※

 ここではユーザーが利用可能なBIOSエントリを紹介します。
 BIOSにはMAIN ROMとSUB ROM内のルーチンの2種類があり、コールの手順はそれぞれ異なります。ここでエントリは次のように表記します。

 記号は次のような意味を持ちます。

記号意味
MSXMSX1からサポートされているルーチン
MSX2MSX2用に追加または機能拡張されたルーチン。
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)
MSX
機 能
RAMをチェックし、システム用のRAMに使うスロットを選択します。このルーチンの実行後は、さらに初期化のルーチンへ分岐します。
コール手順
なし
戻り値
なし
変更レジスタ
すべて
SYNCHR (0008H/MAIN)
MSX
機 能  
HLレジスタが指す文字が指定した文字かどうかを調べます。違っていたら「Syntax error」を発生し、同じであればCHRGTR (0010/MAIN)へジャンプします。
コール手順 
HLチェックする文字。このルーチンを呼び出すRST命令の後に比較する文字を入れる(インラインパラメータ)。
         ld     hl, moji
         rst    08h
         db     'A'
               ・
               ・
               ・
moji:    db     'B'
戻り値
HL+1される
A1つ選んだHLの指す文字
CYフラグチェックした文字が数字であればセット
Zフラグステートメントの終わり(00Hまたは3AH)ならばセット
変更レジスタ
AFHL
RDSLT (000CH/MAIN)
MSX
機 能
Aレジスタの値に対応するスロットを選択し、そのスロットのメモリを1バイト読み出します。このルーチンを呼ぶと、割り込みを禁止し、実行後も割り込みは解除されません。
コール手順
Aスロット操作


HL読み込むメモリの番地
戻り値
A読み込んだメモリの値
変更レジスタ
AFBCDE
CHRGTR (0010H/MAIN)
MSX
機 能
BASICテキストから文字(またはトークン)を取り出します。
コール手順
HL読み込む文字が入っているメモリの番地
戻り値
HL+1される
A1つ選んだHLの指す文字
CYフラグチェックした文字が数字であればセット
Zフラグステートメントの終わり(00Hまたは3AH)ならばセット
変更レジスタ
AF、HL
WRSLT (0014H/MAIN)
MSX
機 能
Aレジスタの値に対応するスロットを選択し、そのスロットのメモリに値を書き込みます。このルーチンを呼ぶと、割り込みを禁止し、実行後も割り込みは解除されません。
コール手順
A スロット操作(形式はRDSLTと同じ)
HL書き込むメモリの番地
戻り値
なし
変更レジスタ
AFBCD
OUTDO (0018H/MAIN)
MSX
機 能
現在使っているデバイスに値を出力します。
コール手順
A出力する値
【PRTFLG(F416H)】0以外であれば、プリンタに出力
【PTRFIL(F864H)】0以外であれば、PTRFILで示されるファイルへ出力
戻り値
なし
変更レジスタ
なし
CALSLT (001CH/MAIN)
MSX
機 能
他のスロットのルーチンを呼び出します(インタースロットコール)。
コール手順
IY上位8ビットにスロット番号(形式はRDSLTと同じ)
IXコールする番地
戻り値
呼び出すルーチンによる
変更レジスタ
呼び出すルーチンによる
DCOMPR (0020H/MAIN)
MSX
機 能
HLレジスタとDEレジスタの内容を比較します。
コール手順
HL比較する値1
DE比較する値2
戻り値
ZフラグHL=DEならばセット
CYフラグHL<DEならばセット
変更レジスタ
AF
ENASLT (0024H/MAIN)
MSX
機 能
Aレジスタの値に対応するスロットを選択し、以降そのスロットを使用可能にします。このルーチンを呼ぶと、割り込みを禁止し、実行後も割り込みは解除されません。
コール手順
Aスロット操作(形式はRDSLTと同じ)
HL呼び出すアドレス
戻り値
なし
変更レジスタ
すべて
GETYPR (0028H/MAIN)
MSX
機 能
DAC(デシマルアキュムレータ)の型を調べます。
コール手順
なし(【VALTYP(F663H)】にはDACの型が入っている)
戻り値
DACの型によって、S、Z、P/V、CYフラグが以下のように変化する
整数型単精度実数型文字型倍精度実数型
C=1 C=1 C=1 C=0*
S=1*S=0 S=0 S=0
Z=0 Z=0 Z=1*Z=0
P/V=1 P/V=0*P/V=1 P/V=1
各型は、*のついたフラグを調べればチェックできる
変更レジスタ
AF
CALLF (0030H/MAIN)
MSX
機 能
別のスロットにあるルーチンを呼び出します。
コール手順
rst	30h
db		n		; n はスロット番号(形式はRDSLTと同じ)
dw		nn		; nnは呼び出すスロットアドレス
戻り値
呼び出すルーチンによる
変更レジスタ
AF、その他は呼び出すルーチンによる
KEYINT (0038H/MAIN)
MSX
機 能
タイマ割り込みの処理ルーチンを実行します。
コール手順
なし
戻り値
なし
変更レジスタ
なし
INITIO (003BH/MAIN)
MSX
機 能
デバイスを初期化します。
コール手順
なし
戻り値
なし
変更レジスタ
すべて
INIFNK (003EH/MAIN)
MSX
機 能
ファンクションキーの内容を初期化します。このルーチンを実行後、画面をクリアするとファンクションキーの表示も変わります。
コール手順
なし
戻り値
なし
変更レジスタ
すべて
DISSCR (0041H/MAIN)
MSX
機 能
画面表示を禁止します。
コール手順 
なし
戻り値
なし
変更レジスタ
AFBC
ENASCR (0044H/MAIN)
MSX
機 能
画面を表示します。
コール手順
なし
戻り値
なし
変更レジスタ
AFBC
WRTVDP (0047H/MAIN)
MSX2
機 能
VDPのレジスタに値を書き込みます。
コール手順
CVDPのレジスタ番号(レジスタ番号は0〜23、32〜46)
B書き込む値
戻り値
なし
変更レジスタ
AFBC
RDVRM (004AH/MAIN)
MSX
機 能
VRAMの指定したアドレスの内容を読み出します。ただし、このルーチンはTMS9918(MSX1のVDP)に対するもので、VRAMのアドレスは下位14ビットのみが有効です。全ビットを使うときは、NRDVRM(0174H/MAIN)を使います。
コール手順
HLVRAMのアドレス
戻り値
A読み出した値
変更レジスタ
AF
WRTVRM (004DH/MAIN)
MSX
機 能
VRAMにデータを書き込みます。ただし、このルーチンはTMS9918に対するもので、VRAMのアドレスは下位14ビットのみが有効です。全ビットを使うときは、NVRVRM(0177H/MAIN)を使います。
コール手順
HLVRAMのアドレス
A書き込む値
戻り値
なし
変更レジスタ
AF
SETRD (0050H/MAIN)
MSX
機 能
VDPにVRAMアドレスをセットして、読み出せる状態にします。このルーチンはVDPのアドレスオートインクリメントの機能を使って、連続したVRAM領域からデータを読み出すときに使います。このルーチンの実行後はポートから直接VRAMから読み出します。したがって、RDVRMをループ中で使うより高速な読み出しができます。ただし、このルーチンはTMS9918に対するもので、VRAMのアドレスは下位14ビットのみが有効です。全ビットを使うときは、NSETRD(016EH/MAIN)を使います。
コール手順
HLVRAMアドレス
戻り値
なし
変更レジスタ
AF
SETWRT (0053H/MAIN)
MSX
機 能
VDPにVRAMアドレスをセットして、書き込める状態にします。使用目的はSETRDと同じです。ただし、このルーチンはTMS9918に対するもので、VRAMのアドレスは下位14ビットのみが有効です。全ビットを使うときは、NSTWRT(0171H/MAIN)を使います。
コール手順
HLVRAMアドレス
戻り値
なし
変更レジスタ
AF
FILVRM (0056H/MAIN)
MSX2
機 能
VRAMの指定領域を同一のデータで埋めます。ただし、このルーチンはTMS9918に対するもので、VRAMのアドレスは下位14ビットのみが有効です。全ビットを使うときは、BIGFIL(016BH/MAIN)を使います。
コール手順
HL書き込みを開始するVRAMアドレス
BC書き込む領域の長さ(バイト数)
A書き込む値
戻り値
なし
変更レジスタ
AFBC
LDIRMV (0059H/MAIN)
MSX2
機 能
VRAMからメモリへデータをブロック転送します。
コール手順
HL転送元のVRAMアドレス(指定するVRAMアドレスは全ビットが有効)
DE転送先のRAMアドレス
BC転送する長さ(バイト数)
戻り値
なし
変更レジスタ
すべて
LDIRVM (005CH/MAIN)
MSX2
機 能
メモリからVRAMへデータをブロック転送します。
コール手順
HL転送元のRAMアドレス
DE転送先のVRAMアドレス(指定するVRAMアドレスは全ビットが有効)
BC転送する長さ(単位はバイト)
戻り値
なし
変更レジスタ
すべて
CHGMOD (005FH/MAIN)
MSX2
機 能
スクリーンモードを変えます。パレットは初期化しません。パレットの初期化が必要なときは、CHGMDP(00D1H/SUB)を使います。
コール手順
Aスクリーンモード(0〜8)
戻り値
なし
変更レジスタ
すべて
CHGCLR (0062H/MAIN)
MSX
機 能
画面の色を変えます。
コール手順
【FORCLR(F3E9H)】前景色
【BAKCLR(F3EAH)】背景色
【BDRCLR(F3EBH)】周辺色
戻り値
なし
変更レジスタ
すべて
NMI (0066H/MAIN)
MSX
機 能
NMI(Non Maskable Interrupt)処理ルーチンを実行します。
コール手順
なし
戻り値
なし
変更レジスタ
なし
CLRSPR (0069H/MAIN)
MSX2
機 能
すべてのスプライトを次のように初期化します。
スプライトパターンヌル
スプライト番号スプライト面番号
スプライトカラー前景色
スプライトの垂直位置(SCREEN 0〜3)209
スプライトの垂直位置(SCREEN 4〜12)217
コール手順
なし
戻り値
なし
変更レジスタ
すべて
INITXT (006CH/MAIN)
MSX2
機 能
画面をTEXT1モード(SCREEN 0、40×24)に初期化します。このルーチンはパレットを初期化しません。パレットの初期化が必要であれば、このルーチンを実行した後、INIPLT(0141H/SUB)を実行します。
コール手順
【TXTNAM(F3B3H)】パターンネームテーブルのアドレス
【TXTCGP(F3B7H)】パターンジェネレータテーブルのアドレス
【LINL40(F3AEH)】1行の幅(WIDTH文によって設定する値)
戻り値
なし
変更レジスタ
すべて
INIT32 (006FH/MAIN)
MSX2
注記:SUB-ROMにも同名、同機能のBIOS INIT32 (00D9H/SUB)あり
機 能
画面をTEXT2モード(SCREEN 1、32×24)に初期化します。このルーチンはパレットを初期化しません。パレットの初期化が必要であれば、このルーチンを実行した後、INIPLT(0141H/SUB)を実行します。
コール手順
【T32NAM(F3BDH)】パターンネームテーブルのアドレス
【T32COL(F3BFH)】カラーテーブルのアドレス
【T32CGP(F3C1H)】パターンジェネレータテーブルのアドレス
【T32ATR(F3C3H)】スプライトアトリビュートテーブルのアドレス
【T32PAT(F3C5H)】スプライトジェネレータテーブルのアドレス
【LINL32(F3AFH)】1行の幅(WIDTH文によって設定する値)
戻り値
なし
変更レジスタ
すべて
INIGRP (0072H/MAIN)
MSX2
注記:SUB-ROMにも同名、同機能のBIOS INIGRP (00DDH/SUB)あり
機 能
画面をGRAPHIC1モード(SCREEN 2)に初期化します。このルーチンはパレットを初期化しません。パレットの初期化が必要であれば、このルーチンを実行した後、INIPLT(0141H/SUB)を実行します。
コール手順
【GRPNAM(F3C7H)】パターンネームテーブルの先頭アドレス
【GRPCOL(F3C9H)】カラーテーブルの先頭アドレス
【GRPCGP(F3CBH)】パターンジェネレータテーブルの先頭アドレス
【GRPATR(F3CDH)】スプライトアトリビュートテーブルの先頭アドレス
【GRPPAT(F3CFH)】スプライトジェネレータテーブルの先頭アドレス
戻り値
なし
変更レジスタ
すべて
INIMLT (0075H/MAIN)
MSX2
機 能
画面をMULTI COLORモード(SCREEN 3)に初期化します。このルーチンはパレットを初期化しません。パレットの初期化が必要であれば、このルーチンを実行した後、INIPLT(0141H/SUB)を実行します。
コール手順
【MLTNAM(F3D1H)】パターンネームテーブルのアドレス
【MLTCOL(F3D3H)】カラーテーブルのアドレス
【MLTCGP(F3D6H)】パターンジェネレータテーブルのアドレス
【MLTATR(F3D7H)】スプライトアトリビュートテーブルのアドレス
【MLTPAT(F3D8H)】スプライトジェネレータテーブルのアドレス
戻り値
なし
変更レジスタ
すべて
SETTXT (0078H/MAIN)
MSX2
機 能
VDPのみをTEXT1モード(SCREEN 0、40×24)にします。
コール手順
INITXTと同じ
戻り値
なし
変更レジスタ
すべて
SETT32 (007BH/MAIN)
MSX2
機 能
VDPのみをTEXT2モード(SCREEN 1、32×24)にします。
コール手順
INIT32と同じ
戻り値
なし
変更レジスタ
すべて
SETGRP (007EH/MAIN)
MSX2
機 能
VDPのみをGRAPHIC1モード(SCREEN 2)にします。
コール手順
INIGRPと同じ
戻り値
なし
変更レジスタ
すべて
SETMLT (0081H/MAIN)
MSX2
機 能
VDPのみをMULTI COLORモード(SCREEN 3)にします。
コール手順
INIMLTと同じ
戻り値
なし
変更レジスタ
すべて
CALPAT (0084H/MAIN)
MSX
機 能
スプライトジェネレータテーブルの開始アドレスを獲得します。
コール手順
Aスプライト番号
戻り値
HLアドレス
変更レジスタ
AFDEHL
CALATR (0087H/MAIN)
MSX
機 能
スプライトアトリビュートテーブルの開始アドレスを獲得します。
コール手順
Aスプライト番号
戻り値
HLアドレス
変更レジスタ
AFDEHL
GSPSIZ (008AH/MAIN)
MSX
注記:SUB-ROMにも同名、同機能のBIOS GSPSIZ (0101H/SUB)あり
機 能
現在のスプライトサイズを獲得します。
コール手順
なし
戻り値
Aスプライトサイズ(バイト数)
CYフラグ16×16のサイズの場合のみセットし、それ以外のときはリセット
変更レジスタ
AF
GRPPRT (008DH/MAIN)
MSX2
注記:SUB-ROMにも同名、同機能のBIOS GRPPRT (0089H/SUB)あり
機 能
グラフィック画面に文字を表示します。
コール手順
Aキャラクタコード
【LOGOPR(FB02H)】スクリーンモードが5〜12ならロジカルオペレーションコード
戻り値
なし
変更レジスタ
なし
GICINI (0090H/MAIN)
MSX
機 能
PSGを初期化し、PLAY文のための初期値を設定します。
コール手順
なし
戻り値
なし
変更レジスタ
すべて
WRTPSG (0093H/MAIN)
MSX
機 能
PSGのレジスタにデータを書き込みます。
コール手順
APSGのレジスタ番号
E書き込むデータ
戻り値
なし
変更レジスタ
なし
RDPSG (0096H/MAIN)
MSX
機 能
PSGレジスタの値を読み出します。
コール手順
APSGのレジスタ番号
戻り値
A読み出した値
変更レジスタ
なし
STRTMS (0099H/MAIN)
MSX
機 能
バックグラウンドタスクとして、PLAY文が実行中であるかどうかをチェックして、実行中でなければ音楽の再生を始めます。
コール手順
【QUEUE(F3F3H)】の示すアドレスに、中間言語に変換されたMMLデータをセット
(「第2部 6.1 PLAY文BIOS」参照)
戻り値
なし
変更レジスタ
すべて
CHSNS (009CH/MAIN)
MSX
機 能
キーボードバッファの状態を調べます。
コール手順
なし
戻り値
Zフラグバッファが空であればセット、そうでなければリセット
変更レジスタ
AF
CHGET (009FH/MAIN)
MSX
機 能
文字を1文字入力(入力待ちあり)します。
コール手順
なし
戻り値
A入力された文字コード
変更レジスタ
AF
CHPUT (00A2H/MAIN)
MSX
機 能
文字を1文字表示します。
コール手順
A出力する文字コード
戻り値
なし
変更レジスタ
なし
LPTOUT (00A5H/MAIN)
MSX
機 能
プリンタに1文字出力します。
コール手順
A出力する文字コード
戻り値
CYフラグ失敗したときセット
変更レジスタ
F
LPTSTT (00A8H/MAIN)
MSX
機 能
プリンタの状態をチェックします。
コール手順
なし
戻り値
A255ZフラグがリセットされていればプリンタはREADY
0ZフラグがセットされていればプリンタはNOT READY
変更レジスタ
AF
CNVCHR (00ABH/MAIN)
MSX
機 能
グラフィックヘッダバイトかどうかをチェックします。
コール手順
Aチェックする文字コード
戻り値
CYフラグがリセットグラフィックヘッダではない
CYフラグとZフラグがセットグラフィックキャラクタコードである(Aレジスタには変換後のコードが入る)
CYフラグがセット、Zフラグがリセットグラフィックキャラクタではない(Aレジスタには渡したコードがそのまま残る)
変更レジスタ
AF
PINLIN (00AEH/MAIN)
MSX
機 能
リターンキーやSTOPキーがタイプされるまで、入力された文字コードをバッファに格納します。
コール手順
なし
戻り値
HLチェックする文字コード
CYフラグSTOPキーで終了したときのみセット
変更レジスタ
すべて
INLIN (00B1H/MAIN)
MSX
機 能
【AUTFLG(F6AAH)】がセットされる以外はPINLINと同じ。
コール手順
なし
戻り値
HLバッファの先頭アドレス-1
CYフラグSTOPキーで終了したときのみセット
変更レジスタ
すべて
QINLIN (00B4H/MAIN)
MSX
機 能
「?」とスペース1個を表示して、INLINを実行します。
コール手順
なし
戻り値
HLバッファの先頭アドレス-1
CYフラグSTOPキーで終了したときのみセット
変更レジスタ
すべて
BREAKX (00B7H/MAIN)
MSX
機 能
CTRL+STOPキーを押しているかどうかをチェックします。このルーチンは割り込みが禁止された状態でコールして下さい。
コール手順
なし
戻り値
CYフラグ押されていればセット
変更レジスタ
AF
BEEP (00C0H/MAIN)
MSX2
機 能
ブザーを鳴らします。
コール手順
なし
戻り値
なし
変更レジスタ
すべて
CLS (00C3H/MAIN)
MSX
機 能
画面をクリアします。
コール手順
ゼロフラグをセットします。
戻り値
なし
変更レジスタ
AFBCDE
POSIT (00C6H/MAIN)
MSX
カーソルを移動します。
コール手順
HカーソルのX座標
LカーソルのY座標
戻り値
なし
変更レジスタ
AF
FNKSB (00C9H/MAIN)
MSX
ファンクションキーの表示がアクティブかどうかチェックし、アクティブなら表示し、そうでなければ消します。
コール手順
【QUEUE(F3F3H)】
戻り値
なし
変更レジスタ
すべて
ERAFNK (00CCH/MAIN)
MSX
ファンクションキーの表示を消します。
コール手順
なし
戻り値
なし
変更レジスタ
すべて
DSPFNK (00CFH/MAIN)
MSX2
ファンクションキーを表示します。
コール手順
なし
戻り値
なし
変更レジスタ
すべて
TOTEXT (00D2H/MAIN)
MSX
画面を強制的にテキストモードにします。
コール手順
なし
戻り値
なし
変更レジスタ
すべて
GTSTCK (00D5H/MAIN)
MSX
ジョイスティックまたはカーソルキーの状態を調べます。
コール手順
A調べるジョイスティックの番号(0=カーソルキー、1〜2=ジョイスティック)
戻り値
Aジョイスティックまたはカーソルキーの押された方向
0=どの方向にも向いていない(押されていない)
1=上、2=右上、3=右、4=右下
5=下、6=左下、7=左、8=左上
変更レジスタ
すべて
GTTRIG (00D8H/MAIN)
MSX
トリガボタンの状態を調べます。
コール手順
A調べるトリガボタンの番号(0=スペースキー、1〜2=トリガボタン)
戻り値
A0トリガボタンは押されていない
FFHトリガボタンは押されている
変更レジスタ
AF
GTPAD (00DBH/MAIN)
MSX
GTPDL (00DEH/MAIN)
MSX2
TAPION (00E1H/MAIN)
MSX
TAPIN (00E4H/MAIN)
MSX
TAPIOF (00E7H/MAIN)
MSX
TAPOON (00EAH/MAIN)
MSX
TAPOUT (00EDH/MAIN)
MSX
TAPOOF (00F0H/MAIN)
MSX
STMOTR (00F3H/MAIN)
MSX
CHGCAP (0132H/MAIN)
MSX
CHGSND (0135H/MAIN)
MSX
RSLREG (0138H/MAIN)
MSX
WSLREG (013BH/MAIN)
MSX
RDVDP (013EH/MAIN)
MSX
SNSMAT (0141H/MAIN)
MSX
ISFLIO (014AH/MAIN)
MSX
OUTDLP (014DH/MAIN)
MSX
KILBUF (0156H/MAIN)
MSX
CALBAS (0159H/MAIN)
MSX
SUBROM (015CH/MAIN)
MSX2
EXTROM (015FH/MAIN)
機種未記載
EOL (0168H/MAIN)
MSX2
BIGFIL (016BH/MAIN)
MSX2
NSETRD (016EH/MAIN)
MSX2
機 能
VDPにアドレスをセットして、VRAMの内容が読める状態にします。
コール手順
HLVRAMのアドレス
戻り値
なし
変更レジスタ
AF
NSTWRT (0171H/MAIN)
MSX2
機 能
VDPにアドレスを設定して、VRAMに書き込める状態にします。
コール手順
HLVRAMのアドレス
戻り値
なし
変更レジスタ
AF
NRDVRM (0174H/MAIN)
MSX2
機 能
VRAMの内容を読み出します。
コール手順
HL読み出すVRAMのアドレス
戻り値
A読み出した値
変更レジスタ
F
NWRVRM (0177H/MAIN)
MSX2
機 能
VRAMにデータを書き込みます。
コール手順
なし
戻り値
なし
変更レジスタ
HL書き込むVRAMのアドレス
A書き込む値
RDRES (017AH/MAIN)
MSX2+
機 能
RESETポートの内容を読み出します。
コール手順
なし
戻り値
A読み出した値
変更レジスタ
なし
WRRES (017DH/MAIN)
MSX2+
機 能
RESETポートに値を書き込みます。ハードウェアリセットをシミュレートするときは、AレジスタのMSBを0にして、このBIOSをコールした後、BIOSの0番地にジャンプします。
コール手順
A書き込む値
戻り値
なし
変更レジスタ
A

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
GRPPRT (0089H/SUB)
機種未記載
注記:MAIN-ROMにも同名、同機能のBIOS GRPPRT (008DH/MAIN)あり
NVBXLN (00C9H/SUB)
MSX2
NVBXFL (00CDH/SUB)
MSX2
CHGMOD (00D1H/SUB)
MSX2
INITXT (00D5H/SUB)
MSX2
INIT32 (00D9H/SUB)
MSX2
注記:MAIN-ROMにも同名、同機能のBIOS INIT32 (006FH/MAIN)あり
機 能
画面をTEXT2モード(SCREEN 1、32×24)に初期化します。このルーチンはパレットを初期化しません。パレットの初期化が必要であれば、このルーチンを実行した後、INIPLT(0141H/SUB)を実行します。
コール手順
【T32NAM(F3BDH)】パターンネームテーブルのアドレス
【T32COL(F3BFH)】カラーテーブルのアドレス
【T32CGP(F3C1H)】パターンジェネレータテーブルのアドレス
【T32ATR(F3C3H)】スプライトアトリビュートテーブルのアドレス
【T32PAT(F3C5H)】スプライトジェネレータテーブルのアドレス
【LINL32(F3AFH)】1行の幅(WIDTH文によって設定する値)
戻り値
なし
変更レジスタ
すべて
INIGRP (00DDH/SUB)
MSX2
注記:MAIN-ROMにも同名、同機能のBIOS INIGRP (0072H/MAIN)あり
機 能
画面をGRAPHIC1モード(SCREEN 2)に初期化します。このルーチンはパレットを初期化しません。パレットの初期化が必要であれば、このルーチンを実行した後、INIPLT(0141H/SUB)を実行します。
コール手順
【GRPNAM(F3C7H)】パターンネームテーブルの先頭アドレス
【GRPCOL(F3C9H)】カラーテーブルの先頭アドレス
【GRPCGP(F3CBH)】パターンジェネレータテーブルの先頭アドレス
【GRPATR(F3CDH)】スプライトアトリビュートテーブルの先頭アドレス
【GRPPAT(F3CFH)】スプライトジェネレータテーブルの先頭アドレス
戻り値
なし
変更レジスタ
すべて
INIMLT (00E1H/SUB)
MSX2
SETTXT (00E5H/SUB)
MSX2
SETT32 (00E9H/SUB)
MSX2
SETGRP (00EDH/SUB)
MSX2
SETMLT (00F1H/SUB)
MSX2
CLRSPR (00F5H/SUB)
MSX2
CALPAT (00F9H/SUB)
MSX2
CALATR (00FDH/SUB)
MSX2
GSPSIZ (0101H/SUB)
MSX2
注記:MAIN-ROMにも同名、同機能のBIOS GSPSIZ (008AH/MAIN)あり
GETPAT (0105H/SUB)
MSX2
WRTVRM (0109H/SUB)
MSX2
RDVRM (010DH/SUB)
MSX2
CHGCLR (0111H/SUB)
MSX2
CLSSUB (0115H/SUB)
MSX2
DSPFNK (011DH/SUB)
MSX2
WRTVDP (012DH/SUB)
MSX2
VDPSTA (0131H/SUB)
MSX2
SETPAG (013DH/SUB)
MSX2
INIPLT (0141H/SUB)
MSX2
RSTPLT (0145H/SUB)
MSX2
GETPLT (0149H/SUB)
MSX2
SETPLT (014DH/SUB)
MSX2
BEEP (017DH/SUB)
MSX2
PROMPT (0181H/SUB)
MSX2
NEWPAD (01ADH/SUB)
MSX2
CHGMDP (01B5H/SUB)
MSX2
KNJPRT (01BDH/SUB)
MSX2+
REDCLK (01F5H/SUB)
MSX2
WRTCLK (01F9H/SUB)
MSX2