; TIME.SBR
; VERSION 1.0 - 09/01/84 - D. EICHBAUER
;
;
; ALLOWS USER TO SET SYSTEM TIME FROM BASIC
;
; PROPRIETARY PROGRAM MATERIAL
;
; THIS MATERIAL IS THE PROPERTY OF DALE A. EICHBAUER,
; 692 E. FREELAND ROAD, MERRILL, MICHIGAN, 48637. PERMISSION
; TO COPY & USE IS GRANTED FOR NON-PROFIT USES ONLY.
;
;
;
SEARCH SYS
SEARCH SYSSYM
AUTOEXTERN
OBJNAM TIME.SBR
DEFINE XY A,B
MOV #^D<A_8.+B>,D1
TCRT
ENDM
VMAJOR=1.
VMINOR=0.
VSUB=0.
VEDIT=100.
VWHO=1.
; OFFSETS FROM A3 FOR PARAMETERS PASSED FROM BASIC
PARMS=0
TYPE.1=2
ADD.1=4
SIZE.1=10
; OFFSETS FROM A4 FOR TEMPORARY STORAGE
DEV.W = 0 ; STORAGE FOR DEVICE NAME PACKED RAD50
DRV.W = 2 ; STORAGE FOR DRIVE #
PPN.W = 4 ; STORAGE FOR PPN
PHDR -1,PV$RPD,PH$REE!PH$REU
BR START
ASCII / COPYRIGHT (C) 1984, 1985 DALE A. EICHBAUER /
EVEN
START:
CLRW PPN.W(A4)
CLRW DEV.W(A4)
CLRW DRV.W(A4)
JOBIDX A6 ; POINT TO JOB'S JOB TABLE ENTRY
ANDW #^C<J.HEX>,JOBTYP(A6) ; SET JOB TO OCTAL
MOVW JOBUSR(A6),PPN.W(A4) ; GET THE CURRENT PPN
MOVW JOBDEV(A6),DEV.W(A4) ; AND THE CURRENT DEVICE NAME (RAD50)
MOVW JOBDRV(A6),DRV.W(A4) ; AND THE CURRENT DRIVE #
MOVW #[DSK],JOBDEV(A6) ; LOG TO DSK:
MOVW #0,JOBDRV(A6) ; AND DISK 0
MOVW #402,JOBUSR(A6) ; NOW WE'RE IN OPR:
MOV ADD.1(A3),A2 ; POINT A2 TO THE INPUT STRING
MOV #1,D5 ; PREVENT DATE SCANNING OF STRING
CALL $IDTIM ; GET THE TIME INPUT IN
; SEPARATED FORMAT
BNE ERROR ; IF BAD VALUE, BRANCH
STIMES D4 ; TRY TO SET THE TIME
BNE ERROR ; IF UNSUCESSFUL, DO ERROR ROUTINE
RELOG: JOBIDX A6 ; POINT TO JOB'S JOB TABLE ENTRY AGAIN
MOVW DEV.W(A4),JOBDEV(A6) ; SET THE FORMER DEVICE
MOVW DRV.W(A4),JOBDRV(A6) ; AND THE DRIVE #
MOVW PPN.W(A4),JOBUSR(A6) ; AND FINALLY THE PPN
RTN ; & BACK TO BASIC
ERROR: XY 24,1
XY -1,9
XY -2,4 ; MAKE CURSOR RED FOR COLOR TERMINALS
TYPE <INVALID TIME REQUEST>
SLEEP #30000.
BR RELOG
ASCII / COPYRIGHT (C) 1984, 1985 DALE A. EICHBAUER /
EVEN