www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2000/01/04/11:27:08

Date: Tue, 4 Jan 2000 15:40:42 +0100
From: Hans-Bernhard Broeker <broeker AT physik DOT rwth-aachen DOT de>
Message-Id: <200001041440.PAA01921@acp3bf.physik.rwth-aachen.de>
To: djgpp AT delorie DOT com
Subject: Re: y2k problem and BIOS-Editor
Newsgroups: comp.os.msdos.djgpp
Organization: RWTH Aachen, III. physikalisches Institut B
X-Newsreader: TIN [version 1.2 PL2]
Reply-To: djgpp AT delorie DOT com

In article <3 DOT 0 DOT 6 DOT 16 DOT 20000104001017 DOT 359f1bf8 AT mail DOT cybercable DOT fr> you wrote:

> >mk>Trying to analyse the BIOS code without any further knowledge, to find
> >mk>that '19' or '1900' being added to the year number from the clock

> I know, if the clock switch to 1980 then there is no success to correct it.
> With 1900 it can be done successfuly.
> Because the 19 is hardcoded in the BIOS.

It's not a hardcoded 19 that is causing your problems, I think. Your
BIOS has two problems, actually:

1) The 'century' bit in the CMOS clock chip is either not set at all,
inconditionally reset from time to time, or not used by the BIOS.

2) There is some intended 'consistency check' on top of that, which
decides that '1900' cannot possibly a valid date, and drops back to
1980, the 'beginning of DOS'. This routine is in DOS, but not in all
versions of it, I think.

> This works only for Dos-Machines... with, e.g., BOOTFIX.COM.
> I have 5 Linux-Machines...

The same think can be done in Linux, and may even be easier than on
DOS (some scripting with the 'date' and '/sbin/clock' utilities, and
'sed', and you can easily replace the '1980' with '2000', for the
year, but that's getting entirely off-topic for this newsgroup, now.

You really need a BIOS update from the mainboard maker, I think.
Prodding around in its code yourself will likely get you nowhere.

Regarding the calculations regarding replacement options for those
mainboards: you neglected the possibility of buying *used* hardware.
Your use does not require a pentium, you say. Fine, go and find
yourself a set of old 486's or similar being thrown out by firms. You
may even be able to replace all 5 of these machines with a single
modern one...

The basic trick is that the realtime clock usually only ever used at
system startup time, not later on. If you want to be sure, you can
always block access to the RTC for all non-root processes.

--
Hans-Bernhard Broeker (broeker AT physik DOT rwth-aachen DOT de)
Even if all the snow were burnt, ashes would remain.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019