             # one type of wallclock event response
                        # update timestring, increment uptime
                        # the MC146818 interrupts after updating itself.
                        # Reading it right then saves timeouts. One IRQ
                        #  per second is nothing.
L persecond
#                call update
                1+ @ $uptime                    # 4 bytes = 136 years
 #                       return


L update                # string format... CCYYMMDDWHHmmSS
                        # decimal, 24-hour only, no daylight savings,
                        # DD is monthday, W is single digit weekday
                        # in 2-digit items more significant digit is
                        #       at the lower ("left") address
        = $timestring to DI
        = $century to B
         call readcalendar
         call ASCIIBCD
        = $year to B
         call readcalendar
         call ASCIIBCD
        = $month to B
         call readcalendar
         call ASCIIBCD
        = $monthday to B
         call readcalendar
         call ASCIIBCD
        = $weekday to B
         call readcalendar
        AND 15 to A                     # single digit
        + 0x30 to A
        = byte A to @ DI
        1+ DI
        = $hour to B
         call readcalendar
         call ASCIIBCD
        = $minute to B
         call readcalendar
         call ASCIIBCD
        = $second to B
         call readcalendar
         call ASCIIBCD
                        return


# Will we want uptime and not a timestring? WTHeck...

L upuptime
                1+ @ $uptime                    # 4 bytes = 136 years
 #                       return

