|
|
|
 |
Download
the Demo
|
|
|
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.
|