VOGONS


First post, by clb

User metadata
Rank Member
Rank
Member

Hi all,

recently dusted off an old 386 system and bringing it back to life. So much fun 😀

The PC is a "MikroMikko 4 m 326SX" model from a Finnish company "Nokia Data" (some kind of sibling/subsidiary at the time to the big Nokia iiuc). It has a 386 25MHz CPU with 8MB of RAM.

The BIOS is from International Computers Limited (ICL) with

BIOS version: 2.21
BIOS date: 92-05-20
KBC version: 1.5

After replacing the BIOS battery to a new one, I proceeded to set up the time&date in BIOS. When choosing "Set date" in the BIOS, it prompts "Enter date in YY-MM-DD format". Chuckled a bit, and then put in today's date "21-07-14", and observed how the date at the top right got changed to 1921-07-14. Yay 😀

However, oddly when I booted to MS-DOS 6.22, and typed 'date', it did correctly print "2021-07-14"! How did it know?

If I tried to re-enter today's date "21-07-14" to MS-DOS, it complains about an invalid date, and does not allow me to set a new date.

Doubly oddly - when I then re-entered BIOS, the date at the top right now reads "2021-07-14", whereas on the previous visit to BIOS, the date had read 1921-07-14.

Now, this behavior is super puzzling! How did the date get bumped up to 2021? Do IBM PC BIOSes/RTCs/MS-DOS generally represent time as Unix timestamps (for a 32-bit value with year range 1970-2038?) or is there some other convention? Or does it depend on each specific motherboard/BIOS in question?

Is MS-DOS generally y2k compliant?

Thanks for sharing any knowledge on the topic you might have. Not that this is particularly important, but just found that behavior somewhat amusing and highly unexpected 😀

Reply 1 of 8, by zapbuzz

User metadata
Rank Oldbie
Rank
Oldbie

From article on CNET

