• Please review our updated Terms and Rules here

Commodore PC 40-III setting year past 1999 in BIOS

RobbyD

Member
Joined
Jul 25, 2022
Messages
31
Location
Washington State, USA
I have a PC 40-III with BIOS ROM versions 390339-05 / 390340-05. These appear to be the latest versions that I was able to locate on Zimmers. The system is an 80286 AT. I am able to set the correct time in CMOS but the date uses a 2 digit year format so going past 1999 doesn't seem possible. The DATE command in DOS won't let me specify a year past 1999 as well. Anyone aware of a way to get this configured for the proper current year?
 
FYI - I figured out a way to do this. You'll first need a working network card installed. Then using mTCP, I was able to run "sntp -set pool.ntp.org" and it successfully updated CMOS to the correct date and time.
 
I never used a network card and all my 286 machines show the correct date. And all I did was setting the date either using DOS or the setup tool.
 
The error message is Invalid Date. I have tried every combination of 2 and 4 digit entries and mixing around the MM-DD as well. In the BIOS itself, it only allows 2 digits for the year and I was able to set that to anything I wanted to while in the BIOS setup. But regardless of the value I put in there, DOS was always reporting 1980. Using the DATE command, I could update the year so long as it was between 80 and 99. Any other value returned an error. I suspect BIOS is expecting a single byte for the year and tests for >= 80. So 23 would return an error to the DOS service. SNTP appears to be making a direct memory address call with a low/high byte which likely updates the RTC directly. But I really don't know - just speculating at this point. Would need to do a disassembly to know for sure.
 
mTCP does not touch the RTC. It uses the standard DOS interrupts to set the date and time.

No need to bother disassembling it - the code is open source.
 
I was more thinking about disassembling the Commodore ROMs. The fact that I could set the year to 23 in BIOS and DOS completely ignores it is interesting ...
 
Ah, gotcha ..

I'm still having a hard time believing your BIOS is that bad. DOS 3.3 on my PCjr from 1984 accepts the current date, not questions asked. It doesn't try to save it to the RTC clock, but it works. My 386-40 has an RTC. Even that BIOS (1994) works correctly.

You might have a bad BIOS, but the DOS DATE command always works so I can't imagine what is wrong.
 
Back
Top