|
Y2K-Probleme mit Atari
Passiert ist eigentlich, trotz reichlich Panikmache der Medien,
sehr wenig. Besonders trifft das auf Atari-Computer Systeme zu.
Einzelne Datumsprobleme älterer Software beschreibe ich nicht als
Y2K-Problem, sondern als Versäumniss der Programmierer. Was
kommen würde war schliesslich lange genug bekannt. Probleme
einige Programme können nicht mehr behoben werden da die Autoren
ihre Arbeit an diesen Programmen bereits vor Jahren eingestellt haben.
- Betroffene Software
-
UPoint, ein UUCP Mailer, stellt seit dem 01.01.2000 die
Headerzeilen in den Newsgroups nicht mehr dar.
THE_DOT hat ein generelles Problem mit der Datumsanteige im
Fenster "Multipoll"
ATSTART hat Probleme mit dem Datum. Autor Andreas Schrell@RS.
TELE-OFFICE hat ein Problem mit dem Datum.
XBOOT3 hat Probleme mit der Jahreszahl.
Die Uhrzeit lässt sich nicht einstellen.
SCRIPT5 vergibt bei "Datum einsetzen" eine Jahreszahl
von 19100.
MENUEINFO hat ebenfalls Probleme mit dem Datum. Hier reicht es
aber wenn die entsprechende .INF-Datei gelöscht wird.
- Hardware
-
Betroffen sind einige nachträglich eingebaute Hardwarehuhren
der Firma ICD. Hier stellte sich das Datum auf 1990 zurück. Bei
einigen Uhren lässt sich das durch löschen der .INF Dateien
wieder beheben. Bei Uhren ohne Treibersoftware nicht.
Betroffen sind auch einige DMA->SCSI Hostadapter der gleichen
Firma mit integrierter Uhr.
- XBIOS Lösung
-
Programmname: Y2K_FIX
Version: 0.9
Autor: Ingo Linkweiler
Email: i.linkweiler@gmx.de
Email: ingo linkweiler@do
Web : www.icc-computer.de/starcall
Year2000-Fix. Umgeht Jahr-2000 Fehler vieler TOS-Versionen im
Xbios, sowie Probleme mit SCSI-Hardware-Uhren.
Hardware: ST mit nicht funktionierender XBIOS-Uhr
Features:
Meine Uhr im ST mag nicht mehr! Dieses Programm kann helfen.
Einfach im Autoordner installieren, und alles geht wieder. Incl.
Source. Problem war: XBIOS-Uhr geht nur bis 1999.
Lösung:
Y2K-Fix stellt beim Setzen der Zeit die XBIOS-Uhr 20 Jahre
zurück. Beim Lesen werden wieder 20 Jahre dazugezählt.
Zusätzlich wird die Synchronisierung der Gemdos-Uhr
durchgeführt.
Installation:
Einfach Y2K_FIX.PRG starten oder in den Auto-Ordner kopieren.
Bitte NICHT installieren, wenn keine Probleme auftreten.
Definition des Problems
Here is a defintion of the problem. Hope it is of interest.
Atari ST Time-of-Day Clock Problems
- Definition of the Problems
- 1. There are two Time-of-day Clocks in the Atari which are not
maintained in sync by the hardware or operating system.
2. One of the Time-of-day Clocks fails to operate for dates after
31 Dec 1999.
- Scope of the Problems
- The problems exists on Atari ST machines with TOS levels from 1.0
to 1.62.
- Background to Atatri ST Time-of-Day Clock Problems
- When the Atari ST was released in the mid 1980's there were at
least three design errors associated with the Time-of-Day Clock. These
were:
1. Two Time-of-Day Clocks
Two related but different Time-of-Day(TOD) Clocks mechanisms were
included. This does not make any sense given the associated functions
that were provided in the DOS and XBIOS sections of TOS. The TOS
Version 1 code associated with XBIOS can be examined at the addresses
shown in the TOS Addresses table below.
The two TOD Clocks can be independently set to any date/time, and
in consequence, Get Date/Time frequently gives unexpected results if
the clocks are not in sync.
Since the choice of TOD Clock Function rests with the application
programmer, there is likely to be many date incompatible programs.
There are various Clock-Sync programs that may help to get the clocks
in sync up until 31Dec1999. After that a software fix is needed for
the XBIOS Clock functions.
- XBIOS SetTime/Date Function
-
The XBIOS SetTime/Date function, which accesses the IKBD hardware
via the IKBD serial Binary Coded Decimal (BCD) interface, for some
strange reason, has #$80 added to the BCD Year value before
transmitting it to the IKBD.
Programmers have already gone to the trouble of subtracting 1980
from any date inputted by the user so that the year 1980 from the user
will be passed to XBIOS (or DOS) as 0.
The consequence of this is that year values greater than BCD 19
will be invalid after adding #$80. e.g. BCD_19 + #$80 = BCD_99 which
is valid but BCD_20 + #$80 = BCD_A0 which is invalid. The IKBD ignores
invalid BCD values so the year is not updated in the IKBD although the
time is updated.
- XBIOS GetTime/Date Function
-
The XBIOS GetTime/Date function, which also accesses the IKBD
hardware via the IKBD serial Binary Coded Decimal (BCD) interface,
compensates for 2. above by subtracting decimal 80 from the Year AFTER
it has been converted from BCD.
This means that the Get Year is not the same as the Set Year for
input dates above 2060. The Set years 2060 to 2107 map to Get years
2028 to 2075.
This may sound a bit academic, but it does affect some of the
possible software fix methods.
This also accounts for frequently getting the year 2028. When the
date in the IKBD rolls over to an invalid number and the IKBD passes
back BCD_00. Since BCD_00 from the IKBD Clock becomes BCD_00 - decimal
80 = #$B0, then the top 7-bits are then right-shifted to give #$30 (48
decimal) which is passed back to the application. Add 1980 in the
application and you get 2028. Magic, but a pain.
Clive Williams Latest update: 02Jan2000
Copyright © Robert Schaffner (doit@doitarchive.de)
Letzte Aktualisierung am 23. Mai 2004
|