#658/700 ソフトウェアのボード ★タイトル (CQF15666) 98/ 2/ 4 2:25 ( 53) 893>PC-9821Xa 電源ボタン制御情報 / えらー15 ★内容  久しぶりの893ヘッダです。  今回は新PC-9821Xa13あたりからの、リセットボタンの無いPC-9821シリーズの 制御情報です。電源を落とす情報ではありません。  適当にお役立てください。 ・電源制御  電源ボタンを押し続けると、LED点滅ののち、電源が落ちる。  MS-DOS環境においては、ちょっと押しただけでも上記の状態になる。 ・I/Oポート   in/out byte A09h A0Ahでin/outする情報の番号を指定する 初期値32h             30h NMI制御用             31h 押したかの情報取得用             32h ちょっと押しただけの電源制御用   in/out byte A0Ah データ ・ちょっと押しただけの状態の制御  【初期状態】(軽く押しても電源OFF)   out byte A09h,32h   out byte A0Ah,1   out byte A09h,30h   out byte A0Ah,0  【状態1】(軽く押しただけでは電源OFFしない)   out byte A09h,32h   out byte A0Ah,2    この状態では割り込みが起きない  【状態2】(軽く押すとパリティエラー発生)   out byte A09h,32h   out byte A0Ah,2   out byte A09h,30h   out byte A0Ah,1    状態1にNMI制御を加えることで、ボタンを押す際にパリティエラーを    発生することができる。    これの対処はNMI処理(INT 02h)にて記述しておくとよい。 ・NMI発生時の処理   out byte A09h,31h   a = in byte A0Ah   if ((a & 1) != 0) { ;押されたbit out byte A09h,31h out byte A0Ah,0 }   b = in byte 35h ;パリティエラーを消す処理 out byte 35h,b & EFh out byte 35h,b | 10h ・応用例  電源ボタンをリセットボタンにするRESETX.COMというのを作りました。  OSL-2にアップしますので、ご利用ください。 [ 02:20 4.Feb.'98 (Wed) By *Error15 (J&P:JH332233 VAN:CQF15666 NIF:GCE02626) ]