CLOK02SL.jpg (6420 bytes)
Y2K Products
Main Page
RTCView2
01_32_B.gif (25422 bytes)

Download
the Demo

shareit_eng.gif (4304 bytes)

Registration

Let your non Y2K compatible programs work.

Many programs will have problems running with dates higher that 1999. Some of them could be used with a modified date. If we use a time delay of multiples of 4 years we have the same day of the month structure and if we delay 4x7 = 28 years we have the same day of the month and week structure.

You can change to a date before January 2000,  but doing so will create some problems.
  • All file dates are modified

  • We change the RTC date too

  • We have to reload the actual date for compatible applications

DateShel User's Guide

The date structure in MS-DOS (Windows 3.1 & Windows 95) has several layers.

- The Real Time Clock (RTC) keeps dates even when we disconnect the computer.
- The clock$ device driver will read the RTC at the computer boot up and will keep an internal clock used by the file system.
- The Get System Date Interrupt (Int 21h ah=2ah) reads the clock$ device and is used by most applications.

If we intercept the Get System Date interrupt to change the date to a desired value, this does not affect the DOS file system. That is, file dates will be correct but the application will see a different date.

By other side we are keeping the date in memory so it is easy to call a program to install and restore the new and original dates before we execute the application. If we are running a Windows 3.1 or Windows 95 dos shell, and we execute the TSR install in the shell the date will be just modified for that shell. That is, we can run several DOS applications in a Windows environment with a different date and the Windows programs will keep the actual date.

How does DateShel work?

DateShel.com is a resident routine that intercepts the MS-DOS Get System Date interrupt. We use another program called DateSet to modify the amount of time in days that you want to decrease or increase tour system date. You can also modify the week value returned by this interrupt.

For an MS-DOS system the steps are:

Install DateShel.com running it from Autoexec.bat or before your Y2K non compliant program. This will not modify the date returned by the DOS.

Before you run your application execute:

DateSet.exe [days] [day of week]

Where days is the number of days that you want to delay or advance the date. A negative number will make a delay and a positive will advance the date. We have calculated from 1968 that is the lowest possible date. The day of week should be a positive value from 0 to 7 indicating a phase delay that we want to introduce in the day of week
value the default is 0.

Some examples are:

DateSet -10227

This command will delay 28 years so year 2000 will be considered as 1972 this delay will keep the same month and week structure between delayed and actual date.

DateSet -1461 5

This command will delay 4 years the date. To keep correct the day of week value we had to add a lag of 5.

DateSet 730

This command will advance 2 years the date. Can be used to test compatibility with the Year 2000 of any program.

DateSet with no arguments will default to 0 for both arguments, so it is useful for returning the value to the actual date.

For Windows 3.1 & Windows 95 the steps are:

If you want to modify dates for Windows programs you must execute DateShel in your Autoexec.bat file. You can execute DateSet days prior to run your Windows program and execute DateSet with no arguments when you finish the program, if any program runs in parallel will get the modified date.

If you want to use it in a MS-DOS shell, you can execute DateShel before the program and then execute Dateset to set the desired value. In this way the modified date will just affect your MS-DOS shell. You can run any other shell or Windows program in parallel with the actual date. Once you exit the shell DateShel will be erased from memory.

Just try yourself and comment your experience at elimar1@elimar.com.

Visit our WEB at www.elimar.com for registering, information, updated programs and more news about the Year 2000.

What about DateSh.com?

DateSh.com is the demo version of Dateshel.com it works the same as the full version but it introduces a fixed delay of one year. Try it and visit www.elimar.com to register for the full version if needed.

What about DateRead?

DateRead.exe is a simple utility that allows you to check both the Date from the clock$ device driver and the date from the Dos Int21 interrupt. This allows you to check the delay you have introduced with DateSet.