I have some time-of-day critical satellite tracking hardware wich is
controlled by a DOS program.
This prog ("hrpt.exe") fails to control the satellite dish under DOSEMU
due to incorrect time of day.
I am using a Pentium 233 PC.
I freed the CMOS-acces (Port $70-$7F) by a line in dosemu.conf :'$_ports
= "range 0x70, 0x7f"
I wrote a test prog to test the clocks, the results are:
There are three methods known to me to read te time of day:
1. Use DOS int $21, AX=$2C00 -- works correct
2. Use SYSTEM int $1A, AX=$0200 -- works correct, but the time cannot
be changed using
the DOS command "time".
3. Use direct port-access to hack the time out of the CMOS.
-- the hours byte is in binary while the minutes and seconds byte are
in BCD.
The CMOS states the time to be displayed in BCD (Register $0B of CMOS,
bit 3 of
8 is clear).
One bug that is common to all times: they run at UTC while my system
runs in European (summer) time as the CMOS does.
There is another problem with that program:
It uses a VESA-screen as display, but there it can only output chars
there, digits of numbers are left blank. All other Super-VGA (VESA)
operations work fine.
Thank you a lot for your help !
BTW: where do I get the sourcecodes of the "stable" releases ?
--
Wr8Ul8r,
Martin
--
Visit: www.computermuseum.fh-kiel.de