Simple clear advice in plain English

Year 2000:DOS - Tough times ahead

Roger Gann finds Microsoft's DOS wanting in its Y2K compliance.

According to Microsoft, MS-DOS is 'compliant with minor issues', so it's almost compliant but not quite. I guess this is down to luck more than judgement, as Y2K issues were but a twinkle in Cobol programmers' eyes at the beginning of the decade, when MS-DOS was at the peak of its development.

But that's as maybe, because to use Microsoft's words, 'There are no patches available at this time and no plans to develop any patches.' So, MS-DOS 6.22 isn't going to be fixed! And it's not going to get support for the Euro symbol either.

To be absolutely strict about this, Microsoft warrants the near compliance of DOS in respect of the English versions of MS-DOS 6.21 and MS-DOS 6.22: all previous versions are not warranted to be Y2K compliant.

It seems that MS-DOS will correctly recognise dates beyond the year 2000.

It doesn't display the full year, but will nevertheless sort files correctly, i.e. putting '00' files after '99'. The key seems to be entering a four- rather than a two-digit year value: for example, to change the date using the DATE command, you'd enter 01-01-2000 rather than 01-01-00.

The 'minor issues' are fairly trivial and not surprisingly revolve around the DATE command. If a two-digit date is entered, MS-DOS 6.2x will assume that the date entered is in the 20th century. The DATE command is the only operating-system command that accepts dates, yet it doesn't handle two-digit dates from 00-79 correctly - you'll see an Invalid Date error message. This is because the MS-DOS file system APIs use a year offset from 1980 to store dates. When a program gets a date from an MS-DOS API, the program must add 1980.

External commands with switches that use a date parameter require years 2000 and beyond to be entered using four digits. Dates entered using a four-digit year are handled correctly (for example, 01-01-2000). However, a DIR command will still display 01-01-00.

A problem also exists with the backup utility, MSBACKUP: backups are given a filename derived from the date of creation, and in the 8.3 filename limit there's no space for tens of years. In the example given on the Microsoft website, a backup created on the same days in 1991 and 2001 will have identical filenames:

CC10829B.FUL (No Description)

was created on 8/29/2001

CC10829B.FUL (No Description)

was created on 8/29/1991

The actual date is stored within the file in the MM-DD-YY format.

This is compounded by the fact that MSBACKUP doesn't recognise dates greater than 1999. MSBACKUP creates a date stamp on the backup files.

When an attempt is made to create a backup over an existing backup, it displays a warning to prevent the user from destroying the file, quoting the original creation date. If this is greater than 2000, the year values aren't properly displayed, e.g. '1/1/CZ'.

Since then, other problems with MS-DOS 6.2 have emerged. As recently as April, some further problems with MS-DOS 6.2 came to light, relating to the differing US and International date formats: the US uses mm-dd-yy, of course, while a few countries prefer the very logical yy-mm-dd format. Those that do will find problems with XCOPY - it won't accept '00' for the year 2000.

There are, of course, other commercial versions of DOS still available and here the picture is somewhat rosier. Both IBM and Caldera have Y2K-compliant versions of DOS, and both have made patches available to bring older versions up to date. IBM PC DOS 7 customers can install a Year 2000 Fix Pak for PC DOS 7, or upgrade to IBM's PC-DOS 2000 product. The Fix Pak includes new support for the Euro currency symbol - it's a 1.3Mb free download from ftp://ftp.software.ibm.com/ps/products/ dos/fixes/dos7.0/year2000/.

However, PC-DOS 6.x and earlier versions are deemed by IBM to be 'non-ready'.

IBM's Y2K-compliant PC-DOS 2000 not only corrects the date rollover problem that some PC BIOSes have, it also includes support for the Euro currency symbol.

The great rival to MS-DOS 6.2, DR-DOS, lives on under the Caldera badge.

DR-DOS 7.03 is Y2K compliant and the kernel will correct the system date even if your BIOS doesn't support the Year 2000. Again there's a patch to test the PC for date rollover compliance and installs a TSR to correct for it, if it doesn't. And again, the DR-DOS feature set, which includes support for APM and multitasking, easily eclipses MS-DOS 6.2. A 90-day trial version of DR-DOS 7.03 can be downloaded from the Caldera website.

PCT CONTACTS

CONTACT Roger Gann via the PCW editorial office or email hardware@pcw.co.uk

Microsoft www.microsoft.com/year2000/

IBM www.software.ibm.com/os/dos/index.html

Caldera www.calderathin.com/products/drdos/index.html.

Reader Comments

   

Add your comment

All fields must be completed. Your email address will not be displayed or used to send marketing messages.

All messages will be checked by moderators before appearing on the site.

See our Privacy Policy for more information.

Related articles

Security shield illustration

How to use the Command Prompt

Lurking under Windows is the little-known world of the command line. We explain how to use this to fix faults and make your PC much more secure

Hands-on - Year 2000:spreadsheets - Date on a plate

Stephen Wells helps you understand how your spreadsheet treats dates.

Hands-on - 16-bit - Memory master-class

Roger Gann gives you some memory management super-hints.

Question & Answer

Q.How do I store musician and other information about...

> Read the answer

Q.Why can't my browser find the website address I typed...

> Read the answer

Q.All updates have been downloaded, so why won't Windows...

> Read the answer

Best deals on the web

img

THREE E585 Mi-Fi Take it Away Mobile Broadband - 5GB allowance

£44.97- Buy it now

img

T-MOBILE 3G Pay As You Go iPad Micro SIM

£0.10- Buy it now

img

THREE Huawei E353u Take It Away Mobile Broadband - One Month Rolling Contract

£4.99- Buy it now

Great benefits for subscribers!

Poll

Which is your preferred web browser

Jargon Buster

Computing terms explained in plain English

VGA

Video Graphics Array. Standard socket for connecting a monitor to a computer.

Great shopping deals from Computeractive