RTC
regb = mc146818_read(RTC, MC_REGB);
MC146818_GETTOD(RTC, &clkregs);
MC146818_PUTTOD(RTC, &clkregs);
MC146818_GETTOD(RTC, &clkregs);
mc146818_write(RTC, MC_REGB,
mc146818_read(RTC, MC_REGB) | MC_REGB_24HR | MC_REGB_BINARY);
MC146818_GETTOD(RTC, &clkregs);
MC146818_PUTTOD(RTC, &clkregs);
mc146818_write(RTC, nreg, 0);
return mc146818_read(RTC, byteno + MC_NVRAM_START) & 0xff;
*p = mc146818_read(RTC, offset + i);
mc146818_write(RTC, offset + i, *p);
csum += mc146818_read(RTC, nreg);
if (((~csum & 0xff) != mc146818_read(RTC, MC_NVRAM_CSUM))
|| (csum != mc146818_read(RTC, MC_NVRAM_CSUM + 1)))
mc146818_write(RTC, MC_NVRAM_CSUM, ~csum);
mc146818_write(RTC, MC_NVRAM_CSUM + 1, csum);