|
|
| Author |
Message |
jjf
|
|
Clock problem
|
Sep 30 18:45 UTC 1991 |
I've been having some problems with my time/date clock on my IBM,
hopefully someone here has some advice. Every so often, after the memory check
in my boot-up I get a message : Time/Date not set ... So I have to reset it
about once a day. I assume it's a problem with the clock battery or something.
Anyway, it's starting to annoy me and I'm sure there is a simple cure.
|
| 11 responses total. |
bad
|
|
response 1 of 11:
|
Sep 30 23:59 UTC 1991 |
Change the battery, see what that does. Though, assuming you've got some
config information also maintained by the battery, that would get wiped, too,
if it was the battery.
Ugh, that didn't make any sense.
|
jjf
|
|
response 2 of 11:
|
Oct 1 19:35 UTC 1991 |
I might try changing the battery but, it seems strange because the rest of the
info : drive type, memory, etc. doesn't get lost. Anyway where can I get
another battery. I haven't looked inside yet - what kind of battery is it?
|
bad
|
|
response 3 of 11:
|
Oct 1 20:47 UTC 1991 |
Look it up in your docs, it's pretty much different from one to the next...
|
fes
|
|
response 4 of 11:
|
Oct 2 03:39 UTC 1991 |
not all config info is battery backed - the old PCs weren't that sophisticated.
Change the battery. Before you do, copy as much of the setup information as
you can (drive type, etc). Otherwise you WILL forget.
|
mdw
|
|
response 5 of 11:
|
Oct 2 06:24 UTC 1991 |
Interesting. The original PC and XT (8088 based) did their setup using
dip switches, & provided no battery clock by default. If you wanted a
battery backed up clock, you had to acquire one of the many after-market
products, plus the software driver to teach the PC about it. From the
AT onwards (286 and upwards), the a battery backed up CMOS clock chip is
used, and the setup information is stored in the "extra" RAM that the
particular chip IBM standardized on uses. The meaning of all of the
bits depends (unfortunately) on the exact ROM bios you're using, and the
older ROM bios's don't provide any sort of setup service to change the
configuration.
I never understood why they just didn't use a good memory sizing
algorithm to count memory, put the disk type on some header block on the
drive, & other than that, performed some sort of general
"auto-configuration" process as part of bootup. That way, there is no
redundant information to get trashed and render the machine
functionless, and if the hardware does get fried, the machine can still
boot up and function on what's left. This isn't exactly a new idea --
Unix has been counting memory since its PDP-11 days, and BSD has been
performing device auto-configuration since 1979. Even the lowly Atari
800 was capable of doing this sort of thing -- it autosizes memory, &
later polls the disk drives to determine number & type of drives, and
allocates buffer space accordingly.
|
mju
|
|
response 6 of 11:
|
Oct 2 22:03 UTC 1991 |
The PC does count its memory automatically; however, for some strange reason
it also likes to have it stored in the CMOS.
PC's can't autoconfigure their floppy drives, because the system can't tell
the difference between 1.2MB 5.25" drives, 720K 3.5" drives, and 1.44MB
3.5" drives. With Unix it doesn't matter, because you just use the proper
minor device number; with DOS, it does matter, because DOS has to figure
it out itself and use the right value without any help from the user.
I've never seen a PC rendered unbootable by the loss of config information,
anyway. The setup program is usually on an EPROM and invoked on bootup
with a key sequence (DEL and Ctrl-Alt-Esc seem popular), and since the
machine can autosense the type of display adapter and memory size, you
can usually at least run setup to get the other information correct.
|
mdw
|
|
response 7 of 11:
|
Oct 3 00:11 UTC 1991 |
That's actually a fairly recent innovation. With the PC & XT, if you
got the dip switches wrong, you were often screwed, & the only method of
recovering meant taking the case lid off, again. With the AT, if you
got the CMOS config wrong, you had to run a special "setup" program,
which didn't come in the ROM bios, but on a floppy. Fortunately (?),
there weren't quite so many kinds of indistinguishable floppy drives.
Just the 1.2M 5.25", and the 360K 5.25". Oddly, the AT was actually
capable automaticaly sensing the difference between these two (if I
remember right), so the only information in the CMOS was the # of
drives.
|
mju
|
|
response 8 of 11:
|
Oct 3 23:31 UTC 1991 |
Yes, the AT can tell the difference between 360K drives and "other"
drives, but unfortunately there's no way to tell the difference between
the different kinds of "other" drives.
Most newer PC's, at least, let you short out a jumper or connection on
the motherboard, or remove the on-board battery for a period of time,
to reset the CMOS to default values. I don't know whether or not this
worked on the original AT.
|
arthurp
|
|
response 9 of 11:
|
Apr 4 10:33 UTC 1996 |
I wish you would have written DOS 1.0 Marcus.
|
gull
|
|
response 10 of 11:
|
Apr 6 03:29 UTC 1996 |
Sometimes the clock will start to act up before the rest of the CMOS ROM
loses it, as the battery voltage starts to taper off. Some machines, in
fact, will start to gain time as the battery wears out, often 2 or 3
minutes a day.
The Atari wasn't the only machine to act that way. The Apple ][-series
used a similar method. On startup, it'd check each slot, starting with
slot 7 and going down the line, until it found a disk controller (usually
in slot 6.) I don't know how it figured the memory size -- jumper
blocks, I think.
|
mdw
|
|
response 11 of 11:
|
Apr 7 04:45 UTC 1996 |
You don't need jumper blocks to find memory; you just need a half-way
decent memory test. Actually, it can be disgustingly indecent. I think
the Atari 800 just read, xor'd, wrote, xor'd, and rewrote the first byte
of each 256 byte block of RAM; this was enough to tell the difference
between DRAM, ROM, and nothing. There were jumpers, of course, but they
weren't visible to the software or the user. There was clever logic on
the memory cards and on the motherboard to deal with chip select logic;
so you could plug in up to 48K of memory, in 32K, 16K, and 8K
increments, so long as you put the larger memory in "first".
Adding memory to the apple II wasn't quite as nice; but as I recall, the
jumper blocks didn't select RAM size; they selected between 4k & 16k
DRAM chips.
|