100 REM ******TIME*PIECE****** 110 REM * * 120 REM * COPYRIGHT (C) 1987 * 130 REM * BY * 140 REM * JOHN M. CAMPBELL * 150 REM * * 155 REM * ALL RIGHTS RESERVED* 160 REM ********************** 170 AD=49152 : REM LOAD ADDRESS 180 P0=158 : REM ZERO PAGE ADDRESS PTR 190 AA=AD+22 200 PRINT "LOADING TIME*PIECE" 210 REM LOAD DISPLAY ROUTINE 220 READ D 230 IF D<0 THEN 270 240 POKE AA,D 250 AA=AA+1 260 GOTO 220 270 REM LOAD ZERO PAGE ADDRESS POINTER 280 A1=INT((AD+9)/256):POKE P0+1,A1 290 A0=(AD+9)-A1*256:POKE P0,A0 300 POKE AD+26,P0 : POKE AD+46,P0 310 POKE AD+57,P0 : POKE AD+69,P0 320 REM READ IRQ INTERRUPT VECTOR 330 POKE AD+84,PEEK(788) 340 POKE AD+85,PEEK(789) 350 REM LOAD VECTOR TO ML PROGRAM 360 FOR I=0 TO 12 370 READ D : POKE AD+I,D 380 NEXT I 390 V1=INT((AD+23)/256):POKE AD+7,V1 400 V0=(AD+23)-A1*256:POKE AD+2,V0 410 SYS AD : REM ACTIVATE VECTOR CHANGE 420 REM LOAD TOGGLE ROUTINE 430 AA=AD 440 READ D 450 IF D<0 THEN 490 460 POKE AA,D 470 AA=AA+1 480 GOTO 440 490 POKE AD+3,P0 : POKE AD+7,P0 500 PRINT "TIME*PIECE LOADED" 510 REM PROMPT FOR TIME 520 HR=0:MN=0:SC=0:H=0:M=0:S=0 530 INPUT "ENTER HOUR (1-12)";HR 540 IF (HR<0) OR (HR>12) THEN GOSUB 750:GOTO 530 550 IF HR>=10 THEN H=16:HR=HR-10 560 H=H+HR 570 POKE 56331,H 580 INPUT "ENTER MINUTE (0-59)";MN 590 IF (MN<0) OR (MN>59) THEN GOSUB 750:GOTO 580 600 MN$=STR$(MN) 610 IF MN>=10 THEN M=16*VAL(RIGHT$(LEFT$(MN$,2),1)) 620 M=M+VAL(RIGHT$(MN$,1)) 630 POKE 56330,M 640 INPUT "ENTER SECOND (0-59)";SC 650 IF (SC<0) OR (SC>59) THEN GOSUB 750:GOTO 640 660 SC$=STR$(SC) 670 IF SC>=10 THEN S=16*VAL(RIGHT$(LEFT$(SC$,2),1)) 680 S=S+VAL(RIGHT$(SC$,1)) 690 POKE 56329,S 700 POKE 56328,0 710 PRINT "ACTIVATING TIME*PIECE" 720 PRINT CHR$(18)"TYPE 'SYS"AD;CHR$(20)"' TO ENABLE/DISABLE CLOCK" 730 SYS AD 740 END 750 REM ERROR MESSAGE 760 PRINT "INCORRECT INPUT - REDO FROM START" 770 RETURN 780 DATA 0,160, 13,177,158,240 790 DATA 54,160, 5,162, 2,189, 9 800 DATA 220, 74, 74, 74, 74, 41, 7 810 DATA 24,105, 48,145,158,200,189 820 DATA 9,220, 41, 15, 24,105, 48 830 DATA 145,158,200,200,202, 16,226 840 DATA 173, 8,220,160, 12,177,158 850 DATA 9,128,153, 27, 4,169, 1 860 DATA 153, 27,216,136, 16,241 870 DATA 76, 0, 0, -1 880 REM VECTOR ROUTINE 890 DATA 120,169, 0,141, 20, 3 900 DATA 169, 0,141, 21, 3, 88, 96 910 REM TOGGLE ROUTINE 920 DATA 160, 13,177,158, 73, 1,145 930 DATA 158, 96, 20, 9, 13, 5, 32 940 DATA 48, 48, 58, 48, 48, 58, 48 950 DATA 48, -1