Category: BIOS
INT 1A - 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 SeeAlso: AH=02h,AH=04h"Sperry",AH=05h,INT 21/AH=2Ah,INT 4B/AH=02h"TI"