20 REM"„Program name "PATTERN" 30 REM"„Written by M.L.W. 4/6/1988 40 REM"„Article by Keith Devlin 50 REM"„Computer Guardian 2/6/1988 60 REM"„Sent to 8BIT SOFTWARE 16/2/94 70 REM"…Fiddled with by CJR 21.2.94 71 REM"ƒFurther fiddling and 72 REM"ƒMachine Coding by B.RAW 10/95 73 : 74 REM"Build table 80 FOR I%=0 TO 90 90 READ D%:!(&900+(I%*4))=D% 100 NEXT 102 : 103 REM"init 110 *LOAD"BCOD" 2800 120 *FX225,129 130 *FX4,1 140 MODE0 150 VDU23;8202;0;0;0; 160 N=TIME MOD 90:D=1 162 : 170 ONERROR 180 VDU19,0,0,0,0,0,19,1,7,0,0,0 190 PRINT'"Change the D and N values using ZXCV." 200 PRINT"Dump the screen (When finished) by pressing D." 210 PRINT"Pressing any other key cancels dump." 220 PRINT'"ESCAPE to return here."' 222 PRINTB%,C%' 230 INPUT"Val 1? 1-359 RETURN=no change. "D%:IF D%>0 IF D%<360 D=D% 240 INPUT"Val 2? 1-359 RETURN=no change. "N%:IF N%>0 IF N%<360 N=N% 250 VDU 29,640;512; 260 MOVE 0,0 262 : 270 REPEAT 280 REPEAT 290 C%=N:B%=D 300 D%=0 310 CLS 320 IF S% PRINTTAB(0,0);STR$D;" Z-Down X-Up"'STR$N;" C-Down V-Up" 330 *FX21 340 COLOUR 1 360 VDU 19,1,RND(6),0,0,0 370 VDU 19,0,7,0,0,0 380 CALL &2800 390 Z%=INKEY200 400 IF Z%<>-1 PROCinput 420 IF D% PROCsave 440 IF Z%=-1 D=D+1 450 UNTILD=90 460 D=1 470 IF Z%=-1 OR Z%=68 N=N+1 480 UNTILN=90 490 END 500 : 510 DEFPROCinput 512 REM"Keys >90 large/small toggle 520 IFZ%>90 AND ?&29A0=17 THEN ?&29A0=18:ENDPROC 530 IFZ%>90 AND ?&29A0=18 THEN ?&29A0=17:ENDPROC 532 REM"Spacebar pause 540 IFZ%=32 THEN PRINTTAB(0,0)"Pause "'" ":REPEAT:Z%=INKEY10:UNTILZ%<>-1 542 REM"S show values on/off toggle 550 IFZ%=83 S%=S% EOR 1 552 REM"D screen save to disc 560 IFZ%=68 D%=1 ELSE D%=0 562 REM"ZXCV change values 570 IFZ%=90 IF D>1 D=D-1 580 IFZ%=88 IF D<89 D=D+1 590 IFZ%=67 IF N>1 N=N-1 600 IFZ%=86 IF N<89 N=N+1 610 IF Z%<>68 A=360 620 ENDPROC 630 : 640 DEFPROCsave 651 PRINTTAB(0,0);" "'" " 652 OSCLI("SAVE SCR"+STR$(V%)+" 3000 8000") 654 OSCLI("ACCESS * L") 656 V%=V%+1 660 ENDPROC 670 : 672 REM"SIN(0-90)*2^13 680 DATA0,142,285,428,571 690 DATA713,856,998,1139 700 DATA1281,1422,1562,1702 710 DATA1842,1981,2119,2257 720 DATA2394,2531,2666,2801 730 DATA2935,3068,3200,3331 740 DATA3461,3590,3718,3845 750 DATA3970,4095,4218,4340 760 DATA4460,4580,4697,4814 770 DATA4929,5042,5154,5264 780 DATA5373,5480,5586,5689 790 DATA5791,5891,5990,6086 800 DATA6181,6274,6365,6454 810 DATA6541,6626,6709,6790 820 DATA6869,6946,7021,7093 830 DATA7164,7232,7298,7362 840 DATA7423,7483,7540,7594 850 DATA7647,7697,7745,7790 860 DATA7833,7874,7912,7948 870 DATA7981,8012,8041,8067 880 DATA8090,8111,8130,8146 890 DATA8160,8171,8180,8186 900 DATA8190,8192