Copyright(C) 1994,1995,1996,1997 Terumasa KODAKA , Takeshi KONO [0000:0000h〜0000:03FFh : 割込ベクタ] +00 +04 +08 +0C +10 +14 +18 +1C 0000 INT 00 | INT 01 | INT 02 | INT 03 | INT 04 | INT 05 | INT 06 | INT 07 | 0020 INT 08 | INT 09 | INT 0A | INT 0B | INT 0C | INT 0D | INT 0E | INT 0F | 0040 INT 10 | INT 11 | INT 12 | INT 13 | INT 14 | INT 15 | INT 16 | INT 17 | 0060 INT 18 | INT 19 | INT 1A | INT 1B | INT 1C | INT 1D | INT 1E | INT 1F | 0080 INT 20 | INT 21 | INT 22 | INT 23 | INT 24 | INT 25 | INT 26 | INT 27 | 00A0 INT 28 | INT 29 | INT 2A | INT 2B | INT 2C | INT 2D | INT 2E | INT 2F | 00C0 INT 30 | INT 31 | INT 32 | INT 33 | INT 34 | INT 35 | INT 36 | INT 37 | 00E0 INT 38 | INT 39 | INT 3A | INT 3B | INT 3C | INT 3D | INT 3E | INT 3F | 0100 INT 40 | INT 41 | INT 42 | INT 43 | INT 44 | INT 45 | INT 46 | INT 47 | 0120 INT 48 | INT 49 | INT 4A | INT 4B | INT 4C | INT 4D | INT 4E | INT 4F | 0140 INT 50 | INT 51 | INT 52 | INT 53 | INT 54 | INT 55 | INT 56 | INT 57 | 0160 INT 58 | INT 59 | INT 5A | INT 5B | INT 5C | INT 5D | INT 5E | INT 5F | 0180 INT 60 | INT 61 | INT 62 | INT 63 | INT 64 | INT 65 | INT 66 | INT 67 | 01A0 INT 68 | INT 69 | INT 6A | INT 6B | INT 6C | INT 6D | INT 6E | INT 6F | 01C0 INT 70 | INT 71 | INT 72 | INT 73 | INT 74 | INT 75 | INT 76 | INT 77 | 01E0 INT 78 | INT 79 | INT 7A | INT 7B | INT 7C | INT 7D | INT 7E | INT 7F | 0200 INT 80 | INT 81 | INT 82 | INT 83 | INT 84 | INT 85 | INT 86 | INT 87 | 0220 INT 88 | INT 89 | INT 8A | INT 8B | INT 8C | INT 8D | INT 8E | INT 8F | 0240 INT 90 | INT 91 | INT 92 | INT 93 | INT 94 | INT 95 | INT 96 | INT 97 | 0260 INT 98 | INT 99 | INT 9A | INT 9B | INT 9C | INT 9D | INT 9E | INT 9F | 0280 INT A0 | INT A1 | INT A2 | INT A3 | INT A4 | INT A5 | INT A6 | INT A7 | 02A0 INT A8 | INT A9 | INT AA | INT AB | INT AC | INT AD | INT AE | INT AF | 02C0 INT B0 | INT B1 | INT B2 | INT B3 | INT B4 | INT B5 | INT B6 | INT B7 | 02E0 INT B8 | INT B9 | INT BA | INT BB | INT BC | INT BD | INT BE | INT BF | 0300 INT C0 | INT C1 | INT C2 | INT C3 | INT C4 | INT C5 | INT C6 | INT C7 | 0320 INT C8 | INT C9 | INT CA | INT CB | INT CC | INT CD | INT CE | INT CF | 0340 INT D0 | INT D1 | INT D2 | INT D3 | INT D4 | INT D5 | INT D6 | INT D7 | 0360 INT D8 | INT D9 | INT DA | INT DB | INT DC | INT DD | INT DE | INT DF | 0380 INT E0 | INT E1 | INT E2 | INT E3 | INT E4 | INT E5 | INT E6 | INT E7 | 03A0 INT E8 | INT E9 | INT EA | INT EB | INT EC | INT ED | INT EE | INT EF | 03C0 INT F0 | INT F1 | INT F2 | INT F3 | INT F4 | INT F5 | INT F6 | INT F7 | 03E0 INT F8 | INT F9 | INT FA | INT FB | INT FC | INT FD | INT FE | INT FF | [0000:0400h〜0000:05FFh : システム共通域] ------------------------------------------------------------------------------- メモリ 0000:0400h 型 8bit FLAGS 名前 BIOS_FLAG2 ・bit 7 分類 機種判別 対象 全機種(PC-98HA,DB-P1を除く) 内容 RAMドライブ機能の有無 1= RAMドライブ機能あり 0= RAMドライブ機能なし 解説 u 一部のテクニカルデータブックでは98NOTE判別と記述されているが、実際には RAMドライブ機能の有無を示す。 o PC-9801NL/Rは、RAMドライブ機能を持たないので0。デスクトップ型でも RAMドライブ機能を搭載しているPC-9801URは1。 u PC-98HA,DB-P1はRAMドライブ機能を搭載しているが、このビットは0。 o 「RAMドライブ 使用しない」の設定でも、このビットは1のまま変化しない。 RAMドライブが設定されているかどうかは、0000:0488hに示されている。 関連 0000:0488h ・bit 6 分類 対象 内容 未使用(?) 解説 関連 ・bit 5 分類 RESUME Undocumented 対象 98NOTE(PC-9801N・NSを除く), PC-98HA 内容 レジューム機能のON/OFF状態 1= レジュームする(ON) 0= レジュームしない(OFF) 解説 o レジューム機能のON/OFF状態を示す。このビットを書き換えても 98NOTE/HANDY98メニューのレジューム機能の設定状態は変化しない。 u 98NOTE/HANDY98メニューでレジュームのON/OFFを切り換えたときと 電源をONにしたとき、メニューの設定がこのビットにコピーされる。 電源スイッチが押されたとき、または[CTRL]+[GRPH]+[HELP]が 押されたときは、メニューの設定ではなく、このビットの状態に 従ってレジューム動作を行うかどうかが決まる。 関連 INT 1Fh - Funciton 98h ・bit 4 分類 RESUME 対象 PC-9801NV・NS/E・NC・NL・NS/L・NA・NA/C, PC-98HA 内容 INT 1Fh - Function 8B,8Chによるレジューム/サスペンド通知 1= 通知する 0= 通知しない 解説 o このビットを1にすると、レジュームONの状態で電源をON/OFFしたとき それを通知するための割り込みが発生する。 o 電源OFF時、サスペンド処理割り込みINT 1Fh - Function 8C00h (PC-98HAはFunction 8Ch)が発生する。 電源ON時、レジューム処理割り込みINT 1Fh - Function 8B00h (PC-98HAはFunction 8Bh)が発生する。 サスペンド処理・レジューム処理が必要なソフトウェアは、INT 1Fhの 上記ファンクションをフックし、このビットを1にすることで、必要な 処理を行うことができる。 関連 INT 1Fh - Function 8B00h INT 1Fh - Function 8B80h INT 1Fh - Function 8Bh INT 1Fh - Function 8C00h INT 1Fh - Function 8C80h INT 1Fh - Function 8Ch ・bit 3 分類 CPU判別 対象 全機種 内容 V33A識別 1= V33A 0= その他 解説 o V33Aを搭載している機種はPC-98DO+のみ。他の機種では常に0。 関連 0000:0480h bit 1,0 0000:0484h bit 3〜0 0000:0501h bit 6 ・bit 2 分類 CPU速度 Undocumented 対象 PC-9801RA21以降の機種 内容 Middleモード表示 ------------+---------+------------- 機種名 |bit 2=1 |bit 2=0 ------------+---------+------------- PC-9801RA21 |386 16MHz|386 20MHz,V30 PC-9801DA2 |Middle |High/Low PC-9821Ce |Middle |High/Low PC-9801NA |Middle |High/Low PC-9821Ne |Middle |High/Low PC-9801NX/C |Middle |High/Low PC-9801NS/A |Middle |High/Low ------------+---------+------------- 解説 o 詳細不明。表に挙げた機種のMiddleモードでのみ1になる。他の機種では 常に0。 関連 ・bit 1 分類 Undocumented 対象 PC-9801RA2以降の機種 内容 不明 常に1の機種 PC-9801CV・N・NC・NS/E・NS/T・NS/L・NS/R・NX/C・P・NL/R, PC-9821Ne, PC-98HA, DB-P1 常に0の機種 PC-9801UV11・UR・UF・T・RX2・RX21・DX・FS・FX・BA・BX・LS・NV・NL, PC-H98 model60・70・90・100・105, PC-H98S, PC-98GS, PC-98LT CPU速度によって変化する機種(Lowモードのとき0、それ以外で1) PC-9801ES・RA21・RS・DA・DS・FA・US・BA2・BS2・BX2・NA・NS/A, PC-9821初代・Ap・As・Ae・Af・Ap2・As2・An・Bp・Bs・Be・Bf・Ce CPU速度によって変化する機種(Middleモードのとき1、それ以外で0) PC-H98 model80, PC-98RL * ノーマル・ハイレゾモードとも CPU速度によって変化する機種(Highモードのとき0、Lowモードのとき1) PC-9801NS 解説 o 詳細不明。機種・モードにより表に挙げたような状態になる。 関連 ・bit 0 分類 BRANCH BIOS Undocumented 対象 PC-9864初代・U(PC-H98を除くハイレゾ) 内容 BRANCH 4670 I/Fの有無 1= あり 0= なし 解説 o ハイレゾモード(PC-H98を除く)でPC-9864・U(BRANCH 4670 I/Fボード)を 実装ているとき、BRANCH BIOSが使用可能なら1になる。 o ノーマルモードでは、BRANCH BIOS組み込み時でも0。 関連 0000:041E〜0443h 0000:0480h bit 5 0000:05E5h メモリ 0000:0401h 型 BYTE 名前 EXPMMSZ 分類 MEMORY Undocumented 対象 80286以上のCPU搭載機 内容 16Mバイト以内の使用可能プロテクトモードメモリ容量(単位:128KB) 解説 o 100000(1M)〜FFFFFFh(16M-1)に位置する利用可能なプロテクトモード メモリの容量を示す。 u HIMEM.SYS,RAMDISK.SYS,EMM.SYSなどの資源管理用ワークも兼ねている。 プロテクトメモリを利用するときは、高位のアドレスから必要なだけの メモリを確保する。そして、そのメモリ容量に相当する分だけこの値を 減らす。このようにすれば、複数のドライバからプロテクトモードメモリを 利用することができる。 これらのドライバを組み込んだあとは、物理的なメモリ容量を示さない ことになる。 u このバイトの最大値は70h(14MB)である。リアルモード用メモリ空間 (000000〜0FFFFFh)と16MBシステム空間(F00000〜FFFFFFh)を除くためである。 ただし、16Mバイト超メモリ搭載可能機のシステムセットアップメニューで 「16MBシステム空間を使用しない」に設定したときのみ、最大値が 78h(15MB)になる。 o 00000〜9FFFFh(ノーマルモード)/00000〜BFFFFh(ハイレゾモード)の アドレスに位置するメモリの容量は0000:0501h bit 2〜0に格納されている。 o PC-H98と16Mバイト超メモリ搭載可能機では、1000000h(16Mバイト)番地以降の アドレスに位置するメモリの容量は0000:0594hに格納されている。 関連 0000:0501h bit 2〜0 0000:0594h INT DC - Function 81h INT DC - Function 82h メモリ 0000:0402h 型 BYTE 名前 SYS_SEL 分類 DISK Undocumented 対象 ハイレゾ 内容 セレクタ番号 bit 7: 起動時の[SHIFT]キー押下状態 1= ON 0= OFF bit 6: 起動時の[CTRL]キー押下状態(bit 7,5とは1/0の意味が逆) 1= OFF 0= ON bit 5: 起動時の[GRPH]キー押下状態 1= ON 0= OFF bit 4〜0: セレクタ番号(00〜1Fh) 解説 o bit 4〜0は、ハードディスクのどのパーティションから起動するかを 指示するためのセレクタ番号である。 ハードディスク先頭のブートローダは、ハードディスクのどのパーティション からOSを起動するかを決定するために、セレクタ番号を参照する。セレクタ 番号に0以外の値が格納されていた場合は、接続されているハードディスク からそのセレクタ番号を持つパーティションを検索してOSをブート する。セレクタ番号が0のときは、ハードディスク起動メニューを表示する。 u bit 7,6はブート処理時にBIOS内部でクリアされてしまうため、OS起動後は 常に0を示す。bit 5は、起動時に[GRPH]キーが押されていればOS起動後に 1を示す。 u ディスクブート処理の前に、メモリスイッチ5 bit 7〜4を0000:0402h bit 7〜4に、メモリスイッチ6 bit 7〜4を0000:0402h bit 3〜0に値を コピーする。 u リセット時に特定のキーが押下されていると、メモリスイッチのセレクタ番号 と起動時のシフト系キー押下状態が変更される。 表[セレクタ番号の設定方法]に示したキー、または[SHIFT],[CTRL], [GRPH]が押されていると、メモリスイッチが書き換えられる。その他の キーが単独で押されていても、メモリスイッチは書き換わらない。 表[セレクタ番号の設定方法]に示したキーを押しながらリセットすると、 同時にそのときのシフト系キー押下状態がメモリスイッチ5に反映される。 同様に、[SHIFT],[CTRL],[GRPH]を押しながらリセットしたとき、 表[セレクタ番号の設定方法]に示したキーが押されていないと、 メモリスイッチ6のセレクタ番号は00hに設定される。 表 セレクタ番号の設定方法 --------+-------------------- --------+-------------------- セレクタ番号|リセット時に押下するキー セレクタ番号|リセット時に押下するキー --------+-------------------- --------+-------------------- 00h |[ESC]または[@] 10h |[P] 01h |[f・1]または[A] 11h |[Q] 02h |[f・2]または[B] 12h |[R] 03h |[f・3]または[C] 13h |[S] 04h |[f・4]または[D] 14h |[T] 05h |[f・5]または[E] 15h |[U] 06h |[f・6]または[F] 16h |[V] 07h |[f・7]または[G] 17h |[W] 08h |[f・8]または[H] 18h |[X] 09h |[f・9]または[I] 19h |[Y] 0Ah |[f・10]または[J] 1Ah |[Z] 0Bh |[vf・1]または[K] 1Bh |[[] 0Ch |[vf・2]または[L] 1Ch |[\] 0Dh |[vf・3]または[M] 1Dh |[]] 0Eh |[vf・4]または[N] 1Eh |[^] 0Fh |[vf・5]または[O] 1Fh |[_] --------+-------------------- --------+-------------------- 関連 メモリスイッチ5 bit 7〜4 メモリスイッチ6 bit 7〜4 ハードディスクのパーティションテーブル構造 メモリ 0000:0402h 型 BYTE 名前 分類 ITF Undocumented 対象 PC-9801RA2以降のITFを持った機種(ノーマル) 内容 リセット時に押下されていた[SHIFT],[CTRL],[GRPH]キー状態 解説 o リセット時に[SHIFT],[CTRL],[GRPH]キーが押されていると、 該当するビットが1になる。ハイレゾと異なり、メモリスイッチに 記録されるわけではない。 bit 7:SHIFTキー押下状態 1= ON 0= OFF bit 6:CTRL キー押下状態 1= ON 0= OFF bit 5:GRPH キー押下状態 1= ON 0= OFF bit 4〜0:常に0(未使用) 関連 メモリ 0000:0402h(LT・HA) 型  WORD 名前 分類 LCD Undocumented 対象 PC-98LT・HA, DB-P1 内容 システム起動時のエラーメッセージ表示位置 解説 o エラーメッセージを出力する毎に、次にそれを表示する位置を 下に移動するために、このアドレスの値を加算していく。 関連 メモリ 0000:0403h 型 BYTE 名前 ITF_WORK 分類 ITF Undocumented 対象 ITF ROM搭載機種 内容 ITF ROM実行中のワークエリア 解説 関連 メモリ 0000:0404〜0407h 型 DWORD 名前 USER_SP, USER_SS 分類 CPU Undocumented 対象 80286以上のCPU搭載機, PC-9801VM21 内容 シャットダウン時のスタックポインタ保存位置 解説 o 80286はソフトウェアでプロテクトモードからリアルモードに戻る ことができないため、CPUだけをリセットする外部ハードウェアを 利用してリアルモードに戻す必要がある。そのときのスタックポインタを 保存するためにこのアドレスを使用する。 o 80286以降のCPUを搭載した機種では、システムポートのSHUT 0ビットが 0のときシャットダウン(OUT 00F0h)を行うと、リアルモードに戻る ことができる。CPUはリセット後ITF ROMを実行するとSHUT 0ビットを 調べ、0ならSP←0000:0404h,SS←0000:0406hとしてスタックポインタを 設定し、RETFする。 シャットダウンを行うプログラムは、シャットダウンを行う前に、必要な レジスタと、リセット後に再スタートするFARアドレスをPUSHしておく。 関連 I/O 0035h(SHUTモード設定 システムポート) I/O 00F0h(シャットダウンポート) メモリ 0000:0408h 型 BYTE 名前 分類 LCD Undocumented 対象 PC-98HA 内容 レジューム用状態保存(LCD) 解説 o OUT 0812h,00hのときにI/O 0810hに出力した値の保存用エリア。 関連 I/O 0810h I/O 0812h メモリ 0000:0409h 型 BYTE 名前 分類 LCD Undocumented 対象 PC-98HA 内容 レジューム用状態保存(LCD) 解説 o OUT 0812h,01hのときにI/O 0810hに出力した値の保存用エリア。 関連 I/O 0810h I/O 0812h メモリ 0000:040Ah(LT・HA) 型 WORD 名前 分類 LCD Undocumented 対象 PC-98LT・HA, DB-P1 内容 不明 解説 関連 メモリ 0000:040C〜040Fh(LT・HA) 型 4 BYTES 名前 分類 対象 PC-98LT・HA, DB-P1 内容 解説 未使用 関連 メモリ 0000:0410〜0417h(HA) 型 8 BYTES 名前 NO NAME 分類 RESUME 対象 PC-98HA 内容 レジューム用状態保存(EMS) 0410h I/O 08E9h(C000h SEL PKG )に出力した値 0411h I/O 08E1h(C000h SEL BANK)に出力した値 0412h I/O 08E9h(C400h SEL PKG )に出力した値 0413h I/O 08E3h(C400h SEL BANK)に出力した値 0414h I/O 08E9h(C800h SEL PKG )に出力した値 0415h I/O 08E5h(C800h SEL BANK)に出力した値 0416h I/O 08E9h(CC00h SEL PKG )に出力した値 0417h I/O 08E7h(CC00h SEL BANK)に出力した値 解説 o EMSカード制御用I/Oポートに出力した値の保存用エリア。 u このワークエリアはPC-98HAのみ使用する。98NOTEでは、RESUME用BIOSが バンクRAMのRESUME用ワークエリアに保存するため、システム共通域は 使用しない。 関連 I/O 08E1h I/O 08E3h I/O 08E5h I/O 08E7h I/O 08E9h メモリ 0000:0408〜040Fh 型 8 BYTES 名前 KB_SHIFT_CODE 分類 KEYBOARD BIOS 対象 ハイレゾ 内容 シフトキーコードテーブル --------+----------------------+---------------------- アドレス|シフト状態のビット位置|初期状態のメモリ内容 --------+----------------------+---------------------- 0408h |bit 7 |FFh 0409h |bit 6 |FFh 040Ah |bit 5 |FFh 040Bh |bit 4 |74h([CTRL]) 040Ch |bit 3 |73h([GRPH]) 040Dh |bit 2 |72h([カナ]) 040Eh |bit 1 |71h([CAPS]) 040Fh |bit 0 |70h([SHIFT]) --------+----------------------+---------------------- 解説 o シフト系キーを定義するテーブル。 ハイレゾモードでは、シフト系キーを任意のキーに再定義できる。テーブル には、シフトキーとして定義するキーのキー番号を格納する。 o 最大8個のシフト系キーを定義できるが、一般的には[CTRL],[GRPH], [カナ],[CAPS],[SHIFT]キーのキー番号を再定義するような場合に 使用できる。例えば、040Fhにキー番号をセットすると、キーボード BIOSはそのキーを[SHIFT]キーとして認識するようになる。 テーブルの内容を変更すると、0000:053Ah(シフトキー押下状態フラグ)、 INT 18h - Function 02hなどのシフト状態やINT 18h - Function 00hなどの キーデータの値に反映する。 o 0000:052A〜0539hのキーの押下状態テーブルは、このテーブルの設定内容の 影響を受けない。 o シフト系キーに定義されたキーでは、INT 18h - Function 00hなどの ファンクションで1文字入力できなくなる。 関連 0000:053Ah(シフトキー押下状態フラグ) INT 18h - Function 02h メモリ 0000:0410〜0413h 型 DWORD 名前 KB_BUFFER_ADR 分類 KEYBOARD BIOS 対象 ハイレゾ 内容 キーボードバッファアドレス 初期値 = 0000:0502h 解説 o キーボードBIOSが使用するキーバッファの先頭アドレス。 初期状態よりも大きなキーバッファを確保したいときには、 キーバッファ用にメモリ領域を用意して、このアドレスと 0000:0522h(キーバッファサイズ)を変更し、INT 18h - Function 06hを 実行する。 関連 0000:0522h INT 18h - Function 06h メモリ 0000:0414〜0417h 型 DWORD 名前 KB_ENTRY_TBL_ADR 分類 KEYBOARD BIOS 対象 ハイレゾ 内容 キーデータ変換テーブルの先頭アドレス 初期状態 = ROM BIOS内のテーブル 解説 o キー番号とシフト状態からキーデータを生成するときに使用する 変換テーブルの先頭アドレス。 o キーデータ変換テーブルをユーザ定義のものと入れ換えれば、 任意のキーアサインに変更することができる。 関連 INT 18h - Function 09h 0000:05C6h メモリ 0000:0418〜041Bh 型 DWORD 名前 KB_INT_ADR 分類 KEYBOARD BIOS 対象 ハイレゾ 内容 キーボード割り込みテーブルアドレス 初期状態 = ROM BIOS内のテーブル [設定テーブルの構造] ----------+-----------+------------------------- オフセット|内容 |初期値 ----------+-----------+------------------------- +0 |個数 |02h +1 |キー番号(1)|60h(INT 06h発生:STOPキー) +2 |キー番号(2)|E1h(INT 05h発生:COPYキー) ----------+-----------+------------------------- * 個数………次のアドレス以降でセットするキーコードの個数。 * キー番号…bit 7でINT 05hとINT 06hのどちらの割り込みを発生させる キーかを指定する。bit 7=1:INT 05h,0:INT 06h 解説 o キー押下時にINT 05h, INT 06hを発生させるキーを定義したテーブルの アドレス。 o ハイレゾモードでは、INT 05h, INT 06hを発生させるキーを任意のキーに 再定義できる。 o 割り込みを発生するように指定したキーからは、INT 18h - Function 00h などで1文字入力することができなくなる。 関連 INT 05h INT 06h メモリ 0000:041C〜041Dh 型 WORD 名前 PR_TIME 分類 PRINTER BIOS 対象 ハイレゾ 内容 プリンタのタイムアウト値(単位:10ms) 初期値 = 0000h。 (0000hを設定するとタイムアウトしない) 解説 o プリンタBIOSで文字出力するとき、プリンタがBUSYだった場合に BUSYを監視しながら待つ最大時間を指定する。 o INT 1Ah - Function 10hを実行すると、0190h(4秒)がセットされる。 INT 1Ah - Function 16hで任意の値に設定可能。 関連 INT 1Ah - Function 10h INT 1Ah - Function 16h メモリ 0000:041E〜0443h 型 38 BYTES 名前 分類 BRANCH Undocumented 対象 PC-9864初代・U + ハイレゾ 内容 -----+-------+-------------+------------------------------------------ アドレス|サイズ |名前 |内容 -----+-------+-------------+------------------------------------------ 041Eh|5BYTES |VD_PRT |サーバに送信する際のプロトコル。INT 1Bhエ | | |ミュレーション時のパラメータを格納する。 041Eh|BYTE |VD_CMD |リクエストコード | | | 01h=送信(INT 1Bh - Function 05h) | | | 02h=受信(INT 1Bh - Function 06h) 041Fh|BYTE |VD_SEC_UNIT |転送セクタ数 0420h|BYTE |VD_DRIVE |仮想ドライブ番号(INT 1Bh AL LSB 4bit) | | | 00〜03h 0421h|BYTE |VD_TRACK |トラック番号(INT 1Bh DH) 0422h|BYTE |VD_SEC |セクタ番号(INT 1Bh DL) 0423h|BYTE |VD_NUL |ヌルデータ 0424h|WORD |VD_REMAIN_SEC|残りセクタ数 0426h|WORD |VD_REMAIN_LEN|残りデータバイト数(INT 1Bh BX) 0428h|WORD |VD_DATA_OFF |転送データのオフセットアドレス(INT 1Bh BP) 042Ah|BYTE |VDISK_EQUIP |仮想ディスクのマウント状態 042Bh|BYTE |BRANCH_INT |BRANCH4670 I/Fの外部割り込み番号 | | | 00h=INT0(INT 0Bh) | | | 01h=INT41(INT 12h) | | | 02h=INT5(INT 14h) | | | 03h=INT6(INT 15h) 042Ch|DWORD |BRANCH_WORK |VD_BOOT_WORKへのポインタ(0000:0430h) 0430h|16BYTES|VD_BOOT_WORK |仮想ディスクから起動するときのワークエリア 0430h|WORD | |ソケット80hに関する情報 0432h|WORD | |ソケット90hに関する情報 0434h|WORD | |ソケットA0hに関する情報 0436h|WORD | |ソケットB0hに関する情報 0438h|WORD | |リザルトレコードアドレス 043Ah|BYTE | |外部割り込みハンドラが使用 | | | bit 7〜4:未使用 | | | bit 3:ソケットB0hの処理関係 | | | bit 2:ソケットA0hの処理関係 | | | bit 1:ソケット90hの処理関係 | | | bit 0:ソケット80hの処理関係 043Bh|BYTE | |用途不明(PC-9864U搭載BIOS ROMで使用) | | |初期値 = 04h | | |本体内BRANCH BIOSでは未使用 043Ch|BYTE | |用途不明(PC-9864U搭載BIOS ROMで使用) | | |初期値 = FFh | | |本体内BRANCH BIOSでは未使用 043Dh|BYTE | |用途不明(PC-9864U搭載BIOS ROMで使用) | | |初期値 = FFh | | |本体内BRANCH BIOSでは未使用 043Eh|BYTE | |用途不明(PC-9864U搭載BIOS ROMで使用) | | |本体内BRANCH BIOSでは未使用 043Fh|BYTE | |CPU種別(PC-9864U搭載BIOS ROMで使用) | | | 01h:8086,V30 | | | 02h:80286 | | | 04h:386以上 | | |本体内BRANCH BIOSでは未使用 0440h|DWORD |VD_ADD |仮想ディスクBIOSのエントリアドレス。 | | |INT 1Bh実行時のDA/UA=6nhのとき、 | | |ここで指定されたアドレスに処理を移す。 -----+-------+-------------+------------------------------------------ 解説 o BRANCH4670・IIによる仮想ディスクのワークエリア。詳細不明。 o PC-9864初代をハイレゾモードの本体に実装したときは、本体内の BRANCH 4670 BIOSがハンドリングを行う。PC-9864初代上のROMは使用 しない(ノーマルモード専用のため)。 o PC-9864Uをハイレゾモードの本体に実装したときは、本体内のBRANCH 4670 BIOSとPC-9864U上のROMの両方がBRANCH 4670のハンドリングを行う。 関連 0000:0400h bit 0 0000:041E〜0443h 0000:0480h bit 5 0000:049A〜04ABh 0000:05E5〜05E7h F800:7FE0h メモリ 0000:041E〜0443h 型 38 BYTES 名前 分類 BRANCH Undocumented 対象 PC-9864U + ノーマル 内容 -----+-------+-------------+------------------------------------------ アドレス|サイズ |名前 |内容 -----+-------+-------------+------------------------------------------ 041Eh|13BYTES| |未使用 042Bh|BYTE |BRANCH_INT |BRANCH4670 I/Fの外部割り込み番号 | | | 00h=INT0(INT 0Bh) | | | 01h=INT41(INT 12h) | | | 02h=INT5(INT 14h) | | | 03h=INT6(INT 15h) 042Ch|DWORD | |FAR CALLのためのアドレス。BRANCH BIOS内で | | |各処理に先立って実行される。 | | |CF=0で戻ればBRANCH BIOSの処理をする。 | | |CF=1で戻ればBRANCH BIOSの処理をしない。 0430h|10BYTES| |未使用 043Ah|BYTE | |外部割り込みハンドラが使用 043Bh|BYTE | |PC-9864Uのセットする初期値 = 04h | | | bit 7=不明 | | | bit 6=INT D3h - Function 0Dhの動作指定 | | | bit 5=INT D3h - Function 03hの動作指定 | | | bit 4=INT D3h - Function 01hの動作指定 | | | bit 3=INT D3h - Function 07hの動作指定 | | | bit 2=不明 | | | bit 1=1で042Ch≠0なら、call 0000:042Ch | | | bit 0=不明 043Ch|BYTE | |不明 | | |初期値 = FFh 043Dh|WORD | |不明 | | |初期値 = FFFFh 043Fh|BYTE | |CPU種別 | | | 01h:8086,V30 | | | 02h:80286 | | | 04h:386以上 0440h|DWORD | |未使用 -----+-------+-------------+------------------------------------------ 解説 o BRANCH4670IIによる仮想ディスクのワークエリア。詳細不明。 o PC-9864U上のBRANCH BIOS ROMが使用する。PC-9864初代は、このワーク エリアを使用しない。 関連 0000:0480h bit 5 0000:049Ah〜04ABh 0000:05E5〜05E7h メモリ 0000:0444〜0447h 型 DWORD 名前 CAL_ROOT_LIST 分類 TIMER BIOS 対象 ハイレゾ 内容 マルチイベントタイマのパラメータブロックの先頭アドレス 解説 o INT 1Ch - Function 04h,05hで設定するマルチイベントタイマの 先頭のパラメータブロックのアドレス。 関連 INT 1Ch - Function 04h INT 1Ch - Function 05h メモリ 0000:0448h〜0449h 型 WORD 名前 CAL_BEEP_TIME 分類 CRT BIOS, TIMER BIOS 対象 ハイレゾ 内容 BEEPの継続時間カウンタ(単位:10ms) 解説 o INT 18h - Function 24h, INT 1Ch - Function 06hで鳴動させた BEEPの残り時間。 関連 INT 18h - Function 24h INT 1Ch - Function 06h メモリ 0000:044Ah〜044Bh 型 WORD 名前 CAL_TONE 分類 CRT BIOS, TIMER BIOS 対象 ハイレゾ 内容 BEEP音程(8253Aの分周値) 解説 o INT 18h - Function 23h, INT 1Ch - Function 06hで指定したBEEP周波数。 関連 INT 18h - Function 23h INT 1Ch - Function 06h メモリ 0000:044Ch〜044Fh 型 DWORD 名前 CAL_USER_OFF/SEG 分類 TIMER BIOS 対象 ハイレゾ, PC-98DO+ 内容 シングルイベントタイマのタイムアウトアドレス 解説 o シングルイベントタイマがタイムアウトしたときに呼び出すユーザルーチンの アドレス。 u PC-98DO+では、INT 07hにコプロセッサ命令をスキップするための エミュレート処理が入っているため、このワークエリアを利用する。 関連 INT 1Ch - Function 02h メモリ 0000:0450h 型 WORD 名前 CRT_FONT 分類 CRT BIOS Undocumented 対象 ハイレゾ 内容 キャラクタジェネレータに出力する文字コード 0000:0450h = I/O 00A3hに出力する値 0000:0451h = I/O 00A1hに出力する値 解説 o INT 18h - Function 1Fh,20h(フォントパターン(24ドット)の読み出し/ 登録)実行時、キャラクタジェネレータに出力する文字コード(I/O 00A1h, 00A3hに出力する値)を格納する。 関連 INT 18h - Function 1Fh INT 18h - Function 20h I/O 00A1h I/O 00A3h メモリ 0000:0452〜0454h 型 3BYTES 名前 RT_P1, RT_P2. RT_P3 分類 CRT BIOS Undocumented 対象 ハイレゾ 内容 -----+--------+---------------------------------------------------- アドレス|ビット |内容 -----+--------+---------------------------------------------------- 0452h| |RT_P1 |bit 7 |カーソル表示状態 | | 1=あり | | 0=なし |bit 6,5 |00b |bit 4〜0|CRTの行当りラスタ本数-1 | | 0000:053Bhの内容と同じ -----+--------+---------------------------------------------------- 0453h| |RT_P2 |bit 7,6 |カーソルブリンクレートの下位2ビット |bit 5 |カーソルブリンキング状態 | | 1=点滅なし | | 0=点滅あり |bit 4〜0|1キャラクタ内のカーソル表示開始ライン | | キャラクタのボディフェイスの最上端を0ラインとする | | ブロックカーソルの上端位置。 -----+--------+---------------------------------------------------- 0454h| |RT_P3 |bit 7〜3|1キャラクタ内のカーソル表示終了ライン | | キャラクタのボディフェイスの最上端を0ラインとする | | ブロックカーソルの下端位置。 |bit 2〜0|カーソルブリンクレートの上位3ビット | | 全5ビットのブリンクレートに00000bは指定できない。 -----+--------+---------------------------------------------------- 解説 o テキストGDCに発行するCSRFORMコマンドのパラメータを保存するための ワークエリア。INT 18h - Function 0Ah,10h,11h,12h,1Ch,1Ehで使用する。 u PC-H98のノーマルモードでは、起動時にこの領域に値がセットされているが、 BIOS等では使用していない。ノーマルモードでも、ハイレゾモード用と 同様に初期設定した結果と思われる。MENU BIOSで設定を行っている。 関連 INT 18h - Function 0Ah INT 18h - Function 10h INT 18h - Function 11h INT 18h - Function 12h INT 18h - Function 1Ch INT 18h - Function 1Eh メモリ 0000:0455h 型 8bit FLAGS 名前 分類 Undocumented 対象 PC-9801DA・DS・DX以降の機種, PC-98HA 内容 ■PC-9801DA・FA bit 7: 1= システムセットアップメニュー表示後起動 0= 通常起動 * [HELP]キーを押しながらリセットすると、 システムセットアップメニューを表示する ■98NOTE bit 5: 1= NOTEメニューのAUTOモードで起動 0= 通常起動 * [COPY]キーを押しながらリセットすると、 AUTOモードが起動する ■PC-9821Ap・As・Ae bit 5: 1= リセット時に[ESC]キーが押されていた 0= リセット時に[ESC]キーが押されていない bit 4: 1= リセット時に[COPY]キーが押されていた 0= リセット時に[COPY]キーが押されていない ■PC-98HA bit 7 : 不明。RESUME、電源制御関係。 bit 6〜0: 未使用 関連 INT 1Fh - Function 99h INT 1Fh - Function BAh 解説 詳細不明。リセット時に押されていたキーの状態などを保存している模様。 関連 メモリ 0000:0456h 型 BYTE 名前 分類 RESUME 対象 98NOTE(PC-9801N・NSを除く), PC-98HA, DB-P1 Undocumented 内容 RESUME用電源OFF禁止カウンタ 解説 o BIOS内で、電源OFF禁止期間中に00h以外の値になる。正常にRESUMEが行える ようにするための機構。 o BIOSの処理中、電源OFF禁止期間の先頭でインクリメントされ、電源OFF可能な 状態になったときデクリメントされる。このため、電源OFF禁止が必要な 処理を入れ子にすることができる。 関連 メモリ 0000:0457h 型 BYTE 名前 分類 IDE Undocumented 対象 IDE HDD搭載機 内容 IDEドライブ容量(1) --------+--------------------------- ビット |内容 --------+--------------------------- bit 7 |1台目IDEのセクタ長 | 1= 512バイト | 0= 256バイト,ドライブなし bit 6 |2台目IDEのセクタ長 | 1= 512バイト | 0= 256バイト,ドライブなし bit 5〜3|1台目IDE HD 容量値 bit 2〜0|2台目IDE HD 容量値 --------+--------------------------- * IDE非対応機は00h、IDE対応機でIDE HD非搭載の場合は3Fh ------+------------ 容量値|ドライブ容量 ------+------------ 000b|ドライブなし 001b|120MB 010b|シリンダ数可変 011b|0000:05B0hで容量を示す 100b| 20MB 101b| 80MB 110b| 40MB 111b|ドライブなし ------+------------ 解説 o IDE HDの容量を示す。 u 機種により、ドライブ容量を示す値のサポート範囲が異なる。 関連 0000:05B0h メモリ 0000:0458h 型 8bit FLAGS 名前 BIOS_FLAG5 ・bit 7 分類 機種判別 対象 全機種 内容 NESA(H98)識別 1= NESAアーキテクチャ機 0= その他 解説 o NESAアーキテクチャ機(PC-H98,SV-H98,FC-H98)を示す。 関連 ・bit 6 分類 機種判別 対象 全機種 内容 PC-98GS識別 1= マルチメディアアーキテクチャ 0= その他 解説 o マルチメディアアーキテクチャ機(PC-98GS)を示す。 関連 ・bit 5,4 分類 対象 内容 未使用(?) 解説 関連 ・bit 3 分類 CPU速度 対象 PC-H98 内容 486SXフラグ 1= 486SXモード 0= 386相当モード 解説 o PC-H98S, PC-H98 model80・90で、CPU速度を486SX(最高速)に設定 したとき1になる。386相当(中速・低速)に設定したときは0。 関連 ・bit 2 名前 current printer interface modeビット 分類 PRINTER BIOS 対象 ノーマル 内容 プリンタインターフェースモード 1= フルセントロニクスモード 0= 簡易セントロニクスモード(初期状態) 解説 o 現在のプリンタインターフェースモードを示す。 o PC-H98とIEEE STD 1284搭載機は、ノーマルモードで簡易セントロニクスと フルセントロニクスをサポートしている。このビットは現在のモードを示す。 u 98ハイレゾボード(PC-9821A-E02)のハイレゾモードでも1になる。その他の 機種のハイレゾモードでは0。 関連 0000:05B3h INT 1Ah - Function 17h INT 1Ah - Function 19h INT 1Ah - Function 1Ah INT 1Ah - Function 1Bh ・bit 1 名前 full-centro availableビット 分類 PRINTER BIOS 対象 ノーマル 内容 プリンタインターフェースのタイプ 1= フルセントロニクスモード利用可 0= フルセントロニクスモード利用不可 解説 o ノーマルモードでフルセントロニクスモードが利用できるかどうかを示す。 o このビットが1の機種は次の通り。 - PC-H98(ノーマルモード) - IEEE STD 1284搭載機種 o PC-9821Ap2・As2・An・Ap3・As3に98ハイレゾボード(PC-9821A-E02)を実装した 場合、このビットは0になる。ノーマルモード・ハイレゾモードのいずれの 場合も、98ハイレゾボード側のプリンタインターフェースのみが有効にな るためである。 o ハイレゾモードは常にフルセントロニクスモードのため、このビットは0。 関連 0000:05B3h INT 1Ah - Function 17h INT 1Ah - Function 19h INT 1Ah - Function 1Ah INT 1Ah - Function 1Bh ・bit 0 分類 Undocumented 対象 内容 不明。PC-H98では常に1。 解説 u 「改訂版 テクニカルデータブック ハードウェア編」p.93には、i386SL(98) 判定をこのビットで行えるように記述されているが、実際には 0000:0458h bit 0で判定しなければならない。 関連 メモリ 0000:0459h 型 BYTE 名前 CRT_EXT_STS ・bit 7,6 分類 CRT BIOS Undocumented 対象 PC-H98 内容 拡張アトリビュートモード ---+------------------------------------------- 値 |内容 ---+------------------------------------------- 11b|(予約) 10b|拡張アトリビュート EGHモード 01b|拡張アトリビュート JEHモード 00b|従来互換アトリビュート PCモード(起動時設定) ---+------------------------------------------- 解説 o INT 18h - Function 2Ah,2Bhのモード設定情報bit 7,6。 関連 INT 18h - Function 2Ah INT 18h - Function 2Bh ・bit 5 分類 TIMER BIOS Undocumented 対象 PC-H98(ハイレゾ) PC-9821A-E02(ハイレゾ) 内容 タイマBIOSのシングルイベントタイマ使用中フラグ 1= 使用中 0= 使用していない 解説 u PC-98XA・XL・XL^2・RLのハイレゾモードではこのフラグを使用しない。 関連 INT 1Ch - Function 02h ・bit 4 分類 対象 内容 未使用(?) 解説 関連 ・bit 3(1/2) 分類 CRT BIOS Undocumented 対象 PC-H98(ハイレゾ) PC-9821A-E02(ハイレゾ) 内容 ラスタスキャンモード 1= ノンインターレース 0= インターレース 解説 o このビットが1になるのは、以下の条件のとき。 - PC-H98にN5926-02型ディスプレイを接続したときのハイレゾモード。 - 98ハイレゾボード(PC-9821A-E02)のハイレゾモードで[GRPH]+[2]+[RESET] 設定を行ったとき。 関連 INT 0Ah(外部割り込み…VSYNC) INT 18h - Function 2Bh[PC-H98] ・bit 3(2/2) 分類 CRT BIOS Undocumented 対象 PC-98GS, PC-9821(ノーマル), PC-9801BA2・BS2・BX2 内容 ラスタスキャンモード 1= ノンインターレース 0= インターレース 解説 o INT 18h - Function 30h,31hのモード設定情報bit 0。BIOSとは 値の意味が逆転している。 o PC-98GSの水平走査周波数15.73kHzモードのとき0になる。 o 初期値が1の機種はPC-98GS, PC-9821初代・Ceのみ。 上記以外の機種は0。ただし、PC-98GS以外の機種では、実際には インターレースの信号は出力されない。 関連 INT 18h - Function 30h INT 18h - Function 31h ・bit 2 分類 CRT BIOS Undocumented 対象 PC-H98 内容 罫線色 1= I/Oセット値(INT 18h - Function 2Chでの設定値)に従う 0= VRAMのアトリビュートに従う(起動時設定) 解説 o INT 18h - Function 2Ah,2Bhのモード設定情報bit 2。 関連 INT 18h - Function 2Ah INT 18h - Function 2Bh INT 18h - Function 2Ch ・bit 1 分類 CRT BIOS Undocumented 対象 PC-H98 内容 不明(起動時設定=0) 解説 o INT 18h - Function 2Ah,2Bhのモード設定情報bit 1。ノーマル・ ハイレゾ両モードで有効。 関連 INT 18h - Function 2Ah INT 18h - Function 2Bh ・bit 0 分類 CRT BIOS Undocumented 対象 PC-H98(ノーマル) PC-98GS, PC-9821(Bf・Bp・Bs・Be・Ts・Ne3・Nd2を除く) 内容 CRT解像度480ラインフラグ 1= 640x480 0= 640x400,640x200(起動時設定) 解説 o PC-H98では、INT 18h - Function 2Ah,2Bhのモード設定情報bit 0。ノーマル モードで、水平走査周波数31.47kHzのとき1に設定可能。 o PC-98GSとPC-9821(Bf・Bp・Bs・Be・Ts・Ne3・Nd2を除く)では、 INT 18h - Function 30hでグラフィック解像度640x480に設定したとき1。 関連 0000:054Ch bit 5 INT 18h - Function 2Ah INT 18h - Function 2Bh INT 18h - Function 30h INT 18h - Function 31h INT 18h - Function 42h メモリ 0000:045Ah 型 BYTE 名前 BIOS_FLAG6 分類 CPU速度 Undocumented 対象 内容 CPU速度 ■[変更前] bit 7〜0: CPU,クロック 02h = 386SX 10MHz(実際にはこの機種はない) 04h = 486SX 16MHz 05h = i386SL(98) 20MHz * テクニカルデータブックに記述されている。 ■[変更後] bit 7〜4: CPUタイプ 0000b= CPUタイプ 0001b= 486DX2, WriteBackEnhanced IntelDX2 0010b= IntelDX4, IntelDX4ODP 0011b= PentiumODP(P24T) 0100b= 不明 0101b= 486DX2, WriteBackEnhanced IntelDX2 0110b= OverDriveProcessor for DX4 1000b= Pentiumプロセッサ60/66MHz版(P5) 1001b= Pentiumプロセッサ90/100MHz版(P54C) 1010b= OverDriveProcessor for 3.3V-Pentium 1011b= Pentiumプロセッサ133MHz版 1100b= 不明CPU 1101b= PentiumProODP(P55CT) 1111b= 不明CPU bit 3〜0: クロック 0010b= Pentiumプロセッサ(P5,P54C,P54CT)の外部25MHz 0011b= Pentiumプロセッサ(P5,P54C)の外部30MHz 0100b= Pentium,PentiumProプロセッサ(P5,P54C,P55CT)の外部33MHz 0101b= DX2,DX4,P24Tの外部20MHz 0110b= DX2,DX4,P24Tの外部25MHz 0111b= DX2,DX4,P24T,ODPforDX4の外部33MHz 解説 o このワークエリアは、改訂版TDB,H/W辺でドキュメントされているが、 実際にはその後、ワークエリアの意味が変更された。上位4bitで判別 を行う。 o 機種によっては、このワークエリアの値が厳密に設定されておらず、 あまり信用できない。 関連 0000:0484h bit 3〜0 メモリ 0000:045Bh 型 8bit FLAGS 名前 BIOS_FLAG7 ・bit 7 分類 TIME STAMPER 対象 全機種(PC-H98を除く) 内容 I/O 005Fh出力時のウェイト機能の有無 1= あり 0= なし 解説 o OUT 5Fh,AL命令実行時、ハードウェアで0.6μs程度(以上)のウェイトが入る 機能の有無を示す。 このビットが1の機種は以下の通り。 - PC-9801FA・BA・BX・BA2・BS2・BX2・NS/R・NX/C・P・NS/A・NL/R - PC-9801NA(486SX 20MHz,386 20MHz相当モード) - PC-9821(初代を除く) u PC-9801FS・FX・US, PC-9821初代, PC-9801NA(V30 10MHz相当モード)ではこの ビットが0になっているが、BIOS内でOUT 5Fh,ALによるウェイトを行って いる。 u このビットが0の機種でOUT 5Fh,AL命令を実行したときも、実際には0.6μs (以上)のウェイトがハードウェアによって挿入される。ただし、PC-9801初代・ E・F・Mでは、このI/Oアドレスは320KB FD I/FのI/Oのデコードイメージと 重なるので注意が必要。 o PC-H98はウェイト機能を持っているが、このビットは0。0000:0458h bit 7 (NESA識別ビット)=1ならウェイト機能ありと判断できる。 関連 0000:0458h bit 7 I/O 005Fh ・bit 6 分類 対象 内容 未使用(?) 解説 関連 ・bit 5 分類 POWER Undocumented 対象 PC-9801NS/T・NS/R・NX/C・P・NL/R 内容 パワーセーブモード 1= 設定する 0= 設定しない 解説 o 98NOTEメニューで設定するパワーセーブモードの状態を示す。 o PC-9801NL/R・NX/Cではパワーセーブモードの設定を行えないが、常に1。 o PC-9801NLはパワーセーブモードの設定ができるが、このビットは変化なし。 u PC-9801NS/R・Pは、パワーセーブモードを設定したあと一旦リセット しないとパワーセーブモードが有効にならない。 関連 I/O 851Eh ・bit 4 分類 PCMCIA Undocumented 対象 PC-9801NL 内容 PCMCIAメモリカードBIOS BUSY 1= PCMCIAメモリカードBIOS実行中 0= PCMCIAメモリカードBIOS実行中ではない 解説 o PCMCIAメモリカードBIOSの処理中に1になる。PCMCIAのデバイスドライバは このビットを操作しない。 関連 INT 1Fh - Function B4h INT 1Fh - Function B5h INT 1Fh - Function B6h INT 1Fh - Function B7h INT 1Fh - Function B8h ・bit 3 分類 Undocumented 対象 全機種 内容 不明 解説 o このビットが1の機種はPC-9801NL・NS/R・NX/C・P。 関連 ・bit 2 分類 TIME STAMPER 対象 全機種(PC-H98を除く) 内容 タイムスタンパ機能の有無 1= あり 0= なし 解説 o タイムスタンパ機能の有無を示す。このビットが1の機種は以下の通り。 - PC-9801FS・FX・US・BA・BX・BA2・BS2・BX2 - PC-9821 - 98NOTE(PC-9801N・NS・NV・NS/E・NCを除く) o PC-H98はタイムスタンパ機能を持っているが、このビットは0。0000:0458h bit 7(NESA識別ビット)=1ならタイムスタンパ機能ありと判断できる。 関連 0000:0458h bit 7 I/O 005Ch I/O 005Eh ・bit 1 分類 Undocumented 対象 全機種 内容 カードスロットI/O機能の有無(?) 1= カードスロットI/O機能あり 0= カードスロットI/O機能なし 解説 o 詳細不明。このビットが1の機種は以下の通り。 - 98NOTE(PC-9801N・NS・NV・NS/E・NCを除く) 関連 ・bit 0 分類 CPU判別 Undocumented 対象 全機種 内容 i386SL(98)識別 1= 386SL(98) 0= その他 解説 o i386SL(98)を搭載している機種はPC-9801NS/Tのみ。他の機種では常に0。 u 「改訂版 テクニカルデータブック ハードウェア編」p.93には、i386SL(98) 判定を0000:0458h bit 0で行えるように記述されているが、実際には このビットで判定しなければならない。 関連 メモリ 0000:045Ch 型 8bit FLAGS 名前 ・bit 7 分類 CPU 対象 PC-H98以外 内容 486SXフラグ 1= 486SX相当 0= その他 解説 o このビットが1になる機種・モードは以下の通り。 - PC-9821As・As2・Ce・Cs2・Ce2・Ne・Ts・XeのHIGHモード - PC-9801FA・NA・NS/AのHIGHモード - PC-9821Ap・As・As2のMIDDLEモード 関連 ・bit 6 分類 機種判別 対象 ノーマル 内容 拡張グラフアーキテクチャ識別 1= 拡張グラフアーキテクチャ機 0= その他 解説 o PC-9821の拡張グラフアーキテクチャをサポートしているかどうかを 示す。このビットが1の機種は以下の通り。 - PC-9821(Bf・Bp・Bs・Be・Ts・Ne3・Nd2を除く) u 98ハイレゾボード(PC-9821A-E02)のハイレゾモードでも1を示しているが、 拡張グラフィックスは使用できない。 関連 INT 18h - Function 30h INT 18h - Function 31h ・bit 5 分類 CRT Undocumented 対象 PC-9801NA以降の98NOTE 内容 カラーLCD識別 1= カラーLCD 0= モノクロLCD 解説 o カラーLCDモデルかどうかを示す。このビットが1の機種は以下の通り。 - PC-9801NA/C・NX/C, PC-9821Ne o PC-9801NCはカラーLCDを搭載しているが、このビットは0。 関連 I/O 00F0h bit 7[PC-9801NA・NA/C] I/O 8810h bit 5[PC-9801NS/R・NX/C・NS/A・NL/R,PC-9821Ne・Np] ・bit 4 分類 対象 内容 未使用(?) 解説 関連 ・bit 3 分類 DISK Undocumented 対象 PC-9801NL 内容 ROMドライブ書き込み禁止フラグ 1= 書き込み許可 0= 書き込み禁止(初期状態) 解説 o INT 1Fh - Function 94hでのROMドライブ書き込みを許可するかどうかの フラグ。INT 1Fh - Function 9Dhでセット/リセットされる。 関連 INT 1Fh - Function 94h INT 1Fh - Function 9Dh ・bit 2 分類 Undocumented 対象 98NOTE(PC-9801N・NS・NV・NS/E・NC・NL/Rを除く) 内容 PC-9801N-08(拡張I/Oボックス)の接続の有無 1= 接続 0= 無接続 解説 o 98NOTE用拡張I/Oボックスの接続有無を示す。 関連 I/O 8810h bit 0 ・bit 1 分類 SMM Undocumented 対象 98NOTE(PC-9801N・NS・NV・NS/E・NC・NL・NS/L・NAを除く) 内容 パワーセーブモード禁止フラグ 1= パワーセーブモードへの移行を禁止 0= パワーセーブモードへの移行を許可 解説 o INT 1Fh - Function 9Eh Subfunction 02h,03hの設定状態を示す。 u PC-9801NS/Tのみ、INT 1Fh - Function 9Eh Subfunction 02h,03hの意味が 他の機種と逆転しているので注意が必要。このビットの意味は対象となる 全機種で同じ。 関連 INT 1Fh - Function 9Eh Subfunction 02h,03h ・bit 0 分類 CPU Undocumented 対象 コプロセッサ搭載可能な98NOTE, PC-9821A-E02(98ハイレゾボード)のハイレゾ(PC-9821Anを除く) 内容 数値演算コプロセッサ機能の有無 1= コプロセッサ機能あり 0= コプロセッサ機能なし 解説 o i387SX, i486DX, i487SX, i486DX(J), ODP486SX, Pentiumなどを搭載して コプロセッサ機能が使用できるとき、1になる。 u 対象欄に記述のない機種では、コプロセッサ機能が使用できる場合でも0。 関連 メモリ 0000:045Dh 型 8bit FLAGS 名前 ・bit 7 分類 Advanced Power Management BIOS Undocumented 対象 PC-9801P 内容 不明 解説 o 詳細不明。PC-9801PのINT 1Fh - Function 9Axxhで使用している。 関連 ・bit 6 分類 BOOT Undocumented 対象 PC-9801BA・BX・BA2・BS2・BX2・BA3・BX3・BX4・NS/R・NX/C・P・NS/A・NL/R・NL/A PC-9821(初代を除く)ノーマル 内容 ROM BASIC使用 1= 使用しない 0= 使用する 解説 o システムセットアップメニューの「ROM BASIC 使用する/使用しない」の 設定状態を示す。 o 98NOTEは、98NOTEメニューで「ROM BASIC起動」以外に設定すると1。 PC-9801Pは常に1。 関連 ・bit 5 分類 Undocumented 対象 PC-9801NS/R・NX/C・P・NS/A・NL/R, PC-9821Ne 内容 不明 解説 o 詳細不明。RAMドライブ、ブート処理、パワーマネジメント関連で使用。 関連 ・bit 4 分類 IDE BIOS Undocumented 対象 PC-9821Bp・Bs・Be・Bf・Cs2・Ce2,PC-9801BA2・BS2・BX2・BA3・BX3・BX4 内容 2台目IDE HDDの高速IDEフラグ 1= 高速IDE 0= 非高速IDE 解説 o 2台目IDE HDDが高速IDE HDDかどうかを示す。 関連 0000:045Dh bit 3 0000:045Eh bit 6 0000:045Eh bit 5 ・bit 3 分類 IDE BIOS Undocumented 対象 PC-9821Af・Ap2・As2・An・Bp・Bs・Be・Bf・Cs2・Ce2,PC-9801BA2・BS2・BX2 内容 1台目IDE HDDの高速IDEフラグ 1= 高速IDE 0= 非高速IDE 解説 o 1台目IDE HDDが高速IDE HDDかどうかを示す。 関連 0000:045Dh bit 4 0000:045Eh bit 6 0000:045Eh bit 5 ・bit 2,1 分類 対象 内容 未使用(?) 解説 関連 ・bit 0 分類 SCSI BIOS Undocumented 対象 PC-9801-100 内容 PC-9801-100の使用するI/Oアドレス 1= I/O 387Eh〜 0= I/O 187Eh〜 解説 o SCSI-2インタフェースボードPC-9801-100の使用するI/Oアドレスを示す。 関連 メモリ 0000:045Eh 型 8bit FLAGS ・bit 7 名前 分類 Undocumented 対象 PC-9821Bp・Bs・Be・Bf・Ts 内容 不明 解説 o 詳細不明。ITFで1にセットされる場合がある。 関連 I/O 006Ah - 80h,81h ・bit 6 分類 IDE BIOS Undocumented 対象 PC-9821Xa10・Xa9・Xa7・Xa12 内容 3台目IDE HDDの高速IDEフラグ 1= 高速IDE 0= 非高速IDE 解説 o 3台目IDE HDDが高速IDE HDDかどうかを示す。 関連 0000:045Dh bit 3 0000:045Dh bit 4 0000:045Eh bit 5 ・bit 5 分類 IDE BIOS Undocumented 対象 PC-9821Xa10・Xa9・Xa7・Xa12 内容 4台目IDE HDDの高速IDEフラグ 1= 高速IDE 0= 非高速IDE 解説 o 4台目IDE HDDが高速IDE HDDかどうかを示す。 関連 0000:045Dh bit 3 0000:045Dh bit 4 0000:045Eh bit 6 ・bit 4〜0 分類 対象 内容 未使用 解説 関連 メモリ 0000:045Fh 型 BYTE 名前 分類 対象 内容 未使用(?) 解説 関連 メモリ 0000:0460〜047Fh 型 32 BYTES 名前 分類 SCSI BIOS Undocumented 対象 PC-9801-55初代・55L・55U・92・100, PC-H98-B03・B12, PC-9821X-B02, 上記相当の本体内蔵型SCSIインターフェース 内容 SCSI装置のパラメータテーブル [アドレスとSCSI IDの対応] -----------+--------------------------------- アドレス |内容 -----------+--------------------------------- 0460〜0463h|SCSI ID #0のパラメータテーブル 0464〜0467h|SCSI ID #1のパラメータテーブル 0468〜046Bh|SCSI ID #2のパラメータテーブル 046C〜046Fh|SCSI ID #3のパラメータテーブル 0470〜0473h|SCSI ID #4のパラメータテーブル 0474〜0477h|SCSI ID #5のパラメータテーブル 0478〜047Bh|SCSI ID #6のパラメータテーブル 047C〜047Fh|未使用 *1 -----------+--------------------------------- *1 SCSI ID #7のデバイスは認識されない。常に0が格納されている。 [テーブル構造(1)] (ハードディスク・シリンダ数ビット幅<12ビット>時) -----+--------+--------------------------------- オフセット|ビット |内容 -----+--------+--------------------------------- +0h |bit 7〜0|セクタ数/トラック +1h |bit 7〜0|ヘッド数 +2h |bit 7〜0|シリンダ数のbit 7〜0 +3h |bit 7 |セクタ種別 | | 1= ハードセクタ | | 0= ソフトセクタ |bit 6 |シリンダ数ビット幅指定 | | 1= テーブル構造(2)参照 | | 0= 12ビット |bit 5,4 |セクタ長 | | 10b= 1024バイト | | 01b= 512バイト | | 00b= 256バイト |bit 3〜0|シリンダ数のbit 11〜8 -----+--------+--------------------------------- [テーブル構造(2)] (ハードディスク・シリンダ数ビット幅<16ビット>時) -----+--------+--------------------------------- オフセット|ビット |内容 -----+--------+--------------------------------- +0h |bit 7〜0|セクタ数/トラック +1h |bit 7〜4|シリンダ数のbit 15〜12 |bit 3〜0|ヘッド数 +2h |bit 7〜0|シリンダ数のbit 7〜0 +3h |bit 7 |セクタ種別 | | 1= ハードセクタ | | 0= ソフトセクタ |bit 6 |シリンダ数ビット幅指定 | | 1= 16ビット | | 0= テーブル構造(1)参照 |bit 5,4 |セクタ長 | | 10b= 1024バイト | | 01b= 512バイト | | 00b= 256バイト |bit 3〜0|シリンダ数のbit 11〜8 -----+--------+--------------------------------- * PC-9801-55初代ではシリンダ数ビット幅16ビットはサポートして いない。その他のSCSI I/F(本体内蔵型含む)はサポートしている。 [テーブル構造(3)] (ハードディスク以外) -----+--------+------------------------------------------ オフセット|ビット |内容 -----+--------+------------------------------------------ +0h |bit 7〜6|Peripheral Qualifier |bit 5〜0|Peripheral Device Type | | 00h=Direct access device(ハードディスク) | | 01h=Sequential access device(磁気テープ) | | 02h=Printer device | | 03h=Processor device | | 04h=Write once device(追記型光ディスク) | | 05h=CD-ROM device | | 06h=Scanner device | | 07h=Optical memory device(3.5"MO) | | 08h=Media change device | | 09h=Communication device | | 1Fh=Undefined device type +1h |bit 7 |RMB(Removable) | | 1=交換可能媒体 | | 0=交換不能媒体 |bit 6〜0|Device Type Modifier +2h |bit 7〜0|未使用(00h) +3h |bit 7〜0|未使用(00h) -----+--------+------------------------------------------ 解説 o SCSI ID毎の装置のパラメータが格納されている。 u INT 1Bh - Function 84h(SCSI)が実行されたとき、SCSIデバイスに パラメータを問い合わせるのではなく、BIOSはこのアドレスに書かれた データを元にドライブのパラメータを返す。 u システム起動時とINT 1Bh - Function 03h(SCSI)実行時に、SCSI BIOSは SCSI機器の接続状態を調査する。 得られた情報のうち、SCSI ID毎のハードディスクの接続の有無を 0000:0482hに、ドライブのパラメータをこの領域にセットする。 SCSI装置がなにも接続されていないIDに対応するアドレスの内容はすべて0。 ハードディスク以外の装置が接続されているときには、「テーブル構造(3) (ハードディスク以外)」に示したような値が設定される。 u PC-H98-B12, PC-9801-92・100, PC-9821X-B02(および、前記に相当する本体 内蔵型SCSIインターフェース)では、NEC製以外のHDDの接続が可能である。 NEC製以外のHDDが接続されていたときは、SCSIのRead Capacityコマンドで ドライブの総容量を取得し、ヘッド数=08h、セクタ数=20hと見なして シリンダ数を算出する。このため、ヘッド数とセクタ数は常に固定値が セットされる。 u MS-DOS 3.3D, 5.0以降では、3.5"MO/5"MOドライブが接続されていると そのパラメータをMS-DOSが書き換える。INT 1Bh - Function 84h(SCSI)で ハードディスクと同じようにパラメータが取得できるようになる。ただし、 MS-DOS 3.3Dの場合、3.5"MOをサポートしていないので、5"MOドライブが 接続されているときだけ書き換えを行う。 MS-DOS起動後にINT 1Bh - Function 03h(SCSI)を実行するとMS-DOSが 設定したデータが壊れてしまい、INT 1Bh - Function 84h(SCSI)を 実行したときにでたらめな値が読みだされるようになってしまうが、 動作上の支障はない模様。 MS-DOSによりセットされるパラメータは以下の表の通り。 ただし、PC-9801-55初代では、シリンダ数ビット幅<12ビット>しか サポートしていないため、セクタ長以外の項目には0がセットされる。 表 [MS-DOSによりセットされるパラメータ] ----------+------+------------ 項目 | 5"MO|3.5"MO(128MB)*1 ----------+------+------------ セクタ長 | 1024| 512 シリンダ数| 4656| 9952 ヘッド数 | 1| 1 セクタ数 | 64| 25 ----------+------+------------ *1:MS-DOS 5.0Aは、128MB 3.5"MOドライブしかサポートしていないため、 230MB 3.5"MOドライブを接続した場合もこのパラメータがセットされる。 関連 0000:0482h 0000:05A5h 0000:05AFh INT 1Bh - Function 84h(SCSI) INT DCh - Function 09h メモリ 0000:0480h 型 8bit FLAGS 名前 SYS_TYPE BIOS_FLAG1 ・bit 7 分類 DISK BIOS Undocumented 対象 ノーマル 内容 SASI・IDE BIOSの新センスコマンドサポート 1= サポートあり 0= サポートなし 解説 o INT 1Bh - Function 84h(SASI/ESDI/IDE)のサポートの有無を示す。 o PC-9801-27(5インチ固定ディスクインターフェースボード)上のBIOS、 PC-9801-07(5インチ固定ディスクインターフェースボード)をサポート するBIOSは、INT 1Bh - Function 84h(SASI/ESDI/IDE)をサポートして いないため、このビットは0。PC-9801F3・M3・VM4の内蔵型SASI BIOSは、 これらの互換BIOSなので同様。 ただし、MS-DOS 3.1(PS98-011)以降のMS-DOS環境下では、MS-DOSが INT 1Bh - Function 84h(SASI/ESDI/IDE)をトラップし、エミュレート している。このとき、このビットは1にセットされる。 o PC-9801VX4以降の内蔵型SASI BIOS,ESDI BIOS,IDE BIOS,PC-H98内蔵 HD BIOSは、INT 1Bh - Function 84h(SASI/ESDI/IDE)をサポートしており、 このビットは1。 o ハイレゾモードのSASI BIOS(本体F800hセグメント内)も INT 1Bh - Function 84h(SASI/ESDI/IDE)をサポートしているが、この ビットは0。ただし、ハイレゾモードでもIDE HD内蔵時にはIDE BIOSが このビットを1にする。 o ESDI BIOS(PC-H98/70-E02)はDA/UAがSASI上位互換だが、このフラグは 0で、INT 1Bh - Function 84hをサポートしている。 o PC-H98用内蔵SASI HDD(PC-H98/70-E01・E03の互換モードでは、このフラグ は1。しかし、拡張モードではINT 1Bh - Function 84h(SASI/ESDI/IDE)を サポートしているが、このビットは0。 o SCSI BIOSは、必ずINT 1Bh - Function 84h(SCSI)をサポートしている。 関連 INT 1Bh - Function 84h(SASI/ESDI/IDE) ・bit 6 分類 GRAPHIC Undocumented 対象 ノーマル 内容 EGC対応高速グラフィック処理 1= サポート 0= 非サポート 解説 o グラフィックBIOS,グラフィックLIOでグラフィック描画を行うとき、 ROM内ルーチンがEGCを利用するかどうかを示す。 o このビットが0の機種・モードは以下の通り。 - PC-9801初代・E・F・M・U・VF・VM2・VM21・VX2・UV2・UV21 - PC-9801VX21(V30 8MHz/10MHz, 80286 8MHz) このビットが1の機種・モードは以下の通り。 - PC-9801VX21(80286 10MHz) - 上記以外のノーマルモード 同一機種で、モードによりこのビットが変化するのはPC-9801VX21のみ。 o PC-H98のハイレゾモード,98ハイレゾボード(PC-9821A-E02)のハイレゾ モードでも1を示す。 関連 I/O 0439h bit 1 bit 5 分類 BRANCH 4670 Undocumented 対象 全機種 内容 PC-9864Uの有無 1= PC-9864Uが実装されている 0= PC-9864Uが実装されていない 解説 o PC-9864Uが実装されていると1になる(ノーマル,ハイレゾとも)。 o PC-9864初代はこのビットをセットしない。 関連 0000:0400h bit 0 ・bit 4 分類 DISK BIOS 対象 両用BIOS - 1MB I/Fモード (PC-9801VM2・VM21・UV2・UV21・VX2・VX21・UX, PC-98XA・XLを除く) 内容 両用1MB I/F FDモータ制御 1= 自動停止モード 0= 常時ON 解説 o INT 1Bh - Function 83h(FD)を実行すると、このビットが1になる。 このビットを0にするBIOSファンクションはない。 o 起動時からモータ停止モードに設定されている機種、 システムセットアップメニューで起動時のモードを選択できる機種もある。 関連 0000:0485h INT 1Bh - Function 83h(FD) I/O 00BEh bit 2 ・bit 3 分類 DISK BIOS Undocumented 対象 両用BIOS(PC-9801VM2・VM21・UV2・UV21・VX2・VX21, PC-98XA・XLを除く) 内容 最後にアクセスしたドライブのタイプ 1= 両用FDD 0= 1MB専用外付FDD 解説 u RAMドライブにアクセスした場合には、変化しない。 関連 ・bit 2 分類 POWER 対象 PC-9801LV・N・NS 内容 LOW BATTERY 1= LOW BATTERYアラーム発生 0= LOW BATTERYではない 解説 o PC-98901LV・Nでは、LOW BATTERYになるとNMIが発生する。NMIハンドラが このビットを1にする。 PC-9801NSでは、INT 0EhハンドラがLOW BATTERYのチェックをし、 LOW BATTERYならこのビットを1にする。 関連 I/O 8810h bit 1 ・bit 1,0 分類 CPU判別 対象 全機種 内容 拡張CPUタイプ ■PC-H98 11b= 386 8MHz相当モード以外 00b= 386 8MHz相当モード ■PC-9801NS・NA 11b= V30 10MHz相当モード以外 00b= V30 10MHz相当モード ■PC-98XA 00b= i80286 8MHz ■上記以外(実際の動作CPU) 11b= i386, i486, Pentium 01b= i80286 00b= i8086, V30, V30HL, V50, V33 解説 o PC-H98, PC-9801NS・NA以外の機種では、実際の動作CPUを示す。 関連 メモリ 0000:0481h 型 8bit FLAGS 名前 KEYB_TYPE, BIOS_FLAG3 ・bit 7 分類 SHUT DOWN Undocumented 対象 PC-H98(model70を除く) 内容 シャットダウンポート操作時のワーク 解説 o 詳細不明 関連 I/O 00F0h ・bit 6 分類 KEYBOARD 対象 全機種 内容 キーボード識別(1) -----+-----+------------------------------------- bit 6|bit 3|キーボード種別 -----+-----+------------------------------------- 1 | 1 |新キーボード(NUMキーあり,DIP2-7 OFF) 0 | 1 |新キーボード(NUMキーあり,DIP2-7 ON) 1 | 0 |新キーボード(NUMキーなし) 0 | 0 |旧キーボード -----+-----+------------------------------------- 解説 o 接続されているキーボードの種類を示す。 新キーボード対応機のBIOSは、リセット時にキーボードの種類を調べ、 このビットを設定する。 o 新キーボードとは、[CAPS],[カナ]ロックをソフトウェアからコントロール できるキーボードを指す。 旧キーボードは、ロック状態をソフトウェアからコントロールできない。 NUMキーなしは、デスクトップ機。 NUMキーありは、98NOTE,PC-9801LX・LS・T,PC-9821Ts,PC-H98Tの場合。 o 新キーボード対応機は、i80286以降のCPUを搭載した機種 (PC-9801VX2・VX21・UX, PC-98XA・XL・XL^2を除く)。 98NOTEでは、PC-9801N・NV・NL以外は新キーボード。 o bit 6,3は、次の場合にも00bになる。 - 新キーボード対応の本体に旧キーボードを接続したとき。 - 新キーボード対応の本体を起動したときに、キーボードが接続されて いなかったとき。 - 旧キーボード対応の本体に新キーボードを接続したとき。 - PC-9801Pにキーボードを接続しないとき(キーボードを外付したときには、 DIP SW 2-7に従って11b、または01bになる)。 関連 DIP SW 2-7 0000:0481h bit 3 ・bit 5 分類 EMS Undocumented 対象 ノーマル 内容 NEC B0000hバンクEMSページフレーム用メモリ 1= あり 0= なし 解説 o ソフトウェアエミュレーション方式のEMS(EMM.SYS)で使用するためのページ フレーム用メモリの有無を示す。 o i80286以降のCPUを搭載した機種(PC-9801VX2・VX21・UX, PC-98XA・XL・XL^2, PC-9821Np・Ns・Ne2・Nd・Xa・Xtを除く)のノーマルモードのとき1を示す。 u V30モードやV30相当モードでは、EMSエミュレーションはできないが、 このメモリ自体にはアクセスできる。このビットも1。 関連 I/O 043Fh - 20h,22h ・bit 4 分類 EMS Undocumented 対象 ノーマル 内容 NEC B0000hバンクEMS使用時のバンク状態 1= ページフレーム 0= G-VRAM 解説 o NEC B0000hバンクEMS使用時のバンク状態を示す。EMMがワークエリアとして 使用する。 関連 I/O 043Fh - 20h,22h ・bit 3 分類 KEYBOARD 対象 全機種 内容 キーボード識別(2) 解説 o 0000:0481h bit 6を参照。 関連 0000:0481h bit 6 ・bit 2 分類 MEMORY Undocumented 対象 PC-98RL,PC-H98,PC-9821A-E02(ハイレゾ) 内容 ハイレゾのメモリウィンドウのテスト結果 1= 使用可能 0= 使用不可能 解説 o I/O 0091h,0093hのメモリウィンドウの動作チェック結果を示す。 o PC-98RL,PC-H98,98ハイレゾボード(PC-9821A-E02)のハイレゾモードでは 通常1。 そのほかの機種のハイレゾモードでは、このビットは0を示すが、 I/O 0091h,0093hのメモリウィンドウは使用できる。 u PC-H98のITFでは、エラーが検出されて使用不可能なとき、"EMS ERROR"と 表示する。 EMM.SYS(ソフトウェアエミュレーション方式のEMM)は、このビットを チェックしていない。 関連 I/O 0091h I/O 0093h ・bit 1 分類 HD BIOS Undocumented 対象 SASI, IDE(ノーマルモードのみ) 内容 SASI・IDE HD #1のモード 1= 厚型ドライブ・セクタ長512バイトのとき 0= 厚型ドライブ・セクタ長256バイト,または薄型ドライブのとき 解説 o 詳細不明。INT 1Bh - Function 0Eh(SASI/ESDI/IDE)参照。 u PC-9801CV・LV・UV11・Nでは2台目SASIを接続していなくてもこのビットは 常に1。理由は不明。 関連 0000:0590h bit 1 0000:05ECh INT 1Bh - Function 0Eh(SASI/ESDI/IDE) ・bit 0 分類 HD BIOS Undocumented 対象 SASI, IDE(ノーマルモードのみ) 内容 SASI・IDE HD #0のモード 1= 厚型ドライブ・セクタ長512バイトのとき 0= 厚型ドライブ・セクタ長256バイト,または薄型ドライブのとき 解説 o 詳細不明。INT 1Bh - Function 0Eh(SASI/ESDI/IDE)参照。 関連 0000:0590h bit 0 0000:05E8h INT 1Bh - Function 0Eh(SASI/ESDI/IDE) メモリ 0000:0482h 型 8bit FLAGS 名前 DISK_EQUIPS 分類 SCSI HD BIOS 対象 PC-9801-55初代・55L・55U・92・100,PC-H98-B03・B12,PC-9821X-B02 PC-9821A-E10 上記相当の本体内蔵型SCSIインターフェース 内容 SCSI HD接続状態 ------+-------------------------- ビット|装置 ------+-------------------------- bit 7 | 未使用 bit 6 | SCSI ID #6(DA/UA=A6h,26h) bit 5 | SCSI ID #5(DA/UA=A5h,25h) bit 4 | SCSI ID #4(DA/UA=A4h,24h) bit 3 | SCSI ID #3(DA/UA=A3h,23h) bit 2 | SCSI ID #2(DA/UA=A2h,22h) bit 1 | SCSI ID #1(DA/UA=A1h,21h) bit 0 | SCSI ID #0(DA/UA=A0h,20h) ------+-------------------------- 1= HDDが接続されている 0= HDDが接続されていない 解説 o SCSI HDの接続状態を示す。SCSI BIOSは、リセット時および初期化 ファンクション実行時にハードディスクの接続チェックを行い、結果を この領域に格納する。 o SCSIハードディスクに対してのみ有効。MOやCD-ROMなどが接続されているIDは 1にならない。 関連 0000:0460h 0000:055Ch 0000:05A5h 0000:05AFh INT 1Bh - Function 03h(SASI/SCSI/ESDI/IDE) メモリ 0000:0483h 型 8bit FLAGS 名前 分類 SCSI BIOS Undocumented 対象 PC-9801-55初代・55L・55U・92・100,PC-H98-B03・B12,PC-9821X-B02 PC-9821A-E10 上記相当の本体内蔵型SCSIインターフェース 内容 SCSIステータス --------+------------------------------------------------ ビット |内容 --------+------------------------------------------------ bit 7〜4|WD33C93(A)の終了ステータスのbit 7〜4を変換した値 | 0100b: WD33C93(A)ステータスが0000bのとき | 0000b: WD33C93(A)ステータスが0001bのとき | 0001b: WD33C93(A)ステータスが0010bのとき | 0010b: WD33C93(A)ステータスが0100bのとき | 0011b: WD33C93(A)ステータスが1000bのとき bit 3〜0|WD33C93(A)の終了ステータスのbit 3〜0の値 --------+------------------------------------------------ 00h= Reselectコマンド正常終了 01h= Selectコマンド正常終了 03h= Receive,Send,Reselect and Trasfer, Wait for Receive コマンド正常終了(ATNなし) 04h= Receive,Send,Reselect and Trasfer, Wait for Receive コマンド正常終了(ATNなし) 06h= Select and Transferコマンド正常終了 08h= Transferコマンド正常終了(データアウトフェイズ) 09h= Transferコマンド正常終了(データインフェイズ) 0Ah= Transferコマンド正常終了(コマンドフェイズ) 0Bh= Transferコマンド正常終了(ステータスフェイズ) 0Ch= Transferコマンド正常終了(アンスペシファイドインフォメーションアウトフェイズ) 0Dh= Transferコマンド正常終了(アンスペシファイドインフォメーションインフェイズ) 0Eh= Transferコマンド正常終了(メッセージアウトフェイズ) 0Fh= Transferコマンド正常終了(メッセージインフェイズ) 10h= Transferコマンド(メッセージインフェイズ)がACKのアサート状態でポーズ 11h= Select and Transferコマンド中にセイブデータポインタメッセージ受信 12h= Select,Reselectコマンドがアボートされた 13h= Receive,Sendコマンドがホルトまたはアボートされた(ATNなし) 14h= Receive,Sendコマンドがホルトまたはアボートされた(ATNあり) 18h= Transferコマンドがアボートされた(データアウトフェイズ) 19h= Transferコマンドがアボートされた(データインフェイズ) 1Ah= Transferコマンドがアボートされた(コマンドフェイズ) 1Bh= Transferコマンドがアボートされた(ステータスフェイズ) 1Ch= Transferコマンドがアボートされた(アンスペシファイドインフォメーションアウトフェイズ) 1Dh= Transferコマンドがアボートされた(アンスペシファイドインフォメーションインフェイズ) 1Eh= Transferコマンドがアボートされた(メッセージアウトフェイズ) 1Fh= Transferコマンドがアボートされた(メッセージインフェイズ) 20h= 無効なコマンドがアボートされた 21h= コマンドがターミネイトされディスコネクト 22h= Select,Reselectコマンド実行中にタイムアウト 23h= パリティエラーが発生し、コマンドがターミネイトされた(ATNなし) 24h= パリティエラーが発生し、コマンドがターミネイトされた(ATNあり) 26h= あやまったターゲットデバイスがリセレクトした 27h= 受け取ったメッセージ,ステータス,コマンドが不適切 28h= 予期せぬインフォメーションフェイズ要求(データアウトフェイズ) 29h= 予期せぬインフォメーションフェイズ要求(データインフェイズ) 2Ah= 予期せぬインフォメーションフェイズ要求(コマンドフェイズ) 2Bh= 予期せぬインフォメーションフェイズ要求(ステータスフェイズ) 2Ch= 予期せぬインフォメーションフェイズ要求(アンスペシファイドインフォメーションアウトフェイズ) 2Dh= 予期せぬインフォメーションフェイズ要求(アンスペシファイドインフォメーションインフェイズ) 2Eh= 予期せぬインフォメーションフェイズ要求(メッセージアウトフェイズ) 2Fh= 予期せぬインフォメーションフェイズ要求(メッセージインフェイズ) 30h= リセレクトされた 32h= セレクトされた(ATNなし) 33h= セレクトされた(ATNあり) 34h= ATN信号がすでにアサートされている 35h= ディスコネクト発生 38h= コネクションに続いてREQがアサートされた(データアウトフェイズ) 39h= コネクションに続いてREQがアサートされた(データインフェイズ) 3Ah= コネクションに続いてREQがアサートされた(コマンドフェイズ) 3Bh= コネクションに続いてREQがアサートされた(ステータスフェイズ) 3Ch= コネクションに続いてREQがアサートされた(アンスペシファイドインフォメーションアウトフェイズ) 3Dh= コネクションに続いてREQがアサートされた(アンスペシファイドインフォメーションインフェイズ) 3Eh= コネクションに続いてREQがアサートされた(メッセージアウトフェイズ) 3Fh= コネクションに続いてREQがアサートされた(メッセージインフェイズ) 40h= コマンドまたはMR入力によるリセット 解説 o SCSIコントローラ(WD33C93)の終了ステータスから生成される値が 格納される。INT 1Bh - Function nnh(SCSI共通)実行後AHレジスタに 返される終了ステータス。 関連 INT 1Bh - Function nnh(SCSI共通) メモリ 0000:0484h 型 BYTE 名前 CPU_TYPE, BIOS_FLAG4 ・bit 7,6 分類 HD BIOS 対象 PC-9801RA21・RS・DA・DS・DX・FA・FS・FX,PC-98GS,PC-98RL, PC-9821Ap・As・Ae・Af・Ap2・As2・An 内容 内蔵ハードディスクインターフェースのDMAチャネル 11b= チャネル3 10b= チャネル2 01b= チャネル1 00b= チャネル0,内蔵ハードディスクなし 解説 o 内蔵ハードディスクインターフェースが使用するDMAチャネルを示す。 u PC-9801RA-37,PC-9801DA-37,PC-98RL-37,PC-9801FA-02,PC-9821A-E10の うちのどれかを内蔵できる機種では、本体内のITFがこれらのビットを セットする。 u PC-9801RA21・RS・DA・DS・DX,PC-98GS,PC-98RLにSASI型内蔵HDDを実装したとき、 およびPC-9801FA・FS・FX,PC-9821Ap・As・Ae・Af・Ap2・As2・AnのSCSIインタフェース スロットにSCSIインターフェースを入れただけの状態でも、これらのビットは セットされる。 o PC-9801RA2・RX2・RX21とPC-H98はこれらのビットを使用しない。 o PC-9801RA-37,PC-9801DA-37,PC-98RL-37は、100MB SCSI型 内蔵HDD。PC-9801FA-02,PC-9821A-E10は、PC-9801FA・FS・FX, PC-9821Ap・As・Ae・Af・Ap2・As2・AnのSCSIインタフェーススロット対応SCSI I/F。 関連 I/O 0CC4h I/O 00F0h bit 6,5 I/O 00F6h I/O 7FDBh bit 4■PC-98RL DIP SW 3-3 ・bit 5 分類 HD BIOS Undocumented 対象 PC-9801RA21・RS・DA・DS・DX・FA・FS・FX,PC-98GS,PC-98RL, PC-9821Ap・As・Ae・Af・Ap2・As2・An 内容 内蔵SCSIインターフェースの有無 1= 内蔵SCSIあり 0= 内蔵SCSIなし 解説 o 内蔵SCSIインターフェースの有無を示す。 u PC-9801RA-37,PC-9801DA-37,PC-98RL-37,PC-9801FA-02,PC-9821A-E10のうちの どれかを内蔵できる機種では、本体内のITFがこのビットをセットする。 u PC-9801FA・FS・FX,PC-9821Ap・As・Ae・Af・Ap2・As2・AnのSCSIインタフェース スロットにSCSIインターフェースを入れただけの状態でも、このビットは 1になる。 o PC-9801RA2・RX2・RX21とPC-H98は、上記のSCSI型内蔵HDD(I/F)を実装できない のでこのビットを使用しない。 関連 I/O 00F0h bit 6 ・bit 4 分類 HD BIOS Undocumented 対象 PC-9801RA21・RS・DA・DS・DX・FA・FS・FX,PC-98GS,PC-98RL, PC-9821Ap・As・Ae・Af・Ap2・As2・An 内容 内蔵SASIインターフェースの有無 1= 内蔵SASIあり 0= 内蔵SASIなし 解説 o 内蔵SASIインターフェースの有無を示す。 IDE HDDが内蔵されていても1にはならない。 u PC-9801RA-37,PC-9801DA-37,PC-98RL-37,PC-9801FA-02,PC-9821A-E10のうちの どれかを内蔵できる機種では、本体内のITFがこのビットをセットする。 o このビットが1になるのは、PC-9801RA21・RS・DA・DS・DX,PC-98GS,PC-98RLに SASI型内蔵HDDを実装したとき、およびPC-9801FA・FS・FXでハードウェア DIP SW 5をON(PC-9801FA-03増設用3.5インチ固定ディスクドライブ接続 ユニットを使用する)にしたときである。 PC-9821Ap・As・Ae・Af・Ap2・As2・Anでは、システムセットアップメニューで 「ディスク接続ユニット 使用する」に設定してもこのビットは0。 o PC-9801RA2・RX2・RX21とPC-H98はこのビットを使用しない。 関連 I/O 00F0h bit 5 ・bit 3〜0 分類 CPU速度 対象 全機種 内容 CPUタイプ・クロック判別 ■PC-H98 -----+--------------------+------------------------------------------ 値 |CPU クロック |代表的な機種名(モード) -----+--------------------+------------------------------------------ 1110b|486DX2 66MHz |PC-H98 model105(H) 1110b|486SX 16MHz |PC-H98 model80(H) 1010b|486 20MHz |PC-H98S(H) 1000b|486 25MHz(相当)|PC-H98 model90(H)・100(H)・105(M) 0110b|386 33MHz(相当)|PC-H98 model70(H)・90(M)・100(M) 0100b|386 25MHz |PC-H98 model60(H) 0010b|386 20MHz相当 |PC-H98 model60(M)・70(M), PC-H98S(M) 0000b|386 16MHz相当 |PC-H98 model80(M) 0000b|386 8MHz相当 |PC-H98(L) -----+--------------------+------------------------------------------ ■i386,i486,Pentium動作時(PC-H98以外) -----+--------------------+------------------------------------------ 値 |CPU クロック |代表的な機種名(モード) -----+--------------------+------------------------------------------ 1111b|386SL 20MHz |PC-9801NS/T 1110b|Pentium 90MHz |PC-9821An(H)・Xn(H) 1110b|Pentium 60MHz |PC-9821Af(H) 1110b|DX4 100MHz |PC-9821Xp(H) 1110b|DX4 75MHz |PC-9821Np(H) 1110b|486DX2 66MHz |PC-9821Ap(H)・Bp(H)・Xs(H) 1110b|ODP486SX 33MHz |PC-9821As(H)ODP 1110b|486SX 33MHz |PC-9821Xe 1110b|486SX 16MHz |PC-9801FA 1110b|486SX(J) 16MHz |PC-9801NS/R 1110b|486 16MHz相当 |PC-9821Ap(M)・As(M)・Bp(M) 1110b|V30 8MHz相当 |PC-9801NS/T 1100b|486DX 33MHz |PC-9821As(H) 1100b|486 33MHz相当 |PC-9821Af(M)・An(M) 1010b|486SX 20MHz |PC-9801NA 1010b|486SX(J) 20MHz |PC-9801P・NX/C 1000b|486SX 25MHz |PC-9821Ae(H)・Ce(H) 0011b|386SX 20MHz |PC-9801T・NC・NS/L,PC-98GS, | |PC-9821初代(H)・Ce(H) 0010b|386 20MHz相当 |PC-9801NA(M) 0010b|386 20MHz相当 |PC-9801Ae(M) 0010b|386DX 20MHz |PC-9801DA・RA21,PC-98RL 0010b|V30 10MHz相当 |PC-9801NC(L) 0001b|386SX 16MHz |PC-9801ES・RS・LS・US・DS・NS/E 0001b|386SX 12MHz |PC-9801NS(H) 0001b|386 16MHz相当 |PC-9801FA(M) 0001b|386SX 20MHz省電力|PC-9801NS/L 0000b|386DX 16MHz |PC-9801RA2・RA21・DA,PC-98XL^2・RL 0000b|V30 10MHz相当 | 0000b|V30 8MHz相当 | -----+--------------------+------------------------------------------ * 値が1110bの時、0000:045Ahにさらに詳しいクロック情報が提供される 機種がある。 * V30 10MHz相当のときでも、システムクロックが10MHzとは限らない (PC-9801NS/Eなど)。 * V30 8MHz相当のときでも、システムクロックが8MHzとは限らない (PC-9821初代など)。 ■i80286動作時(PC-98XA以外) (0000:0480h bit 1,0=01b) -----+--------------------+------------------------------------------ 値 |CPU クロック |代表的な機種名(モード) -----+--------------------+------------------------------------------ 0010b|80286 12MHz |PC-9801EX・RX2・RX21・LX・DX 0000b|80286 10MHz |PC-9801VX21・UX・EX・RX2・RX21・LX・DX, PC-98XL 0000b|80286 8MHz |PC-9801VX2・VX21・RX2・RX21・DX, PC-98XL 0000b|V30 10MHz相当 |PC-9801DX -----+--------------------+------------------------------------------ ■PC-98XA (0000:0480h bit 1,0=00b) -----+--------------------+------------------------------------------ 値 |CPU クロック |機種名(モード) -----+--------------------+------------------------------------------ 0000b|80286 8MHz |PC-98XA -----+--------------------+------------------------------------------ ■8086,V30,V30HL,V33A,V50,V50HL動作時 (0000:0480h bit 1,0=00b) -----+--------------------+------------------------------------------ 値 |CPU クロック |代表的な機種名(モード) -----+--------------------+------------------------------------------ 0010b|V33A 16MHz |PC-98DO+(H) 0010b|V30HL 16MHz |PC-9801NV・NL・UR(H) 0000b|V33A 8MHz |PC-98DO+(L) 0000b|V30HL 8MHz |PC-9801NV・NL・UR(L) 0000b|V50HL 10MHz |DB-P1 0000b|V50 10MHz |PC-98HA 0000b|V50 8MHz |PC-98LT 0000b|V30 10MHz相当 |PC-9801NA・NS 0000b|V30 10MHz | 0000b|V30 8MHz | 0000b|8086 8MHz | 0000b|8086 5MHz | -----+--------------------+------------------------------------------ * PC-9801NA・NSは、i486SX,i386SX機(V30非搭載)だが、V30相当モードに 設定すると0000:0480h bit 1,0=00bになるので、ここに分類した。 解説 o CPUタイプとクロックにより変化する。ただし、CPU速度と値の対応は、 必ずしも整理されているわけではない。 o bit 0は、i386SX,i386SL(98)のとき1を示す。 o 動作CPUを判定する方法は以下の通り。 -----------------------------------+----------------------- 動作CPU |判定方法 -----------------------------------+----------------------- PC-H98 |0000:0458h bit 7=1 i386,i486,Pentium動作時(PC-H98以外)|0000:0458h bit 7=0 かつ |0000:0480h bit 1,0=11b i80286動作時(PC-98XA以外) |0000:0480h bit 1,0=01b PC-98XA |0000:0501h bit 5,3=01b 8086,V30,V30HL,V33A,V50,V50HL動作時|0000:0458h bit 7=0 かつ |0000:0480h bit 1,0=00b -----------------------------------+----------------------- 関連 CPU速度関係 メモリ 0000:0485h 型 BYTE 名前 分類 DISK BIOS Undocumented 対象 両用BIOS - 1MB I/Fモード(PC-9801VM2・VM21・UV2・UV21・VX2・VX21, PC-98XA・XLを除く) 内容 モータ停止カウンタ(単位:100ms) 解説 o INT 1Bh - Function 83h(FD)でモータ停止モードに設定したときに 使用されるカウンタ。 u ディスクI/Oの終了時に、0000:05CBhの値(モータ停止時間の初期値)が コピーされる。100ms毎にFDCが発生する割り込みによって1づつ デクリメントされ、0になるとモータが停止する。 関連 0000:05A4h 0000:05CBh 0000:05D7h INT 1Bh - Function 83h(FD) メモリ 0000:0486〜0487h 型 WORD 名前 分類 CPU Undocumented 対象 i386(PC-98XL^2を除く),i486,Pentium搭載機 内容 CPUリセット時のDXレジスタの値 -----+-----------------------+------------------------------------- 値 |CPU |主な搭載機種・コメント等 -----+-----------------------+------------------------------------- 0303h|i386DX(B0,B1 Step) |PC-98XL^2(仮想86,Windows動作不能品) 0305h|i386DX(D0 Step) |PC-9801RA2 0308h|i386DX(D1,D2 Step) |PC-9801RA21・DA,PC-H98 model70 2304h|i386SX(A0 Step) | 2305h|i386SX(B Step) |PC-9801ES・RS・LS 2308h|i386SX(C Step) |PC-9801T・NS・NS/E・NC・NS/L・RS・DS・US, | |PC-98GS,PC-9821初代 33xxh|i376 |組み込み用CPU 430xh|i386SL(A-step) |ISA用Microprocessor Superset 431xh|i386SL(B-step) |ISA用Microprocessor Superset 5300h|i386SL(98) |PC-9801NS/T 0340h|RapidCAD | A301h|IBM 386SLC(step 1) |参考 0400h|i486DX(A0 Step) | 0401h|i486DX(B3〜B6 Step) | 0402h|i486DX(C0 Step) | 0403h|i486DX(C1 Step) | 0404h|i486DX(D0 Step) |PC-H98 model100, PC-9821As 0410h|i486DX(cA2/cA3 Step) | 0411h|i486DX(cB2/cB3 Step) | 0420h|i486SX(A0 Step) |PC-9801FA, PC-H98 model90, PC-H98S 0420h|i487SX(A0 Step) | 0421h|i487SX(B0 Step) | 0422h|i486SX |PC-9801NA, PC-9821Ae・Ce (QFP) 0423h|i486SX SL Enhanced,5.0V|PC-9801BX3 (PGA) 0424h|i486SX SL Enhanced,3.3V|PC-9821Ne,PC-9801NS/A (SQFP) 0427h|i486SX(cA0 Step) |PC-486GR (QFP) 0428h|i486SX(cB0 Step) |PC-486SR (QFP) 042Ah|i486SX SL Enhanced,5V |PC-9821As2 (QFP) 0432h|i486DX2(A Step) | 0432h|ODP486SX(A2 Step) | 0433h|i486DX2(B Step) |PC-H98 model105, PC-9821Ap, PC-9801BA 0433h|ODP486SX(B1 Step) | 0435h|i486DX2 SL Enhanced,5V |PC-9801BA2,PC-9821Bp・Ap2 (PGA) 044xh|i486SL |ISA用Microprocessor Superset 045xh|i486SX2 | 0460h|i486SX(J) |PC-9801NS/R・P・NX/C・NL/R 0470h|i486DX2 WB Enhanced |PC-9821As3,PC-9801BA3 0480h|iDX4 75MHz,100MHz |PC-9821Xp・Np 043xh|AMD DX2 |参考 047xh|AMD DX2 WB |参考 048xh|AMD DX4 |参考 049xh|AMD DX4 WB |参考 041xh|UMC U5D (DX相当) |参考 042xh|UMC U5S (SX相当) |参考 A412h|IBM 486SLC |参考 A422h|IBM 486SLC2 |参考 0513h|Pentium 60MHz(PGA Sera)|PC-9821Af・Bf 0515h|Pentium 60MHz(PGA Gold)|PC-9821Cf 0521h|Pentium 90MHz(SPGA) |PC-9821An・Xt・Xa・Xn 0524h|Pentium 90MHz(TAB) |PC-9821Nf (FPUバグなし版) 153xh|ODP486DX2(P24T) | -----+-----------------------+------------------------------------- -----+------------------------+------------------------------------- 値 |Military i486 DX CPU | -----+------------------------+------------------------------------- 0401h|i486DX(B3,B4,B5,B6 Step)|Military and Special Products IIより 0402h|i486DX(C0 Step) | 0404h|i486DX(D0 Step) | 0411h|i486DX(CB0 Step) | -----+------------------------+------------------------------------- * 表には、PC-9800シリーズに搭載されていないCPUも含めて収録した。 解説 o CPUリセット時のDXレジスタの値(CPU ID)を保持している。 u システム起動時、ITFからBIOSの初期化ルーチンに処理が移った直後、 BIOSは内部的にCPUのシャットダウン(リセット)を行う。そのときの DXレジスタの値をこのアドレスに書き込む。 i386以降のCPUを搭載する機種のうち、PC-98XL^2だけはこのアドレスに CPU IDを格納しない。表にはPC-98XL^2が出荷時に搭載していたCPUの バージョンを記したが、実際にこの値が格納されるわけではない (0000hを示す)。 u V30動作時とV30相当モードのとき、このアドレス値は0000h。ただし、 PC-9801NS・NS/E・NS/L・NS/Tだけは、V30相当モードでもi386モードと 同じようにCPU IDが格納される。 関連 I/O 00F0h メモリ 0000:0488h 型 8bit FLAGS 名前 RDISK_EQUIP 分類 DISK BIOS,RAM DRIVE 対象 RAMドライブ搭載機(PC-98HA,DB-P1を含む) 内容 RAMドライブの接続状態 ------+--------------- ビット|装置 ------+--------------- bit 7 |640KB FD UNIT#3 bit 6 |640KB FD UNIT#2 bit 5 |640KB FD UNIT#1 bit 4 |640KB FD UNIT#0 bit 3 |1MB FD UNIT#3 bit 2 |1MB FD UNIT#2 bit 1 |1MB FD UNIT#1 bit 0 |1MB FD UNIT#0 ------+--------------- 1= RAMドライブ 0= 非RAMドライブまたはドライブなし 解説 o RAMドライブが、FDDのどのユニット番号のエミュレーションをしているかを 示す。 o BIOSでアクセス可能なFDDのユニット番号は、0000:055Ch (FDD,SASI・ESDI HDDの接続状態)をチェックすればわかる。しかし、 その領域を調べるだけでは、あるドライブがFDDなのかRAMドライブ なのかを区別することはできない。 RAMドライブは媒体交換ができないので、アプリケーションからRAMドライブを 区別したいときがある。そのようなとき、このビットを調べればRAMドライブか FDDかを区別することができる。 o RAMドライブでも、同時に0000:055Chの対応する装置番号のビットが1になる。 関連 0000:0400h bit 7 0000:055Ch メモリ 0000:0489〜048Dh 型 5 BYTES 名前 分類 DISK BIOS,RAM DRIVE Undocumented 対象 RAMドライブ搭載機(PC-98HA,DB-P1を除く) 内容 RAMドライブBIOSワーク(ジャンプコード) 解説 o RAM DRIVE BIOSからROM BIOS内のDISK BIOSエントリにFARジャンプ するためのコード。 関連 メモリ 0000:048Eh 型 BYTE 名前 分類 DISK BIOS,RAM DRIVE Undocumented 対象 RAMドライブ搭載機(PC-98HA,DB-P1を含む) 内容 RAMドライブBIOSワーク --------+----------------------------------------------- ビット | --------+----------------------------------------------- bit 7 |RAMドライブBIOS処理中フラグ(PC-9801NS/Tを除く) | 1= 処理中 | 0= 処理中ではない bit 6〜4|I/O 0E8Ehに出力する値(SMM搭載機) | I/O 0E8Ehに出力する値が80〜FFhのとき、 | その値を保持している。 bit 3 |FDDドライブBIOS処理中フラグ(PC-9801N・NS,PC-98HA,DB-P1を除く) | 1= 処理中 | 0= 処理中ではない bit 2 |RAMドライブ番号(PC-9801N・NS,PC-98HA,DB-P1を除く) | 1= RAM DIRVEはユニット#0(FDDはユニット#1) | 0= RAM DIRVEはユニット#1(FDDはユニット#0) bit 1,0 |両用BIOS I/Fモード | 10b= 1MB I/Fモード | 01b= 640KB I/Fモード |* PC-98HA,DB-P1は常に01b。 --------+----------------------------------------------- 解説 o RAMドライブの各種ステータスを格納する。 関連 I/O 0E8Eh メモリ 0000:048Fh 型 BYTE 名前 分類 対象 内容 未使用 解説 関連 メモリ 0000:0490h〜0491h 型 WORD 名前 分類 BEEP Undocumented 対象 ハイレゾ 内容 INT 18h - Function 17hのビープ音程(単位:8253Aの分周値) --------------+------ タイマクロック|初期値 --------------+------ 2MHz |03E6h 2.5MHz |04CDh --------------+------ 解説 o INT 18h - Function 17hで使用するビープ音程。INT 18h - Function 23h (ブザー周波数の設定)の設定結果が格納される。 関連 INT 18h - Function 17h INT 18h - Function 23h メモリ 0000:0492h 型 8bit FLAGS 名前 DISK_RESET 分類 FD DISK BIOS 対象 両用BIOS 内容 両用FDリキャリブレイト要求フラグ ------+--------------- ビット|装置 ------+--------------- bit 7 |640KB FD UNIT#3 bit 6 |640KB FD UNIT#2 bit 5 |640KB FD UNIT#1 bit 4 |640KB FD UNIT#0 bit 3 |1MB FD UNIT#3 bit 2 |1MB FD UNIT#2 bit 1 |1MB FD UNIT#1 bit 0 |1MB FD UNIT#0 ------+--------------- 1= リキャリブレイト要求あり 0= リキャリブレイト要求なし 解説 o アクセスモード(1MB/640KB)を変更したときなどに1にセットされる。 次回アクセス時、ビットが1のドライブに対してリキャリブレイトを 行う。リキャリブレイトが終了するとビットは0にリセットされる。 関連 メモリ 0000:0493h 型 8bit FLAGS 名前 F2HD_MODE 分類 DISK BIOS 対象 両用BIOS - 1MB I/Fモード 内容 640KB FDDのアクセスモード [INT 1Bh - Function 8Eh(FD)の設定値] bit 7: 640KB FDD UNIT#3 bit 6: 640KB FDD UNIT#2 bit 5: 640KB FDD UNIT#1 bit 4: 640KB FDD UNIT#0 1= 80シリンダ(2DD,1DD) 0= 40シリンダ(2D,1D) [INT 1Bh - Function 0Eh(FD)の設定値] bit 3: 640KB FDD UNIT#3 bit 2: 640KB FDD UNIT#2 bit 1: 640KB FDD UNIT#1 bit 0: 640KB FDD UNIT#0 1= 両面 0= 片面 * 初期値 = FFh(2DD/両面) 解説 o 両用BIOS - 1MB I/Fモード時の、INT 1Bh - Function 0Eh,8Ehの設定値を 格納する。 関連 0000:05CAh INT 1Bh - Function 04h(FD) INT 1Bh - Function 84h(FD) INT 1Bh - Function 0Eh(FD) INT 1Bh - Function 8Eh(FD) メモリ 0000:0494h 型 8bit FLAGS 名前 DISK_EQUIP2 分類 DISK BIOS 対象 両用BIOS(ノーマル) 内容 両用BIOS・640KB I/Fモード時の外付1MBドライブ接続状態 bit 7〜4:ドライブの接続状況 1= 接続 0= 非接続 --------+---------------------- ビット |装置 --------+---------------------- bit 7 |ユニット#3 (DA/UA=F3h) bit 6 |ユニット#2 (DA/UA=F2h) bit 5 |ユニット#1 (DA/UA=F1h) bit 4 |ユニット#0 (DA/UA=F0h) bit 3〜0|未使用 --------+---------------------- 解説 o 両用BIOS・640KB I/Fモード時の1MBドライブ接続状態を示す。 u このフラグは、以下の条件が全て成立したときだけセットされる。 - 本体の1MB FD I/Fコネクタに外付1MB FDが接続されている。 - 両用FD I/Fの設定が自動認識640KB I/Fモードである。 (DIP SW 3-1=OFF, 3-2 ON) - 両用FD I/Fが640KB I/Fモードである。 (640KBメディアのシステムディスクか、FD以外の装置から起動したとき) この条件に合致したときだけ、外付1MB FDDの接続状況がこのアドレスで 示される(MS-DOSからも利用できるようになる)。 両用FD I/Fが640KB I/Fモードのときに、本体の1MB FD I/Fコネクタに接続 された外付1MB FDがBIOSに認識されるのは、上記条件の場合に限られる。 o この場合の外付1MB FDDの接続状況は、0000:055Chのフラグには反映せず、 このアドレスでのみ接続を確認できる。 関連 0000:055Ch メモリ 0000:0495h 型 BYTE 名前 GRAPH_CHG 分類 GRAPHICS 対象 GRCG,EGC搭載機 内容 GRCG/EGCモードレジスタ設定値 解説 o GRCG/EGCのモードレジスタの設定値。 GC/EGCに書き込みを行うプログラムは、必ず同時にこのアドレスにも 書き込みを行う必要がある。マウスドライバのように、割り込みルーチン内で GRCG/EGCにアクセスするプログラムが、このアドレスの内容を参照して GRCG/EGCのレジスタを復帰するからである。 o この値が0のときはGRCG/EGCは未使用。 関連 0000:0496h I/O 007Ch[ノーマル] I/O 00A4h[ハイレゾ] メモリ 0000:0496〜0499h 型 4 BYTES 名前 GRAPH_TAL 分類 GRAPHICS 対象 GRCG,EGC搭載機 内容 GRCG/EGCタイルレジスタ設定値 --------+---------------- アドレス|内容 --------+---------------- 0496h |タイルレジスタ#0 0497h |タイルレジスタ#1 0498h |タイルレジスタ#2 0499h |タイルレジスタ#3 --------+---------------- 解説 o GRCG/EGCのタイルレジスタの設定値。 0000:0495h(GRCG/EGCモードレジスタ設定値)と同様に使用する。 関連 0000:0495h I/O 007Eh[ノーマル] I/O 00A6h[ハイレゾ] メモリ 0000:049A〜04ABh 型 18 BYTES 名前 分類 BRANCH BIOS Undocumented 対象 PC-9864初代・U + ノーマル 内容 オリジナルINT B1h/INT 1Bh/INT 1AhエントリへのFARジャンプコード -----------+---------------------------------------------- アドレス |内容 -----------+---------------------------------------------- 049A〜049Fh|オリジナルINT B1hエントリへのFARジャンプコード 04A0〜04A5h|オリジナルINT 1BhエントリへのFARジャンプコード 04A6〜04ABh|オリジナルINT 1AhエントリへのFARジャンプコード -----------+---------------------------------------------- 解説 o BRANCH 4670 BIOS動作時、オリジナルINT B1h/INT 1Bh/INT 1Ahエントリへの FARジャンプコードが格納される。 関連 0000:0400h bit 0 0000:041E〜0443h 0000:0480h bit 5 0000:05E5〜05E7h F800:7FE0h メモリ 0000:049Bh(DB-P1) 型 8bit FLAGS 名前 分類 Undocumented 対象 DB-P1 内容 INT 1Fh - Function B0h,B1h関連 bit 3: INT 1Fh - Function B0h,B1h実行中、I/O FEC6h bit 3の保存/復帰用 bit 2: INT 1Fh - Function B0h,B1h実行中、I/O FEC6h bit 2の保存/復帰用 1= 表示画面プレーン1 0= 表示画面プレーン0 解説 o 詳細不明。 関連 INT 1Fh - Function B0h I/O FEC6h メモリ 0000:049C〜04A1h(DB-P1) 型 6 BYTES 名前 分類 KEYBOARD BIOS Undocumented 対象 DB-P1 内容 キーボードハンドラのワークエリア -----------+------------------------------------------------- アドレス |内容 -----------+------------------------------------------------- 049Ch(BYTE)|不明。初期値=08h。 049Dh(BYTE)|キーボードI/F用8251A(I/O 0041h)エミュレーション用 049Eh(WORD)|キー押下状態フラグ(1=ON, 0=OFF) | bit 13:ワークエリア | bit 8:[取消] | bit 7:[目次] | bit 6:[機能] | bit 5:[次頁] | bit 4:[前頁] | bit 3:[↑] | bit 2:[←] | bit 1:[→] | bit 0:[↓] 04A0h(WORD)|不明。初期値=0000h -----------+------------------------------------------------- 初期値 = 08h,FFh,00h,00h,00h,00h 解説 o キーボードハンドラが使用するワークエリア。 o DB-P1は、キーボードI/F用8251A(I/O 0041h)を持たないが、PC-98HAとの 互換性のため、0000:049DhをI/O 0041hに見立てて内部の処理を行って いる。INT 09hハンドラで使用。 o INT 18h - Function 04h Subfunction FFhは、DB-P1の全キーの状態を 一度に取得できる。このファンクションは、実際には0000:049Ehの値を 返しているだけである。 関連 INT 18h - Function 04h Subfunction FFh メモリ 0000:04A2〜04A3h(DB-P1) 型 2 BYTES 名前 分類 DISK BIOS Undocumented 対象 DB-P1 内容 DISK BIOSのワークエリア -----------+----------------------------------------------------- アドレス |内容 -----------+----------------------------------------------------- 04A2h(BYTE)|両用FD I/F切り換えポート(I/O 00BEh)エミュレーション用 | 初期値=0Eh 04A3h(BYTE)|不明。初期値=0Ch。 -----------+----------------------------------------------------- 解説 o DISK BIOSが使用するワークエリア。 o DB-P1は、両用FD I/F切り換えポート(I/O 00BEh)を持たないが、PC-98HAとの 互換性のため、0000:04A2hをI/O 00BEhに見立てて内部の処理を行って いる。 関連 メモリ 0000:04A4h(DB-P1) 型 8bit FLAGS 名前 分類 Undocumented 対象 DB-P1 内容 INT 1Fh - Function 92h(DB-P1)関連 bit 7: INT 1Fh - Function 92h Subfunction 02h,03hでセット/クリア bit 0: INT 1Fh - Function 92hでセット/クリア 解説 o 詳細不明 関連 INT 1Fh - Function 92h(DB-P1) メモリ 0000:04A5〜04A6h(DB-P1) 型 2 BYTES 名前 分類 Undocumented 対象 DB-P1 内容 INT 0Ahハンドラで使用 -----------+----------------------------------------------------- アドレス |内容 -----------+----------------------------------------------------- 04A5h(BYTE)|不明。初期値=00h。 04A6h(BYTE)|不明。初期値=00h。INT 70h関連。 -----------+----------------------------------------------------- 解説 o 詳細不明。 関連 INT 0Ah(外部割り込み…LT・HA) メモリ 0000:04A7h(DB-P1) 型 8bit FLAGS 名前 分類 Undocumented 対象 DB-P1 内容 INT 1Fh - Function 92h(DB-P1)関連 bit 3: INT 1Fh - Function 92hでチェック bit 2: INT 1Fh - Function 92hでチェック 解説 o 詳細不明。 関連 INT 1Fh - Function 92h(DB-P1) メモリ 0000:04AC〜04AFh 型 DWORD 名前 XROM_PTR 分類 DISK BIOS 対象 ノーマル,ハイレゾ,PC-98LT・HA,DB-P1 内容 拡張DISK BIOSのジャンプ先アドレス格納用ワークエリア 解説 o 本体内BIOSのINT 1Bhハンドラから拡張ROM BIOSにFARジャンプするとき、 ジャンプ先アドレスを格納するために使用する。 関連 0000:04B0h メモリ 0000:04B0〜04BFh 型 16 BYTES 名前 DISK_XROM 分類 DISK BIOS 対象 ノーマル,ハイレゾ,PC-98LT・HA,DB-P1 内容 拡張DISK BIOSテーブル --------+---------------------------------------------- アドレス|内容 --------+---------------------------------------------- 04B0h |DA/UA=0xhの拡張DISK BIOSのセグメント(上位8bit) 04B1h |DA/UA=1xhの拡張DISK BIOSのセグメント(上位8bit) 04B2h |DA/UA=2xhの拡張DISK BIOSのセグメント(上位8bit) 04B3h |DA/UA=3xhの拡張DISK BIOSのセグメント(上位8bit) 04B4h |DA/UA=4xhの拡張DISK BIOSのセグメント(上位8bit) 04B5h |DA/UA=5xhの拡張DISK BIOSのセグメント(上位8bit) 04B6h |DA/UA=6xhの拡張DISK BIOSのセグメント(上位8bit) 04B7h |DA/UA=7xhの拡張DISK BIOSのセグメント(上位8bit) 04B8h |DA/UA=8xhの拡張DISK BIOSのセグメント(上位8bit) 04B9h |DA/UA=9xhの拡張DISK BIOSのセグメント(上位8bit) 04BAh |DA/UA=Axhの拡張DISK BIOSのセグメント(上位8bit) 04BBh |DA/UA=Bxhの拡張DISK BIOSのセグメント(上位8bit) 04BCh |DA/UA=Cxhの拡張DISK BIOSのセグメント(上位8bit) 04BDh |DA/UA=Dxhの拡張DISK BIOSのセグメント(上位8bit) 04BEh |DA/UA=Exhの拡張DISK BIOSのセグメント(上位8bit) 04BFh |DA/UA=Fxhの拡張DISK BIOSのセグメント(上位8bit) --------+---------------------------------------------- 解説 o 拡張DISK BIOSのROMアドレスを示すテーブル。 拡張DISK BIOSが組み込まれると、そのBIOSがサポートするDA/UAに対応する アドレスに、BIOSセグメントの上位8ビットが設定される。 たとえば、SCSI I/Fを実装したときには、SCSI BIOSがDA/UA=2xh,Axh,Cxhを サポートするので、04B2h,04BAh,04BChにSCSI BIOSセグメント(通常CC00h)の 上位8ビットの値(CCh)がセットされる。 拡張DISK BIOSが組み込まれていないDA/UAは00h。 u 本体内のINT 1Bhハンドラは、処理の最初でこのテーブルをチェック する。AL(DA/UA指定)の値を元に、拡張DISK BIOSが登録されているかどうかを 調べる。 登録されていた場合は、その拡張DISK BIOSのオフセット0018hにFARジャンプ する。登録されていない場合は、本体内DISK BIOSが処理を行う。本体内 DISK BIOSもサポートしていないDA/UAが指定された場合は、エラーで終了 する。 u PC-9801初代の本体内BIOSは、拡張DISK BIOS(拡張ROM)を認識する機能を持って いない。しかし、PC-9801-08(PC-9801初代専用2DD FD I/F)付属のROMを 本体内のソケットに実装したときは、拡張DISK BIOSを認識できる ようになる。このとき、この拡張DISK BIOSテーブルを使用する。 u このテーブルは、拡張ROM(拡張DISK BIOS)内の初期化ルーチンが設定する。 リセット後、本体内BIOS(PC-9801初代を除く)は初期化処理の中で、 ジャンプテーブルを持つ拡張ROMの有無をチェックする。ジャンプテーブルを 持つ拡張ROMが存在していると判断すると、本体内BIOSは拡張ROMのジャンプ テーブル内にある初期化ルーチンのエントリ3箇所(オフセット000Ch,000Fh, 0012h)を順次FAR CALLする。拡張ROMがDISK BIOSを拡張するものであるなら (つまり拡張DISK BIOSなら)、拡張ROMは初期化ルーチンのなかで、この 拡張DISK BIOSテーブルを設定する。 関連 0000:04ACh 0000:04C0h メモリ 0000:04C0〜04F3h 型 52 BYTES 名前 XROM_ID 分類 ノーマル,ハイレゾ 対象 ハイレゾ(PC-98XAを除く) 内容 拡張ROM IDテーブル ■ハイレゾ(PC-98XAを除く) -----------+----------------- アドレス |内容 -----------+----------------- 04C0h |E6000h 拡張ROM ID 04C1h |E7000h 拡張ROM ID 04C2h |E8000h 拡張ROM ID 04C3h |E9000h 拡張ROM ID 04C4h |EA000h 拡張ROM ID 04C5h |EB000h 拡張ROM ID 04C6h |EC000h 拡張ROM ID 04C7h |ED000h 拡張ROM ID 04C8h |EE000h 拡張ROM ID 04C9h |EF000h 拡張ROM ID 04CA〜04CFh|未使用 -----------+----------------- ■ノーマル -----------+----------------- アドレス |内容 -----------+----------------- 04D0h |D0000h 拡張ROM ID 04D1h |D1000h 拡張ROM ID 04D2h |D2000h 拡張ROM ID 04D3h |D3000h 拡張ROM ID 04D4h |D4000h 拡張ROM ID 04D5h |D5000h 拡張ROM ID 04D6h |D6000h 拡張ROM ID 04D7h |D7000h 拡張ROM ID 04D8h |D8000h 拡張ROM ID 04D9h |D9000h 拡張ROM ID 04DAh |DA000h 拡張ROM ID 04DBh |DB000h 拡張ROM ID 04DCh |DC000h 拡張ROM ID 04DDh |DD000h 拡張ROM ID 04DEh |DE000h 拡張ROM ID 04DFh |DF000h 拡張ROM ID -----------+----------------- * PC-9801E・F・Mは、D8000h以降の拡張ROMを認識しないので 04D8〜04DFhを使用しない。 ■PC-98XA -----------+----------------- アドレス |内容 -----------+----------------- 04E0〜04E5h|未使用 04E6h |E6000h 拡張ROM ID 04E7h |E7000h 拡張ROM ID 04E8h |E8000h 拡張ROM ID 04E9h |E9000h 拡張ROM ID 04EAh |EA000h 拡張ROM ID 04EBh |EB000h 拡張ROM ID 04ECh |EC000h 拡張ROM ID 04EDh |ED000h 拡張ROM ID 04EEh |EE000h 拡張ROM ID 04EFh |EF000h 拡張ROM ID 04F0h |F0000h 拡張ROM ID 04F1h |F1000h 拡張ROM ID 04F2h |F2000h 拡張ROM ID 04F3h |F3000h 拡張ROM ID -----------+----------------- 拡張ROM IDの意味 --------+------------------------------------------------ ビット |内容 --------+------------------------------------------------ bit 7 |拡張ROMの有無 | 1=あり | 0=なし bit 6 |ジャンプテーブルの有無 | 1=あり | 0=なし(4Kバイトを超える拡張ROMの4Kバイト以降の領域) bit 5〜0|拡張ROM識別コード |拡張ROMに与えられた00〜3Fhの値 |(ROM毎にユニークな値とは限らない) --------+------------------------------------------------ 拡張ROM IDと製品名 ---------------+----------------------------------------------------- 拡張ROM ID |製品名 ---------------+----------------------------------------------------- C0h,80h,80h,80h|PC-9801NのD8000hバンク C2h,82h |PC-9801-55初代・L・U,PC-9801-92・100,PC-H98-B03・B12 |(上記製品と互換の内蔵型含む) C6h,86h,86h,86h|PC-9864-02,PC-9864L D0h,90h,90h,90h|PC-9801NVのD8000hバンク D9h |PC-9801-27,PC-9801VX4内蔵SASI BIOS E9h,A9h |PC-H98/70-B02(内蔵ESDI)BIOS E9h |PC-9801VX4,PC-98XL(ノーマル)以降の内蔵SASI BIOS EAh,AAh,AAh,AAh|PC-9801NS・UR・USのD8000hバンク, PC-9821の内蔵IDE BIOS FAh,BAh,BAh,BAh|PC-9801NS/E・NC・NS/T・NL・NS/L・NA・NS/R・P・NX/C・NS/A・NL/R, |PC-9821NeのD8000hバンク ---------------+----------------------------------------------------- * 拡張ROM ID欄に複数の値が記述されている場合、そのROMは表の順序で 拡張ROM IDテーブルに値を格納することを示す。つまり、そのROMは <値の個数>×4Kバイトの領域を占有することになる。 * ここに挙げた拡張ROM IDは、筆者が確認できたものだけである。 解説 o ジャンプテーブルを持つ拡張ROMの有無を示すテーブル。 拡張ROM領域にジャンプテーブルを持つ拡張ROMが配置されているとき、 拡張ROM IDテーブル内の対応するアドレスが00h以外の値に設定される。 たとえば、PC-9821にIDE HDを実装したときには、IDE BIOSがD8000〜DBFFFhを 占有するので、04D8〜04DBhにEAh,AAh,AAh,AAhがセットされる。 o 全ての拡張ROMがジャンプテーブルを持つとは限らない。ジャンプテーブルを 持たない拡張ROMには、サウンドBIOS ROM(PC-9801-26・86等が搭載), RS-232C BIOS ROM(PC-9861搭載),GP-IB BIOS ROM(PC-9801-29等が搭載)など がある。 DISK BIOSを拡張するための拡張ROMは、必ずジャンプテーブルを持つ。また、 BRANCH 4670 BIOS ROM(PC-9864-02, PC-9864L・U搭載)もジャンプテーブルを 持つ。 o ノーマルモードでは、D0000〜DFFFFhの範囲で4K(1000h)バイト毎に拡張ROMの 存在をチェックする。ただし、PC-9801E・F・MはD0000〜D7FFFhの範囲しか チェックしない。 o ハイレゾモードでは、E6000〜EFFFFhの範囲で4Kバイト毎に拡張ROMの存在を チェックする。PC-98XAだけはF0000〜F3FFFhも拡張ROM領域として使用 することができる。 u このテーブルは、拡張ROM内の初期化ルーチンが設定する。 リセット後、本体内BIOS(PC-9801初代を除く)は初期化処理の中で、 ジャンプテーブルを持つ拡張ROMの有無をチェックする。ジャンプテーブルを 持つ拡張ROMが存在していると判断すると、本体内BIOSは拡張ROMのジャンプ テーブル内にある初期化ルーチンのエントリ3箇所(オフセット000Ch,000Fh, 0012h)を順次FAR CALLする。拡張ROM IDは、オフセット000Chの初期化 ルーチン内で設定される。 u PC-9801初代の本体内BIOSは、拡張ROMを認識する機能を持っていないので、 このワークエリアを使用しない。PC-9801-08(PC-9801初代専用 2DD I/F) 付属のROMを本体内のソケットに実装したときは、拡張ROMを認識できるように なるが、このワークエリアは使用しない。拡張ROMのジャンプテーブル内に あるPC-9801初代専用の初期化ルーチンのエントリ(オフセット0000h)を FAR CALLするのみだからである。 関連 0000:04B0h メモリ 0000:04F0h〜04F7h 型 8 BYTES 名前 分類 RAM DRIVE BIOS Undocumented 対象 PC-9801NS/E・NC・NS/T・NL・NS/L・NA・NS/R・P・NX/C 内容 RAM DRIVE BIOSワークエリア 解説 o 以下の2種類の用途で使用する。 - RAM DRIVE BIOSがRAMバンク内のチェックサム計算時にコードを 転送し、このアドレスで実行する。ROM上で実行するより高速になる ためと考えられる。 - D8000hバンク内のプログラムがD8000hバンクを切り換えるときに使用 する。この領域にバンク切り換えのコード(OUT命令等)を書き込み、 この領域を実行してバンク切り換えを行い、(バンクの切り替わった) D8000hバンクに実行を戻す。 o PC-9801N・NS・NV・NL/R・NS/A,PC-9821Neは、このアドレスを使用しない。 関連 0000:04F8h メモリ 0000:04F1〜04F3h 名前 分類 ハイレゾタイマ 対象 カレンダ時計割り込み搭載機種 内容 bit 24〜0: 経過時間(単位1/32秒) * 000000〜2A2FFFhの数値で表される。 解説 o 今日の日付になってからの経過時間を、1/32秒単位でカウントする。この カウンタは起動時に初期化され、以後INT 17hによってインクリメントされる。 o 起動時に今日の日付になってからの時間が設定され、AM 0:00:00'00にカウン タはオーバーフローし0に戻される。このときINT 1Fh - Function 8Fhが 実行され、アプリケーションに午前0時を告げる。このことからこのファンク ション、INT 1Fh - Function 8Fhをシンデレラファンクションと命名する(嘘) o PC-9821Xa10・Xa9・Xa7・Xt13・Xe10・Xa12・Xa7e・Cx2・Cb2・Na7・Nxに付属の HRTIMER.SYSはMS-DOSのCLOCKデバイスを置き換え、このカウンタを利用して 1/100の桁の時刻を取得する機能を提供する。 関連 INT 17h INT 1Ch - Function 80h,81h INT 1Fh - Function 8Fh I/O 000Ah bit 7 I/O 0128h メモリ 0000:04F8h〜04FDh 型 6 BYTES 名前 分類 Undocumented 対象 ITF搭載機, SCSI BIOS, 98NOTE(PC-9801N・NS・NS/Tを除く), PC-9821Bp・Bs・Be・Bf,PC-9801BA2・BS2・BX2搭載IDE BIOS 内容 バンク切り換え時のコード格納用ワークエリア 解説 o ITFからBIOSに、またはBIOSからITFにバンク切り換えを行うときに使用する。 ITFとBIOSは同じアドレスに位置しているため、バンク切り換えを行う ときは、CPUはバンク切り換えが起らない場所でコードを実行している 必要がある。バンク切り換えを行うときは、この領域にバンク切り換えの コード(OUT命令等)を書き込み、この領域を実行してバンク切り換えを 行ったあと、BIOSまたはITFに実行を戻す。 o 同様に、SCSI BIOS,98NOTE(PC-9801N・NS・NS/Tを除く)のD8000hバンク, 一部のIDE BIOSでもバンク切り換えのときにこの領域を使用する。 o PC-H98のINT 1Fhの一部ファンクション実行時も、MENUバンクにコードが あるため、この領域を使用する。 関連 0000:04F0h メモリ 0000:04FEh(IDE) 型 WORD 名前 分類 IDE BIOS Undocumented 対象 IDE HDD搭載機 内容 IDE HDDモータ始動時のウェイトカウンタ 解説 o IDE BIOSがIDE HDDに対してスピンドルモータ始動コマンドを送出したあと、 モータの回転が安定するまでの時間を計測するために使用する。モータの 回転が安定するまで、BIOSの処理は終了しない。 o 98NOTEのシステムタイマがこの値をデクリメントする。0000hでカウンタ のデクリメントは終了する。 o デスクトップ機のIDE BIOSにはこの領域をゼロクリアする処理が残って いるが、カウンタとしては使用しない。 関連 INT 0Eh(外部割り込み…98NOTE) INT 17h(外部割り込み…98NOTE) INT 1Bh - Function D0h(IDE) INT 1Bh - Function E0h(IDE) INT 1Bh - Function F0h(IDE) メモリ 0000:04D0h〜04EFh(LT・HA) 型 32 BYTES 名前 分類 CRT BIOS Undocumented 対象 PC-98LT・HA, DB-P1 内容 表示領域0〜3のパラメータ保存域 -----------+----------------------------------------------------- アドレス |内容 -----------+----------------------------------------------------- 04D0〜04D7h|表示領域0のパラメータ保存域 04D8〜04DFh|表示領域1のパラメータ保存域 04E0〜04E7h|表示領域2のパラメータ保存域 04E8〜04EFh|表示領域3のパラメータ保存域 -----------+----------------------------------------------------- パラメータの内容 ----------+----------------------------------------------------- オフセット|内容 ----------+----------------------------------------------------- +00h(WORD)|不明 +02h(BYTE)|不明 +03h(BYTE)|行数 +04h(WORD)|仮想テキストVRAMの表示開始オフセットアドレス +06h(WORD)|不明 ----------+----------------------------------------------------- 解説 o INT 18h - Function 0Eh,0Fh(1つの表示領域の設定,複数の表示領域の設定) の設定内容の保存領域。 o DB-P1は、画面分割のファンクションを備えていないが、表示の際には PC-98LT・HA同様にこの内容が参照される。 関連 INT 18h - Function 0Eh INT 18h - Function 0Fh メモリ 0000:04F0h(LT・HA) 型 8bit FLAGS 名前 分類 CRT BIOS Undocumented 対象 PC-98LT・HA,DB-P1 内容 カーソル描画制御フラグ bit 7: カーソル幅 1= 全角 0= 半角 bit 6〜4: 未使用 bit 3: カーソル描画禁止通知 1= カーソル描画禁止 0= カーソル描画許可 bit 2: カーソルの反転状態 1= 反転状態 0= 非反転状態 bit 1: カーソル表示状態 1= カーソル表示 0= カーソル非表示 bit 0: カーソルブリンク状態 1= ブリンクあり 0= ブリンクなし 解説 o カーソル状態を格納するワークエリア。 o bit 3は、文字書き込み中のように、INT 0Ahハンドラがカーソルを 描画してはならないタイミングで1になる。 関連 INT 0Ah(外部割り込み…LT・HA) INT 18h - Function 10h INT 18h - Function 11h INT 18h - Function 12h メモリ 0000:04F1h(LT・HA) 型 BYTE 名前 分類 RS-232C BIOS Undocumented 対象 PC-98LT・HA, DB-P1 内容 メモリスイッチ03hのコピー 解説 o RS-232C BIOSでbit 7の値(DEL受信時の処理)をチェックするために使用する。 u DB-P1も、PC-98LT・HAと同様にメモリスイッチ03hの値をコピーするが、 RS-232C BIOSがないので参照されない。 関連 メモリスイッチ 03h メモリ 0000:04F2h(LT・HA) 型 WORD 名前 分類 CRT BIOS Undocumented 対象 PC-98LT・HA, DB-P1 内容 カーソル位置(仮想テキストVRAM上のオフセットアドレス) 解説 o INT 18h - Function 13hで設定するカーソル位置を格納する。 関連 INT 18h - Function 13h メモリ 0000:04F4〜04F7h(LT・HA) 型 名前 分類 CRT BIOS Undocumented 対象 PC-98LT・HA, DB-P1 内容 エミュレーションVRAMのサイズとセグメントアドレス -----------+---------------------------------------------------- アドレス |内容 -----------+---------------------------------------------------- 04F4h(WORD)|エミュレーションVRAMのサイズ 04F6h(WORD)|エミュレーションVRAMのセグメントアドレス -----------+---------------------------------------------------- 解説 o INT 18h - Function 25h Subfunction 00h,01hで設定,取得する エミュレーションVRAMのサイズとセグメントアドレスを格納する。 関連 INT 18h - Function 25h Subfunction 00h INT 18h - Function 25h Subfunction 01h メモリ 0000:04F8h(LT・HA) 型 8bit FLAGS 名前 分類 Undocumented 対象 PC-98LT・HA,DB-P1 内容 電源制御関係のフラグ bit 7: ■PC-98LT NMIハンドラは、電源SWがOFF状態のときこのビットを1にする ■PC-98HA POWER OFFフラグ * INT 0Ahハンドラは、このビットが1のとき電源をOFFにする。 * NMIハンドラは、I/O 8810h bit 0=1(電源SWが押された)のとき このビットを1にする。 * INT 1Fh - Function 98hは、このビットを1にする。 ■DB-P1 NMIハンドラは、I/O FECCh bit 4=1のときこのビットを1にする。 bit 6: ■PC-98LT POWER OFFフラグ * INT 0Ahハンドラは、このビットが1のとき電源をOFFにする (INT 1Fh - Function 98hを実行する)。 * NMIハンドラは、電源SWがOFF状態のとき、INT 1Fh - Function 8Chを 発行する。このとき、CF=0で戻ってきたらこのビットを1にする。 * INT 0Ahハンドラは、オートパワーオフ時間になったらこのビットを 1にする。 ■DB-P1 POWER OFFフラグ * INT 0Ahハンドラは、このビットが1のとき電源をOFFにする。 * INT 1Fh - Function 98hは、このビットを1にする。 bit 5: 能動状態フラグ[PC-98LT・HA,DB-P1] 1= 能動状態 0= 非能動状態 * INT 09h(キーボード割り込み), INT 1Bh(DISK BIOS), INT 0Ch(RS-232C) ハンドラ等が1にセットする。INT 0Ahハンドラが1秒毎に0にリセット する。無操作時アラーム,オートパワーオフカウンタは、このビットが 1のとき初期値に戻る。このビットが0のとき減算される。 bit 4: オートパワーオフフラグ[DB-P1] * オートパワーオフのとき、bit 7と一緒に1(このバイトは90h)になる。 bit 3: 未使用 bit 2: 未使用 bit 1: BEEP ON要求[PC-98LT・HA] 1= 次のINT 0Ah発生時にBEEP ON 0= NOP bit 0: BEEP OFF要求[PC-98LT・HA] 1= 次のINT 0Ah発生時にBEEP OFF 0= NOP 解説 o 電源制御関係のフラグ。 関連 INT 0Ah(外部割り込み…LT・HA) メモリ 0000:04F9h(LT・HA) 型 8bit FLAGS 名前 分類 Undocumented 対象 PC-98LT・HA 内容 無操作時アラーム制御関係のワークエリア bit 7,6: 未使用 bit 5: 無操作時アラーム 1= 鳴動中 0= 非鳴動中 bit 4: 不明 bit 3〜0: ビープ関係のカウンタ 解説 o 詳細不明。 関連 メモリ 0000:04FAh(LT・HA) 型 BYTE 名前 分類 Undocumented 対象 PC-98LT・HA, DB-P1 内容 INT 0Ahハンドラのラウンドロビンカウンタ 解説 o ■PC-98LT INT 0Ahハンドラ内で10種類の処理を1秒周期で実行するためのカウンタ。 10Hz周期でデクリメントされる。9,8,…,1,0,9,…を繰り返す。 o ■PC-98HA INT 0Ahハンドラ内で10種類の処理を1秒周期で実行するためのカウンタ。 40Hz周期でデクリメントされる。39,38,…,1,0,39,…を繰り返し、 4回に1回、順次10種類の処理を行う。 o ■DB-P1 INT 0Ahハンドラ内で、2種類の処理を約1秒または約0.5秒周期で 実行するためのカウンタ。15.8Hz周期でデクリメントされる。 関連 INT 0Ah(外部割り込み…LT・HA) メモリ 0000:04FBh(LT・HA) 型 BYTE 名前 分類 Undocumented 対象 PC-98LT・HA, DB-P1 内容 INT 0Ahハンドラの1分カウンタ 解説 o INT 0Ahハンドラ内で1分ごとに実行する処理のためのダウンカウンタ。 1Hz周期でデクリメントされる。59,58,…,1,0,59,…を繰り返す。 無操作時アラームカウンタやオートパワーオフカウンタをデクリメント するために使用する。 関連 0000:04FCh 0000:04FDh INT 0Ah(外部割り込み…LT・HA) メモリ 0000:04FCh(LT・HA) 型 BYTE 名前 分類 Undocumented 対象 PC-98LT・HA 内容 無操作時アラームカウンタ(単位:分) 解説 o 能動状態(0000:04F8h bit 5=1)のとき、メモリスイッチ18hの値がコピー される。非能動状態(0000:04F8h bit 5=0)のとき、1分ごとにこの値が デクリメントされる。0になるとブザーが鳴る。 何らかの操作を行うと、この値は初期値(メモリスイッチ18hの値)に戻る。 元の値が0のとき、この機能は働かない。 o DB-P1は使用しない。 関連 0000:04F8h bit 5 0000:04FBh メモリ 0000:04FDh(LT・HA) 型 BYTE 名前 分類 Undocumented 対象 PC-98LT・HA, DB-P1 内容 オートパワーオフカウンタ(単位:分) 解説 o 能動状態(0000:04F8h bit 5=1)のとき、メモリスイッチ19hの値がコピー される。非能動状態(0000:04F8h bit 5=0)のとき、1分ごとにこの値が デクリメントされる。0になると電源がOFFする。 元の値が0のとき、この機能は働かない。 u PC-98LTでは、オートパワーオフ機能自体が未公開である。 o DB-P1では、INT 1Fh - Function 9Bhを実行すると、メモリスイッチ19hの 値がコピーされる。 関連 0000:04F8h bit 5 0000:04FBh INT 1Fh - Function 9Bh(DB-P1) メモリ 0000:04FEh(LT・HA) 型 WORD 名前 分類 Undocumented 対象 PC-98LT・HA 内容 INT 0Ahの10Hz 16ビットダウンカウンタ 解説 o この値が0000h以外のとき、INT 0Ahハンドラは10Hz周期でデクリメント する。0000hになると、デクリメントを中止する。 o BIOSは、この値を参照する処理をなにも行っていない模様。 関連 INT 0Ah(外部割り込み…LT・HA) メモリ 0000:0500h 型 8bit FLAGS 名前 BIOS_FLAG ・bit 7 分類 対象 ノーマル,ハイレゾ,PC-98LT・HA 内容 スタートアップタイプ 1= ホットスタート 0= コールドスタート 解説 o STOPキーを押しながらリセットして起動したとき1になる。 関連 ・bit 6 分類 対象 ノーマル,PC-98LT・HA 内容 BASICタイプ 1= DISK BASIC,MS-DOS版BASIC実行中とその子プロセス 0= ROM BASIC,MS-DOS,その他OS実行中 解説 o 実行中のBASICの種類を示す。 関連 ・bit 5 分類 KEYBOARD BIOS 対象 ノーマル,ハイレゾ,PC-98LT・HA 内容 キーバッファオーバーフロー通知制御 1= キーバッファオーバーフロー時にビープを鳴らさない 0= キーバッファオーバーフロー時にビープを鳴らす(初期状態) 解説 o キーボードバッファがオーバーフローしたときに警告ビープ音を 鳴らすかどうか設定する。 関連 ・bit 4 分類 MEMORY 対象 ノーマル 内容 00000〜9FFFFh(640KB-1)番地内の増設RAMの有無 1= あり 0= なし 解説 o 00000〜9FFFFh(640KB-1)番地内で拡張スロットに実装した増設RAMが あるとき1になる。 関連 ・bit 3 分類 Undocumented 対象 内容 未使用 解説 o 一部の資料にはVSYNC中にこのビットが1になると記述されているが、 実際には、BIOSがVSYNC処理で利用するのは0000:053Ch bit 6である。 関連 ・bit 2 分類 DISK BIOS 対象 両用BIOS - 640KB I/Fモード 内容 両用FD I/F - 640KB I/Fモード時のAIの有無 1= AI Enable 0= AI Disable 解説 o このビットは、DISK BIOSでセットおよび読み出しはできるが、 ビットのクリアはできない。 関連 INT 1Bh - Function 83h(FD) INT 1Bh - Function 84h(FD) ・bit 1 分類 DISK BIOS 対象 両用BIOS + ノーマル 内容 両用FD I/Fモード 1= 1MB I/Fモード 0= 640KB I/Fモード 解説 o ハイレゾモードの両用FD I/Fは、1MB I/Fモードに固定されている。 o PC-98LT・HA,DB-P1の両用FD I/Fは、640KB I/Fモードに固定されている。 関連 ・bit 0 分類 機種判別 対象 全機種 内容 機種情報(1) 1= その他 0= PC-9801初代・E・F・M, PC-98LT・HA, DB-P1, ハイレゾモード 解説 o 他のビットと組み合わせて、以下のような機種判別が行える。 ------------+---------------------------------- 機種情報 |意味 (1)(2)(3)(4)| ------------+---------------------------------- 0 0 0 0 |PC-9801初代 0 1 0 0 |PC-9801E・F・M 1 1 1 0 |PC-9801U 1 1 0 0 |ノーマル(PC-9801初代・E・F・M・U以外) 0 0 0 1 |PC-98XA 0 1 0 1 |ハイレゾ(PC-98XA以外) 0 1 1 0 |PC-98LT・HA,DB-P1 ------------+---------------------------------- 機種情報(1) = 0000:0500h bit 0 機種情報(2) = 0000:0501h bit 5 機種情報(3) = 0000:0501h bit 4 機種情報(4) = 0000:0501h bit 3 関連 0000:0501h bit 5〜3 メモリ 0000:0501h 型 8bit FLAGS 名前 BIOS_FLAG ・bit 7 分類 対象 全機種 内容 システムクロック周波数 1= 8MHz 0= 5MHz,10MHz 解説 o タイマ(8251A)に供給されているクロック、および拡張スロットの SCLK1信号の周波数を示す。 o 正確なタイマクロック周波数は以下の通り。 --+-------------------- 値|タイマクロック周波数 --+-------------------- 1 |1.9968MHz 0 |2.4576MHz --+-------------------- o 拡張スロットのSCLK1信号の周波数は、以下の通り。 --+-------------------- 値|SCLK1周波数 --+-------------------- 1 |7.9872MHz 0 |9.8304MHz(PC-9801初代・E・F・M以外) 0 |4.9152MHz(PC-9801初代・E・F・M) --+-------------------- u CPUクロックが12MHz以上の機種の多くは、システムクロック周波数と CPUクロック周波数は無関係になっている。 関連 ・bit 6 分類 CPU判別 対象 全機種 内容 CPUタイプ 1= V30,V30HL,V50,V50HL,V33,V30相当モード 0= i8086, i80286, i386, i486, Pentium 解説 o 動作CPUを示す。ただし、V30を搭載していない機種でV30相当モードに 設定したときにも、このビットは1になる。 関連 CPU判別関係 ・bit 5〜3 分類 機種判別 対象 全機種 内容 機種情報(2〜4) bit 5: 機種情報(2) 1= その他 0= PC-9801無印,PC-98XA bit 4: 機種情報(3) 1= PC-9801U, PC-98LT・HA, DB-P1 0= その他 bit 3: 機種情報(4) 1=ハイレゾモード 0=ノーマルモード,PC-98LT・HA,DB-P1 解説 o 0000:0500h bit 0の項を参照。 関連 0000:0500h bit 0 ・bit 2〜0 分類 MEMORY 対象 全機種 内容 リアルモード用メモリサイズ 101b= 768KB 100b= 640KB 011b= 512KB 010b= 384KB 001b= 256KB 000b= 128KB 解説 o 00000〜9FFFFh(ノーマルモード)/00000〜BFFFFh(ハイレゾモード)の アドレスに位置するRAM容量を示す。 o プロテクトモード用メモリのサイズは、0000:0401hと0000:0594hに 格納されている。 関連 0000:0401h 0000:0594h メモリ 0000:0502〜0521h 型 32 BYTES 名前 KB_BUF(ノーマル),KB_KEY_BUFFER(ハイレゾ) 分類 KEYBOARD BIOS 対象 全機種 内容 キーバッファ 解説 o 入力されたキーの情報を2バイト一組で最大16組み格納するFIFO型バッファ。 INT 09hハンドラがキーボードI/Fから引き取ったデータを加工し、この 領域に書き込む。キーボードBIOS(INT 18h)は、この領域からデータを 取り出す。 o ハイレゾでは起動時のデフォルトキーバッファ。 関連 0000:0410h[ハイレゾ] INT 09h(外部割り込み) INT 18h - Function 00h メモリ 0000:0522〜0523h 型 WORD 名前 KB_SHIFT_TBL 分類 KEYBOARD BIOS 対象 ノーマル,PC-98LT・HA,DB-P1 内容 キーコード変換テーブルのオフセット 解説 o 現在のシフト状態に従ったキーコード変換テーブルのオフセットを格納する。 キーコード変換テーブルのセグメントは、0000:05C6hの指すコード変換 テーブルと同じ。 o [SHIFT],[CTRL],[CAPS],[GRPH],[カナ]のON/OFFとともに、INT 09hハンドラが 書き換える。キーコードをキーデータに変換するために用いる。 関連 0000:05C6h INT 09h(外部割り込み) メモリ 0000:0522h 型 BYTE 名前 KB_BUFFER_SIZ 分類 KEYBOARD BIOS 対象 ハイレゾ 内容 キーバッファサイズ 初期値 = 10h 解説 o キーバッファに格納できるキー情報(2バイト一組)の個数。バッファは このバイトで指定した値の2倍のサイズが必要。 関連 0000:0410h INT 09h(外部割り込み) INT 18h - Function 06h メモリ 0000:0524〜0525h 型 WORD 名前 KB_BUF_HEAD(ノーマル),KB_HEAD_POINTER(ハイレゾ) 分類 KEYBOARD BIOS 対象 全機種 内容 キーバッファのリードポインタ 解説 o キーバッファの格納済みエリアの先頭オフセットアドレス。 o ハイレゾのとき、セグメントは0000:0410h(KB_BUF_ADR)の指すセグメントと 同じ。 関連 0000:0410h[ハイレゾ] 0000:0502h INT 09h(外部割り込み) メモリ 0000:0526〜0527h 型 WORD 名前 KB_BUF_TAIL(ノーマル),KB_TAIL_POINTER(ハイレゾ) 分類 KEYBOARD BIOS 対象 全機種 内容 キーバッファのライトポインタ 解説 o キーバッファの格納済みエリアの最終オフセットアドレス+2。 o ハイレゾのとき、セグメントは0000:0410h(KB_BUF_ADR)の指すセグメントと 同じ。 関連 0000:0410h[ハイレゾ] 0000:0502h INT 09h(外部割り込み) メモリ 0000:0528h 型 BYTE 名前 KB_COUNT(ノーマル),KB_BUFFER_COUNTER(ハイレゾ) 分類 KEYBOARD BIOS 対象 全機種 内容 キーバッファ内のデータ数 解説 o キーバッファに格納されているデータの個数。 関連 0000:0410h[ハイレゾ] 0000:0502h INT 09h(外部割り込み) メモリ 0000:0529h 型 BYTE 名前 KB_RETRY(ノーマル),KB_RETRY_COUNTER(ハイレゾ) 分類 KEYBOARD BIOS 対象 全機種 内容 キーボードI/Fの受信エラーリトライ回数 解説 o INT 09hハンドラがキーボードI/Fからデータを受信したときエラーが 検出されると、キーボードに対しデータ再送信を要求する。INT 09h ハンドラは、3回まで再送信を要求し、それでもエラーが起きるときは、 受信したデータをそのまま処理する。 関連 INT 09h(外部割り込み) I/O 0041h メモリ 0000:052A〜0539h 型 16 BYTES 名前 KB_KY_STS(ノーマル),KB_KEY_STS_TBL(ハイレゾ) 分類 KEYBOARD BIOS 対象 全機種 内容 キーの押下状態テーブル -----+-------+-------+-------+-------+-------+-------+-------+------- アドレス|bit 7 |bit 6 |bit 5 |bit 4 |bit 3 |bit 2 |bit 1 |bit 0 -----+-------+-------+-------+-------+-------+-------+-------+------- 052Ah|7' |6& |5% |4$ |3# |2" |1! |ESC |ヤャ |オォ |エェ |ウゥ |アァ |フ |ヌ | 052Bh|TAB |BS |\| |^` |-= |0 |9) |8( | | |ー |ヘ |ホ |ワヲ |ヨョ |ユュ 052Ch|I |U |Y |T |R |E |W |Q |ニ |ナ |ン |カ |ス |イ |テ |タ 052Dh|D |S |A |リターン |[{ |@~ |P |O |シ |ト |チ | | | |セ |ラ 052Eh|:* |;+ |L |K |J |H |G |F |ケ |レ |リ |ノ |マ |ク |キ |ハ 052Fh|M |N |B |V |C |X |Z |}] |モ |ミ |コ |ヒ |ソ |サ |ツッ |ム」 0530h|ROLL |ROLL |XFER |スペース |_ |/? |.> |,< |DOWN |UP | | |ロ |メ・ |ル。 |ネ。 0531h|HELP |HOME |↓ |→ |← |↑ |DEL |INS | |CLR | | | | | | 0532h|5 |4 |* |9 |8 |7 |/ |- | | | | | | | | 0533h|, |0 |= |3 |2 |1 |+ |6 | | | | | | | | 0534h| |vf・5 |vf・4 |vf・3 |vf・2 |vf・1 |NFER |. | | | | | | | | 0535h| |HOME | |子音シフト|母音シフト|記号シフト|NUM | | | | | | | | | 0536h|f・6 |f・5 |f・4 |f・3 |f・2 |f・1 |COPY |STOP | | | | | | | | 0537h| | | | |f・10 |f・9 |f・8 |f・7 | | | | | | | | 0538h| | | |CTRL |GRPH |カナ |CAPS |SHIFT | | | | | | | | 0539h| | | | | | | | -----+-------+-------+-------+-------+-------+-------+-------+------- * 押下されているキーに対応するビットが1になる。 * [子音シフト],[母音シフト],[記号シフト],[NUM]は、PC-9801-98(楽々キーボード)の 「自動変換モード」のみ。NOTEなどの[NUM]キーの押下状態は、このテーブル には反映しない。 解説 o キーバッファとは無関係に、現在のキーの押下状態を示す。 INT 09hハンドラは、キーボードI/Fの8251Aから読み出したデータに 基づいて、このテーブル内のビットをセット/リセットする。 INT 18h - Function 04h(キー入力状態のセンス)は、このテーブルの値を 返している。 u PC-9800のキーボードは、押し続けるとキーボード側でリピートを行う ため、キーが押されているにもかかわらず、このテーブル内のビットが 0になる期間がある。なお、シフト系キー、ファンクションキー、 [INS]キーはリピートを行わない。 「PC-9801スーパーテクニック」(アスキー出版局刊)キーボード編に リピートに関する詳細な記述がある。 o 本来その機種が持っていないキーを押したとき(旧キーボード用の機種 に新キーボードを繋いでvfキーを押すなど)、キーバッファにはデータが 格納されないが、このテーブルには押下状態が反映される。 o ハイレゾモードで、シフトキーコードテーブル(0000:0408〜040Fh)、 キーデータ変換テーブル(0000:0414hの指すアドレス)を変更しても、 このテーブルの示す動作には影響を与えない。 関連 INT 09h(外部割り込み) INT 18h - Function 04h メモリ 0000:053Ah 型 8bit FLAGS 名前 KB_SHFT_STS(ノーマル),KB_SHIFT_STS(ハイレゾ) 分類 KEYBOARD BIOS 対象 全機種 内容 シフトキー押下状態フラグ bit 7: bit 6: bit 5: bit 4: [CTRL] bit 3: [GRPH] bit 2: [カナ] bit 1: [CAPS] bit 0: [SHIFT] 1= 押されている 0= 押されていない 解説 o 現在のシフト系キー([CTRL],[GRPH],[カナ],[CAPS],[SHIFT])の押下状態を 示す。INT 09hハンドラがセット/リセットする。 INT 18h - Function 02h(シフトキー状態のセンス)は、この値を返している。 o ハイレゾの場合、シフトキーコードテーブル(0000:0408〜040Fh)に登録された キーが押されたとき、対応するビットが1になる。 関連 0000:0408〜040Fh[ハイレゾ] INT 09h(外部割り込み) INT 18h - Function 02h メモリ 0000:053Bh 型 BYTE 名前 CRT_RASTER 分類 CRT BIOS 対象 ノーマル,ハイレゾ 内容 テキスト画面1行あたりのラスタ数-1 表 画面状態と設定値の対応 ---------+--------+--------+----+----+------------------------- CRT解像度|水平走査|垂直同期|テキスト|ラスタ |備考 | 周波数| 周波数|行数|数-1| ---------+--------+--------+----+----+------------------------- 640x200 |15.98kHz| 61.47Hz| 20 |09h |*1 ↑ | ↑ | ↑ | 25 |07h | 640x400 |24.83kHz| 56.42Hz| 20 |13h |*2 ↑ | ↑ | ↑ | 25 |0Fh | 640x400 |31.47kHz| 70.10Hz| 20 |13h |*3 ↑ | ↑ | ↑ | 25 |0Fh | 640x480 |31.47kHz| 59.94Hz| 20 |17h |*4 ↑ | ↑ | ↑ | 25 |12h | ↑ | ↑ | ↑ | 30 |0Fh | 1120x750 |32.86kHz| 79.09Hz| 25 |0Eh |*5 ↑ | ↑ | ↑ | 31 |0Bh | 1120x750 |50.02kHz| 60.05Hz| 25 |1Dh |*6 ↑ | ↑ | ↑ | 31 |17h | 640x480 |15.73kHz| 59.94Hz| 20 |09h |*7 グラフィック解像度640x400時 ↑ | ↑ | ↑ | 20 |0Bh | グラフィック解像度640x480時 ↑ | ↑ | ↑ | 25 |07h | グラフィック解像度640x400時 ↑ | ↑ | ↑ | 30 |07h | グラフィック解像度640x480時 ---------+--------+--------+----+----+------------------------- *1:デジタルRGB出力のある機種で、DIP SW 1-1をOFFにしたときのCRT信号。 PC-8001用ディスプレイを接続するときの設定。 *2:ノーマルモードの最も標準的なCRT信号。 *3:PC-9821(初代・Ne・Np・Ce・Tsを除く),PC-9801BA2・BS2・BX2・BA3・BX3・BX4で、 [GRPH]+[2]+[RESET]設定を行ったときと、PC-H98にN5926-01・02型 ディスプレイを接続して行間空き25行表示していないときのノーマル モードのCRT信号。 PC-9821CeはBIOSで設定可能。PC-9821Ne・Np・Tsは設定不可能。 *4:PC-9821(Bp・Bs・Be・Bf・Ts・Ne3・Nd2を除く),PC-98GSで640x480表示時と、 PC-H98にN5926-01・02型ディスプレイを接続して行間空き25行表示した ときのノーマルモードのCRT信号。 *5:PC-98XA・XL・RL等のハイレゾモード、PC-H98にN5926-01型ディスプレイを 接続したときのハイレゾモード、98ハイレゾボード(PC-9821A-E02)の ハイレゾモードで[GRPH]+[1]+[RESET]設定を行ったときのCRT信号 (インターレース)。 *6:PC-H98にN5926-02型ディスプレイを接続したときのハイレゾモードと、 98ハイレゾボード(PC-9821A-E02)のハイレゾモードで[GRPH]+[2]+[RESET] 設定を行ったときのCRT信号(ノンインターレース)。 *7:PC-98GSでビデオモードに設定したときのCRT信号。 システム共通域の状態からは、垂直同期周波数56.42Hzの状態と区別 することはできない。 解説 o テキスト画面の1行分のラスタ数-1の値を示す。 CRT BIOSでテキスト画面行数を変更すると、この値も変化する。 o PC-98LT・HA,DB-P1はこのアドレスを使用しない。 関連 0000:0452h[ハイレゾ] INT 0Ah(外部割り込み…VSYNC) INT 18h - Function 0Ah INT 18h - Function 11h INT 18h - Function 12h INT 18h - Function 30h メモリ 0000:053Ch 型 8bit FLAGS 名前 CRT_STS_FLAG 分類 CRT BIOS 対象 ノーマル 内容 テキスト画面ステータスフラグ bit 7: CRTタイプ 1= 専用高解像度ディスプレイ(DIP SW 1-1 ON で起動時) 0= 標準ディスプレイ (DIP SW 1-1 OFFで起動時) * PC-8001ディスプレイ用CRT信号(水平走査周波数=15.98kHz, 垂直同期周波数=61.47Hz)出力時に0。その他のCRT信号出力時は1。 関連 0000:054Ch bit 6 INT 0Ah(外部割り込み…VSYNC) DIP SW 1-1 bit 6: VSYNC検出(Undocumented) 1= VSYNC待ち状態 0= VSYNC内処理終了状態 * INT 18h - Function 0Ah,0Eh,0Fh,10h,14h,1Ah,1Ch,1Dh,1Eh,1Fh,20hの VSYNC待ちルーチンで使用する。フォントの読み出しなど、BIOS内で VSYNCに同期した処理を行う場合、割り込み処理ルーチンは処理の終了を このビットを用いて通知する。 たとえば、フォントの読み出しを行う場合、実際の読み出しはVSYNC 割り込み処理ルーチン内で行われる。割り込みルーチン内での処理が 終了すると、このビットを0にしてメインルーチンに通知する。メイン ルーチンはこのフラグをチェックし続けることで処理の終了を認識 する。 関連 0000:0500h bit 3 bit 5: 未使用 bit 4: 行数[PC-98GS,PC-9821(Bf・Bp・Bs・Be・Ts・Ne3・Nd2を除く)] (Undocumented) 1= 30行 0= 20/25行(起動時設定) bit 3: K-CG(漢字キャラクタジェネレータ)アクセスモード 1= ドットアクセス 0= コードアクセス(起動時設定) * PC-9801初代では無効(常にコードアクセス状態) bit 2: アトリビュートモード 1= 簡易グラフィックス(起動時設定) 0= バーティカルライン * BIOSが設定する初期値は簡易グラフィックモードだが、 MS-DOS起動後はバーティカルラインモードに設定されている。 bit 1: 桁数 1= 40桁(DIP SW 2-3 OFF時の起動時設定) 0= 80桁(DIP SW 2-3 ON 時の起動時設定) bit 0: 行数 1= 20/30行 0= 25行 -----+-----+----+------------------------------------ bit 4|bit 0|行数|備考 -----+-----+----+------------------------------------ 0 | 1 |20行|DIP SW 2-4 OFF時の起動時設定 0 | 0 |25行|DIP SW 2-4 ON 時の起動時設定 1 | 1 |30行|640x480表示時のみ設定可能 1 | 0 |--- |未使用 -----+-----+----+------------------------------------ 解説 o INT 18h - Function 0Ah(ノーマル),0Bh(ノーマル)の設定値保存域。 bit 4,0は、INT 18h - Function 30hで行数を変更した場合にも変化する。 o ハイレゾモードはこのアドレスを使用しない。 関連 INT 18h - Function 0Ah(ノーマル) INT 18h - Function 0Bh(ノーマル) INT 18h - Function 30h INT 18h - Function 31h メモリ 0000:053Ch(LT・HA) 型 8bit FLAGS 名前 分類 CRT BIOS Undocumented 対象 PC-98LT・HA 内容 テキスト画面ステータスフラグ bit 7: 文字タイプ 1= 88タイプ文字(初期状態) 0= 80タイプ文字 bit 6〜1: 未使用 bit 0: 表示行数 1= 20行 0= 25行 解説 o INT 18h - Function 0Ah(LT・HA),0Bh(LT・HA)の設定値保存域。 u bit 7で表示文字フォントを選択できるが、INT 18h - Function 0Ah(LT・HA) では変更できない。このワークエリアを直接操作してbit 7=1に設定したあと、 INT 18h - Function 0Ah(LT・HA)を実行すると変更できる。 u 80タイプ文字に設定すると、画面上半分にのみ文字表示されるように なる。漢字は正しく表示できなくなる(漢字の上半分のみ表示される)。 関連 INT 18h - Function 0Ah(LT・HA) INT 18h - Function 0Bh(LT・HA) メモリ 0000:053Ch(DB-P1) 型 8bit FLAGS 名前 分類 CRT BIOS Undocumented 対象 DB-P1 内容 テキスト画面ステータスフラグ bit 7: 未使用(BIOSで常に1にセットされる) bit 6: 画面反転状態 1= 反転表示(VRAM上の1のドットが白く表示される) 0= 通常表示(VRAM上の1のドットが黒く表示される) bit 5: ディスプレイページ選択 1= プレーン1(DBメニューに使用) 0= プレーン0(アプリケーション用) bit 4: アクティブページ選択 1= プレーン1(DBメニューに使用) 0= プレーン0(アプリケーション用) bit 3〜0: 未使用(内部で常に0010bにセットされる) 解説 o INT 18h - Function 0Ah(DB-P1),0Bh(DB-P1)の設定値保存域。 関連 INT 18h - Function 0Ah(DB-P1) INT 18h - Function 0Bh(DB-P1) メモリ 0000:053Dh 型 BYTE 名前 CRT_CNT 分類 CRT BIOS 対象 ノーマル,ハイレゾ 内容 CRT BIOSワークエリア 解説 o ノーマルモードでは、INT 18h - Function 0Fh,10h,14hでワークエリアとして 使用。 ハイレゾモードでは、INT 18h - Function 0Fh,1Dhでワークエリアとして 使用。 o PC-98LT・HA, DB-P1では07hがセットされるが、BIOSでは使用しない。 関連 053E〜0541h 型 DWORD 名前 CRT_OFST(ノーマル),CRT_SEG_ADR(ハイレゾ) 分類 CRT BIOS 対象 ノーマル,ハイレゾ 内容 CRT BIOSワークエリア 解説 o ノーマルモードでは、INT 18h - Function 0Fh,14h,1Ahで ワークエリアとして使用。 ハイレゾモードでは、INT 18h - Function 0Fh,1Fh,20hで ワークエリアとして使用。 関連 0542〜0545h 型 DWORD 名前 CRT_V_INT_OFST/SEG 分類 CRT BIOS 対象 ノーマル,ハイレゾ 内容 VSYNC割り込み(INT 0Ah)ベクタの待避領域 解説 o CRT BIOSでVSYNC(INT 0Ah)割り込み待ちをするとき、元のINT 0Ahベクタの アドレスを保存する領域。 o ノーマルモードでは、INT 18h - Function 0Eh,0Fh,10h,14h,1Ahで使用。 ハイレゾモードでは、INT 18h - Function 0Ah,0Eh,0Fh,10h,1Ch,1Dh,1Eh, 1Fh,20hで使用。 関連 INT 0Ah(外部割り込み…VSYNC) 053E〜0545h(LT・HA) 型 8 BYTES 名前 分類 CRT BIOS Undocumented 対象 PC-98LT・HA,DB-P1 内容 画面表示関係のワークエリア -----------+---------------------------------------------------- アドレス |内容 -----------+---------------------------------------------------- 053Eh(WORD)|不明 0540h(WORD)|1キャラクタの縦のドット数(カーソル反転用) 0542h(WORD)|グラフィックVRAM上での1行のバイト数 0544h(WORD)|1キャラクタの縦のドット数(用途不明) -----------+---------------------------------------------------- ■モード別の設定値 --------+-------------+------------- |88タイプ文字 |80タイプ文字 +------+------+------+------ アドレス| 25行 | 20行 | 25行 | 20行 --------+------+------+------+------ 0540h | 0010h| 0014h| 0008h| 000Ah 0542h | 0500h| 0640h| 0280h| 0320h 0544h | 0010h| 0014h| 0008h| 000Ah --------+------+------+------+------ * 88タイプ文字は、0000:053Ch bit 7=1のとき * 80タイプ文字は、0000:053Ch bit 7=0のとき * DB-P1は、88タイプ文字・25行モードしかサポートしていない。 解説 u INT 18h - Function 0Ah(LT・HA),0Ah(DB-P1)が値を設定する。 関連 INT 18h - Function 0Ah(LT・HA) INT 18h - Function 0Ah(DB-P1) メモリ 0000:0546h(ノーマル) 型 BYTE 名前 CRT_FONT 分類 CRT BIOS 対象 ノーマル 内容 CRT BIOSワークエリア ■PC-9801初代以外 bit 7〜3: 未使用 bit 3: 全角フラグ 1= 16x16ドット文字 0= 16x16ドット文字以外 bit 2: 2バイト半角フラグ 1= 8x16ドット文字(2バイト半角) 0= 8x16ドット文字(2バイト半角)以外 bit 1: 88タイプANKフラグ 1= 7x13ドット文字 0= 7x13ドット文字以外 bit 0: 80タイプANKフラグ 1= 6x7ドット文字 0= 6x7ドット文字以外 ■PC-9801初代 bit 1 :漢字/ANK 1= 漢字フォント 0= ANKフォント bit 0 :フォントサイズ 1= 7x11フォント 0= 6x7フォント 解説 o INT 18h - Function 14h(フォントパターンの読み出し)の ワークエリアとして使用。 o PC-98LT・HA,DB-P1はこのアドレスを使用しない。 関連 INT 18h - Function 14h メモリ 0000:0546h(ハイレゾ) 型 8bit FLAGS 名前 CRT_FLAG 分類 CRT BIOS 対象 ハイレゾ 内容 テキスト画面ステータスフラグ bit 7: VSYNC検出 1= VSYNC内処理終了状態 0= VSYNC待ち状態 * INT 18h - Function 0Ah,0Eh,0Fh,10h,1Ch,1Dh,1Eh,1Fh,20hの VSYNC待ちルーチンで使用する。フォントの読み出しなど、BIOS内で VSYNCに同期した処理を行う場合、割り込み処理ルーチンは処理の終了を このビットを用いて通知する。 たとえば、フォントの読み出しを行う場合、実際の読み出しはVSYNC 割り込み処理ルーチン内で行われる。割り込みルーチン内での処理が 終了すると、このビットを1にしてメインルーチンに通知する。メイン ルーチンはこのフラグをチェックし続けることで処理の終了を認識 する。 bit 6: ブザー状態 1= INT 18h - Function 17hで鳴動中 0= INT 18h - Function 17hで鳴動中ではない * INT 18h - Function 17h(ブザーの起呼)でブザーを鳴動させると1に、 INT 18h - Function 18h(ブザーの停止)を実行すると0になる。 INT 18h - Function 24h(ブザーの時間設定と鳴動)や INT 1Ch - Function 06h(ビープ機能)を実行して、一定時間後に ブザーを停止させるとき、INT 18h - Function 17hでブザーがONに なっていた場合には、ブザーの停止を行わないようにするために 使用される。 関連 INT 18h - Function 17h INT 18h - Function 18h bit 5: 未使用 bit 4: 表示行数 1= 31行 0= 25行(起動時設定) 関連 INT 18h - Function 0Ah(ハイレゾ) INT 18h - Function 0Bh(ハイレゾ) bit 3: KCGアクセスモード 1= ドットアクセス 0= コードアクセス(起動時設定) 関連 INT 18h - Function 0Ah(ハイレゾ) INT 18h - Function 0Bh(ハイレゾ) bit 2: 未使用 bit 1: 未使用 bit 0: フォントタイプ 1= 全角 0= 半角,ANK * INT 18h - Function 1Fh(フォントパターン(24ドット)の読み出し) のワークエリア。 解説 o INT 18h - Function 0Ah(ハイレゾ),0Bh(ハイレゾ)の設定値保存域、および CRT BIOSのワークエリア。 関連 メモリ 0000:0547h 型 BYTE 名前 CRT_WINDOW_NO 分類 CRT BIOS 対象 ノーマル,ハイレゾ 内容 CRT BIOSワークエリア 解説 o INT 18h - Funciton 0Fh(複数の表示領域の設定)のワークエリアとして使用。 GDCに設定する部分画面(スクロールエリア)の個数が格納される。 o PC-98LT・HA,DB-P1はこのアドレスを使用しない。 関連 INT 18h - Funciton 0Fh メモリ 0000:0548〜0549h 型 WORD 名前 CRT_W_VRAMADR 分類 CRT BIOS 対象 ノーマル,ハイレゾ 内容 CRT BIOSワークエリア 解説 o INT 18h - Funciton 0Eh(1つの表示領域の設定)のワークエリアとして使用。 GDCにSCROLLコマンドを発行するときの第1,第2パラメータ。GDCから見える テキストVRAMの表示開始オフセットアドレスが格納される。 o PC-98LT・HA,DB-P1はこのアドレスを使用しない。 関連 INT 18h - Funciton 0Eh メモリ 0000:054A〜054Bh 型 WORD 名前 CRT_W_RASTER 分類 CRT BIOS 対象 ノーマル,ハイレゾ 内容 CRT BIOSワークエリア 表 画面状態と設定値の対応 ---------+--------+--------+------+------------------------- CRT解像度|水平走査|垂直同期|設定値|備考 | 周波数| 周波数| | ---------+--------+--------+------+------------------------- 640x200 |15.98kHz| 61.47Hz| 0C80h|*1 640x400 |24.83kHz| 56.42Hz| 1900h|*2 640x400 |31.47kHz| 70.10Hz| 1900h|*3 640x480 |31.47kHz| 59.94Hz| 1900h|*4 1120x750 |32.86kHz| 79.09Hz| 0177h|*5 1120x750 |50.02kHz| 60.05Hz| 03FFh|*6 640x480 |31.47kHz| 59.94Hz| 3FF0h|*7 640x480 |15.73kHz| 59.94Hz| 1900h|*8 グラフィック解像度640x400時 ↑ | ↑ | ↑ | 3FF0h| グラフィック解像度640x480時 ---------+--------+--------+------+------------------------- *1:デジタルRGB出力のある機種で、DIP SW 1-1をOFFにしたときのCRT信号。 PC-8001用ディスプレイを接続するときの設定。 *2:ノーマルモードの最も標準的なCRT信号。 *3:PC-9821(初代・Ne・Np・Ce・Tsを除く),PC-9801BA2・BS2・BX2・BA3・BX3・BX4で、 [GRPH]+[2]+[RESET]設定を行ったときと、PC-H98にN5926-01・02型 ディスプレイを接続して行間空き25行表示していないときのノーマル モードのCRT信号。 *4:PC-9821(Bp・Bs・Be・Bf・Ts・Ne3・Nd2を除く)の640x480表示時と、PC-H98に N5926-01・02型ディスプレイを接続して行間空き25行表示したときの ノーマルモードのCRT信号。 *5:PC-98XA・XL・RL等のハイレゾモード、PC-H98にN5926-01型ディスプレイを 接続したときのハイレゾモード、98ハイレゾボード(PC-9821A-E02)の ハイレゾモードで[GRPH]+[1]+[RESET]設定を行ったときのCRT信号 (インターレース)。 *6:PC-H98にN5926-02型ディスプレイを接続したときのハイレゾモードと、 98ハイレゾボード(PC-9821A-E02)のハイレゾモードで[GRPH]+[2]+[RESET] 設定を行ったときのCRT信号(ノンインターレース)。 *5:PC-98GSの640x480表示(非ビデオモード)時のCRT信号。 *7:PC-98GSでビデオモードに設定したときのCRT信号。 解説 o INT 18h - Funciton 0Eh(1つの表示領域の設定)のワークエリアとして使用。 GDCにSCROLLコマンドを発行するときの第3,第4パラメータ。表示画面全体の ラスタ数が格納される。 o ノーマルモードでは、GDCに発行する場合と同じ形式で格納されるので、 右に4ビットシフトした値がラスタ数になる。ハイレゾモードでは、 この値が直接ラスタ数を示す。 ただし、640x480ドット表示時とハイレゾのノンインターレース時は 別目的で使用される模様。 o PC-98LT・HA,DB-P1はこのアドレスを使用しない。 関連 メモリ 0000:054Ch(ノーマル) 型 8bit FLAGS 名前 PRXCRT 分類 GRAPH BIOS 対象 ノーマル 内容 グラフィック画面ステータスフラグ bit 7: グラフィック画面状態 1= 表示 0= 表示停止(起動時設定) 関連 INT 18h - Function 40h INT 18h - Function 41h bit 6: CRTタイプ 1= 高解像CRT(88タイプ)(DIP SW 1-1 ON で起動時の初期状態) 0= 標準CRT(80タイプ) (DIP SW 1-1 OFFで起動時の初期状態) * PC-8001ディスプレイ用CRT信号(水平走査周波数=15.98kHz, 垂直同期周波数=61.47Hz)出力時に0。その他のCRT信号出力時は1。 関連 0000:053Ch bit 7 INT 0Ah(外部割り込み…VSYNC) DIP SW 1-1 bit 5: 水平走査周波数[PC-9821(初代を除く), PC-H98] --+---------+--------------+-------------- 値|CRT解像度|水平走査周波数|垂直同期周波数 --+---------+--------------+-------------- 0 |640x400 |24.83kHz |56.42Hz 1 |640x400 |31.47kHz |70.10Hz 1 |640x480 |31.47kHz |59.94Hz --+---------+--------------+-------------- * PC-9821初代では31.47kHzモード時も0のまま変化しない。 対象機種以外は常に0。PC-98GSも非対象機種。 関連 INT 18h - Function 2Ah INT 18h - Function 30h bit 4: CRTラインモード[PC-H98] 1= 640x480ドット 0= 640x400ドット(起動時設定) * PC-H98のノーマルモードで水平走査周波数が31kHzのとき(bit 5=1)、 640x480ドット(行間の空いた25行)表示が可能。 関連 INT 18h - Function 2Ah bit 3: ユーザ定義文字数 1= 188文字(以上) 0= 63文字 * PC-9801初代はユーザ定義文字のサポートなし、PC-9801E・F・M・Uは 63文字、PC-H98は219文字、それ以外は188文字使用可能。 関連 INT 18h - Function 1Ah INT 18h - Function 1Ah(H98) bit 2: 拡張G-VRAM(16色表示用G-VRAM) 1= あり 0= なし * E0000〜E7FFFhの16色表示用G-VRAMの有無を示す。PC-9801初代・E・F・M 以外は拡張G-VRAMを搭載可能または標準搭載。 関連 I/O 006Ah - 00h,01h bit 1: グラフィックチャージャ(GRCG) 1= あり 0= なし * GRCGの有無を示す。PC-9801初代・E・F・MはGRCG搭載不可。PC-9801Uは オプション。その他の機種は標準搭載。 関連 I/O 007Ch I/O 007Eh bit 0: DIP SW 1-8[PC-9801初代・E・F・Mを除く] 1= ON 0= OFF * 起動時のDIP SW 1-8の状態を示す。起動時のDIP-SWの状態がコピー されるだけなので、このビットだけでグラフLIOが16色モードを サポートしているかどうかの判定はできない。 0000:0480h bit 6=1かつ0000:054Ch bit 0=1ならば、グラフLIOが 16色モードをサポートしていると判断できる。。 関連 DIP SW 1-8 解説 o 主にグラフィック関係の機能・状態を表すワークエリア。 関連 メモリ 0000:054Ch(ハイレゾ) 型 8bit FLAGS 名前 分類 CRT BIOS Undocumented 対象 ハイレゾ 内容 CRTステータス bit 7,6: 00b(未使用) bit 5: CRTモード 1= ノンインターレース(水平走査周波数50.02kHz,垂直同期周波数79.09Hz) 0= インターレース(水平走査周波数32.86kHz,垂直同期周波数60.05Hz) * PC-98XA・XL・XL^2・RLは常に0。 bit 4: 0(未使用) bit 3: ユーザ定義文字数 1= 188文字(固定) bit 2〜0: 000b(未使用) 解説 o CRT関係の状態を表すワークエリア。 関連 INT 0Ah(外部割り込み…VSYNC) メモリ 0000:054Ch(LT・HA) 型 8bit FLAGS 名前 分類 CRT BIOS Undocumented 対象 PC-98LT・HA,DB-P1 内容 CRTステータス bit 7〜4: 0000b(未使用) bit 3: ユーザ定義文字数 1= 188文字(固定) bit 2〜0: 000b(未使用) 解説 o 常に固定値(08h)を示す。 関連 メモリ 0000:054Dh(ノーマル) 型 8bit FLAGS 名前 PRXDUPD 分類 対象 ノーマル 内容 グラフィックモード bit 7: ■PC-H98 256色ボード(PC-H98-E02)の有無(Undocumented) 1= あり 0= なし ■PC-9821(Bp・Bs・Be・Bf・Ts・Ne3・Nd2を除く) グラフィックスモード(Undocumented) 1= 拡張グラフィックス 0= 標準グラフィックス * PC-98GSは使用しない 関連 INT 18h - Function 30h INT 18h - Function 4Dh bit 6: EGC(Enhanced Graphic Charger)の有無(Undocumented) 1= あり 0= なし * EGCは、i80286以上のCPU、およびV30HL,V33A搭載機が備えている。 * PC-9801NS/E・NCはレジュームONのときEGC使用不可(このビットが0に なる)。PC-9801NS/T・NL以降はレジュームONでもEGC使用可能。 * PC-9801NVはハードウェア的にはEGCを備えているが、通常はEGCが 使用できないように設定されている。OUT EE8Eh,00hを実行し、 このビットを1にすると、レジュームOFF時に限りEGCが使用可能となる。 関連 I/O 04A0h I/O EE8Eh(PC-9801NV) bit 5: DIP SW 2-8[PC-9801初代・E・F・M・U・VM2・VFを除く](Undocumented) 1= ON (5.0MHz) 0= OFF(2.5MHz) * 起動時のDIP SW 2-8の状態を示す。グラフィック解像度640x400時の GDCクロック周波数の指定。このビットには起動時のDIP-SWの状態が コピーされているだけなので、現在のGDCのクロック周波数を示して いるわけではない。 関連 0000:054Dh bit 2 DIP SW 2-8 bit 4: 常時フラッシュレス描画フラグ(Undocumented) 1= 常時フラッシュレス描画の機種 0= 常時フラッシュレス描画ではない機種 * このビットが1の機種では、INT 18h - Function 4Ah (描画モードの設定)に関らず、常にフラッシュレス描画が行われる。 * このビットが0の機種はPC-9801初代・E・F・M・U・VM2・VF。それ以外の 機種は1。 関連 INT 18h - Function 4Ah bit 3: フラッシュ描画フラグ(Undocumented) 1= フラッシュ描画 0= フラッシュレス描画 * INT 18h - Function 4Ah(描画モードの設定)の設定値。0000:054Dh bit 4=0の機種では、フラッシュ描画に設定するとGDCで描画するとき 画面にチラツキが出る。 * 0000:054Ch bit 0=1のとき、INT 18h - Function 30h,42h等を 実行したあと必ず1に設定されるが、理由は不明。 * PC-H98では常に1を示すが、意味は不明。 関連 INT 18h - Function 4Ah bit 2: GDCクロック(Undocumented) 1= 5.0MHz 0= 2.5MHz * 現在のGDCクロック周波数を示す。 * GDCクロックは条件により以下の表のように設定される。 -------+--------+--------+--------+----------------------+---- グラフィック|水平走査|垂直同期|グラフィックス|GDCクロック |備考 解像度 | 周波数| 周波数|モード |(括弧内はビット値) | -------+--------+--------+--------+----------------------+---- 640x200|15.98kHz| 61.47Hz|標準 |2.5MHz(0)固定 |*1 640x200|24.83kHz| 56.42Hz|標準 |2.5MHz(0)固定 |*2 640x400| ↑ | ↑ |標準 |0000:054Dh bit 5に従う|*2 640x400| ↑ | ↑ |拡張 |0000:054Dh bit 5に従う|*2 640x200|31.47kHz| 70.10Hz|標準 |2.5MHz(0)固定 |*3 640x400| ↑ | ↑ |標準 |0000:054Dh bit 5に従う|*3 640x400| ↑ | ↑ |拡張 |0000:054Dh bit 5に従う|*3 640x480|31.47kHz| 59.94Hz|拡張 |5.0MHz(1)固定 |*4 640x400|15.73kHz| 59.94Hz|GS拡張 |5.0MHz(1)固定 |*5 640x480| ↑ | ↑ |GS拡張 |5.0MHz(1)固定 |*5 -------+--------+--------+--------+----------------------+---- *1:デジタルRGB出力のある機種で、DIP SW 1-1をOFFにしたときのCRT 信号。PC-8001用ディスプレイを接続するときの設定。 *2:ノーマルモードの最も標準的なCRT信号。 *3:PC-9821(初代・Ne・Np・Ce・Tsを除く),PC-9801BA2・BS2・BX2・BA3・BX3・BX4 で、[GRPH]+[2]+[RESET]設定を行ったときと、PC-H98にN5926-01・02型 ディスプレイを接続して行間空き25行表示していないときのノーマル モードのCRT信号。 *4:PC-9821(Bp・Bs・Be・Bf・Ts・Ne3・Nd2を除く),PC-H98(ノーマル),PC-98GS (非ビデオモード)の640x480表示時のCRT信号。 *5:PC-98GSでビデオモードに設定したときのCRT信号。 関連 INT 18h - Function 30h,31h bit 1,0: GDCのドットオペレーションモードの設定状態 11b= SET 10b= CLEAR 01b= COMPLEMENT 00b= REPLACE 解説 o グラフィック関係の機能・状態を示すワークエリア。 o PC-98LT・HA,DB-P1はこのアドレスを使用しない。 関連 メモリ 0000:054Dh(ハイレゾ) 型 8bit FLAGS 名前 分類 Undocumented 対象 ハイレゾ 内容 bit 7: 256色ボード(PC-H98-E02)の有無[PC-H98] 1= あり 0= なし bit 6: EGC(Enhanced Graphic Charger) 1= あり 0= なし * EGCは、PC-98XA以外のハイレゾモードでサポート。 関連 I/O 04A0h bit 5: 0(未使用) bit 4: PC-H98のハイレゾモードと98ハイレゾボード(PC-9821A-E02)の ハイレゾモードでは常に1を示す。意味は不明。 bit 3: PC-H98のハイレゾモードと98ハイレゾボード(PC-9821A-E02)の ハイレゾモードでは常に1を示す。意味は不明。 bit 2〜0: 000b(未使用) 解説 o グラフィック関係の機能を示すワークエリア。 関連 メモリ 0000:054E〜054Fh 型 2 BYTES 名前 PRXGLS 分類 GRAPH BIOS 対象 ノーマル 内容 GDCに設定する線種データ 解説 o GDCのTEXTWコマンドで設定する線種データ(PTN)を格納する 領域。グラフィックBIOS、グラフLIOで使用する。 o 0000:054Eh(PRXGCPTN)の先頭2バイトと領域を共用している。 関連 メモリ 0000:054E〜0555h 型 8 BYTES 名前 PRXGCPTN 分類 GRAPH BIOS 対象 ノーマル 内容 GDCに設定するドット構成データ 解説 o GDCのTEXTWコマンドで設定するドット構成データ(TEXT1〜8)を格納する 領域。グラフィックBIOS、グラフLIOで使用する。 o 0000:054Eh(PRXGLS)と領域を共用している。 関連 メモリ 0000:0556〜0559h 型 DWORD 名前 RS_OFST_ADR,RS_SEG_ADR(ノーマル) RS_CH0_OFST,RS_CH0_SEG(ハイレゾ) 分類 RS-232C 対象 ノーマル,ハイレゾ,PC-98LT・HA 内容 RS-232C CH0受信バッファのアドレス 解説 o RS-232C CH0(本体内蔵RS-232C)の受信バッファのアドレスを保持 している。RS-232C BIOS(INT 19h)、RSDRV.SYSが使用する。 関連 0000:055Bh 0000:05C1h 0000:05F0h 0000:05F4h INT 19h - Function 00h(BIOS) INT 19h - Function 00h(RSDRV) メモリ 0000:055Ah 型 8bit FLAGS 名前 PR_SIFT 分類 PRINTER BIOS 対象 PC-9801初代・E・F・M 内容 ODA系プリンタのシフト状態 bit 7〜3: 未使用 bit 2: ODAプリンタからの割り込みみ 1= あり 0= なし bit 1: シフト状態 1= 状態確定 0= 状態不確定 bit 0: シフト状態 1= SO状態 0= SI状態 解説 o PC-9801-05(ODAプリンタインターフェース)実装時に使用するワークエリア。 関連 メモリ 0000:055Bh 型 8bit FLAGS 名前 RS_S_FLAG 分類 RS-232C BIOS 対象 ノーマル,ハイレゾ,PC-98LT・HA 内容 RS-232C受信データのシフト状態 bit 7: CH 0 SI/SO変換の有無 bit 6: CH 1 SI/SO変換の有無 bit 5: CH 2 SI/SO変換の有無 1=あり 0=なし(初期状態) bit 4: CH 0 SI/SOシフト状態 bit 3: CH 1 SI/SOシフト状態 bit 2: CH 2 SI/SOシフト状態 bit 1,0: 00b(未使用) 1=SO 0=SI(初期状態) 解説 o RS-232CのSI/SO変換の有無と受信データのシフト状態を保持する。 RS-232C BIOS(INT 19h,INT D4h,INT D5h)、RSDRV.SYSが使用する。 関連 0000:0556h 0000:05C1h 0000:05F0h 0000:05F4h メモリ 0000:055C〜055Dh 型 16bit 名前 DISK_EQUIP 分類 DISK BIOS 対象 全機種 内容 ディスク接続状態 -----------+----------------+------------------ アドレス/ビット |装置種別 |備考 -----------+----------------+------------------ 055Ch bit 7|320KB FDD UNIT#3|(DA/UA=53h) *1 bit 6|320KB FDD UNIT#2|(DA/UA=52h) *1 bit 5|320KB FDD UNIT#1|(DA/UA=51h) *1 bit 4|320KB FDD UNIT#0|(DA/UA=50h) *1 bit 3|1MB FDD UNIT#3|(DA/UA=93h,13h) bit 2|1MB FDD UNIT#2|(DA/UA=92h,12h) bit 1|1MB FDD UNIT#1|(DA/UA=91h,11h) bit 0|1MB FDD UNIT#0|(DA/UA=90h,10h) 055Dh bit 7|640KB FDD UNIT#3|(DA/UA=73h,F3h) bit 6|640KB FDD UNIT#2|(DA/UA=72h,F2h) bit 5|640KB FDD UNIT#1|(DA/UA=71h,F1h) bit 4|640KB FDD UNIT#0|(DA/UA=70h,F0h) bit 3|SASI HDD UNIT#3|(DA/UA=83h,03h) *2 bit 2|SASI HDD UNIT#2|(DA/UA=82h,02h) *3 bit 1|SASI HDD UNIT#1|(DA/UA=81h,01h) *4 bit 0|SASI HDD UNIT#0|(DA/UA=80h,00h) *5 -----------+----------------+------------------ 1= 接続 0= 非接続 *1: PC-9801初代・E・F・Mのみサポート *2: PC-H98/70-E01・E03に接続した外付SASIドライブまたは 4台目IDE HDDも同様 *3: PC-H98/70-E01・E03(PC-H98内蔵SASI),PC-H98/70-E02(PC-H98内蔵ESDI) または3台目IDE HDDも同様 *4: 2台目IDE HDDも同様 *5: 1台目IDE HDDも同様 解説 o DISK BIOSのINITIALIZEコマンド実行時に、ディスク装置の接続状態が セットされる。 o 両用FDDインターフェース、1.44MB対応両用インターフェースの場合、 設定されているI/Fモードのドライブとして認識される。 つまり、1MB I/Fモードのとき、0000:055Dh bit 7〜4のどれかが1になる ことはない。もし1になっていたとしたら、640KB FD I/Fボードが実装され、 そこに640KB FDが接続されていることになる。 同様に、640KB I/Fモードのとき、0000:055Ch bit 3〜0のどれかが1になる ことはない。もし1になっていたとしたら、1MB FD I/Fボードが実装され、 そこに1MB FDが接続されていることになる。 o FDDが両用ドライブかどうか、3モードドライブかどうかをワークエリア から判断することはできない。INT 1Bh - Function 84h(FD),C4h(FD)の 返り値から区別することができる。 u PC-9821Np・Nsでは、98NOTEベイに内蔵FDDを実装していないときでも、 このワークエリアには1台の1MB専用FDDが接続されているように示される (このため、MS-DOSのドライブも作られる)。 98NOTEベイに実装するFDDは、電源ON状態で挿抜しても状態の変化は検出 されない(ステータスインジケータのFDDの表示は変化しない。FDDを抜いた 状態で起動したあとFDDを実装しても、FDにはアクセスできない)。また、 そのような操作も禁止されている。常に1MB専用FDDが接続されている ように見えることに、どのような意味があるのかは不明。 関連 0000:0482h 0000:0488h 0000:0494h 0000:0560h 0000:05AEh INT 1Bh - Function 04h(FD) INT 1Bh - Function 84h(FD) INT 1Bh - Function C4h(FD) メモリ 0000:055E〜055Fh 型 16bit 名前 DISK_INT 分類 DISK BIOS 対象 全機種 内容 ディスク装置からの割り込み状況 --------------+----------------- アドレス/ビット |装置種別 --------------+----------------- 055Eh bit 7〜4|未使用 bit 3 |1MB FDD UNIT#3 bit 2 |1MB FDD UNIT#2 bit 1 |1MB FDD UNIT#1 bit 0 |1MB FDD UNIT#0 055Fh bit 7 |640KB FDD UNIT#3 bit 6 |640KB FDD UNIT#2 bit 5 |640KB FDD UNIT#1 bit 4 |640KB FDD UNIT#0 bit 3〜1|未使用 bit 0 |SASI/ESDI/IDE HDD --------------+----------------- 1= 対応するデバイスから割り込みが発生 0= 割り込みなし 解説 o ディスク装置からの割り込み状況を示す。 関連 メモリ 0000:0560h 型 BYTE 名前 DISK_TYPE 分類 DISK BIOS 対象 PC-9801初代・E・F・M 内容 320KB FDタイプ FFh= 片面装置 EFh= 両面装置 00h= 未接続 解説 o 320KB FDドライブの接続状態・装置の種類を示す。 関連 0000:055Ch メモリ 0000:0561h 型 8bit FLAGS 名前 DISK_MODE 分類 DISK BIOS 対象 PC-9801初代・E・F・M 内容 320KB FDDの動作モード bit 7〜4: 未使用 bit 3: 320KB FDD UNIT#3 bit 2: 320KB FDD UNIT#2 bit 1: 320KB FDD UNIT#1 bit 0: 320KB FDD UNIT#0 1= 両面 0= 片面 解説 o 320KB FDDの動作モードを示す。 関連 0000:0560h メモリ 0000:0562〜0563h 型 WORD 名前 DISK_TIME 分類 DISK BIOS 対象 PC-9801初代・E・F・M 内容 320KB FDタイムアウト時間(単位:ms) 解説 o 320KB FDからブートするときのタイムアウト処理を行う。 0のときは完了するまで無条件に待つ。電源ON/RESET時、約35秒に設定される。 関連 0000:0560h メモリ 0000:0564〜0583h 型 32 BYTES 名前 DISK_RESULT 分類 DISK BIOS 対象 1MB専用BIOS,両用BIOS - 1MB I/Fモード 内容 1MB FD I/FのFDCリザルトステータス -----------+-------------- アドレス |内容 -----------+-------------- 0564〜056Bh|1MB FDD UNIT#0 056C〜0573h|1MB FDD UNIT#1 0574〜057Bh|1MB FDD UNIT#2 057C〜0583h|1MB FDD UNIT#3 -----------+-------------- ----------+--------------------------------------------- オフセット|内容 ----------+--------------------------------------------- +0 |ST0(リザルトステータス) |bit 7: IC1(Interrupt Code 1) |bit 6: IC0(Interrupt Code 0) |bit 5: SE(Seek End) |bit 4: EC(Equipment check) |bit 3: NR(Not Ready) |bit 2: HD(Head Address) |bit 1: US1(Unit Select 1) |bit 0: US0(Unit Select 0) ----------+--------------------------------------------- +1 |ST1(リザルトステータス)または |PCN(プレゼントシリンダナンバ)*1 |bit 7: EN(End of Cylinder) |bit 6: 0 |bit 5: DE(Data Error) |bit 4: OR(Overrun) |bit 3: 0 |bit 2: ND(No Data) |bit 1: NW(Not Writable) |bit 0: MA(Missing Address Mark) ----------+--------------------------------------------- +2 |ST2(リザルトステータス) |bit 7: 0 |bit 6: CM(Control Mark) |bit 5: DD(Data Error in Data Field) |bit 4: NC(No Cylinder) |bit 3: SH(Scan Equal Hit) |bit 2: SN(Scan Not Satisfied) |bit 1: BC(Bad Cylinder) |bit 0: MD(Missing Address Mark in Data Field) ----------+--------------------------------------------- +3 |C(シリンダ番号) +4 |H(ヘッド番号) +5 |R(レコード番号) +6 |N(データ長) +7 |NCN(現在のシリンダ番号) ----------+--------------------------------------------- *1: ST0のbit 5(SE)=1のときPCNとして使用する 解説 o ディスクI/Oの終了時、FDC(μPD765A)から返されるステータス情報。 SEEK系コマンドでは、ST0とPCNのみ通知される。 o 両用FD I/Fでは、1MB I/Fモードであれば640KBアクセスモードでも このワークエリアを使用する。 関連 0000:05D0h 0000:05D8h I/O 0090h メモリ 0000:0584h 型 BYTE 名前 DISK_BOOT 分類 DISK BIOS 対象 全機種 内容 OSがブートしたディスク装置のDA/UA -------+--------------------------------------------------------- DA/UA |装置の種類 -------+--------------------------------------------------------- 10〜13h|両用FD I/F(1MB I/Fモード)に接続されたFDD(640KBメディア) 30〜33h|両用FD I/F(1MB I/Fモード)に接続されたFDD(1.44MBメディア) 50〜53h|320KB FD I/Fに接続されたFDD 68〜6Bh|BRANCH 4670 I/Fに接続された仮想ドライブ 70〜73h|640KB FD I/F,両用FD I/F(640KB I/Fモード)に接続されたFDD |(640KBメディア) 80〜83h|SASI・ESDI・IDE HDD 90〜93h|1MB FD I/F,両用FD I/F(1MB I/Fモード)に接続されたFDD |(1MBメディア) A0〜A6h|SCSI I/Fに接続されたHDD, 3.5"MO, 5"MO, CD-ROM D0h |ROMドライブ D1h |PCMCIAメモリカードドライブ F0〜F3h|両用FD I/F(640KB I/Fモード)に接続されたFDD(1MBメディア) -------+--------------------------------------------------------- 解説 o OSがブートしたディスク装置のDA/UAを示す。 関連 FD80:27E8h(ノーマル) FD80:27ECh(ノーマル) F800:7FECh(ハイレゾ) メモリ 0000:0585h 型 8bit FLAGS 名前 DISK_STATUS 分類 DISK BIOS 対象 SASI, ESDI 内容 HDC(Hard Disk Controller)のCompletion Status bit 7,6: 00b bit 5: LUN(Logical Unit Number) 1= HDD#1 0= HDD#0 bit 4〜2: 未定義 bit 1: エラー 1= エラー発生 0= エラーなし bit 0: パリティーエラー 1= エラー発生 0= エラーなし 解説 o ディスクI/O終了時に、HDCのCompletion Status(I/O 0080h)を格納する。 o IDE BIOSはこのアドレスを使用しない。 関連 I/O 0080h メモリ 0000:0586〜0589h 型 4 BYTES 名前 DISK_SENSE 分類 DISK BIOS 対象 SASI,ESDI 内容 SASI/ESDI BIOSのワークエリア --------+------------------------------------------ アドレス|内容 --------+------------------------------------------ 0586h |センスバイト 0587h |論理アドレスのbit 21〜16(上位2bitは0) 0588h |論理アドレスのbit 15〜8 0589h |論理アドレスのbit 7〜0 --------+------------------------------------------ 解説 o IDE BIOSはこのアドレスを使用しない。 関連 メモリ 0000:058A〜058Bh 型 WORD 名前 CA_TIM_CNT 分類 TIMER BIOS 対象 全機種 内容 インターバルタイマカウンタ(単位:10ms) 解説 o シングルイベントタイマのインターバルタイマカウンタ。詳細は、 INT 1Ch - Function 02hの解説を参照。 u DB-P1では、50ms単位の値が設定される。 関連 INT 1Ch - Function 02h メモリ 0000:058C〜058Dh 型 WORD 名前 分類 DISK BIOS Undocumented 対象 PC-9821Xa10・Xa9・Xa7・Xa12 内容 3台目IDEハードディスクのモータ停止時間カウンタ(単位:100ms) 解説 o 「内蔵固定ディスク制御 設定する」のとき、このアドレスを使って モータ停止時間のカウントを行う。この値が0000hまでデクリメントされると HDDのスピンドルモータが停止する。 o 「内蔵固定ディスク制御 設定しない」のときは常に0000h。 o INT 17hハンドラがデクリメントする。 関連 0000:04FEh 0000:059Ah 0000:05B1h 0000:058Eh INT 17h(外部割り込み…カレンダ時計割り込み) INT 1Bh - Function D0h(IDE) INT 1Bh - Function E0h(IDE) INT 1Bh - Function F0h(IDE) メモリ 0000:058E〜058Fh 型 WORD 名前 分類 DISK BIOS Undocumented 対象 PC-9821Xa10・Xa9・Xa7・Xa12 内容 4台目IDEハードディスクのモータ停止時間カウンタ(単位:100ms) 解説 o 「内蔵固定ディスク制御 設定する」のとき、このアドレスを使って モータ停止時間のカウントを行う。この値が0000hまでデクリメントされると HDDのスピンドルモータが停止する。 o 「内蔵固定ディスク制御 設定しない」のときは常に0000h。 o INT 17hハンドラがデクリメントする。 関連 0000:04FEh 0000:059Ah 0000:05B1h 0000:058Ch INT 17h(外部割り込み…カレンダ時計割り込み) INT 1Bh - Function D0h(IDE) INT 1Bh - Function E0h(IDE) INT 1Bh - Function F0h(IDE) メモリ 0000:058E〜05BFh 型 50 BYTES 名前 PRXGDCQ 分類 GRAPHIC LIO 対象 PC-9801初代 内容 PAINT処理の高速制御用エリア 解説 o グラフィックLIOのワークエリアとして使用。 o PC-9801E・F・M以降の機種では使用しない。 関連 メモリ 0000:058E〜058Fh 型 2 BYTES 名前 分類 DISK BIOS Undocumented 対象 PC-H98/70-E01・E02・E03 内容 拡張DISK BIOS ROMアドレス関係 解説 o 詳細不明。 0000:058Ehには、INT 1Fh - Function C4h(DL=04h)で取得した メモリ領域開始アドレス(CPUアドレスのbit 19〜16)が格納される。 0000:058Fhには、実際の(CSレジスタからコピーされた)拡張DISK BIOS アドレス(CPUアドレスのbit 19〜16)が格納される。 関連 メモリ 0000:0590h 型 8bit FLAGS 名前 ADR_MOD 分類 DISK BIOS 対象 PC-H98 内容 H98 DISK BIOSモード bit 7: 現在のSASI(ESDI,IDE) BIOSアクセスモード 1= インダイレクトモードアクセス 0= ダイレクトモードアクセス bit 6: SASI(ESDI,IDE) BIOSインダイレクトモードサポート 1= サポート 0= 非サポート * PC-H98/70-E01・E02・E03またはPC-9801-27を実装したとき、 ノーマルモードでは非サポート、ハイレゾモードではサポート。 bit 5: 現在のSCSI BIOSアクセスモード 1= インダイレクトモードアクセス 0= ダイレクトモードアクセス bit 4: SCSI BIOSインダイレクトモードサポート 1= サポート 0= 非サポート * PC-H98S/8-E02,PC-H98-B03・B12はサポート。 PC-9801-55初代・55L・55U・92・100は非サポート。 bit 3: 現在のFD BIOSアクセスモード 1= インダイレクトモードアクセス 0= ダイレクトモードアクセス bit 2: FD BIOSインダイレクトモードサポート 1= サポート 0= 非サポート * FD BIOSでインダイレクトモードをサポートしている機種はない。 bit 1: ESDI HD #1のモード(Undocumented) bit 0: ESDI HD #0のモード(Undocumented) 解説 o bit 7〜2は、PC-H98のインダイレクトモードに関する情報を格納している。 PC-H98は、DISK BIOSで1Mバイト超の領域に転送可能なインダイレクト モードをサポートしている。bit 7〜2は、どのDISK BIOSでインダイレクト モードをサポートしているか、現在どのモードに設定されているかを示す。 o ダイレクトモードでは、転送アドレスをES:BPで直接指定するが、 インダイレクトモードのときは、ES:BPで間接的に転送アドレスを指定する ようになる。このとき、転送アドレスは32ビットのリニアアドレスでメモリ 上に書き込む。ES:BPで、32ビットのリニアアドレスが書き込まれたメモリの アドレスを指定する。 インダイレクトモードで一度BIOSを実行すると、必ずダイレクトモードに 戻される。 o bit 1,0は、PC-H98内蔵ESDI HDD(PC-H98/70-E01・E02・E03,PC-H98S/8-E01)が ノーマルモードのとき使用する。詳細は不明。INT 1Bh - Function 0Eh (SASI/ESDI/IDE)参照。 関連 0000:0590h bit 1 0000:05ECh INT 1Bh - Function 0Eh(SASI/ESDI/IDE) メモリ 0000:0591h 型 8bit FLAGS 名前 分類 DMA BIOS Undocumented 対象 PC-H98 内容 DMAチャネル使用状況 bit 7 : DMA CH7 bit 6 : DMA CH6 bit 5 : DMA CH5 bit 4 : DMA CH4 bit 3 : DMA CH3 bit 2 : DMA CH2 bit 1 : DMA CH1 bit 0 : DMA CH0 1= 使用中 0= 非使用中 解説 o DMAチャネルの使用状況を示すフラグ。 o DMA BIOSのINT 1Fh - Function D2h(チャネルアロケート)を実行すると 指定されたチャネルに対応するビットが1になる。 INT 1Fh - Function D7h(チャネルリリース)を実行すると 指定されたチャネルに対応するビットが0になる。 関連 INT 1Fh - Function D2h INT 1Fh - Function D7h メモリ 0000:0592〜0593h 型 2 BYTES 名前 分類 Undocumented 対象 PC-H98 内容 NMIハンドラで使用 解説 o 詳細不明。ノーマル,ハイレゾともNMIハンドラで使用する。 関連 INT 02h(CPU例外) メモリ 0000:0594〜0595h 型 WORD 名前 分類 MEMORY Undocumented 対象 16Mバイト超メモリ搭載可能機 内容 16Mバイト超の使用可能プロテクトモードメモリ容量(単位:Mバイト) 解説 o 1000000h(16M)以降のアドレスに位置する利用可能なプロテクトモードメモリの 容量を示す。PC-H98, PC-9821Af以降のPC-9821シリーズ、PC-9801BA2・BS2・BX2・ BA3・BX3・BX4で有効。 u HIMEM.SYSの資源管理用ワークも兼ねている。16Mバイト超メモリ対応の HIMEM.SYSを組み込むと、このアドレスには0000hが書き込まれる。HIMEM.SYS を組み込んだあとは、実際のメモリ容量を示さないことになる。 なお、HIMEM.SYSの一部のバージョン(MS-DOS 5.0A-H付属版等)では、 16Mバイト超メモリには対応していないが、組み込み時にこのアドレスの 内容を0000hにするものがある。 o 00000〜9FFFFh(ノーマルモード)/00000〜BFFFFh(ハイレゾモード)の アドレスに位置するメモリの容量は0000:0501h bit 2〜0に格納されている。 100000h(1Mバイト)〜FFFFFFh(16Mバイト-1)のアドレスに位置するメモリの 容量は0000:0401hに格納されている。 関連 0000:0401h 0000:0501h bit 2〜0 INT DC - Function 81h INT DC - Function 82h メモリ 0000:0596h 型 8bit FLAGS 名前 分類 Undocumented 対象 PC-H98 内容 bit 7〜4: 未使用 bit 3: CPUキャッシュ 1= OFF 0= ON bit 2: 製品コード=09h・機能ID(4)=80hである拡張ボードの実装状況 1= あり 0= なし * 640KB FD I/F関連の模様。ボードの製品名等、詳細は不明。 関連 INT 1Fh - Function C0h INT 1Fh - Function C2h bit 1: INT 1Fh - Function DFhの設定値 1= BH=00hで実行後 0= BH=00h以外で実行後 関連 INT 1Fh - Function DFh I/O 0431h bit 0: CPUシャットダウン時のI/O 00F0hに出力する値 1= OUT 00F0h,01hを実行 0= OUT 00F0h,00hを実行 解説 o bit 2,1の機能の詳細は不明。 u UNDOCUMENTED 9801/9821 Vol.1の第1刷では、INT 1Fh - Function DFhは 「電源OFF禁止・許可設定」と記述されているが、これは誤り。実際は 動作不明。 o bit 3,0は、システムセットアップメニューの「CPU速度」の設定により 以下のようになる。 -------+---------------- CPU速度|bit 3,0の状態 -------+---------------- HIGH |bit 3=0, bit 0=0 MIDDLE |bit 3=0, bit 0=1 LOW |bit 3=1, bit 0=1 -------+---------------- 関連 メモリ 0000:0596h 型 8bit FLAGS 名前 分類 Undocumented 対象 PC-9821, PC-9801FA・FS・FX・US・BA・BX・BA2・BS2・BX2・BA3・BX3・BX4・ NA・NS/R・NX/C・NS/A・NL/R 内容 CPU速度 bit 7〜4: 未使用 bit 3: CPUキャッシュ 1= OFF 0= ON bit 2,1: 00b(未使用) bit 0: CPU速度 1= 低速 0= 高速 表 機種・CPU速度別bit 3,0の値 -----------+------+------+------+ 機種名 | HIGH |MIDDLE| LOW | -----------+------+------+------+ PC-9801FA | 0,0 | 1,1 | 1,1 | PC-9801FS | 0,0 | 0,0 | 0,1 | PC-9801FX | 0,0 | 0,0 | 0,1 | PC-9801US | 0,0 | なし | 0,1 | PC-9821初代| 0,0 | なし | 0,1 | PC-9821Af | 0,0 | 0,0 | 1,1 | PC-9821Bf | 0,0 | 0,0 | 1,1 | PC-9801NS/R| 0,0 | なし | 1,1 | PC-9801NL/R| 0,0 | なし | 0,1 | PC-9801NS/A| 0,0 | 1,1 | 1,1 | PC-9821Np | 0,0 |? |? | その他*1 | 0,0 | 0,1 | 1,1 | -----------+------+------+------+ *1: PC-9821Ap・As・Ae・Ap2・As2・Ap2・As2・An・Bp・Bs・Be・Ce・Cs2・Ce2・Ne・Ts, PC-9801BA・BX・BA2・BS2・BX2・BA3・BX3・BX4・NA・NX/C 解説 o CPU速度の設定によって変化する。 bit 3は、i486,Pentium搭載機でCPUキャッシュがOFFのとき1になる。 関連 CPU速度 メモリ 0000:0597h 型 8bit FLAGS 名前 分類 CRT BIOS Undocumented 対象 PC-98GS, PC-9821, PC-9801BA2・BS2・BX2・BA3・BX3・BX4 bit 7: INT 18h - Function 30h,31hのサポート 1= あり 0= なし * 1の機種は、PC-98GS(386SX動作時),PC-9821,PC-9801BA2・BS2・BX2・BA3・ BX3・BX4・NL/A。これ以外の機種とPC-98GSのV30動作時は0。 * PC-98GS,PC-9821,PC-9801BA2・BS2・BX2・BA3・BX3・BX4では、このビットを 0にするとINT 18h - Function 30h,31hが無動作になる。 * PC-9821Ts・Ne2・Ndは例外で、このビットは1を示すが、 INT 18h - Function 30h,31hをサポートしていない。 * この値が0の環境でAVGDRV.SYSを組み込むと「AV機能が無効です」を 表示する。 関連 INT 1Fh - Function 00h(PC-98GS) INT 1Fh - Function 01h(PC-98GS) bit 6〜3: 0000b(未使用) bit 2: 拡張グラフィックスモード・GS拡張グラフィックスモードのサポート 1= あり 0= なし * 1の機種は、PC-9821初代・Ap・As・Ae・Af・Ap2・As2・An・Ce・Cs2・Ce2・Ne・Np, PC-98GS。PC-9821Bp・Bs・Be・Bf・Ts・Ne2・Nd, PC-9801BA2・BS2・BX2・BA3・ BX3・BX4は0。 bit 1,0: グラフィック解像度 ---+------------------+------------ 値 |グラフィック解像度|同時発色数 ---+------------------+------------ 00b|640x200(UPPER) |2/8/16色 01b|640x200(LOWER) |2/8/16色 10b|640x400 |2/8/16/256色 11b|640x480 *1 |256色 ---+------------------+------------ *1 拡張グラフィックスモードをサポートしないPC-9821Bp・Bs・Be・Bf・Ts・ Ne2・Ndはこの状態にはならない。 解説 o bit 1,0が示すグラフィック解像度は、INT 18h - Function 42hで解像度を 変更したときにも正しく反映される。このため、INT 18h - Function 30h, 31hをサポートしていないPC-9821Ts・Ne2・Ndでも、この2ビットには解像度の 状態が反映される。 関連 INT 18h - Function 30h INT 18h - Function 31h INT 18h - Function 42h メモリ 0000:0598〜0599h 型 WORD 名前 分類 DISK BIOS Undocumented 対象 HDD内蔵98NOTE, PC-9821Ap2・As2・An・Bp・Bs・Be・Bf・Cs2・Ce2・Ts・Xa・Xn・Xp・Xs・Xe, PC-9801BA2・BS2・BX2・BA3・BX3・BX4 内容 1台目IDEハードディスクのモータ停止時間カウンタ(単位:100ms) 解説 o 「内蔵固定ディスク制御 設定する」のとき、このアドレスを使って モータ停止時間のカウントを行う。この値が0000hまでデクリメントされると HDDのスピンドルモータが停止する。 o 「内蔵固定ディスク制御 設定しない」のときは常に0000h。 o 98NOTEでは、システムタイマ(INT 0EhまたはINT 17h)ハンドラがこの値を デクリメントする。デスクトップ機では、INT 17hハンドラがデクリメント する。 関連 0000:04FEh 0000:059Ah 0000:05B1h 0000:058Ch 0000:058Eh INT 0Eh(外部割り込み…98NOTE) INT 17h(外部割り込み…98NOTE) INT 17h(外部割り込み…IDE) INT 1Bh - Function D0h(IDE) INT 1Bh - Function E0h(IDE) INT 1Bh - Function F0h(IDE) メモリ 0000:059A〜059Bh 型 WORD 名前 分類 DISK BIOS Undocumented 対象 HDD内蔵98NOTE, PC-9821Ap2・As2・An・Bp・Bs・Be・Bf・Cs2・Ce2・Ts・Xa・Xn・Xp・Xs・Xe, PC-9801BA2・BS2・BX2・BA3・BX3・BX4 内容 IDEハードディスクのモータ停止時間の初期値(単位:100ms) 解説 o 「内蔵固定ディスク制御 設定しない」のときの値は0000h。 関連 0000:0598h 0000:05B1h メモリ 0000:059C〜059Dh(NOTE) 型 2 BYTES 名前 分類 Undocumented 対象 98NOTE(PC-9801N・NSを除く) 内容 ■PC-9801NV・NS/E・NC・NS/T・NL・NS/L・NA 0000:059Ch(BYTE): NOTE RAMバンク用I/O 0E8Eh(BYTE)保存域 0000:059Dh(BYTE): NOTE RAMバンク用I/O 1E8Eh(BYTE)保存域 ■PC-9801NS/R・P・NX/C・NL/R・NS/A,PC-9821Ne・Np・Ns・Ne2・Nd・Es 0000:059Ch(WORD): NOTE RAMバンク用I/O 0E8Eh(WORD)保存域 解説 o NOTE RAMのバンクを切り替えるとき、バンク切り換え用I/Oポートの 内容を保存する。 関連 0000:059Eh I/O 0E8Eh I/O 1E8Eh メモリ 0000:059Eh(NOTE) 型 8bit FLAGS 名前 分類 Undocumented 対象 98NOTE(PC-9801N・NS・NVを除く) 内容 NOTE特殊機能の起動指示フラグ bit 7: 電源OFF要求 1= 電源OFF 0= No Operation bit 6: 電源OFF要求マスク 1= 電源OFF禁止 0= 電源OFF許可 bit 5〜4: 不明 bit 3: ノートメニュー要求 1= [CTRL]+[GRPH]+[HELP]が押された 0= No Operation bit 2: ノートメニュー内部フラグ 1= 現在ノートメニューを実行中 0= ノートメニューを実行中でない bit 0: ノートメニュー要求マスク 1= ノートメニュー要求を無視する 0= ノートメニュー要求を無視しない 解説 o ノートメニュー等の呼び出しを要求する。 関連 INT 0Eh(外部割り込み…98NOTE) INT 17h(外部割り込み…98NOTE) INT 1Fh - Function 9A1Dh INT 1Fh - Function 9A1Eh メモリ 0000:059Fh 型 BYTE 名前 分類 Undocumented 対象 PC-9801NS/T・NS/R・P・NX/C・NL/R・NS/A,PC-9821Ne・Np・Ns・Ne2・Nd・Es 内容 ■PC-9801NS/T NOTE RAMバンク用I/O 0E8Fhポート保存域 ■PC-9801NS/R・P・NX/C・NL/R・NS/A,PC-9821Ne・Np・Ns・Ne2・Nd・Es NOTE RAMバンク用I/O 1E8Ehポート保存域 解説 o NOTE RAMのバンクを切り替えるとき、バンク切り換え用I/Oポートの 内容を保存する。 関連 0000:059Ch I/O 0E8Fh[PC-9801NS/T] I/O 1E8Eh[PC-9801NS/T以外] メモリ 0000:059C〜059Dh(HA) 型 WORD 名前 CARD_SIZE 分類 PCMCIAメモリカードBIOS 対象 PC-98HA 内容 PCMCIAメモリカードのサイズ bit 15〜8: リザーブ bit 7〜3: 仮数部-1(Y) bit 2〜0: 指数部 (X) 容量 = (Y+1) * (4^X / 2) (単位:Kバイト) 解説 u PC-98HA以外のPCMCIAスロット搭載機のシステム共通域には、 メモリカードの容量を示す領域はない。メモリカードの容量を 得るには、INT 1Fh - Function B6hを実行する。 関連 0000:059Eh INT 1Fh - Function B6h 表 [X,Yと容量の関係の表](単位:バイト) -----+------+-------+-------+-------+-------+-------+------- Y\X| 0| 1| 2| 3| 4| 5| 6 -----+------+-------+-------+-------+-------+-------+------- 00h | 0.5K| 2.0K| 8.0K| 32.0K| 128.0K| 0.5M| 2.0M 01h | 1.0K| 4.0K| 16.0K| 64.0K| 256.0K| 1.0M| 4.0M 02h | 1.5K| 6.0K| 24.0K| 96.0K| 384.0K| 1.5M| 6.0M 03h | 2.0K| 8.0K| 32.0K| 128.0K| 512.0K| 2.0M| 8.0M 04h | 2.5K| 10.0K| 40.0K| 160.0K| 640.0K| 2.5M| 10.0M 05h | 3.0K| 12.0K| 48.0K| 192.0K| 768.0K| 3.0M| 12.0M 06h | 3.5K| 14.0K| 56.0K| 224.0K| 896.0K| 3.5M| 14.0M 07h | 4.0K| 16.0K| 64.0K| 256.0K|1024.0K| 4.0M| 16.0M 08h | 4.5K| 18.0K| 72.0K| 288.0K|1152.0K| 4.5M| 18.0M 09h | 5.0K| 20.0K| 80.0K| 320.0K|1280.0K| 5.0M| 20.0M 0Ah | 5.5K| 22.0K| 88.0K| 352.0K|1408.0K| 5.5M| 22.0M 0Bh | 6.0K| 24.0K| 96.0K| 384.0K|1536.0K| 6.0M| 24.0M 0Ch | 6.5K| 26.0K| 104.0K| 416.0K|1664.0K| 6.5M| 26.0M 0Dh | 7.0K| 28.0K| 112.0K| 448.0K|1792.0K| 7.0M| 28.0M 0Eh | 7.5K| 30.0K| 120.0K| 480.0K|1920.0K| 7.5M| 30.0M 0Fh | 8.0K| 32.0K| 128.0K| 512.0K|2048.0K| 8.0M| 32.0M 10h | 8.5K| 34.0K| 136.0K| 544.0K|2176.0K| 8.5M| 34.0M 11h | 9.0K| 36.0K| 144.0K| 576.0K|2304.0K| 9.0M| 36.0M 12h | 9.5K| 38.0K| 152.0K| 608.0K|2432.0K| 9.5M| 38.0M 13h | 10.0K| 40.0K| 160.0K| 640.0K|2560.0K| 10.0M| 40.0M 14h | 10.5K| 42.0K| 168.0K| 672.0K|2688.0K| 10.5M| 42.0M 15h | 11.0K| 44.0K| 176.0K| 704.0K|2816.0K| 11.0M| 44.0M 16h | 11.5K| 46.0K| 184.0K| 736.0K|2944.0K| 11.5M| 46.0M 17h | 12.0K| 48.0K| 192.0K| 768.0K|3072.0K| 12.0M| 48.0M 18h | 12.5K| 50.0K| 200.0K| 800.0K|3200.0K| 12.5M| 50.0M 19h | 13.0K| 52.0K| 208.0K| 832.0K|3328.0K| 13.0M| 52.0M 1Ah | 13.5K| 54.0K| 216.0K| 864.0K|3456.0K| 13.5M| 54.0M 1Bh | 14.0K| 56.0K| 224.0K| 896.0K|3584.0K| 14.0M| 56.0M 1Ch | 14.5K| 58.0K| 232.0K| 928.0K|3712.0K| 14.5M| 58.0M 1Dh | 15.0K| 60.0K| 240.0K| 960.0K|3840.0K| 15.0M| 60.0M 1Eh | 15.5K| 62.0K| 248.0K| 992.0K|3968.0K| 15.5M| 62.0M 1Fh | 16.0K| 64.0K| 256.0K|1024.0K|4096.0K| 16.0M| 64.0M -----+------+-------+-------+-------+-------+-------+------- * X=7はリザーブ メモリ 0000:059Eh(HA) 型 8bit FLAGS 名前 CARD_STATUS 分類 PCMCIAメモリカードBIOS 対象 PC-98HA 内容 PCMCIAメモリカードの状態 bit 7: アクセス状態 1= アクセス中 0= アクセスしていない bit 6: リード/ライト 1= ライト 0= リード * bit 7=1のとき有効 bit 5: カード有効/無効 1= カード無効 0= カード有効 * bit 0,1=00bのとき認識前 bit 4: カード入換え検出 1= 入換えた 0= 入換えない * スロットの蓋を開閉すると同時に、1にセットされる。 * デバイスドライバ等を作成するとき、カードの入れ換え検出に 利用できる。すなわち、デバイスドライバは、PCMCIAメモリカードに アクセスしたときこのビットを0にセットするように作成する。 次にアクセスしたとき、このビットが0のままならカードは 入れ換えられていないことがわかる。1になっていたら、 カードが入れ換えられたことがわかる。 bit 3: カード有無 1= あり 0= なし * スロットの蓋を開閉すると同時に、1または0にセットされる。 bit 2: ライトプロテクト 1= あり 0= なし * bit 3=1(カードあり)のとき有効。 * bit 0=1(EMSカード)では常に1。 * ROMカードは常に1。 bit 1: RAM/ROMカード識別 1= RAM/ROMカード 0= その他 * bit 5=0(カード識別後)のとき有効 bit 0: EMSカード識別 1= EMSカード 0= その他 * bit 5=0(カード識別後)のとき有効 解説 o PCMCIAメモリカードの状態を示す。 u PC-9801NL,PCカードスロット搭載機では、0000:05A6hに同様の情報が 格納される。 関連 0000:059Ch 0000:05A6h メモリ 0000:059F〜05AFh(HA) 型 16 BYTES 名前 分類 Undocumented 対象 PC-98HA, DB-P1 内容 -----------+------------------------------------------------- アドレス |内容 -----------+------------------------------------------------- 059Fh(BYTE)|bit 7,5〜0: 不明 |bit 6: INT 1Fh - Function B0h,B1hを実行すると1/0になる 05A0h(BYTE)|I/O 1E8Ehに出力した値を保持 05A1h(BYTE)|I/O 0E8Ehに出力した値を保持 05A2h(BYTE)|不明。PCMCIA関連 ■PC-98HAのみ 05A3h(BYTE)|PC-98HAのINT 10〜17hハンドラ内でI/O 8810hに出力する値。 |メモリスイッチ13hのコピー。 ■PC-98HAのみ 05A4h(BYTE)|PCMCIA用ダウンカウンタ ■PC-98HAのみ 05A5h(BYTE)|不明 05A6h(BYTE)|I/O 0075に出力する値(1回目) ■PC-98HAのみ 05A7h(BYTE)|I/O 0075に出力する値(2回目) ■PC-98HAのみ 05A8〜05AFh|未使用 -----------+------------------------------------------------- 解説 o 詳細不明 関連 メモリ 0000:05A0h 型 8bit FLAGS 名前 分類 Undocumented 対象 98NOTE(PC-9801N・NSを除く) 内容 LOW BATTERY警告音用ワークエリア bit 7: 未使用 bit 6: 警告ビープ音の有無 1= 鳴動中 0= 非鳴動中 bit 5〜0: ビープ用カウンタ 0〜63の範囲で0.1s毎に1づつインクリメントされる。また、次の 表のタイミングで鳴動・停止を繰り返す。 表 |-鳴--|-停--|-鳴--|-停--------| | 動 | 止 | 動 | 止 | →0→1→2→3→4→5→6→…→63→↓ ↑←――――――――――――――― 解説 o バッテリ警告ビープ音の鳴動を管理する。 関連 メモリ 0000:05A1〜05A3h 型 3 BYTES 名前 分類 Undocumented 対象 PC-9801NV 内容 LOW BATTERY警告音鳴動時の音程情報待機領域 -----------+------------------------------------------------- アドレス |内容 -----------+------------------------------------------------- 05A1h(BYTE)|μPD71054(プログラマブル・タイマ・カウンタ)の | カウンタ#1のステータスデータ | bit 7: OUTPUT | bit 6: Null Count | bit 5: RWM1 | bit 4: RWM0 | bit 3: CM2 | bit 2: CM1 | bit 1: CM0 | bit 0: BCD 05A2h(WORD)|μPD71054のカウンタ#1の分周値 -----------+------------------------------------------------- 解説 o PC-9801NVでは、LOW BATTERY時の警告音を出すときに、通常のビープを 鳴らすためのハードウェアを使用する。このため、警告音を鳴らすとき には、現在のタイマのカウンタ#1の状態を保存・復帰する必要がある。 o PC-9801NV以外の98NOTEは、LOW BATTERY時の警告音を鳴らすための 専用のハードウェアを持っているため、このような処理は必要ない。 関連 I/O 0071h メモリ 0000:05A4h 型 8bit FLAGS 名前 分類 Undocumented 対象 PC-9801FA・FS・FX・US・BA・BX・BA2・BS2・BX2・BA3・BX3・BX4, PC-H98model105, PC-9821(98NOTEを除く), PC-9821A-E02(ハイレゾモード) 内容 FDDのスピンドルモータの状態 bit 7: 640KB FDD UNIT#3 *1 bit 6: 640KB FDD UNIT#2 *1 bit 5: 640KB FDD UNIT#1 *1 bit 4: 640KB FDD UNIT#0 *1 bit 3: 1MB FDD UNIT#3 *2 bit 2: 1MB FDD UNIT#2 *2 bit 1: 1MB FDD UNIT#1 *2 bit 0: 1MB FDD UNIT#0 *2 1= モータ停止中 または ドライブが接続されていない 0= モータ動作中 *1: 640KBインターフェースモード時に使用 *2: 1MBインターフェースモード時に使用 解説 o FDDのスピンドルモータの状態を示す。内蔵両用FDインターフェースが 1MBインターフェースモードのときは、下位4ビットが使用され、 上位4ビットは常に1111bになる。640KBインターフェースモードのときは、 上位4ビットが使用され、下位4ビットは常に1111bになる。 関連 0000:0485h 0000:05D7h メモリ 0000:05A5h 型 8bit FLAGS 名前 分類 DISK BIOS Undocumented 対象 PC-H98-B12, PC-9801-92・100, PC-9821X-B02, 上記相当の本体内蔵型SCSIインターフェース 内容 NEC製SCSI HDD "D5882"識別 ------+----------- ビット|装置 ------+----------- bit 7 | 未使用 bit 6 | SCSI ID #6 bit 5 | SCSI ID #5 bit 4 | SCSI ID #4 bit 3 | SCSI ID #3 bit 2 | SCSI ID #2 bit 1 | SCSI ID #1 bit 0 | SCSI ID #0 ------+----------- 1= D5882が接続されている 0= D5882が接続されていない 解説 o SCSIコマンドのInquiryに"D5882"と返すドライブのSCSI IDに対応する ビットが1になる。 関連 0000:05AFh メモリ 0000:05A6h 型 8bit FLAGS 名前 CARD_STATUS 分類 PCMCIA 対象 PC-9801NL, PCカードスロット搭載機 内容 PCMCIAメモリカードの状態 bit 7: アクセス状態 1= アクセス中 0= アクセスしていない bit 6: リード/ライト 1= ライト 0= リード * bit 7=1のとき有効 bit 5: カード識別 1= カード識別前 0= カード識別後 * bit 3=0(カードなし)のとき、常に1。 * PCカードスロット搭載機にMCDRV.SYSを組み込んだ場合とPC-9801NL では、bit 3=1(カードあり)のときに、PCMCIAメモリカードに対して INT 1Fh - Function B4h,B5h(BIOS READ/WRITE)でアクセスすると このビットが0になる。 * PCカードスロット搭載機にMCDRV.SYSを組み込まない場合、 bit 3=1(カードあり)のときに、PCMCIAメモリカードに対して INT 1Fh - Function B4h(BIOS READ)でアクセスしても、 このビットは0にならない。1のままである。 bit 4: カード入換え検出 1= 入換えた 0= 入換えない * カードを挿抜(PC-9801NLではスロットの蓋を開閉)すると 同時に、1にセットされる。 * デバイスドライバ等を作成するとき、カードの入れ換え検出に 利用できる。すなわち、デバイスドライバは、PCMCIAメモリカードに アクセスしたときこのビットを0にセットするように作成する。 次にアクセスしたとき、このビットが0のままならカードは 入れ換えられていないことがわかる。1になっていたら、 カードが入れ換えられたことがわかる。 bit 3: カード有無 1= あり 0= なし * カードを挿抜(PC-9801NLではスロットの蓋を開閉)すると 同時に、1または0にセットされる。 bit 2: ライトプロテクト 1= あり 0= なし,カードなし * bit 3=1(カードあり)のとき有効。 * bit 0=1(EMSカード)では常に1。 * ROMカードは常に1。 bit 1: RAM/ROMカード識別 1= RAM/ROMカード 0= その他 * bit 5=0(カード識別後)のとき有効 * ただし、PCカードスロット搭載機にMCDRV.SYSを組み込まない場合は bit 5=0にならない。しかし、INT 1Fh - Function B4h(BIOS READ) 実行後、このビットはカードの種類に従った値に変化する。 bit 0: EMSカード識別 1= EMSカード 0= その他 * bit 5=0(カード識別後)のとき有効 解説 o PCMCIAメモリカードの状態を示す。 o 各ビットの動作は、以下に挙げる3種類の環境で動作が多少異なる。 - PC-9801NL - PCカードスロット搭載機(MCDRV.SYSを組み込まないとき) - PCカードスロット搭載機(MCDRV.SYSを組み込んだとき) 環境による差異は、「内容」の項で示したとおり。 o PC-98HAでは、0000:059Ehに同等の情報が格納される。 関連 0000:059Eh メモリ 0000:05A7h 型 BYTE 名前 分類 対象 ノーマル,ハイレゾ 内容 未使用 解説 関連 メモリ 0000:05A8h 型 16bit FLAGS 名前 CARD_EQUIP 分類 PCMCIA 対象 PC-9801NL, PCカードスロット搭載機 内容 PCMCIAメモリカードBIOSのサポートの有無 bit 15〜1: 未使用 bit 0: PCMCIAメモリカードドライブの有無 1= あり 0= なし 解説 o PC-9801NLでは常に1。PC-98HAでは相当する情報は格納されない。 o PCカードスロット搭載機では、MCDRV.SYSが組み込まれると1になる。この とき、INT 1Fh - Function B5〜B8hが使用可能になる。 このビットが0でも、PCカードスロットを搭載している機種ならば、 BIOSがサポートしているINT 1Fh - Function B4hは常に使用可能。 関連 INT 1Fh - Function B4h INT 1Fh - Function B5h INT 1Fh - Function B6h INT 1Fh - Function B7h INT 1Fh - Function B8h メモリ 0000:05A9〜05ACh 型 4 BYTES 名前 分類 DISK BIOS Undocumented 対象 PC-9801NA・NS/R・NX/C・P・NL/R・NS/A, PC-9821Ne... 内容 -----+----------+---------- オフセット|Read時 |Write時 -----+----------+---------- 05A9h|F3h(REPZ) |F3h(REPZ) 05AAh|6Dh(INSW) |26h(ES:) 05ABh|CBh(RETF) |6Fh(OUTSW) 05ACh| |CBh(RETF) -----+----------+---------- 解説 o IDE HDDとの入出力のとき、I/Oストリング命令を高速に実行するため、 ここに命令コードを書き込み、BIOSからFAR CALLして実行する。 関連 メモリ 0000:05ADh 型 8bit FLAGS 名前 分類 Undocumented 対象 EMM386.EXE 内容 VDSのインストール状況 bit 7,6: 未使用(?) bit 5: VDSのインストール状況 1= VDS使用可能 0= VDS使用不可能 bit 4〜0: 未使用(?) 解説 o EMM386が提供するVDS(Virtual DMA Specification:INT 4Bh)が使用可能か どうかを示す。PC-H98-B12(SCSIインタフェースボード),PC-9821X-B02 (SCSI-2インタフェースボード)は、VDSのインストール状況をチェック している。 関連 メモリ 0000:05AEh 型 8bit FLAGS 名前 分類 DISK BIOS Undocumented 対象 1.44MB FD I/Fサポート機 内容 ■デスクトップ bit 7: 未使用 bit 6〜4: 不明 * FDDをアクセスすると変化する。 bit 3〜0: 1.44MBサポートドライブ 1= 1.44MBアクセス可能 0= 1.44MBアクセス不可能 ------+--------------------- ビット|装置 ------+--------------------- bit 3 |ユニット#3(DA/UA=33h) bit 2 |ユニット#2(DA/UA=32h) bit 1 |ユニット#1(DA/UA=31h) bit 0 |ユニット#0(DA/UA=30h) ------+--------------------- ■98NOTE bit 7 : 不明 * このビットを1にセットする機種は、PC-9801NS/R・NX/C・P・NL/R。 PC-9801NS/A,PC-9821Ne・Npは、BIOSでセットも参照もしない。 bit 6〜4: 未使用 bit 3〜0: 1.44MBサポートドライブ * デスクトップと同様 解説 u bit 3〜0の状態がINT 1Bh - Function C4hの出力結果(AH bit 3,2)を決定 する。値が1のドライブでは、AH bit 3,2=11b(1.44MB,両用)が返る。値が 0のドライブでは、INT 1Bh - Function 84hと同様の処理が行われる模様。 ただし、1.44MBアクセス可能かどうかを判断するときは、可能な限りBIOSを 利用するほうが良い。 関連 0000:055Ch INT 1Bh - Function C4h I/O 04BEh メモリ 0000:05AFh 型 8bit FLAGS 名前 分類 DISK BIOS Undocumented 対象 PC-H98-B12, PC-9801-92・100, PC-9821X-B02, 上記相当の本体内蔵型SCSIインターフェース 内容 SCSIのRead Capacityコマンドで容量を取得したドライブ識別 ------+----------- ビット|装置 ------+----------- bit 7 | 未使用 *1 bit 6 | SCSI ID #6 bit 5 | SCSI ID #5 bit 4 | SCSI ID #4 bit 3 | SCSI ID #3 bit 2 | SCSI ID #2 bit 1 | SCSI ID #1 bit 0 | SCSI ID #0 ------+----------- 1= SCSIのRead Capacityコマンドで容量を取得したドライブ 0= PC-9801-55初代・L・U互換方式で容量を取得したドライブ *1: PC-H98-B12では、なんらかのフラグとして使用している。詳細不明。 解説 o PC-H98-B12以降のSCSIインターフェースボードでは、NEC製以外のHDDの 接続が可能になった。NEC製以外のドライブが接続されて いたときは、このアドレスの該当するSCSI IDのビットが1になる。 ただし、NEC製かどうかのチェックは、SCSIのInquiryコマンドで取得する ベンダIDを調べているわけではない。 u NEC製以外のHDDが接続されていたときは、SCSIのRead Capacityコマンドで ドライブの総容量を取得し、ヘッド数=08h、セクタ数=20hと見なして シリンダ数を算出する。0000:0460hの「SCSI装置のパラメータテーブル」 にはその値が書き込まれる。 関連 0000:0460h 0000:0482h 0000:05A5h 文献 こうのたけし著「旧タイプNEC純正SCSIにジャンクハードディスクを 接続する試み」『TheBASIC』'94年8月号(技術評論社) メモリ 0000:05B0h 型 8bit FLAGS 名前 IDE HDD容量タイプ 分類 IDE HD Undocumented 対象 IDE搭載機 内容 IDEドライブ容量(2) --------+--------------------------- ビット |内容 --------+--------------------------- bit 7 |0(未使用) bit 6 |0(未使用) bit 5〜3|1台目IDE HD 容量値 bit 2〜0|2台目IDE HD 容量値 --------+--------------------------- ------+------------ 容量値|ドライブ容量 ------+------------ 000b|0000:0457hで容量を示す 001b|240MB 010b|500MB 011b|170MB 100b|340MB 111b|ドライブなし ------+------------ 解説 o IDE HDの容量を示す。 u 機種により、ドライブ容量を示す値のサポート範囲が異なる。 u IDE BIOS搭載機種でも、このワークを使用しない機種がある。 関連 0000:0457h メモリ 0000:05B1〜05B2h 型 WORD 名前 分類 DISK BIOS Undocumented 対象 PC-9821Bp・Bs・Be・Bf・Ts・Cs2・Ce2・Xa・Xn・Xp・Xs・Xe, PC-9801BA2・BS2・BX2・BA3・BX3・BX4 内容 2台目IDEハードディスクのモータ停止時間カウンタ(単位:100ms) 解説 o 「内蔵固定ディスク制御 設定する」のとき、このアドレスを使って モータ停止時間のカウントを行う。この値が0000hまでデクリメントされると HDDのスピンドルモータが停止する。 o 「内蔵固定ディスク制御 設定しない」のときは常に0000h。 o INT 17hハンドラがデクリメントする。 関連 0000:04FEh 0000:0598h 0000:059Ah 0000:058Ch 0000:058Eh INT 17h(外部割り込み…IDE) INT 1Bh - Function D0h(IDE) INT 1Bh - Function E0h(IDE) INT 1Bh - Function F0h(IDE) メモリ 0000:05B3h 型 8bit FLAGS 名前 分類 PRINTER BIOS Undocumented 対象 IEEE STD 1284搭載機 内容 bit 7: IEEE STD 1284(双方向プリンタインターフェース)サポート 1= サポート 0= 非サポート * PC-9821Ap2・As2・Anに98ハイレゾボード(PC-9821A-E02)を実装した 場合、98ハイレゾボード側のプリンタインターフェースのみが有効に なるため、ノーマルモード・ハイレゾモードのいずれの場合も、 このビットは0(非サポート)になる。 bit 6,5: IEEE STD 1284モード 01b= 入出力モード 00b= 互換モード * bit 6は常に0 * 入出力可能モードのとき、0000:0458 bit 2は常に1。 bit 4〜1: 未使用 bit 0: 不明 解説 o IEEE STD 1284準拠プリンタインターフェースの状態を示す。 関連 0000:0458h bit 2,1 INT 1Ah - Function 17h INT 1Ah - Function 19h INT 1Ah - Function 1Ah INT 1Ah - Function 1Bh メモリ 0000:05B4〜05B5h 型 2 BYTES 名前 分類 ディスプレイサスペンドBIOS Undocumented 対象 DPMS対応機 内容 サスペンドモード移行前のCRT状態 0000:05B4h :サスペンドモード移行前のI/O 006Chの内容 0000:05B5h :サスペンドモード移行前の画面表示状態 01h= 画面表示中(OUT 68h,0Fh状態) 00h= 画面表示停止中(OUT 68h,0Eh状態) 解説 o INT 1Fh - Function 93hでサスペンドモードに設定したときの、 サスペンドモード移行前のCRT状態を格納する。 関連 INT 1Fh - Function 93h I/O 0068h - 0Eh,0Fh I/O 006Ch メモリ 0000:05B6h 型 BYTE 名前 分類 対象 内容 未使用 解説 関連 メモリ 0000:05B7h 型 BYTE 名前 READ_DATAポートアドレス 分類 Plug and Play Undocumented 対象 Plug and Play対応機 内容 PCIのREAD_DATAポートのアドレス 解説 o CバスPlug and Playで使用するREAD_DATAポートのアドレスを示す。 o このワークの値を2ビット左にシフトし、下位2ビットを11bとしたもの がREAD_DATAポートとなる。 図 --------------------------------+---------------------------- このワークエリアの値 | xxxx xxxxb | / / READ_DATAポートのアドレス |0000 00xx xxxx xx11b --------------------------------+---------------------------- 関連 I/O 0003〜03FFh I/O 0259h,0A59h - 00h メモリ 0000:05B8h 型 BYTE 名前 CバスPnPボード数 分類 Plug and Play Undocumented 対象 Plug and Play対応機 内容 CバスPnPボードの枚数 解説 o CバスPlug and Playに対応したボードが何枚実装されているか示す。CSN (Card Select Number)として設定できる値の最大値を調べるときに参照する。 o このワークの値が00hのとき、CバスPlug and Play対応ボードは使用されて いないことを示す。 関連 I/O 0259h,0A59h - 03h メモリ 0000:05B9〜5BFh 型 7 BYTES 名前 分類 対象 内容 未使用 解説 関連 メモリ 0000:05C0h 型 8bit FLAGS 名前 BASIC_DIPSW 分類 N88 BASIC 対象 ノーマル,ハイレゾ,PC-98LT・HA 内容 DIP SW 2の設定状態のコピー bit 7: DIP SW 2-8 bit 6: DIP SW 2-7 bit 5: DIP SW 2-6 bit 4: DIP SW 2-5 bit 3: DIP SW 2-4 bit 2: DIP SW 2-3 bit 1: DIP SW 2-2 bit 0: DIP SW 2-1 1= OFF 0= ON 解説 o BASICインタプリタ(ROM版,DISK版,MS-DOS版)が起動したとき、 システムポート(I/O 0031h)からDIP SW 2の状態を読み出して このアドレスに書き込む。システム起動時は00h。 関連 I/O 0031h メモリ 0000:05C1h 型 8bit FLAGS 名前 RS_D_FLAG 分類 RS-232C 対象 ノーマル,ハイレゾ,PC-98LT・HA 内容 RS-232C DEL(7Fh,FFh)コード受信時の処理 bit 7〜3: 未使用 bit 2: CH 2 bit 1: CH 1 bit 0: CH 0 1= メモリスイッチ3 - bit 7の設定に従う 0= DEL(7Fh,FFh)コードをそのままバッファに格納 解説 o N88BASIC(ROM版,DISK版,MS-DOS版)とターミナルモードが使用する。RS-232Cで DEL(7Fh,FFh)コードを受信したときの処理を決める。RS-232Cの外部割り込み ハンドラが参照する。 o ハイレゾモードのRS-232C BIOSでは、拡張モードのとき、受信した DEL(7Fh/FFh)コードの処理を指定することができるが、その設定状態は このフラグに反映されず、バッファコントロールブロック内に記憶される。 RS-232C BIOS(INT 19h)はこのフラグをセットしない。このフラグを セットするのは、N88BASICとターミナルモードだけである。 ただし、ROM内のRS-232C外部割り込みハンドラは、常にこの フラグを参照して処理を行う。 関連 0000:0556h 0000:055Bh 0000:05F0h 0000:05F4h INT 0Ch(外部割り込み…RS-232C) メモリ 0000:05C2〜05C5h 型 DWORD 名前 GPIB_WORK 分類 GP-IB 対象 PC-9801-06・19・29初代・29K・29N 内容 GP-IBの制御情報通知領域へのポインタ 解説 o GP-IB BIOSで使用する、制御情報通知領域のアドレスを格納する。 関連 INT D1h I/O 0099h メモリ 0000:05C6〜05C9h 型 DWORD 名前 KB_CODE 分類 KEYBOARD BIOS 対象 ノーマル(PC-9801初代を除く), PC-98LT・HA, DB-P1 内容 キーデータ変換テーブルの先頭アドレス 解説 o キー番号とシフト状態からキーデータを生成するときに使用する 変換テーブルの先頭アドレス。 u このアドレスの内容は、ROM内の変換テーブルの先頭を示しているだけで、 この内容を書き換えてもキーボードBIOS(キーボード割り込みハンドラ)が 参照する変換テーブルを変更できるわけではない。 ただし、キーボード割り込みハンドラは、このアドレスに書き込まれている セグメント値を参照しているので、これを変更するとキーボードBIOSが正常 動作しなくなる。オフセット値を変更したときには、キーボードBIOSの動作 には影響を与えない。 関連 0000:0414h 0000:0522h メモリ 0000:05C6〜05C9h 型 DWORD 名前 分類 Undocumented 対象 PC-H98(ハイレゾ) 内容 不明。 解説 o PC-H98のハイレゾモードでは、FD80:0A94hがセットされている。ハイレゾ モードではFD80hをセグメントとして使用しないこと、およびFD80:0A94hから 始まるテーブルのようなものがないことから、特に意味のある値ではないと 考えられる。 関連 メモリ 0000:05CAh 型 8bit FLAGS 名前 F2DD_MODE 分類 DISK BIOS 対象 640KB専用BIOS,両用BIOS - 640KB I/Fモード時 内容 640KB FDDのアクセスモード [INT 1Bh - Function 8Eh(FD)の設定値] bit 7: 640KB FDD UNIT#3 bit 6: 640KB FDD UNIT#2 bit 5: 640KB FDD UNIT#1 bit 4: 640KB FDD UNIT#0 1= 80シリンダ(2DD,1DD) 0= 40シリンダ(2D,1D) [INT 1Bh - Function 0Eh(FD)の設定値] bit 3: 640KB FDD UNIT#3 bit 2: 640KB FDD UNIT#2 bit 1: 640KB FDD UNIT#1 bit 0: 640KB FDD UNIT#0 1= 両面 0= 片面 初期値 = FFh(2DD/両面) 解説 o 640KB専用BIOS,両用BIOS - 640KB I/Fモード時の、 INT 1Bh - Function 0Eh,8Ehの設定値を格納する。 関連 0000:0493h INT 1Bh - Function 03h(FD) INT 1Bh - Function 04h(FD) INT 1Bh - Function 84h(FD) INT 1Bh - Function 0Eh(FD) INT 1Bh - Function 8Eh(FD) メモリ 0000:05CBh 型 BYTE 名前 F2DD_COUNT 分類 DISK BIOS 対象 640KB専用BIOS,両用BIOS - 640KB I/Fモード, 両用BIOS - 1MB I/Fモード(PC-9801VM2・VM21・UV2・UV21・VX2・VX21, PC-98XA・XLを除く) 内容 FDDのスピンドルモータ停止時間の初期値(単位:100ms) 初期値 = 96h(15秒:デスクトップ,PC-9801N・NS) 14h(2秒:PC-9801N・NS以外の98NOTE) 解説 o ディスクI/O終了時、この値がモータ停止カウンタにコピーされる。モータ 停止カウンタのアドレスは、両用BIOS - 1MB I/Fモード時=0000:0485h、 640KB専用BIOSと両用BIOS - 640KB I/Fモード時=0000:05D7h。 o 両用BIOS - 1MB I/Fモードでは、モータ停止制御機能を持った機種 (PC-9801VM2・VM21・UV2・UV21・VX2・VX21, PC-98XA・XLを除く両用FD I/F搭載機) でのみ有効。両用BIOS - 640KB I/Fモードでは、両用FD I/Fを搭載した全ての 機種で有効。 o 機種によって、起動時のモータ停止モードのON/OFF状態が異なる。起動時は モータ停止モードOFFの機種、メニューで選択できる機種、起動時からONの 機種がある。 o INT 1Bh - Function 03h(FD)(FDインターフェースの初期化)を実行すると 初期値に設定される。 両用BIOS搭載機では、モータ停止モードに設定されているか否かに かかわらず、このアドレスの値は初期値に設定される。この値から モータ停止モードの状態を判断することはできない。 関連 0000:0485h 0000:05D7h INT 1Bh - Function 03h(FD) INT 1Bh - Function 83h(FD) I/O 00BEh メモリ 0000:05CC〜05CFh 型 DWORD 名前 F2DD_POINTER 分類 DISK BIOS 対象 640KB専用BIOS,両用BIOS - 640KBアクセスモード 内容 640KB FDDパラメータテーブルポインタのアドレス [640KB FDDパラメータテーブルポインタのアドレス] ----------+----------------------------------------------------- アドレス |内容 ----------+----------------------------------------------------- 0000:05CCh|640KB FDパラメータテーブルポインタのオフセット(nnnnh) 0000:05CEh|640KB FDパラメータテーブルポインタのセグメント(ssssh) ----------+----------------------------------------------------- o セグメントの既定値はFD80h、オフセットの既定値は機種により異なる。 [640KB FDパラメータテーブルポインタ] ------------+------------------------------------------------------- アドレス |内容 ------------+------------------------------------------------------- ssss:nnnnh+0|640KB FDD UNIT#0のパラメータテーブルのオフセット(mmmmh) ssss:nnnnh+2|640KB FDD UNIT#1のパラメータテーブルのオフセット(mmmmh) ssss:nnnnh+4|640KB FDD UNIT#2のパラメータテーブルのオフセット(mmmmh) ssss:nnnnh+6|640KB FDD UNIT#3のパラメータテーブルのオフセット(mmmmh) ------------+------------------------------------------------------- [640KB FDD UNIT#0〜#3のパラメータテーブル] +--------------+---------------+---------------+------------------+ | | MFM | FM | | | +-------+-------+-------+-------+ | | アドレス | R/W | Format| R/W | Format| 備考 | | +---+---+---+---+---+---+---+---+ | | |EOT|GPL| SC|GPL|EOT|GPL| SC|GPL| | +--------------+---+---+---+---+---+---+---+---+------------------+ |ssss:mmmmh+00h|00h|00h|00h|00h|10h|07h|10h|1Bh|1セクタ=128バイト | |ssss:mmmmh+08h|10h|0Eh|10h|36h|09h|0Eh|09h|2Ah|1セクタ=256バイト | |ssss:mmmmh+10h|09h|2Ah|09h|50h|05h|1Bh|05h|3Ah|1セクタ=512バイト | |ssss:mmmmh+18h|05h|35h|05h|74h|00h|00h|00h|00h|1セクタ=1024バイト| +--------------+---+---+---+---+---+---+---+---+------------------+ o MFMの128バイト/セクタ,FMの1024バイト/セクタは使用不可のため パラメータは設定されていない。 o パラメータテーブルのセグメントは、ポインタテーブルのセグメントと 同じ。 解説 o 640KBフォーマットのフロッピーディスクに対して、フォーマットと 書き込みを行うときに使用するパラメータテーブルポインタのアドレスを 示す。ポインタは各ユニット毎に用意されているが、実際には全て同一の テーブルを指している。 u 1.44MB対応機では、ポインタテーブルのセグメントを既定値(ノーマル=FD80h, ハイレゾ=F800h)と異なる値に変更すると、1.44MBディスクのアクセス時に 問題が起こる。すなわち、DA/UA=3xhで1.44MBディスクをアクセスしたとき、 1.44MB FDDのパラメータテーブルのセグメントとして、0000:05CEhの値が 使われる。1.44MB FDDのパラメータテーブルのオフセットは固定されて いるため、正しいパラメータテーブルが使用できなくなる。ただし、 通常0000:05CEhの値を変更する必要はないので、この動作が問題となる ことはまずない。 関連 0000:05F8h メモリ 0000:05D0〜05D6h 型 7 BYTES 名前 F2DD_RESULT 分類 DISK BIOS 対象 640KB専用BIOS,両用BIOS - 640KB I/Fモード 内容 640KB FD I/FのFDCリザルトステータス(READ/WRITE系コマンド) ----------+--------------------------------------------- アドレス |内容 ----------+--------------------------------------------- 05D0h |ST0(リザルトステータス) |bit 7: IC1(Interrupt Code 1) |bit 6: IC0(Interrupt Code 0) |bit 5: SE(Seek End) |bit 4: EC(Equipment check) |bit 3: NR(Not Ready) |bit 2: HD(Head Address) |bit 1: US1(Unit Select 1) |bit 0: US0(Unit Select 0) ----------+--------------------------------------------- 05D1h |ST1(リザルトステータス) |bit 7: EN(End of Cylinder) |bit 6: 0 |bit 5: DE(Data Error) |bit 4: OR(Overrun) |bit 3: 0 |bit 2: ND(No Data) |bit 1: NW(Not Writable) |bit 0: MA(Missing Address Mark) ----------+--------------------------------------------- 05D2h |ST2(リザルトステータス) |bit 7: 0 |bit 6: CM(Control Mark) |bit 5: DD(Data Error in Data Field) |bit 4: NC(No Cylinder) |bit 3: SH(Scan Equal Hit) |bit 2: SN(Scan Not Satisfied) |bit 1: BC(Bad Cylinder) |bit 0: MD(Missing Address Mark in Data Field) ----------+--------------------------------------------- 05D3h |C(シリンダ番号) 05D4h |H(ヘッド番号) 05D5h |R(レコード番号) 05D6h |N(データ長) ----------+--------------------------------------------- 解説 o ディスクI/Oの終了時、FDC(μPD765A)から返されるステータス 情報。READ/WRITE系コマンドの結果が格納される。 o 両用FD I/Fでは、640KB I/Fモードであれば1MBアクセスモードでも このワークエリアを使用する。 関連 0000:0564h 0000:05D8h I/O 00C8h メモリ 0000:05D7h 型 BYTE 名前 F2DD_RESULT 分類 DISK BIOS 対象 640KB専用BIOS,両用BIOS - 640KB I/Fモード 内容 モータ停止カウンタ(単位:100ms) 解説 o モータ停止までの時間を計測するためのカウンタ。 u ディスクI/Oの終了時に、0000:05CBhの値(モータ停止時間の初期値)が コピーされる。100ms毎にFDCが発生する割り込みによって1づつ デクリメントされ、0になるとモータが停止する。 関連 0000:0485h 0000:05A4h 0000:05CBh I/O 00C8h メモリ 0000:05D8〜05DFh 型 8 BYTES 名前 F2DD_RESULT 分類 DISK BIOS 対象 640KB専用BIOS,両用BIOS - 640KB I/Fモード 内容 640KB FD I/FのFDCリザルトステータス(SEEK/RECALIBRATEコマンド) 05D8h: UNIT#0 ST0(リザルトステータス) 05D9h: UNIT#0 PCN(プレゼントシリンダナンバ) 05DAh: UNIT#1 ST0(リザルトステータス) 05DBh: UNIT#1 PCN(プレゼントシリンダナンバ) 05DCh: UNIT#2 ST0(リザルトステータス) 05DDh: UNIT#2 PCN(プレゼントシリンダナンバ) 05DEh: UNIT#3 ST0(リザルトステータス) 05DFh: UNIT#3 PCN(プレゼントシリンダナンバ) 解説 o ディスクI/Oの終了時、FDC(μPD765A)から返されるステータス 情報。SEEK/RECALIBRATEコマンドの結果が格納される。ST0(リザルト ステータス)の内容は、0000:05D0hと同じ。 o 両用FD I/Fでは、640KB I/Fモードであれば1MBアクセスモードでも このワークエリアを使用する。 関連 0000:0564h 0000:05D0h I/O 00C8h メモリ 0000:05E0〜05E3h 型 DWORD 名前 MUSIC_WORK 分類 SOUND 対象 PC-9801-14, PC-9801-26初代・K, PC-9801-73・86 (上記ボード相当の内蔵型含む)搭載ROM BIOS 内容 ミュージックBIOS/サウンドBIOS用ワークエリアの開始アドレス 解説 o ミュージックBIOS(PC-9801-14 ミュージックジェネレータボード搭載 ROM BIOS)、サウンドBIOS(PC-9801-26初代・K, PC-9801-73・86 サウンド ボード搭載ROM BIOS)のワークエリアの開始アドレスを格納する。 u PC-98XAが搭載するBIOS ROM内のミュージックBIOSでは、0000:05E0h(WORD)に ワークエリアのセグメントが格納される。そのほかのハイレゾ機では、 ミュージックBIOSはサポートしていない(サウンドBIOSはどのハイレゾ機も サポートしていない)。 関連 INT D2h I/O 008Eh I/O 0188h メモリ 0000:05E4h 型 BYTE 名前 分類 対象 内容 未使用 解説 関連 メモリ 0000:05E5h 型 BYTE 名前 分類 BRANCH4670 Undocumented 対象 PC-9864初代・U, PC-98XA・XL・XL^2・RLハイレゾモードのBRANCH BIOS 内容 不明 初期値=40h 解説 o 詳細不明 関連 0000:0400h bit 0 0000:041E〜0443h 0000:0480h bit 5 0000:049A〜04ABh メモリ 0000:05E6h 型 BYTE 名前 分類 BRANCH4670 Undocumented 対象 PC-9864初代・U, PC-98XA・XL・XL^2・RLハイレゾモードのBRANCH BIOS 内容 ホストのステーション番号(00〜3Fh) 初期値=00h 解説 o PC-9864-02(PC-9864初代専用ROM BIOS)では、メモリスイッチ7のbit 6を テストし、1ならその値に3FhをANDして0000:05E6hに書き込む。 関連 0000:0400h bit 0 0000:041E〜0443h 0000:0480h bit 5 0000:049A〜04ABh A000:3FFAh E000:3FFAh メモリ 0000:05E7h 型 BYTE 名前 分類 BRANCH4670 Undocumented 対象 PC-9864U + ノーマル 内容 自局のステーション番号 解説 o 詳細不明。INT 1Ahのリモートプリンタに関係して使用。 関連 0000:0400h bit 0 0000:041E〜0443h 0000:0480h bit 5 0000:049A〜04ABh メモリ 0000:05E8〜05EBh 型 DWORD 名前 DISK_PRM0 分類 DISK BIOS Undocumented 対象 SASI, IDE搭載機(ノーマル,ハイレゾとも) 内容 SASI・IDE HD #0のパラメータテーブルの先頭アドレス 解説 o ドライブ制御用パラメータテーブルの先頭アドレスを格納する。 モード設定ファンクション(INT 1Bh - Function 0Eh(SASI/ESDI/IDE))を 実行すると、このパラメータテーブルのアドレスが変化する場合がある。 o SASI HDとIDE HDでは、パラメータテーブルの内容には互換性がない。 表 SASI HDのパラメータテーブルの内容 -----------+----------------------------------------------------------- オフセット(サイズ)|内容 -----------+----------------------------------------------------------- +00h(BYTE) |ステップパルス幅 +01h(BYTE) |ステップ間隔 +02h(BYTE) |ステップモード +03h(BYTE) |最大ヘッドアドレス +04h(WORD) |最大シリンダアドレス(High Byte, Low Byte順) +06h(BYTE) |書き込み電流減少アドレス +07h(BYTE) |オーバーラップシークフラグ(bit6) +0Ah(BYTE) |ステップパルス幅 +0Bh(BYTE) |ステップ間隔 +0Ch(BYTE) |ステップモード +0Dh(BYTE) |最大ヘッドアドレス +0Eh(WORD) |最大シリンダアドレス2(High Byte, Low Byte順) +10h(BYTE) |書き込み電流減少アドレス +11h(BYTE) |オーバーラップシークフラグ(bit6) +14H(BYTE) |SENSE(INT 1Bh - Function 04h(SASI/ESDI/IDE))でAHに返る値 +18H(WORD) |ヘッド数(INT 1Bhの物理アドレス→論理アドレス変換に使用する) +1CH(BYTE) |新SENSE(INT 1Bh - Function 84h(SASI/ESDI/IDE))でAHに返る値 -----------+----------------------------------------------------------- 表 IDE HDのパラメータテーブルの内容 -----------+----------------------------------------------------------- オフセット(サイズ)|内容 -----------+----------------------------------------------------------- +00h(WORD) |シリンダ数(INT 1Bh - Function 84h(SASI/ESDI/IDE)の出力CX) +02h(BYTE) |ヘッド数(INT 1Bh - Function 84h(SASI/ESDI/IDE)の出力DH) +03h(BYTE) |ドライブが返すヘッド数(論理アドレス変換に使用する) +04h(BYTE) |容量値(INT 1Bh - Function 04h(SASI/ESDI/IDE)の出力AH) +05h(BYTE) |容量値(INT 1Bh - Function 84h(SASI/ESDI/IDE)の出力AH) -----------+----------------------------------------------------------- 関連 0000:0481h bit 0 0000:05ECh INT 1Bh - Function 04h(SASI/ESDI/IDE) INT 1Bh - Function 84h(SASI/ESDI/IDE) INT 1Bh - Function 0Eh(SASI/ESDI/IDE) メモリ 0000:05EC〜05EFh 型 DWORD 名前 DISK_PRM1 分類 DISK BIOS Undocumented 対象 SASI, IDE搭載機(ノーマル,ハイレゾとも) 内容 SASI・IDE HD #1のパラメータテーブルの先頭アドレス 解説 o 0000:05E8hと同じ。 関連 0000:0481h bit 1 0000:05E8h INT 1Bh - Function 04h(SASI/ESDI/IDE) INT 1Bh - Function 84h(SASI/ESDI/IDE) INT 1Bh - Function 0Eh(SASI/ESDI/IDE) メモリ 0000:05F0〜05F3h 型 DWORD 名前 RS_CH1_OFST/SEG 分類 RS-232C BIOS 対象 ハイレゾ,RSDRV.SYS 内容 RS-232C CH1受信バッファポインタ 解説 o RS-232C CH1の受信バッファのアドレスを格納する。ハイレゾモードの RS-232C BIOS(INT 19h)とRSDRV.SYSが使用する。 関連 0000:0556h 0000:055Bh 0000:05C1h 0000:05F4h INT 19h - Function 00h(BIOS) メモリ 0000:05F4〜05F7h 型 DWORD 名前 RS_CH2_OFST/SEG 分類 RS-232C BIOS 対象 ハイレゾ,RSDRV.SYS 内容 RS-232C CH2受信バッファポインタ 解説 o RS-232C CH2の受信バッファのアドレスを格納する。ハイレゾモードの RS-232C BIOS(INT 19h)とRSDRV.SYSが使用する。 関連 0000:0556h 0000:055Bh 0000:05C1h 0000:05F0h INT 19h - Function 00h(BIOS) メモリ 0000:05F8〜05FBh 型 DWORD 名前 F2HD_POINTER 分類 DISK BIOS 対象 1MB専用BIOS,両用BIOS - 1MBアクセスモード 内容 1MB FDDパラメータテーブルポインタのアドレス [1MB FDDパラメータテーブルポインタのアドレス] ----------+----------------------------------------------------- アドレス |内容 ----------+----------------------------------------------------- 0000:05F8h|1MB FDパラメータテーブルポインタのオフセット(nnnnh) 0000:05FBh|1MB FDパラメータテーブルポインタのセグメント(ssssh) ----------+----------------------------------------------------- o セグメントの既定値はFD80h、オフセットの既定値は機種により異なる。 [1MB FDパラメータテーブルポインタ] ------------+------------------------------------------------------- アドレス |内容 ------------+------------------------------------------------------- ssss:nnnnh+0|1MB FDD UNIT#0のパラメータテーブルのオフセット(mmmmh) ssss:nnnnh+2|1MB FDD UNIT#1のパラメータテーブルのオフセット(mmmmh) ssss:nnnnh+4|1MB FDD UNIT#2のパラメータテーブルのオフセット(mmmmh) ssss:nnnnh+6|1MB FDD UNIT#3のパラメータテーブルのオフセット(mmmmh) ------------+------------------------------------------------------- [1MB FDD UNIT#0〜#3のパラメータテーブル] --------------+---------------+---------------+------------------ | MFM | FM | +-------+-------+-------+-------+ アドレス | R/W | Format| R/W | Format| 備考 +---+---+---+---+---+---+---+---+ |EOT|GPL| SC|GPL|EOT|GPL| SC|GPL| --------------+---+---+---+---+---+---+---+---+------------------ ssss:mmmmh+00h|00h|00h|00h|00h|1Ah|07h|1Ah|1Bh|1セクタ=128バイト ssss:mmmmh+08h|1Ah|0Eh|1Ah|36h|0Fh|0Eh|0Fh|2Ah|1セクタ=256バイト ssss:mmmmh+10h|0Fh|1Bh|0Fh|54h|08h|1Bh|08h|3Ah|1セクタ=512バイト ssss:mmmmh+18h|08h|35h|08h|74h|00h|00h|00h|00h|1セクタ=1024バイト --------------+---+---+---+---+---+---+---+---+------------------ o MFMの128バイト/セクタ,FMの1024バイト/セクタは使用不可のため パラメータは設定されていない。 o パラメータテーブルのセグメントは、ポインタテーブルのセグメントと 同じ。 解説 o 1MBフォーマットのフロッピーディスクに対して、フォーマットと 書き込みを行うときに使用するパラメータテーブルポインタのアドレスを 示す。ポインタは各ユニット毎に用意されているが、実際には全て同一の テーブルを指している。 u 1.44MB対応機では、ポインタテーブルのセグメントを既定値(ノーマル=FD80h, ハイレゾ=F800h)と異なる値に変更すると、1.44MBディスクのアクセス時に 問題が起こる。すなわち、DA/UA=Bxhで1.44MBディスクをアクセスしたとき、 1.44MB FDDのパラメータテーブルのセグメントとして、0000:05FAhの値が 使われる。1.44MB FDDのパラメータテーブルのオフセットは固定されて いるため、正しいパラメータテーブルが使用できなくなる。ただし、 通常0000:05FAhの値を変更する必要はないので、この動作が問題となる ことはまずない。 関連 0000:05CCh メモリ 0000:05FC〜05FDh 型 WORD 名前 MOUSEW 分類 MOUSE BIOS 対象 ハイレゾ 内容 マウスBIOS作業域のセグメントアドレス 解説 o ハイレゾモードのマウスBIOS(INT 33h)が使用するワークエリアのセグメントを 格納する。 関連 F800:7FD0h INT 33h - Function 11h メモリ 0000:05FE〜05FFh 型 WORD 名前 BASIC_WORK 分類 BASIC 対象 ノーマル,ハイレゾ,PC-98LT・HA 内容 BASIC LIOのDATAセグメントアドレス 解説 o N88-BASICの動作時、BASIC LIOのDATAセグメントアドレスを格納する。MS-DOS 版N88-BASICの子プロセスではこの番地が0以外の値を持っており、再度の N88BASICの起動ができなくなる。 関連