Copyright(C) 1994,1995,1996,1997 Terumasa KODAKA , Takeshi KONO ■カレンダ時計 解説 o カレンダ時計はバッテリバックアップされているため、電源をOFFにした 状態でも計時動作を行っている。 o カレンダ時計へのアクセスは、BIOSを利用するべきである。やむを得ない 場合以外、直接I/Oアクセスすることは避けた方が良い。 o 使用されているカレンダ時計LSIは機種により異なる。 ------------+--------------------------------------------------------- カレンダ時計|機種 ------------+--------------------------------------------------------- μPD1990A |PC-9801初代・E・F・M・U・VF・VM2・UV2,PC-98XA,PC-98LT ------------+--------------------------------------------------------- μPD4990A |PC-9801VX2〜PC-9801NX/C,PC-9821Ce・Af |PC-9801NS/A,NL/R,PC-9821Bf・Cs2・Ce2の一部ロット ------------+--------------------------------------------------------- μPD4991 |PC-98HA ------------+--------------------------------------------------------- μPD4993 |PC-9801P・BA2・BS2・BX2,PC-9821Ne・Ap2・As2・Bp・Bs・Be・Tsの |一部ロット ------------+--------------------------------------------------------- μPD4993A |PC-9801P・NS/A・NL/R・BA2・BS2・BX2,PC-9821Ne・Ap2・As2・Bp・Bs・ |Be・Bf・Ts・Cs2・Ce2の一部ロット |PC-9821An・Ap3・As3・Xt・Xa・Xf・Xn・Xp・Xs・Xe・Cf・Cx・Cb・ |Xa16・Xa13・Xa12・Xa10・Xa9・Xa7・Xa7e・Xt16・Xt13・St15・St20・Ra20・ |Xv13・Xb10・Xc10・Xe10・V20・V16・V13・V12・V10・V7・ |Cx2・Cb2・Cx3・Cb3・ |Np・Ns・Ne2・Nd・Es・Ne3・Nd2・Nf・Nm・Ld・Lt・Ld2・Nx・Na12・Na9・Na7・ |Nb7・La10・La7 |PC-9821BA3・BX3・BX4 ------------+--------------------------------------------------------- なし |DB-P1 ------------+--------------------------------------------------------- u μPD4993を搭載した本体は、電源OFFの状態で日付が変わったとき、年の 更新や閏年のときの2月29日の設定が自動的に行われない。 u μPD4993搭載機種の上記不具合を修正するために、MS-DOS 5.0A以前のバー ジョンではIO.SYSに対するパッチがNECから公開されている。また、MS-DOS 6.2以降、およびWindows95ではBCKWHEAT.SYSを組み込むことによって修正 される。 o カレンダ時計割り込み搭載機種ではμPD4993Aのパルス出力によって、CPUに 対してINT 17h(IRQ15)割り込みを発生させることができる。 o カレンダ時計割り込み搭載機種では、MS-DOS環境でHRTIMER.SYSというデバ イスドライバを組み込むことでDOSファンクションで1/100秒単位の時刻を 取得することが可能である。 関連 I/O 000Ah bit 7 INT 17h I/O 0020h 名前 カレンダ時計 対象 全機種(PC-98HA,DB-P1を除く) チップ μPD1990A, μPD4990A, μPD4993, μPD4993A 機能 -----------+----+---+-------------------------------------------------- I/Oアドレス|幅 |R/W|内容 -----------+----+---+-------------------------------------------------- 0020h |BYTE| R |μPD1990A,μPD4990Aは未使用。 | | |μPD4993(A)搭載機では、I/O 0022h bit 4=1のとき | | |使用される。詳細不明。 0020h |BYTE| W |セットレジスタ | | |bit 7,6: 00b | | |bit 5: データインプット | | |bit 4: クロック | | |bit 3: ストローブ | | |bit 2〜0: C2〜C0 コマンドコード | | | 111b= 拡張モードコマンド (*1) | | | 110b= TP=64Hzセット (*1) | | | 101b= TP=256Hzセット (*1) | | | 100b= TP=2048Hzセット (*1) | | | 011b= タイムリード | | | 010b= タイムセット&カウンタホールド | | | 001b= レジスタシフト | | | 000b= レジスタホールド | | | *1:μPD1990Aはサポートしない -----------+----+---+-------------------------------------------------- 解説 o カレンダ時計ICのデータアウト端子はシステムポートB0に接続されている。 o μPD1990Aには年を扱う機能がないため、μPD1990A搭載機では、年の値は メモリスイッチ8(A000:3FFEh,E000:3FFEh)に格納する。このため、越年や うるう年の処理は自動的に行われない。 関連 I/O 0033h bit0 I/O 8E1Eh■[PC-9801P] A000:3FFEh■[PC-9801初代・E・F・M・U・VM2・VF・UV2] INT 1Ch - Function 00h INT 1Ch - Function 01h I/O 0022h 名前 カレンダ時計制御 Undocumented 対象 μPD4993(A)搭載機 チップ μPD4993(A) 機能 -----------+----+---+-------------------------------------------------- I/Oアドレス|幅 |R/W|内容 -----------+----+---+-------------------------------------------------- 0022h |BYTE|R/W|bit 4: μPD4993(A)モード設定 | | | 1= μPD4993拡張モード | | | 0= μPD4990互換モード -----------+----+---+-------------------------------------------------- 解説 o μPD4993(A)の拡張機能を有効/無効にするための制御用と考えられる。bit 4=1 にすると、通常の方法ではカレンダ時計LSIにアクセスできなくなる。 関連 I/O 0020h I/O 0022h,0023h 名前 カレンダ時計 Undocumented 対象 PC-98HA チップ μPD4991 機能 -----------+----+---+-------------------------------------------------- I/Oアドレス|幅 |R/W|内容 -----------+----+---+-------------------------------------------------- 0022h |BYTE| W |アドレス指定 | | | bit 7〜4: 未使用(0を指定) | | | bit 3〜0: A3〜A0 アドレス 0023h |BYTE|R/W|データ入出力 | | | bit 7〜4: 未使用(Write時は0を指定) | | | bit 3〜0: D3〜D0 入出力データ -----------+----+---+-------------------------------------------------- 解説 o PC-98HAでは、アラーム機能を実現するため、μPD4991が採用されている。 u μPD4991は、4ビットのアドレス線と4ビットのデータ線を利用してCPUとの I/Oを行う。PC-98HAでは、I/O 0022hにアドレスを出力したあと、I/O 0023hで データの入出力を行うように回路が構成されている。 o μPD4991の詳細は、メーカ発行のデータシートを参照。 関連 INT 1Ch - Function 00h INT 1Ch - Function 01h INT 1Ch - Function 07h INT 1Ch - Function 08h INT 1Ch - Function 09h I/O A98Eh,B98Eh 名前 カレンダ時計 Undocumented 対象 PC-9801P チップ μPD4991 機能 -----------+----+---+-------------------------------------------------- I/Oアドレス|幅 |R/W|内容 -----------+----+---+-------------------------------------------------- A98Eh |BYTE| W |アドレス指定 | | | bit 7〜4: 未使用(0を指定) | | | bit 3〜0: A3〜A0 アドレス B98Eh |BYTE|R/W|データ入出力 | | | bit 7〜4: 未使用(Write時は0を指定) | | | bit 3〜0: D3〜D0 入出力データ -----------+----+---+-------------------------------------------------- 解説 o PC-9801Pでは、ウェイクアップ機能を実現するためにμPD4991が追加搭載 可能なように設計されている(ただし、実際に出荷された製品では、ボード 上にプリントパターンは残されているが、μPD4991は実装されていない。BIOS のサポートルーチンは残されているが、ハードウェアがないためこの機能は 働かない)。 u μPD4991は、4ビットのアドレス線と4ビットのデータ線を利用してCPUとの I/Oを行う。PC-9801Pでは、I/O A98Ehにアドレスを出力したあと、I/O B98Ehで データの入出力を行うように回路が構成されている。 o μPD4991の詳細は、メーカ発行のデータシートを参照。 関連 INT 1Fh - Function 9A12〜9A16h I/O 0128h 対象 カレンダ時計割り込み搭載機種 機能 [READ/WRITE] bit 7〜0: 詳細不明 80h= 81h= 解説 o カレンダ時計ICのパルス出力割り込みを制御する。 o 読み出しによって割り込み要求を下げる。 o 詳細不明 関連 INT 17h INT 1Ch - Function 80h,81h INT 1Fh - Function 8Fh I/O 000Ah bit 7 0000:04F1〜04F3h