BIOS コール や BDOS コール (MSX-DOS ファンクションコール) と共に
使用する事が多いです。
あえて 1 ページに短くまとめて、
ページ検索で目的のルーチンを見つけられるようにしています。
ワークエリア外ですが、このページに含めました。
-
0004,2 CGTABL ROM にある MSX キャラクターセットの基本番地
-
0006,1 VDP.DR VDP 読み込み時 ポート 0 のアドレス
-
0007,1 VDP.DW VDP 書き込み時 ポート 0 のアドレス
-
002B,1 キャラクターセット・日時フォーマット・ビデオ信号の種別
bit 0~3 キャラクターセット 0000=日本 0001=世界 010=韓国
bit 4~6 日時フォーマット 000=Y-M-D 001=M-D-Y 010=D-M-Y
bit 7 ビデオ信号 0=60MHz 1=50MHz
-
002C,1 キーボード・ BASIC の種別
bit 0~3 キーボードの種類
0000=日本 0001=世界 0010=フランス AZERTY
0011=イギリス 0100=ドイツ DIN
bit 4~6 BASIC の種別 0000=日本語 0001=世界
-
002D,1 MSX のバージョン 0=MSX1 1=MSX2 2=MSX2+ 3=MSX turbo R
-
002E,1 MSX-MIDI
bit 0 MSX-MIDI 0=存在しない 1=存在する (MSX turbo R のみ有効)
-
002F,1 予備
-
0034,4 漢字 BASIC 関連
漢字 BASIC が含まれている場合、
BASIC の起動時に (F30FH,4) へコピーされます。
002B~002C の値は必ずしも一致しているわけではない事が分かっています。
例えばキャラクターセットが 0001=世界 の場合でも
いくつかのキャラクターが存在し、
一部日本・日本語の値を出力する海外の MSX も存在します。
特定処理で CALL されています。
ここにサブルーチンを挟んで特定の処理を追加・割り込みさせる事ができます。
複数のサブルーチンが使用している可能性があるため、
本来フックにあった処理をサブルーチン内で CALL する必要があります。
-
FD9AH,5 H.KEYI MSXIO 割り込み処理の開始
(RS-232C などの割り込み処理を追加)
-
FD9FH,5 H.TIMI MSXIO タイマー割り込み処理 (タイマー割り込み処理を追加)
-
FDA4H,5 H.CHPH MSXIO CHPUT (1 文字出力) の開始
-
FDA9H,5 H.DSPC MSXIO DSPCSR (カーソル表示) の開始
-
FDAEH,5 H.ERAC MSXIO ERACSR (カーソル消去) の開始
-
FDB3H,5 H.DSPF MSXIO DSPFNK (ファンクションキー表示) の開始
-
FDB8H,5 H.ERAF MSXIO ERAFNK (ファンクションキー消去) の開始
-
FDBDH,5 H.TOTE MSXIO TOTEXT (テキストモードの SCREEN 設定) の開始
-
FDC2H,5 H.CHGE MSXIO CHGET (1 文字取得) の開始
-
FDC7H,5 H.INIP MSXIO INIPAT (キャラクターパレット初期化) の開始
-
FDCCH,5 H.KEYC MSXIO KEYCOD (キーコード変換) の開始
-
FDD1H,5 H.KYEA MSXIO NMI ルーチン (Key Easy) の開始
-
FDD6H,5 H.NMI MSXIO NMI (マスク不可割り込み) の開始
-
FDDBH,5 H.PINL MSXIO PINLIN (1 行入力) の開始
-
FDE0H,5 H.QINL MSXINL QINLIN ("? " を表示し 1 行表示) の開始
-
FDE5H,5 H.INLI MSXINL INLIN (1 行入力) の開始
-
FDEAH,5 H.ONGO MSXSTS INGOTP (ON GOTO) の開始
-
FDEFH,5 H.DSKO MSXSTS DSKO$ (ディスク出力) の開始
-
FDF4H,5 H.SETS MSXSTS SETS (属性設定) の開始
-
FDF9H,5 H.NAME MSXSTS NAME (ファイル名変更) の開始
-
FDFEH,5 H.KILL MSXSTS KILL (ファイル削除) の開始
-
FE03H,5 H.IPL MSXSTS IPL (プログラム読み込み初期化) の開始
-
FE08H,5 H.COPY MSXSTS COPY (ファイルコピー) の開始
-
FE0DH,5 H.CMD MSXSTS CMD (拡張コマンド) の開始
-
FE12H,5 H.DSKF MSXSTS DSKF (ディスク容量の空き容量を得る) の開始
-
FE17H,5 H.DSKI MSXSTS DSKI (ディスク入力) の開始
-
FE1CH,5 H.ATTR MSXSTS ATTR$ (属性) の開始
-
FE21H,5 H.LSET MSXSTS LSET (値の左寄せ) の開始
-
FE26H,5 H.RSET MSXSTS RSET (値の右寄せ) の開始
-
FE2BH,5 H.FIEL MSXSTS FIELD (ランダムファイル領域割り当て) の開始
-
FE30H,5 H.MKI$ MSXSTS MKI$ (整数型の生成) の開始
-
FE35H,5 H.MKS$ MSXSTS MKS$ (単精度実数型の生成) の開始
-
FE3AH,5 H.MKD$ MSXSTS MKD$ (倍精度実数型の生成) の開始
-
FE3FH,5 H.CVI MSXSTS CVI (整数型へ変換) の開始
-
FE44H,5 H.CVS MSXSTS CVS (単精度実数型へ変換) の開始
-
FE49H,5 H.CVD MSXSTS CVD (倍精度変数型へ変換l) の開始
-
FE4EH,5 H.GETP SPDSK GETPTR (ファイルポインタの取得) の開始
-
FE53H,5 H.SETF SPCDSK SETFIL (ファイルポインタの設定) の開始
-
FE58H,5 H.NOFO SPDSK NOFOR (FOR なしの OPEN) の開始
-
FE5DH,5 H.NULO SPCDSK NULOPN (ファイルを使用しない OPEN) の開始
-
FE62H,5 H.NTFL SPCDSK NTFLO (ファイル番号 0 以外の処理) の開始
-
FE67H,5 H.MERG SPCDSK MERGE (プログラムファイルの結合) の開始
-
FE6CH,5 H.SAVE SPCDSK SAVE (保存) の開始
-
FE71H,5 H.BINS SPCDSK BINSAV (バイナリー保存) の開始
-
FE76H,5 H.BINL SPCDSK BINLOD (バイナリー読み込み) の開始
-
FD7BH,5 H.FILE SPCDSK FILES (ファイル名一覧表示) の開始
-
FE80H,5 H.DGET SPCDSK DGET (デイスクの GET) の開始
-
FE85H,5 H.FILO SPCDSK FILOU1 (ファイル出力i) の開始
-
FE8AH,5 H.INDS SPCDSK INDSKC (ファイル属性の入力) の開始
-
FE8FH,5 H.RSLF SPCDSK 前のドライブを再選択 の開始
-
FE94H,5 H.SAVD SPCDSK 現在のドライブを保存 の開始
-
FE99H,5 H.LOC SPCDSK LOC (ファイル位置の取得) の開始
-
FE9EH,5 H.LOF SPCDSK LOF (ファイルサイズの取得) の開始
-
FEA3H,5 H.EOF SPCDSK EOF (ファイル終了の確認) の開始
-
FEA8H,5 H.FPOS SPCDSK FPOS (ファイルの場所) の開始
-
FEADH,5 H.BAKU SPCDSK BAKUPT (バックアップ) の開始
-
FEB2H,5 H.PARD SPCDEV PARDEV (周辺機器名の取得) の開始
-
FEB7H,5 H.NODE SPCDEV NODEVN (ドライブなし) の開始
-
FEBCH,5 H.POSD SPCDEV POSDSK の開始
-
FEC1H,5 H.DEVN SPCDEV DEVNAM (ドライブ名の処理) の開始
-
FEC6H,5 H.GEND SPCDEV GENDSP の開始
-
FECBH,5 H.RUNC BIMISC RUNC (RUN のクリア処理) の開始
-
FED0H,5 H.CLEA BIMISC CLEARC (CLEAR のクリア処理) の開始
-
FED5H,5 H.LOPD BIMISC LOPDFT (ループ・デフォルト値の設定) の開始
-
FEDAH,5 H.STKE BIMISC STKERR (スタックエラー) の開始
-
FEDFH,5 H.ISFL BIMISC ISFLIO (ファイルの入出力確認) の開始
-
FEE4H,5 H.OUTD BIO OUTDO (OUT の実行) の開始
-
FEE9H,5 H.CRDO BIO CRDO (CRLF の実行) の開始
-
FEEEH,5 H.DSKC BIO DSKCHI (ディスクの属性入力) の開始
-
FEF3H,5 H.DOGR GENGRP DOGRPH (グラフィック処理実行) の開始
-
FEF8H,5 H.PRGE BINTRP PRGEND (プログラムの終了)の開始
-
FEFDH,5 H.ERRP BINTRP ERRPTR (エラー表示) の開始
-
FF02H,5 H.ERRF BINTRP
-
FF07H,5 H.READ BINTRP READY
-
FF0CH,5 H.MAIN BINTRP MAIN
-
FF11H,5 H.DIRD BINTRP DIRDO (ダイレクトステートメントの実行) の開始
-
FF16H,5 H.FINI BINTRP
-
FF1BH,5 H.FINE BINTRP
-
FF20H,5 H.CRUN BINTRP
-
FF25H,5 H.CRUS BINTRP
-
FF2AH,5 H.ISRE BINTRP
-
FF2FH,5 H.NTFN BINTRP
-
FF34H,5 H.NOTR BINTRP
-
FF39H,5 H.SNGF BINTRP
-
FF3EH,5 H.NEWS BINTRP
-
FF43H,5 H.GONE BINTRP
-
FF48H,5 H.CHRG BINTRP
-
FF4DH,5 H.RETU BINTRP
-
FF52H,5 H.PRTF BINTRP
-
FF57H,5 H.COMP BINTRP
-
FF5CH,5 H.FINP BINTRP
-
FF61H,5 H.TRNM BINTRP
-
FF66H,5 H.FRME BINTRP
-
FF6BH,5 H.NTPL BINTRP
-
FF70H,5 H.EVAL BINTRP
-
FF75H,5 H.ONKO BINTRP
-
FF7AH,5 H.FING BINTRP
-
FF7FH,5 H.ISMI BINTRP ISMID$ (MID$ の確認) の開始
-
FF84H,5 H.WIDT BINTRP WIDTHS (WIDTH) の開始
-
FF89H,5 H.LIST BINTRP LIST の開始
-
FF8EH,5 H.BUFL BINTRP BUFLIN (バッファライン) の開始
-
FF93H,5 H.FRQI BINTRP FRQINT
-
FF98H,5 H.SCNE BINTRP
-
FF9DH,5 H.FRET BINTRP FRETMP
-
FFA2H,5 H.PTRG BIPTRG PTRGET (ポインタ設定) の開始
-
FFA7H,5 H.PHYD MSXIO PHYDIO (物理ディスク入出力) の開始
-
FFACH,5 H.FORM MSXIO FORMAT (ディスクのフォーマット) の開始
-
FFB1H,5 H.ERRO BINTRP ERROR
-
FFB6H,5 H.LPTO MSXIO LPTOUT (プリンタ出力) の開始
-
FFBBH,5 H.LPTS MSXIO LPTSTT (プリンタ状態の取得) の開始
-
FFC0H,5 H.SCRE MSXSTS SCREEN の開始
-
FFC5H,5 H.PLAY MSXSTS PLAY の開始
VDP(8) は VDP ステータスレジスタ 0 の値として使われているため、
VDP(9) 以降は VDP(9)=VDP レジスタ #8 …… VDP(28)=VDP レジスタ #27 と
一つずつずれている事にご注意下さい。
-
FFE7H,1 RG8SAV VDP レジスタ #8 の値(VDP(9))
-
FFE8H,1 RG9SAV VDP レジスタ #9 の値(VDP(10))
-
FFE9H,1 RG10SAV VDP レジスタ #10 の値(VDP(11))
-
FFEAH,1 RG11SAV VDP レジスタ #11 の値(VDP(12))
-
FFEBH,1 RG12SAV VDP レジスタ #12 の値(VDP(13))
-
FFECH,1 RG13SAV VDP レジスタ #13 の値(VDP(14))
-
FFEDH,1 RG14SAV VDPレジスタ #14 の値(VDP(15))
-
FFEEH,1 RG15SAV VDPレジスタ #15 の値(VDP(16))
-
FFEFH,1 RG16SAV VDPレジスタ #16 の値(VDP(17))
-
FFF0H,1 RG17SAV VDPレジスタ #17 の値(VDP(18))
-
FFF1H,1 RG18SAV VDPレジスタ #18 の値(VDP(19))
-
FFF2H,1 RG19SAV VDPレジスタ #19 の値(VDP(20))
-
FFF3H,1 RG20SAV VDPレジスタ #20 の値(VDP(21))
-
FFF4H,1 RG21SAV VDPレジスタ #21 の値(VDP(22))
-
FFF5H,1 RG22SAV VDPレジスタ #22 の値(VDP(23))
-
FFF6H,1 RG23SAV VDPレジスタ #23 の値(VDP(24))
-
FFF7H,2 メイン RAM スロット番地
-
FFF8H,1 RG25SAV VDPレジスタ #25 の値 (VDP(26))
-
FFF9H,1 RG26SAV VDPレジスタ #26 の値 (VDP(27))
-
FFFAH,1 RG27SAV VDPレジスタ #27 の値 (VDP(28))
-
FFFBH,2 システム予約