Amiga 500+, 2000, 3000 and 4000 machines (and some others with add-on boards)
use clock chips from OKI or RICOH, which both have a BCD-encoded two-digit year.
Unfortunately, this isn't handled correctly by NetBSD, as discovered by
Adam Ciarcinsky.
- Analysis
- The Ricoh RP5C01 clock chips used on A3000 and A4000, and the OKI
MSM6242RS chips used on A500+ and A2000 machines, have BCD counters
for the ones and tens of the year, and no hundreds or above. In effect,
the hardware clock will jump to 00 at the end of (19)99. NetBSD does
not take this into account. However, at least the Ricoh chip is fine
if you set the tens manually to 10 or above (up to 15, encoding the
years 2000..2059).
- Workaround:
- You will not notice the problem if you boot NetBSD before 1999 December 31
midnight (in the timezone of you clock chip), let it run until at least a
few seconds into the year 2000, and do not boot
AmigaOS until you have a fixed kernel.
- Kernel fix:
- For 1.4.x and 1.3.x kernel sources: apply
the patch
on the ftp servers
/pub/NetBSD/arch/amiga/misc/ directory.
Or use the NetBSD-1.4.2_ALPHA version of
rtc.h,
a2kbbc.c, and
a34kbbc.c
(only for 1.4.1!).
The 1.4.2 release and NetBSD-current have been fixed already.