Copyright(C) 1994,1995,1996,1997 Terumasa KODAKA , Takeshi KONO ■NMIマスク制御 対象 ノーマル,ハイレゾ 解説 o CPUの機能ではNMIをマスクすることはできないが、PC-9800では外部回路に よりNMIをマスクできるようになっている。 o PC-9800は、メインメモリでパリティエラーが起きるとNMI(Non Maskable Interrupt)が発生する。パリティエラーを起こしたメモリの種別は、 I/O 0033hで判別できる。本体内のメモリと、拡張スロットに増設した メモリを識別可能。 o 拡張バス(Cバス,PC-H98のEバス)用の増設メモリボードは、メモリがパリティ エラーを起こすとIOCHK0(NMI入力)信号線をアクティブにする。 u 一部の機種は、本体内メモリにパリティを備えていない。そのような機種 では、本体内メモリが原因のパリティエラー通知は発生しない。 u Windows 3.1実行中、NMIが発生してもWindowsのカーネルはなにも処理し ない。パリティエラー通知は行われない。 o PC-9801U,PC-98LT・HA,DB-P1には、パリティエラー検出の機能がない。 o 一部の機種では、メモリのパリティエラー以外でもNMIが発生することがある。 詳細は、「UNDOCUMENTED 9801/9821 Vol.1」の「INT 02h(CPU例外)」の項を 参照。 o NMIマスク制御関連のI/Oアドレスは以下の通り。 -----------+----+---+------------------------------------------------- I/Oアドレス|幅 |R/W|内容 -----------+----+---+------------------------------------------------- 0050h |BYTE| W |NMIフリップフロップ・リセット 0052h |BYTE| W |NMIフリップフロップ・セット 98F0h |BYTE| R |NMI発生要因取得 -----------+----+---+------------------------------------------------- I/O 0050h, 0052h 名前 NMIフリップフロップ・セット/リセット 対象 ノーマル(PC-9801Uを除く),ハイレゾ 機能 -----------+----+---+------------------------------------------------- I/Oアドレス|幅 |R/W|内容 -----------+----+---+------------------------------------------------- 0050h |BYTE| W |NMIフリップフロップ・リセット(NMI禁止) 0052h |BYTE| W |NMIフリップフロップ・セット(NMI許可) -----------+----+---+------------------------------------------------- * 各ポートへの出力値は任意 解説 o NMI通知を有効/無効に設定する。 o メモリのパリティエラーは、I/O 0035h bit 4でもマスクできるが、この ポートとは役割が異なる。パリティエラーが起きたとき、I/O 0035h bit 4を 0にすると、パリティエラーの通知フラグ(I/O 0033h bit 2,1)がクリア される。しかし、このポートで制御するNMI F/FでNMI禁止にした場合は、パリティ エラーのフラグはクリアされない。 u ただし、PC-H98はフラグクリアの手順が他機種とは異なる。I/O 98F0hの項を 参照。 また、NMI F/Fがリセット状態のときには、IOCHK0が立ち下がってもそれが ラッチされない。他の機種では、NMI F/Fがリセット状態でも、IOCHK0の 立ち下がりはラッチされる。 u PC-9801NV・NS/E・NC・NL・NS/L・NA(レジューム対応でCPUにSMMのない機種)では、 レジュームONのとき、メモリのパリティエラー以外でもNMIが発生するが、 このポートでマスクできるのはメモリのパリティエラーで発生したNMIのみ。 他の要因で発生したNMIはマスクされない。 o PC-H98では、メモリのパリティエラー以外でもNMIが発生するが、全ての NMIをこのポートでマスクできる。 関連 I/O 0033h bit 2,1 I/O 0035h bit 4 I/O 00F6h bit 1 I/O 98F0h INT 02h I/O 98F0h 名前 NMI発生要因取得 Undocumented 対象 PC-H98 機能 [READ] bit 7〜5: 不明 bit 4: 本体内メモリのパリティエラー 1= あり 0= なし bit 3: 不明 bit 2: 拡張スロットに増設したメモリのパリティエラー 1= あり 0= なし bit 1〜0: 不明 [WRITE] なし 解説 o PC-H98で拡張された各種NMI要因を取得するためのI/O。bit 4,2以外の 意味は不明。 o I/O 98F0h bit 4,2と同じ意味のフラグを、I/O 0033h bit 2,1からも読み出す ことができる。 o I/O 98F0hまたはI/O 0033hを一度でも読み出すと、I/O 98F0h bit 4,2と I/O 0033h bit 2,1のフラグはクリアされる。 PC-H98ではI/O 0035h bit 4は無動作なので、他機種のようにI/O 0035h bit 4 を0にしてもフラグはクリアされない。 関連 I/O 0033h bit 2,1 I/O 0050h I/O 0052h INT 02h I/O 0450h 名前 不明 Undocumented 対象 PC-H98 機能 [READ/WRITE] bit 7〜0: 不明 解説 o 詳細不明