Home » Personal collection » Acorn tapes » Commercial_Releases » boxed_acornsoft_tape13a_acorn_bbc_welcome_cassette.wav » PATTERNS
PATTERNS
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Personal collection » Acorn tapes » Commercial_Releases » boxed_acornsoft_tape13a_acorn_bbc_welcome_cassette.wav |
Filename: | PATTERNS |
Read OK: | ✔ |
File size: | 07A2 bytes |
Load address: | FFFF0E00 |
Exec address: | FFFF8000 |
File contents
10 REM Pattern Generator 13 REM Version 1.0 40 ON ERROR GOTO50 50 MODE7:IFM%=0 THEN PRINTTAB(5,16)"Press the STOP button"'TAB(5)"on your tape recorder.":PROCSPACE 80 ON ERROR GOTO 900 100 CLS:PROCSTART:PROCKEYSETUP 200 REPEAT 210 REPEAT S1%=GET-&80:UNTIL (S1%>0)AND(S1%<11) 220 REPEAT S2%=GET-&80:UNTIL (S2%>0)AND(S2%<11) 300 MODE5:C1%=RND(6):C2%=C1%MOD6+1:C3%=C2%MOD6+1:C4%=C3%MOD6+1 310 VDU19,0,C1%;0;19,1,C2%;0;19,2,C3%;0;19,3,C4%;0;5 320 Z%=5:C%=1:GCOL128,0:CLG 330 REPEATAC%=RND(5)-1:UNTILAC%<>2 400 FORY%=0TO1023STEP4*S1% 410 C%=C%MOD3+1:GCOLAC%,C% 420 MOVE0,0:PLOTZ%,1278,Y% 430 MOVE1278,0:PLOTZ%,0,Y%:NEXT 500 FORX%=0TO1272STEP8*S2% 510 MOVE0,0:PLOTZ%,(1278-X%),1020 520 MOVE1278,0:PLOTZ%,X%,1020:NEXT 530 UNTILFALSE 900 MODE7 910 PRINTTAB(5,9); 920 PRINT"Do you want to go on to" 930 PRINT" the next program (Y/N)? "; 940 PROCYESORNO:IF Y%<0 THEN 910 950 IF Y%=0 THEN 100 970 CLS:IF M%=0 THEN PRINTTAB(5,5);"Press the PLAY button"'" on your tape recorder" 990 CHAIN"" 6000 DEFPROCKEYSETUP 6010 DIMV%100:X%=V%:Y%=V%/256 6020 FOR K%=0 TO 9 6030 $V%="*KEY "+STR$(K%)+" ""|!|"+CHR$(K%+65)+"""":CALL&FFF7:NEXT 6099 ENDPROC 7000 DEFPROCSTART 7010 CLS:VDU23;8202;0;0;0; 7020 FOR I%=0 TO 1:PRINTTAB(15,8+I%);CHR$(&8D);"Pattern"; 7030 PRINTTAB(14,11+I%);CHR$(&8D);"Generator":NEXT:I%=INKEY(300) 7100 PROCSCREEN 7110 PRINT'" This program generates patterns"'" which are displayed using high-" 7120 PRINT" resolution graphics."'' 7130 PRINT" The program produces random"'" patterns which need to be triggered" 7140 PRINT" by pressing any two of the user-"'" definable keys."'' 7150 PROCSPACE 7200 PROCSCREEN 7210 PRINT'" Each time a pattern finishes,"'" press two of the user-definable" 7220 PRINT" keys in sequence to produce"'" another pattern, or press ESCAPE" 7230 PRINT" to go on to the next program." 7240 PROCSPACE 7300 PROCSCREEN 7310 PRINT" Start the pattern generation"'" now, by pressing two user-defined" 7320 PRINT" keys in sequence..." 7399 ENDPROC 7900 DEFPROCSCREEN 7910 CLS:FOR I%=1 TO 2 7920 PRINTTAB(10,I%);CHR$(&8D);"Pattern Generator":NEXT:PRINT' 7999 ENDPROC 8000 DEFPROCSPACE 8010 PRINTTAB(3,22);"Press the SPACE BAR to continue":REPEATUNTILGET$=" " 8099 ENDPROC 9200 DEFPROCYESORNO 9210 Y%=-1 9220 X%=GET:IF X%=13 AND Y%>=0 THENENDPROC 9230 X%=X%AND&DF:IFX%<>78ANDX%<>89THEN9220 9240 Y%=1:IFX%=78THENY%=0 9250 PRINTCHR$X%;CHR$8;:GOTO9220
� Pattern Generator � Version 1.0 ( � � �Tr@ 2Q �7:�M%=0 � �5,16)"Press the STOP button"'�5)"on your tape recorder.":�SPACE P � � � �tDC d �:�START:�KEYSETUP � � �# � S1%=�-&80:� (S1%>0)�(S1%<11) �# � S2%=�-&80:� (S2%>0)�(S2%<11) ,4 �5:C1%=�(6):C2%=C1%�6+1:C3%=C2%�6+1:C4%=C3%�6+1 63 �19,0,C1%;0;19,1,C2%;0;19,2,C3%;0;19,3,C4%;0;5 @ Z%=5:C%=1:�128,0:� J �AC%=�(5)-1:�AC%<>2 � �Y%=0�1023�4*S1% � C%=C%�3+1:�AC%,C% � �0,0:�Z%,1278,Y% � �1278,0:�Z%,0,Y%:� � �X%=0�1272�8*S2% � �0,0:�Z%,(1278-X%),1020 �1278,0:�Z%,X%,1020:� �� � �7 � �5,9); � �"Do you want to go on to" �& �" the next program (Y/N)? "; � �YESORNO:� Y%<0 � �tNC � � Y%=0 � �Dd@ �K �:� M%=0 � �5,5);"Press the PLAY button"'" on your tape recorder" � �"" p ��KEYSETUP z �V%100:X%=V%:Y%=V%/256 � � K%=0 � 9 �6 $V%="*KEY "+�(K%)+" ""|!|"+�(K%+65)+"""":�&FFF7:� � � X ��START b �:�23;8202;0;0;0; l, � I%=0 � 1:�15,8+I%);�(&8D);"Pattern"; v/ �14,11+I%);�(&8D);"Generator":�:I%=�(300) � �SCREEN �V �'" This program generates patterns"'" which are displayed using high-" �! �" resolution graphics."'' �V �" The program produces random"'" patterns which need to be triggered" �D �" by pressing any two of the user-"'" definable keys."'' � �SPACE �SCREEN *Q �'" Each time a pattern finishes,"'" press two of the user-definable" 4L �" keys in sequence to produce"'" another pattern, or press ESCAPE" >( �" to go on to the next program." H �SPACE � �SCREEN �Q �" Start the pattern generation"'" now, by pressing two user-defined" � �" keys in sequence..." � � � ��SCREEN � �:� I%=1 � 2 �- �10,I%);�(&8D);"Pattern Generator":�:�' ? � @ ��SPACE J6 �3,22);"Press the SPACE BAR to continue":���=" " � � #� ��YESORNO #� Y%=-1 $ X%=�:� X%=13 � Y%>=0 �� $" X%=X%�&DF:�X%<>78�X%<>89��TDd $ Y%=1:�X%=78�Y%=0 $" �X%;�8;:�TDd �
00000000 0d 00 0a 18 20 f4 20 50 61 74 74 65 72 6e 20 47 |.... . Pattern G| 00000010 65 6e 65 72 61 74 6f 72 0d 00 0d 12 20 f4 20 56 |enerator.... . V| 00000020 65 72 73 69 6f 6e 20 31 2e 30 0d 00 28 0e 20 ee |ersion 1.0..(. .| 00000030 20 85 20 e5 8d 54 72 40 0d 00 32 51 20 eb 37 3a | . ..Tr@..2Q .7:| 00000040 e7 4d 25 3d 30 20 8c 20 f1 8a 35 2c 31 36 29 22 |.M%=0 . ..5,16)"| 00000050 50 72 65 73 73 20 74 68 65 20 53 54 4f 50 20 62 |Press the STOP b| 00000060 75 74 74 6f 6e 22 27 8a 35 29 22 6f 6e 20 79 6f |utton"'.5)"on yo| 00000070 75 72 20 74 61 70 65 20 72 65 63 6f 72 64 65 72 |ur tape recorder| 00000080 2e 22 3a f2 53 50 41 43 45 0d 00 50 0f 20 ee 20 |.":.SPACE..P. . | 00000090 85 20 e5 20 8d 74 44 43 0d 00 64 17 20 db 3a f2 |. . .tDC..d. .:.| 000000a0 53 54 41 52 54 3a f2 4b 45 59 53 45 54 55 50 0d |START:.KEYSETUP.| 000000b0 00 c8 06 20 f5 0d 00 d2 23 20 f5 20 53 31 25 3d |... ....# . S1%=| 000000c0 a5 2d 26 38 30 3a fd 20 28 53 31 25 3e 30 29 80 |.-&80:. (S1%>0).| 000000d0 28 53 31 25 3c 31 31 29 0d 00 dc 23 20 f5 20 53 |(S1%<11)...# . S| 000000e0 32 25 3d a5 2d 26 38 30 3a fd 20 28 53 32 25 3e |2%=.-&80:. (S2%>| 000000f0 30 29 80 28 53 32 25 3c 31 31 29 0d 01 2c 34 20 |0).(S2%<11)..,4 | 00000100 eb 35 3a 43 31 25 3d b3 28 36 29 3a 43 32 25 3d |.5:C1%=.(6):C2%=| 00000110 43 31 25 83 36 2b 31 3a 43 33 25 3d 43 32 25 83 |C1%.6+1:C3%=C2%.| 00000120 36 2b 31 3a 43 34 25 3d 43 33 25 83 36 2b 31 0d |6+1:C4%=C3%.6+1.| 00000130 01 36 33 20 ef 31 39 2c 30 2c 43 31 25 3b 30 3b |.63 .19,0,C1%;0;| 00000140 31 39 2c 31 2c 43 32 25 3b 30 3b 31 39 2c 32 2c |19,1,C2%;0;19,2,| 00000150 43 33 25 3b 30 3b 31 39 2c 33 2c 43 34 25 3b 30 |C3%;0;19,3,C4%;0| 00000160 3b 35 0d 01 40 17 20 5a 25 3d 35 3a 43 25 3d 31 |;5..@. Z%=5:C%=1| 00000170 3a e6 31 32 38 2c 30 3a da 0d 01 4a 18 20 f5 41 |:.128,0:...J. .A| 00000180 43 25 3d b3 28 35 29 2d 31 3a fd 41 43 25 3c 3e |C%=.(5)-1:.AC%<>| 00000190 32 0d 01 90 15 20 e3 59 25 3d 30 b8 31 30 32 33 |2.... .Y%=0.1023| 000001a0 88 34 2a 53 31 25 0d 01 9a 16 20 43 25 3d 43 25 |.4*S1%.... C%=C%| 000001b0 83 33 2b 31 3a e6 41 43 25 2c 43 25 0d 01 a4 15 |.3+1:.AC%,C%....| 000001c0 20 ec 30 2c 30 3a f0 5a 25 2c 31 32 37 38 2c 59 | .0,0:.Z%,1278,Y| 000001d0 25 0d 01 ae 17 20 ec 31 32 37 38 2c 30 3a f0 5a |%.... .1278,0:.Z| 000001e0 25 2c 30 2c 59 25 3a ed 0d 01 f4 15 20 e3 58 25 |%,0,Y%:..... .X%| 000001f0 3d 30 b8 31 32 37 32 88 38 2a 53 32 25 0d 01 fe |=0.1272.8*S2%...| 00000200 1c 20 ec 30 2c 30 3a f0 5a 25 2c 28 31 32 37 38 |. .0,0:.Z%,(1278| 00000210 2d 58 25 29 2c 31 30 32 30 0d 02 08 1a 20 ec 31 |-X%),1020.... .1| 00000220 32 37 38 2c 30 3a f0 5a 25 2c 58 25 2c 31 30 32 |278,0:.Z%,X%,102| 00000230 30 3a ed 0d 02 12 07 20 fd a3 0d 03 84 07 20 eb |0:..... ...... .| 00000240 37 0d 03 8e 0c 20 f1 8a 35 2c 39 29 3b 0d 03 98 |7.... ..5,9);...| 00000250 1f 20 f1 22 44 6f 20 79 6f 75 20 77 61 6e 74 20 |. ."Do you want | 00000260 74 6f 20 67 6f 20 6f 6e 20 74 6f 22 0d 03 a2 26 |to go on to"...&| 00000270 20 f1 22 20 20 20 20 20 74 68 65 20 6e 65 78 74 | ." the next| 00000280 20 70 72 6f 67 72 61 6d 20 28 59 2f 4e 29 3f 20 | program (Y/N)? | 00000290 22 3b 0d 03 ac 1b 20 f2 59 45 53 4f 52 4e 4f 3a |";.... .YESORNO:| 000002a0 e7 20 59 25 3c 30 20 8c 20 8d 74 4e 43 0d 03 b6 |. Y%<0 . .tNC...| 000002b0 12 20 e7 20 59 25 3d 30 20 8c 20 8d 44 64 40 0d |. . Y%=0 . .Dd@.| 000002c0 03 ca 4b 20 db 3a e7 20 4d 25 3d 30 20 8c 20 f1 |..K .:. M%=0 . .| 000002d0 8a 35 2c 35 29 3b 22 50 72 65 73 73 20 74 68 65 |.5,5);"Press the| 000002e0 20 50 4c 41 59 20 62 75 74 74 6f 6e 22 27 22 20 | PLAY button"'" | 000002f0 20 20 20 20 6f 6e 20 79 6f 75 72 20 74 61 70 65 | on your tape| 00000300 20 72 65 63 6f 72 64 65 72 22 0d 03 de 08 20 d7 | recorder".... .| 00000310 22 22 0d 17 70 0f 20 dd f2 4b 45 59 53 45 54 55 |""..p. ..KEYSETU| 00000320 50 0d 17 7a 1b 20 de 56 25 31 30 30 3a 58 25 3d |P..z. .V%100:X%=| 00000330 56 25 3a 59 25 3d 56 25 2f 32 35 36 0d 17 84 0f |V%:Y%=V%/256....| 00000340 20 e3 20 4b 25 3d 30 20 b8 20 39 0d 17 8e 36 20 | . K%=0 . 9...6 | 00000350 24 56 25 3d 22 2a 4b 45 59 20 22 2b c3 28 4b 25 |$V%="*KEY "+.(K%| 00000360 29 2b 22 20 22 22 7c 21 7c 22 2b bd 28 4b 25 2b |)+" ""|!|"+.(K%+| 00000370 36 35 29 2b 22 22 22 22 3a d6 26 46 46 46 37 3a |65)+"""":.&FFF7:| 00000380 ed 0d 17 d3 06 20 e1 0d 1b 58 0c 20 dd f2 53 54 |..... ...X. ..ST| 00000390 41 52 54 0d 1b 62 16 20 db 3a ef 32 33 3b 38 32 |ART..b. .:.23;82| 000003a0 30 32 3b 30 3b 30 3b 30 3b 0d 1b 6c 2c 20 e3 20 |02;0;0;0;..l, . | 000003b0 49 25 3d 30 20 b8 20 31 3a f1 8a 31 35 2c 38 2b |I%=0 . 1:..15,8+| 000003c0 49 25 29 3b bd 28 26 38 44 29 3b 22 50 61 74 74 |I%);.(&8D);"Patt| 000003d0 65 72 6e 22 3b 0d 1b 76 2f 20 f1 8a 31 34 2c 31 |ern";..v/ ..14,1| 000003e0 31 2b 49 25 29 3b bd 28 26 38 44 29 3b 22 47 65 |1+I%);.(&8D);"Ge| 000003f0 6e 65 72 61 74 6f 72 22 3a ed 3a 49 25 3d a6 28 |nerator":.:I%=.(| 00000400 33 30 30 29 0d 1b bc 0c 20 f2 53 43 52 45 45 4e |300).... .SCREEN| 00000410 0d 1b c6 56 20 f1 27 22 20 20 20 20 20 20 54 68 |...V .'" Th| 00000420 69 73 20 70 72 6f 67 72 61 6d 20 67 65 6e 65 72 |is program gener| 00000430 61 74 65 73 20 70 61 74 74 65 72 6e 73 22 27 22 |ates patterns"'"| 00000440 20 20 20 77 68 69 63 68 20 20 61 72 65 20 20 64 | which are d| 00000450 69 73 70 6c 61 79 65 64 20 20 75 73 69 6e 67 20 |isplayed using | 00000460 68 69 67 68 2d 22 0d 1b d0 21 20 f1 22 20 20 20 |high-"...! ." | 00000470 72 65 73 6f 6c 75 74 69 6f 6e 20 67 72 61 70 68 |resolution graph| 00000480 69 63 73 2e 22 27 27 0d 1b da 56 20 f1 22 20 20 |ics."''...V ." | 00000490 20 20 20 20 54 68 65 20 20 70 72 6f 67 72 61 6d | The program| 000004a0 20 20 70 72 6f 64 75 63 65 73 20 20 20 72 61 6e | produces ran| 000004b0 64 6f 6d 22 27 22 20 20 20 70 61 74 74 65 72 6e |dom"'" pattern| 000004c0 73 20 77 68 69 63 68 20 6e 65 65 64 20 74 6f 20 |s which need to | 000004d0 62 65 20 74 72 69 67 67 65 72 65 64 22 0d 1b e4 |be triggered"...| 000004e0 44 20 f1 22 20 20 20 62 79 20 70 72 65 73 73 69 |D ." by pressi| 000004f0 6e 67 20 61 6e 79 20 20 74 77 6f 20 20 6f 66 20 |ng any two of | 00000500 74 68 65 20 75 73 65 72 2d 22 27 22 20 20 20 64 |the user-"'" d| 00000510 65 66 69 6e 61 62 6c 65 20 6b 65 79 73 2e 22 27 |efinable keys."'| 00000520 27 0d 1b ee 0b 20 f2 53 50 41 43 45 0d 1c 20 0c |'.... .SPACE.. .| 00000530 20 f2 53 43 52 45 45 4e 0d 1c 2a 51 20 f1 27 22 | .SCREEN..*Q .'"| 00000540 20 20 20 20 20 20 45 61 63 68 20 74 69 6d 65 20 | Each time | 00000550 61 20 70 61 74 74 65 72 6e 20 66 69 6e 69 73 68 |a pattern finish| 00000560 65 73 2c 22 27 22 20 20 20 70 72 65 73 73 20 74 |es,"'" press t| 00000570 77 6f 20 6f 66 20 74 68 65 20 75 73 65 72 2d 64 |wo of the user-d| 00000580 65 66 69 6e 61 62 6c 65 22 0d 1c 34 4c 20 f1 22 |efinable"..4L ."| 00000590 20 20 20 6b 65 79 73 20 69 6e 20 73 65 71 75 65 | keys in seque| 000005a0 6e 63 65 20 74 6f 20 70 72 6f 64 75 63 65 22 27 |nce to produce"'| 000005b0 22 20 20 20 61 6e 6f 74 68 65 72 20 70 61 74 74 |" another patt| 000005c0 65 72 6e 2c 20 6f 72 20 70 72 65 73 73 20 45 53 |ern, or press ES| 000005d0 43 41 50 45 22 0d 1c 3e 28 20 f1 22 20 20 20 74 |CAPE"..>( ." t| 000005e0 6f 20 67 6f 20 6f 6e 20 74 6f 20 74 68 65 20 6e |o go on to the n| 000005f0 65 78 74 20 70 72 6f 67 72 61 6d 2e 22 0d 1c 48 |ext program."..H| 00000600 0b 20 f2 53 50 41 43 45 0d 1c 84 0c 20 f2 53 43 |. .SPACE.... .SC| 00000610 52 45 45 4e 0d 1c 8e 51 20 f1 22 20 20 20 20 20 |REEN...Q ." | 00000620 20 53 74 61 72 74 20 74 68 65 20 70 61 74 74 65 | Start the patte| 00000630 72 6e 20 67 65 6e 65 72 61 74 69 6f 6e 22 27 22 |rn generation"'"| 00000640 20 20 20 6e 6f 77 2c 20 62 79 20 70 72 65 73 73 | now, by press| 00000650 69 6e 67 20 74 77 6f 20 75 73 65 72 2d 64 65 66 |ing two user-def| 00000660 69 6e 65 64 22 0d 1c 98 1e 20 f1 22 20 20 20 6b |ined".... ." k| 00000670 65 79 73 20 69 6e 20 73 65 71 75 65 6e 63 65 2e |eys in sequence.| 00000680 2e 2e 22 0d 1c e7 06 20 e1 0d 1e dc 0d 20 dd f2 |..".... ..... ..| 00000690 53 43 52 45 45 4e 0d 1e e6 11 20 db 3a e3 20 49 |SCREEN.... .:. I| 000006a0 25 3d 31 20 b8 20 32 0d 1e f0 2d 20 f1 8a 31 30 |%=1 . 2...- ..10| 000006b0 2c 49 25 29 3b bd 28 26 38 44 29 3b 22 50 61 74 |,I%);.(&8D);"Pat| 000006c0 74 65 72 6e 20 47 65 6e 65 72 61 74 6f 72 22 3a |tern Generator":| 000006d0 ed 3a f1 27 0d 1f 3f 06 20 e1 0d 1f 40 0c 20 dd |.:.'..?. ...@. .| 000006e0 f2 53 50 41 43 45 0d 1f 4a 36 20 f1 8a 33 2c 32 |.SPACE..J6 ..3,2| 000006f0 32 29 3b 22 50 72 65 73 73 20 74 68 65 20 53 50 |2);"Press the SP| 00000700 41 43 45 20 42 41 52 20 74 6f 20 63 6f 6e 74 69 |ACE BAR to conti| 00000710 6e 75 65 22 3a f5 fd be 3d 22 20 22 0d 1f a3 06 |nue":...=" "....| 00000720 20 e1 0d 23 f0 0e 20 dd f2 59 45 53 4f 52 4e 4f | ..#.. ..YESORNO| 00000730 0d 23 fa 0a 20 59 25 3d 2d 31 0d 24 04 1c 20 58 |.#.. Y%=-1.$.. X| 00000740 25 3d a5 3a e7 20 58 25 3d 31 33 20 80 20 59 25 |%=.:. X%=13 . Y%| 00000750 3e 3d 30 20 8c e1 0d 24 0e 22 20 58 25 3d 58 25 |>=0 ...$." X%=X%| 00000760 80 26 44 46 3a e7 58 25 3c 3e 37 38 80 58 25 3c |.&DF:.X%<>78.X%<| 00000770 3e 38 39 8c 8d 54 44 64 0d 24 18 15 20 59 25 3d |>89..TDd.$.. Y%=| 00000780 31 3a e7 58 25 3d 37 38 8c 59 25 3d 30 0d 24 22 |1:.X%=78.Y%=0.$"| 00000790 13 20 f1 bd 58 25 3b bd 38 3b 3a e5 8d 54 44 64 |. ..X%;.8;:..TDd| 000007a0 0d ff |..| 000007a2