[Coco] Y2K fixes ever developed or posted?
Robert Gault
robert.gault at worldnet.att.net
Mon Dec 15 23:20:01 EST 2003
Theodore (Alex) Evans wrote:
>
><snip>
> There are a number of places where the date is used where there is no
> space for an extra byte. For example the file descriptor sector
> (probably *the* most important place to put a time stamp). In any case
> OS-9 doesn't use BCD for date storage, one byte can hold 256 values, not
> 100 and two can hold 65,536 values, not 10,000.
>
>
That is true but not quite relevant to my comment. OS-9 time has the
following structure:
D.Time equ . System Time
D.Year rmb 1
D.Month rmb 1
D.Day rmb 1
D.Hour rmb 1
D.Min rmb 1
D.Sec rmb 1
D.Tick rmb 1
D.Slice rmb 1 current slice remaining
D.TSlice rmb 1 Ticks per Slice
D.Boot rmb 1 Bootstrap attempted flag
(D.MotOn rmb 1 Floppy Disk Motor-On time out)
(D.ErrCod rmb 1 Reset Error Code)
D.Daywk rmb 1 day of week, com-trol clock
While the above can keep track of 256 years, it was intended to be used
as follows, 19xx where xx was determined by the D.Year byte. The obvious
way to enhance this but slightly harder than adding the value of D.Year
to 1900, is to create a D.Century byte somewhere in unused OS-9 data space.
With a D.Century byte, the year would be represented as D.Century
+D.Year. This is not exactly the same a 2 byte D.Year that produces 5
digits. D.Century+D.Year as used above covers about 25,600 years while a
two byte D.Year would cover 65,536 years.
I concede that a 2 byte D.Year would work better than D.Century+D.Year.
Esthetically, I'd prefer either of the above over 1900+D.Year.
The argument that there is no room in the file descriptor for another
byte is specious. While it would not be backwards compatible, the
obvious answer is to redefine the file descriptor by increasing the
number of bytes that represent the year.
While this issue is moot for a Coco, it is not so for our records in
general. If humanity expects to exist past any particular year, it needs
to use records that permit representation of that year. Otherwise sooner
or later (sooner in the case of Y2K) there will be major problems.
What do you think is going to happen in the year 2226 (not that far
away) if all computer systems stick with the current patches used for
Y2K of 1970+256 or something similar.
We will all be dead, yes, but I repeat that reasoning is why Y2K
happened in the first place.
More information about the Coco
mailing list