MS-DOS. MS-DOS 5x and later can handle four-digit years, and gets its date information from the PC's RTC/BIOS. MS-DOS will reject two-digit years from 00 79. The operational range goes to the year 2035. Earlier MS-DOS versions are not compliant.
IBM PC-DOS. The IBM 7.0 version of PC-DOS is Y2K compliant, as long as you apply a fix that you can download free from IBM's Web site (http://www.software.ibm.com/ os/dos/year2000/steps.html#step3). IBM also has a new PC DOS 2000 that is Y2K ready out of the box. The latter can also be used in conjunction with Windows 3.1 and 3.11.
Windows 3.1 and Windows for Workgroups 3.11. These operating systems hitchhike on DOS, and Microsoft's Y2K compliance includes your using MS-DOS 6.22. You will also need to apply a WINFILE.EXE patch, which you can download from Microsoft's Web site. Go to http://support.microsoft.com/support and search for Q8557.
Windows 95 (Version OSR 2.5, 4.1111) Make sure you check your version of Windows 95. Microsoft does not list Windows 95 versions earlier than this November 26, 1997 release of the OS as Y2K compliant. Many of Microsoft's products qualify compliance by adding "with minor issues." You can find out what these are by following the links to the descriptions on their year 2000 Web site. Two of these minor issues relative to Windows 95 involve two files: COMMAND.COM and WINFILE.EXE. You can resolve these by downloading and applying a patch from Microsoft's Web site Go to http://support.microsoft.com/support and search for Q182967.
Windows 98. This OS is Y2K compliant as long as you download and apply the Windows 98 Year 2000 update and the updated Microsoft virtual machine. Use the Windows update facility built into Windows 98 to do this.
Windows NT. Windows NT 4.0 Server and NT 4.0 Workstation are Y2K compliant with Service Pack 4 applied. Windows NT 3.51 Server and Workstation are Y2K compliant, too, as long as you apply Service Pack 5, plus two additional fixes. It is best to get the service packs on CD-ROM, but you can easily download the 3.51 fixes from http://www.microsoft.com/year2000 just click on Products, select the appropriate NT operating system from the product list and follow the links to the download instructions.
Novell NetWare. The NetWare 5 and NetWare 4.2 network operating systems are Y2K ready. NetWare 4.11/IntraNetWare and NetWare 4.11 for OS/2 are Y2K compliant, too, but some features may require the optional update, which can be downloaded from Novell's Web site at http://www.novell.com. NetWare 4.11 and 4.11 for OS/2 are Y2K compliant with updates, and so is NetWare 4.10, but not all variations.
IBM OS/2. IBM describes several versions of OS/2 both client and server software as Year 2000 ready. OS/2 WorkSpace On-Demand is Y2K ready is ready out of the box. OS/2 Warp 4 and 3 can be made Y2K ready by applying the appropriate IBM FixPaks. For the FixPaks, go to http://www.software.ibm.com/os/warp/ solutions/and/y2000/year2000.html. OS/2 2.11 and earlier are non-ready.4
Linux (Red Hat). Red Hat (http://www.redhat.com) confirms that its Linux versions 4.1 and greater are year 2000 compliant, meaning that they will not produce errors in date data related to the year change from December 31, 1999 to January 1, 2000.
Macintosh. Although Apple's Macintosh is not officially a PC, I thought it appropriate to include a note about the Mac's Y2K compliance. Here is what Apple says about it: "Since their introduction in 1984, Macintosh computers have had the ability to make the transition to the year 2000. In fact, the Mac OS and most Mac applications can handle internally generated dates correctly all the way to the year 29,940." (For more information, visit Apple's Web site at http://www.apple.com.)

Last edited by zapbuzz on 2021-07-14, 13:18. Edited 1 time in total.

Reply 2 of 8, by zapbuzz

User metadata
Rank Oldbie
Rank
Oldbie

y2k was mainly transition from 1999 2000 or 99 20
Pity DOS 6.22 has a timebomb
i bet some noble programmer will patch it by then we can only hope
But if she runs 6.22 she can run later with memmaker 😀
Lets go for freedos Linux a slackware linux but on exfat than fat32 (dreaming)

Reply 3 of 8, by mr.cat

User metadata
Rank Member
Rank
Member

Wow you got a piece of Finnish computing history there. Yes, we used to build things...!
I remember having to deal with this Y2K problem at work for a long time, but all the details have thankfully been forgotten now. 😁
(It wasn't anything BIOS related though)

Reply 4 of 8, by Caluser2000

User metadata
Rank l33t
Rank
l33t

You can use the NTP(Network Time Protocol)program in the mTCP suite of programs to up date the time to the current one on each computer start up. You need to have nic and connection to the internet of course.

There's a glitch in the matrix.
A founding member of the 286 appreciation society.
Apparently 32-bit is dead and nobody likes P4s.
Of course, as always, I'm open to correction...😉

Reply 5 of 8, by clb

User metadata
Rank Member
Rank
Member

Thanks all, very interesting info!

zapbuzz wrote on 2021-07-14, 13:14:

From article on CNET

MS-DOS. MS-DOS 5x and later can handle four-digit years, and gets its date information from the PC's RTC/BIOS. MS-DOS will reject two-digit years from 00 79. The operational range goes to the year 2035. Earlier MS-DOS versions are not compliant.

This also answers a related thought that I had: I also have a 8088 clone that was piling up dust. Sadly it doesn't post (yet 😉 ). Iiuc MS-DOS 3.3 is the latest OS that can be installed on it. Reading this, it will probably have a y2k condition.

I wonder where the max year 2035 comes from - Unix epoch time should go to Jan 19 2038 ( https://en.wikipedia.org/wiki/Year_2038_problem ) . Maybe the calculation is somehow different.

Reply 6 of 8, by chinny22

User metadata
Rank l33t++
Rank
l33t++

So our pure dos rigs are going to catch the Y2K bug just 35 years later? I didn't know that!
I'm not too worried about my retro boxes having the correct date but 15 years isn't that far away

Reply 8 of 8, by Jo22

User metadata
Rank l33t++
Rank
l33t++
zapbuzz wrote on 2021-07-14, 18:56:

contemplating moving the clock forward to see what happens in future ms dos 6.22
perhaps someone could patch it by the timebomb

That's possible for sure, the sources likely can be modified accordingly. 😉

Also, there's FreeDOS and PC-MOS/386 v5, both Open Source.
The latter was just recently fixed because of y2k.

Alternatively, some TSRs can be used to set DOS' $clock device.

Before the release of the PC/AT, Real Time Clocks (RTCs) were optional devices.
Someone had to buy an ISA card with an on-board clock. These cards often were combined cards with a bus mouse interface,
floppy controller, extra RAM or a parallel port.
The forerunners of the common multi-i/o ISA cards of the 90s, so to say.

And since there was no standard clock model yet, each card came with a different clock chip and its own clock software.

And that's the good thing. Even though MS-DOS supports the AT clock out-of-box,
it can still be synced through a clock software.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//