;***************************************************************************; ; ; ; CLOCK ; ; time-of-day display program ; ; ; ; Author: David F. Pallmann ; ; ; ;***************************************************************************; ; ; ; File uses universal (.UNV) files other ; than SYS, SYSSYM, and TRM. ; These are on the AMUS network ; ; Updated by Dave Heyliger - AMUS Staff (dkh) to allow ESC exit. ; OBJNAM CLOCK.LIT VMAJOR=1 VEDIT=100. ;22-Dec-83 DFP creation VEDIT=101. ;15-Feb-88 dkh ;universals SEARCH SYS SEARCH SYSSYM SEARCH AAA ;dkh - DSK2:[100,133] SEARCH TRM SEARCH MACLIB ILOOP=D0 ROW=D2 COL=D3 OLOOP=D4 IMP=A5 .OFINI .OFDEF OLDDAT,4 ;old system date .OFDEF NEWDAT,4 ;new system date .OFSIZ IMPSIZ START: PHDR -2,0,PH$REE!PH$REU ;program header GETIMP IMPSIZ,IMP ;allocate impure area ONEKEY ;dkh - sets one key input BCKGND: CRT #0 ;clear screen CRT #29. CRT #3,#38. TYPE .... CRT #4,#38. TYPE .... CRT #7,#38. TYPE .... CRT #8.,#38. TYPE .... CHKTIM: CTRLC EXIT SLEEP #10000 TCKI ;dkh - input??? BNE 10$ ;dkh - nope KBD ;dkh - yes, get the keystroke CMPB D1,#33 ;dkh - escape? JEQ EXIT ;dkh - yes, exit 10$: GTIMES NEWDAT(IMP) CMMW OLDDAT(IMP),NEWDAT(IMP) BEQ CHKTIM NEWTIM: MOV NEWDAT(IMP),OLDDAT(IMP) HRS1: CLR D1 MOVB NEWDAT(IMP),D1 DIV D1,#10. AND #377,D1 MOV #7,COL CALL DIGIT HRS2: CLR D1 MOVB NEWDAT(IMP),D1 10$: CMPB D1,#10. BLT 20$ SUB #10.,D1 BR 10$ 20$: MOV #22.,COL CALL DIGIT MIN1: CLR D1 MOVB NEWDAT+1(IMP),D1 DIV D1,#10. AND #377,D1 MOV #46.,COL CALL DIGIT MIN2: CLR D1 MOVB NEWDAT+1(IMP),D1 AND #377,D1 10$: CMPB D1,#10. BLT 20$ SUB #10.,D1 BR 10$ 20$: MOV #61.,COL CALL DIGIT JMP CHKTIM DIGIT: MUL D1,#15. MOV D1,D5 LEA A0,DIGTBL ADD D1,A0 MOV #1,ROW MOV #5,OLOOP DOROW: CALL LINE CALL LINE ADD #3,A0 SOB OLOOP,DOROW RTN LINE: CTRLC EXIT MOV ROW,D1 ROLW D1,#8. ADDW COL,D1 TCRT MOV #3,ILOOP MOV A0,A1 20$: MOVB (A1)+,D1 TTY TTY TTY TTY SOB ILOOP,20$ INC ROW RTN EXIT: CRT #28. CRT #0 PRTTAB -1,28. ;dkh - turn on cursor EXIT DIGTBL: ASCII /0000 00 00 0000/ ASCII /11 1 1 1 111/ ASCII /222 22222 222/ ASCII /333 3333 3333/ ASCII /4 44 4444 4 4/ ASCII /5555 555 5555/ ASCII /6666 6666 6666/ ASCII /777 7 7 7 7/ ASCII /8888 88888 8888/ ASCII /9999 9999 9 9/ EVEN END .