Path: utzoo!utgpu!news-server.csri.toronto.edu!bonnie.concordia.ca!uunet!zaphod.mps.ohio-state.edu!usc!snorkelwacker.mit.edu!bloom-beacon!eru!hagbard!sunic!mcsun!hp4nl!star.cs.vu.nl!hvaalde From: hvaalde@cs.vu.nl (Aalderen van Harold) Newsgroups: comp.sys.atari.st.tech Subject: Re: Setting a 2000 year date *HELP* Message-ID: <8760@star.cs.vu.nl> Date: 16 Jan 91 11:24:38 GMT References: <17750004@hpgnd.grenoble.hp.com> <17750005@hpgnd.grenoble.hp.com> <2808@atari.UUCP> Sender: news@cs.vu.nl Lines: 26 I checked the problem on my computer 1040STf running TOS 1.0 11/20/1985 and on a 1040STE running TOS 1.6 (don't know the date) As Allan Pratt stated the problem lies entirly in reading the year byte from the keyboard clock what happens is the following The 'clockvec' vector from the Kbdvbase structure reads the year byte from the keyboard procsessor It is converted from BCD format to normal binary form an offset of 80 is substracted which ofcourse is correct if the year was between 80-99 but is wrong for years from 00-79 in this case one should add an offset of 20 if you don't you have a very wrong year number which according to the GEMDOS format indicates the year 2028 A simular bug is in the Settime code when writing the year byte to the keyboard I am trying to write a patch for it and a small test program which shows the problem, but I don not have much time so it is coming slowly. One problem I have is the fact that I must use undocumented and ROM depend addresses If some one wants to help me, please email me (hvaalde@cs.vu.nl) Harold van Aalderen , Vrije Universiteit Amsterdam