1 REM BASICODE 2 ROUTINES DOOR HENK WEVERS 2 REM NADERE INLICHTINGEN BASICODE 3 REM NOS, HOBBYSCOOP HILVERSUM 5 PRINT CHR$(26);:WIDTH(255) 10 GOTO 1000 20 GOTO 1010 100 PRINT CHR$(26);:RETURN 110 REM 111 IF HO>51 THEN HO=51 112 IF VE>23 THEN VE=23 113 PRINT CHR$(27);"=";CHR$(VE+32);CHR$(HO+32); 115 RETURN 120 HO=PEEK(&HEF5A):VE=PEEK(&HEF5B)-&HF0 121 VE=VE*2 122 IF HO>127 THEN HO=HO-128:VE=VE+1 123 VE=VE-PEEK(&HEF62):IF VE<0 THEN VE=32+VE 124 RETURN 200 IN$=INKEY$:RETURN 210 GOSUB 200:IF IN$="" THEN 210 211 RETURN 250 PRINT CHR$(7);:RETURN 260 RV=RND(1):RETURN 270 FR=FRE(2):RETURN 300 SR$=STR$(SR) 301 Q7=LEN(SR$):IF Q7=0 THEN RETURN 302 IF RIGHT$(SR$,1)<>" " THEN 304 303 SR$=LEFT$(SR$,Q7-1):GOTO 301 304 IF LEFT$(SR$,1)<>" " THEN RETURN 305 SR$=RIGHT$(SR$,Q7-1):GOTO 301 310 Q4=SR:IF CN<>0 THEN 316 312 SR=INT(SR+.5):GOSUB 300:GOTO 330 316 Q5=SGN(SR):SR=ABS(SR):Q8=INT(SR):Q9=SR-Q8 318 FOR Q6=1 TO CN:Q9=Q9*10:NEXT Q6 320 Q9=INT(Q9+.5):SR=Q9:GOSUB 300 322 Q9$=RIGHT$("00000000000000000000"+SR$,CN) 324 IF Q8=0 AND Q9=0 THEN Q5=1 326 SR=Q8:GOSUB 300:IF Q5=-1 THEN SR$="-"+SR$ 328 SR$=SR$+"."+Q9$ 330 IF LEN(SR$)<=CT THEN 334 332 SR$=LEFT$("********************",CT):GOTO 340 334 SR$=RIGHT$(" "+SR$,CT) 340 SR=Q4:RETURN 350 LPRINT SR$;:RETURN 360 LPRINT:RETURN 1000 A=7000:GOTO 20 1010 GOSUB 100 1020 DIM A$(6),B$(9,6),CR$(7),JJ(9) 1030 FOR I=1 TO 6:READ A$(I):NEXT I 1040 FOR I=0 TO 7:READ CR$(I):NEXT I 1050 FOR I=1 TO 9:READ JJ(I):NEXT I 1060 PRINT:PRINT:PRINT 1070 PRINT"Het volgende programma is afkomstig van" 1080 PRINT:PRINT"een D A I personal computer" 1090 PRINT:PRINT"Dit programma is bedoeld als demo-" 1110 PRINT:PRINT"programma voor - NOS BASICODE - " 1120 PRINT:PRINT" D I G I T A L E K L O K" 1130 PRINT:PRINT"BASIC,HARD-& SOFTWARE KORTOM ALLE WARE:" 1140 PRINT" TH.V.LIESHOUT" 1150 PRINT" POSTGALEI 5" 1160 PRINT" 1687 VP WOGNUM (N.H.)" 1170 FOR I=1 TO 2000:GOSUB 200 1180 IF IN$<>""THEN GOTO 1200 1190 NEXT I 1200 GOSUB 100 1210 PRINT"Tijdvertraging proefondervindelijk vast" 1220 PRINT:PRINT"te stellen." 1230 PRINT 1240 PRINT"Tijdvertraging (0-5000)";:INPUT T:PRINT:PRINT 1260 PRINT"Aantal seconden per stap (4-60) ";:INPUT C:PRINT 1270 PRINT 1280 E$=" " 1290 PRINT"TIJD (Uren,Minuten,Seconden )";:INPUT U,M,S:PRINT 1300 GOSUB 100 2000 N=INT(U/10):J=1:IF N=0 THEN 2020 2010 GOSUB 4000 2020 N=U-N*10:J=2:GOSUB 4000 2030 N=INT(M/10):J=3:GOSUB 4000 2040 N=M-N*10:J=4:GOSUB 4000 2050 N=INT(S/10):J=5:GOSUB 4000 2060 N=S-N*10:J=6:GOSUB 4000 2070 HO=0:VE=4:GOSUB 110 3000 FOR I=1 TO 9 3010 J=JJ(I):K=I:IF I>5 THEN K=6 3020 PRINT E$;B$(J,1);E$;B$(J,2);E$;E$;B$(J,3); 3030 PRINT E$;B$(J,4);E$;E$;B$(K,5);E$;B$(K,6) 3040 NEXT I 3050 FOR I=1 TO T:NEXT I 3060 S=S+C:IF S<60 THEN 2000 3070 S=S-60:M=M+1:IF M<60 THEN 2000 3080 M=M-60:U=U+1:IF U<24 THEN 2000 3090 U=0 3100 FOR I=1 TO 9:B$(I,1)=" ":NEXT I:GOTO 2000 3110 : 4000 FOR I=1 TO 5 4010 B$(I,J)=CR$(VAL(MID$(A$(I),N+1,1))) 4020 NEXT I 4030 RETURN 4040 : 6000 DATA"7277574777","5211544155","5277777377" 6010 DATA"5241115151","7277177177","0000000000" 6020 DATA" "," X"," X "," XX" 6030 DATA"X ","X X","x","XXXXX" 6040 DATA 1,2,2,2,3,4,4,4,5 6050 : 7000 REM"auteur: TH.V.LIESHOUT" 7010 REM" POSTGALEI 5" 7020 REM" 1687 VP WOGNUM (N.H.)"