tty_interrupt();
kbd_interrupt();
- /* FIXME: do we care about floppy interrupts */
-
if (irq & 0x40)
dummy = sdcc_bug_2753(*((volatile uint8_t *)0x37EC));
if (irq & 0x80) { /* FIXME??? */
/* BCD encoded */
do {
sl = rtc_secl;
+ /* RTC may be absent */
+ if (sl == 255)
+ return 255;
rv = sl + rtc_sech * 10;
} while (sl != rtc_secl);
return rv;
rtcnew = platform_rtc_secs(); /* platform function */
- if (rtcnew == rtcsec)
+ if (rtcnew == rtcsec || rtcnew == 255)
return;
slide = rtcnew - rtcsec; /* Seconds elapsed */
rtcsec = rtcnew;