Int 1A/AH=04h

lup.gif ldown.gif Interrups Categories Contents

rbline.gif

TIME - GET REAL-TIME CLOCK DATE (AT,XT286,PS)

AH = 04h
CF clear to avoid bug (see below)

Return:
CF clear if successful CH = century (BCD) CL = year (BCD) DH = month (BCD) DL = day (BCD) CF set on error

Notes: DR-DOS 7.02 (after 1998-06-06) and 7.03 hook this function and correct the century to 20xx if the reported year is 1900..1980 to auto-fix ROM-BIOSes which are not Year 2000 compliant. On a running system, it would also correct the rollover bug from 1999/12/31 to 2000/01/01. The latter can be turned off using the new CONFIG.SYS YEAR2000=ON|OFF command, as hooking INT 1Ah can sometimes cause compatibility problems with 3rd party software, e.g. NCR/Symbios/LSI Logic-based SDMS PCI SCSI drivers (including all OEM drivers like from Asus, Noma, etc.), some Flash-BIOS software like Asus PFLASH, Quarterdeck's QEMM Stealth and Quick-Boot features.. Using EXCLUDESTEALTHINT=1A, though, will allow QEMM's Stealth features to coexist with the DR-DOS Year 2000 rollover support.. Actually, the Y2K-fix is provided since OpenDOS 7.02 BETA 2+ (1997-08-13), but although these older releases corrected the ROM-BIOS, they didn't pass all Y2K-test suites and had some obscure and inexplicable PCI problems due to the fact that the original INT 1Ah was called via indirect means. Newer releases, however, use a dynamically fixed-up direct jump to avoid these problems.. PC DOS 7 plus Y2K fixes and PC DOS 2000 provide similar, though not identical means, which cannot be switched off.. MS-DOS and older issues of PC DOS do not provide any such means, and thus requires extra Y2K-TSRs to be loaded when run on buggy BIOSes.

BUG: Some BIOSes, such as the 1998/07/25 system ROM in the Compaq Deskpro EP/SB, leave CF unchanged if successful, so CF should be cleared before calling this function

See Also: AH=02h - AH=04h"Sperry" - AH=05h - INT 21/AH=2A

Category: Bios - Int 1Ah - T

rbline.gif

lup.gif ldown.gif Interrups Categories Contents