home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
cpm
/
bye3
/
b3c-xero.ins
< prev
next >
Wrap
Text File
|
1994-07-13
|
2KB
|
83 lines
;**********************************************************************
;
; B3C-XERO.INS A TIME insert for BYE335 and up
;
; Adapted from:
; MBC-XERO.ASM -- Version 1.0 -- 05/24/84 -- by Isaac Salzman
;
; This insert is for a Xerox 820-II running BYE3. This
; routine will only work on a Xerox 820-II, not an 820. It
; will also (most likely) work on the 16/8 as well.
;
; When called this routine will check the RTCBUF. If a '99H'
; is in the first byte, the clock is initialized. Next the
; seconds are checked, and if changed since last update of
; RTC buffer, the clock is stopped, data copied to RTCBUF and
; the clock is restarted. (If no change in seconds, the
; routine returns immediately.)
;
;**********************************************************************
;
;
;Xerox clock initialization
;
XERCLK EQU 0F039H ; Location of Xerox 820-II time vector
; Monitor routine. When called, it returns
; The addr of the 820's clock in high mem.
IF RTC
TIME: LXI H,0 ; Clear HL
CALL XERCLK ; Get pointer to TOD in HL
MOV A,M
CALL MOVETM
STA RTCBUF+6 ; Get day
;
INX H
MOV A,M
CALL MOVETM
STA RTCBUF+5 ; Get month
;
INX H
MOV A,M
CALL MOVETM
STA RTCBUF+4 ; Get year
;
INX H
MOV A,M
CALL MOVETM
STA RTCBUF ; Update hours
;
INX H
MOV A,M
CALL MOVETM
STA RTCBUF+1 ; Update minutes
;
INX H
MOV A,M
CALL MOVETM
STA RTCBUF+2 ; Update seconds
;
LDA RTCBUF ; Get BCD HH
CALL BCDBIN ; And convert to binary
STA CCHOUR ; For BYE3
LDA RTCBUF+1 ; Get BCD MM
CALL BCDBIN
STA CCMIN ; Binary for BYE3
RET ; And return (for now..)
;
MOVETM: MVI B,0 ; Clear reg B
CONV: CPI 10 ; Are we >= 10 ?
JC ADDREST ; No, add the rest
SUI 10 ; Subtract 10 from A
MOV C,A ; Put A in C (store it for a sec)
MOV A,B ; Put B in A
ADI 16 ; Add 16
MOV B,A ; Store it back in B
MOV A,C ; Get our original value back in A
JMP CONV
ADDREST:
ADD B ; Add the rest to what's in A
RET ; Return
ENDIF ;RTC
;
;**********************************************************************