|
|
DataMuseum.dkPresents historical artifacts from the history of: CR80 Hard and Floppy Disks |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CR80 Hard and Floppy Disks Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 2520 (0x9d8)
Types: TextFile
Names: »CPMTIM«
└─⟦80dc9b589⟧ Bits:30005096 8" CR80 Floppy CR80FD_0053 ( HMDIR 6 VOL: BACKUP MD: CPM.D From: HMDIR*CPM.D )
└─⟦08785f861⟧
└─⟦this⟧ »CPM.D!CPMTIM«
;----------------------------------------------------------------------
; PROCEDURE "CPM_TIMER"(CPMTIM).
;
; NARRATIVE:
; CPMTIM MAINTAINS THE CPM_TIMER 'SYNC_ACK_TIMEOUT TIMER'(SYNTIM).
; ACTIVE TIMERS (NONZERO) ARE UPDATED (DECOUNTED) UPON EACH INVOKATION,
; AND IF IT EXPIRES (DECOUNTED TO ZERO) IT IS STOPPED,AND THE FOLLOW-
; ING PROCESSING PERFORMED:
; SYNTIM: THE PROCEDURE 'CPMM&C' IS CALLED FOR GENERATION OF AND
; TRANSMISSION OF AN OUTBOUND SYNC_MESSAGE.
; 'SYNTIM' IS STARTED UPON TRANSMISSION OF THE SYNC_MES-
; SAGE,AND STOPPED WHEN IT IS PROPERLY ACKNOWLEDGED BY
; CIP (ACK PIGGYBACKED IN 'KAM').
;
; REGISTER USE: ENTRY EXIT
; R5 LINK R0-R7 DESTROYED
;
; ENTRIES: 1.RUN_TIMERS
; 2.PRESET_SYNCTIMER
; 3.STOP_SYNCTIMER
;
; INPUT/OUTPUT: TIMERS
;
; RETURNS: LINK+0:DONE
;----------------------------------------------------------------------
CPMTIM: ;BEGIN CPMTIM
C100: ; RUN_TIMERS:
MOV R5 RLC100 ; SAVE LINK
MOVC TIMERS R7 ; GET REF.TO TIMERS
SOZP CTIMER+SYNTIM.X7 ; IF SYNC_TIMER ACTIVE THEN
DEC CTIMER+SYNTIM.X7 ; SYNTIM=SYNTIM-1
SOZ CTIMER+SYNTIM.X7 ; IF SYNC_TIMER EXPIRED THEN
JMP C110 ; 'ACK TIMEOUT'
MOVC OPSYNC R0 ; OPCODE=SEND_SYNC_MSG
JMPI S5 ICPMMC ; "CPMM&C"(OPCODE)
; ENDIF
C110: ; ENDIF
JMPI RLC100 ; RETURN LINK+0
;
PSYNTIM: ; PRESET/START SYNC_TIMER:
MODC SYNTIM
MOVC TIMERS R7 ; GET REF.TO RESP. TIMER
MOV PTIMER.X7 R0 ; READ PRESET VALUE
MOV R0 CTIMER.X7 ; PRESET/START TIMER
JMP 0. X5 ; RETURN LINK+0
;
SSYNTIM: ; STOP SYNC_TIMER:
MODC SYNTIM ;
MOVC TIMERS R7 ; GET REF.TO RESP. TIMER
CLR CTIMER.X7 ; AND STOP IT.
JMP 0. X5 ; RETURN LINK+0
;END CPMTIM
;----------------------------------------------------------------------