Apply by doing:
	cd /usr/src/sys
	patch -p0 < 014_y2k.patch

--- arch/i386/isa/clock.c.orig	Thu Mar 25 00:03:36 1999
+++ arch/i386/isa/clock.c	Thu Dec 23 11:07:46 1999
@@ -449,7 +449,7 @@
 {
 	mc_todregs rtclk;
 	time_t n;
-	int sec, min, hr, dom, mon, yr;
+	int sec, min, hr, dom, mon, yr, cent;
 	int i, days = 0;
 	int s;
 
@@ -481,7 +481,18 @@
 	dom = hexdectodec(rtclk[MC_DOM]);
 	mon = hexdectodec(rtclk[MC_MONTH]);
 	yr = hexdectodec(rtclk[MC_YEAR]);
-	yr = (yr < 70) ? yr+100 : yr;
+	switch ( cent = hexdectodec(mc146818_read(NULL, NVRAM_CENTURY)) ) {
+	case 19:
+		/* FALLTHROUGH */
+	case 20:
+		yr += cent * 100;
+		break;
+
+	default:
+		(void)printf("WARNING: Your NVRAM doesn't seem to hold "
+			     "century\n");
+		yr += ((yr < 70) ? 2000 : 1900);
+	}
 
 	n = sec + 60 * min + 3600 * hr;
 	n += (dom - 1) * 3600 * 24;
@@ -491,7 +502,7 @@
 	for (i = mon - 2; i >= 0; i--)
 		days += month[i];
 	month[1] = 28;
-	for (i = 70; i < yr; i++)
+	for (i = 1970; i < yr; i++)
 		days += yeartoday(i);
 	n += days * 3600 * 24;
 
@@ -557,7 +568,10 @@
 	for (j = 1970, i = yeartoday(j); n >= i; j++, i = yeartoday(j))
 		n -= i;
 
-	rtclk[MC_YEAR] = dectohexdec(j - 1900);
+	rtclk[MC_YEAR] = dectohexdec((j - 1900) % 100);
+
+	/* update century byte */
+	mc146818_write(NULL, NVRAM_CENTURY, dectohexdec(j / 100));
 
 	if (i == 366)
 		month[1] = 29;
