Home » Personal collection » Acorn tapes » Commercial_Releases » boxed_acornsoft_tape10b_acorn_introductory_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_tape10b_acorn_introductory_cassette.wav
Filename: PATTERNS
Read OK:
File size: 09A8 bytes
Load address: FFFF0E00
Exec address: FFFF8023
Duplicates

There is 1 duplicate copy of this file in the archive:

File contents
   10REM PATTERNS
   20REM Electron Introductory Cassette
   30REM Author T.D.
   40ONERRORRUN
   50IFM%=1234THEN60ELSEIFM%=5678THEN70ELSEMODE5:VDU19,3,4;0;:COLOUR2:PRINTTAB(0,5)"Does your cassette"''"recorder have motor"''"control (Y/N)?";:IF(GETAND&DF)=ASC"Y"THENM%=5678:GOTO70ELSEM%=1234
   60SOUND1,-15,121,60:MODE5:VDU19,3,4;0;:COLOUR1:PRINTTAB(8,9)"STOP";:COLOUR3:PRINTTAB(6,13)"the tape":COLOUR2:PRINTTAB(4,25)"Press SPACE"TAB(4,27)"to continue":REPEATUNTILGET=32:SOUND&11,0,0,0
   70ONERRORCLEAR:GOTO80
   80DIM MAP 255,BLOCK 8
   90osword=&FFF1
  100MODE4
  110PROCINITDBL
  120PROCSTART
  130ON ERROR GOTO310
  140REPEAT
  150S1%=FNKEY
  160S2%=FNKEY
  170MODE5:C1%=RND(6):C2%=C1%MOD6+1:C3%=C2%MOD6+1:C4%=C3%MOD6+1
  180VDU19,0,C1%;0;19,1,C2%;0;19,2,C3%;0;19,3,C4%;0;5
  190Z%=5:C%=1:CLG
  200REPEATAC%=RND(5)-1:UNTILAC%<>2
  210FORY%=0TO1023STEP4*S1%
  220C%=C%MOD7+1:GCOLAC%,C%
  230MOVE0,0:PLOTZ%,1278,Y%
  240MOVE1278,0:PLOTZ%,0,Y%:NEXT
  250FORX%=0TO642STEP8*S2%
  260MOVE0,0:PLOTZ%,(1278-X%),1020
  270MOVE1278,0:PLOTZ%,X%,1020:NEXT
  280UNTILFALSE
  290 
  300REM Error Handler
  310IFERR<>17 REPORT:PRINT" at line ";ERL:GOTO360
  320MODE4:PROCCEN("Do you want to go on to",12):PROCCEN("the next program (Y/N)? ",13)
  330PROCYN:IFY%<0 THEN 320
  340IF Y%=0 THEN CLEAR:GOTO80
  350PRINT'"Play tape"'
  360CHAIN""
  370 
  380DEFPROCSTART
  390CLS:PROCOFF
  400PROCDBL("Patterns",12):PRINTDBL$;
  410NOW=TIME:REPEATUNTILTIME-NOW>300
  420CLS:PROCDBL("Patterns",1)
  430PROCSCREEN
  440PRINT'"      This program generates patterns"'"   which  are  displayed  using high-"
  450PRINT"   resolution graphics."''
  460PRINT"      The  program  produces   random"'"   patterns which need to be triggered"
  470PRINT"   by pressing any two of the number"'"   keys."''
  480PROCSPACE
  490PROCSCREEN
  500PRINT'"      Each time a pattern finishes,"'"   press two  of the number keys in"
  510PRINT"   sequence   to  produce   another"'"   pattern, or  press ESCAPE to  go"
  520PRINT"   on to the next program."
  530PROCSPACE
  540PROCSCREEN
  550PRINT"      Start the pattern generation"'"   now,  by  pressing  two  number"
  560PRINT"   keys in sequence..."
  570ENDPROC
  580 
  590DEFPROCSPACE
  600PRINTTAB(3,29);"Press the SPACE BAR to continue":*FX15,1
  610REPEATUNTILGET$=" "
  620ENDPROC
  630 
  640DEFPROCSCREEN CLS:PRINTDBL$':ENDPROC
  650 
  660DEFPROCYN
  670Y%=-1
  680X%=GET
  690X%=X%AND&DF:IFX%<>78ANDX%<>89THEN680
  700Y%=1:IFX%=78THENY%=0
  710VDUX%,8:ENDPROC
  720 
  730DEFPROCOFF VDU23,1,0;0;0;0;:ENDPROC
  740 
  750DEFPROCCEN(A$,Y%)PRINTTAB(19-LENA$/2,Y%)A$;:ENDPROC
  760 
  770DEFFNKEY
  780REPEATKEY=GET:IF KEY>=ASC"!" AND KEY<=ASC")" KEY=KEY OR &10
  790UNTILKEY>=ASC"0" AND KEY<=ASC"9"
  800=(VALCHR$KEY+9)MOD10+1
  810 
  820DEFPROCINITDBL $MAP=STRING$(255,CHR$0):MAP?255=0:CHARPTR=224:ENDPROC
  830 
  840DEFPROCDBL(A$,y%)B$="":C$="":FORCH%=1TOLENA$:K%=FNCHAR(ASCMID$(A$,CH%,1)):B$=B$+CHR$K%:C$=C$+CHR$(K%+1):NEXT:K%=19-LENA$/2:DBL$=CHR$31+CHR$K%+CHR$y%+B$+CHR$31+CHR$K%+CHR$(y%+1)+C$:ENDPROC
  850 
  860DEFFNCHAR(C%)IFMAP?C%THEN=MAP?C%ELSEIFCHARPTR>=256STOP ELSEMAP?C%=CHARPTR:?BLOCK=C%:A%=10:X%=BLOCK:Y%=BLOCK DIV 256:CALLosword:FORJ%=0TO1:VDU23,CHARPTR+J%:FORI%=2TO9:VDUBLOCK?(J%*4+I%DIV2):NEXT,:CHARPTR=CHARPTR+2:=MAP?C%

� PATTERNS
$� Electron Introductory Cassette
� Author T.D.
(�
2��M%=1234��T|@��M%=5678��DF@��5:�19,3,4;0;:�2:�0,5)"Does your cassette"''"recorder have motor"''"control (Y/N)?";:�(��&DF)=�"Y"�M%=5678:�DF@�M%=1234
<��1,-15,121,60:�5:�19,3,4;0;:�1:�8,9)"STOP";:�3:�6,13)"the tape":�2:�4,25)"Press SPACE"�4,27)"to continue":���=32:�&11,0,0,0
F
��:�DP@
P� MAP 255,BLOCK 8
Zosword=&FFF1
d�4
n�INITDBL
x
�START
�
� � �TvA
��
�S1%=�KEY
�S2%=�KEY
�3�5:C1%=�(6):C2%=C1%�6+1:C3%=C2%�6+1:C4%=C3%�6+1
�2�19,0,C1%;0;19,1,C2%;0;19,2,C3%;0;19,3,C4%;0;5
�Z%=5:C%=1:�
��AC%=�(5)-1:�AC%<>2
��Y%=0�1023�4*S1%
�C%=C%�7+1:�AC%,C%
��0,0:�Z%,1278,Y%
��1278,0:�Z%,0,Y%:�
��X%=0�642�8*S2%
�0,0:�Z%,(1278-X%),1020
�1278,0:�Z%,X%,1020:�
��
" 
,� Error Handler
6!�<>17 �:�" at line ";�:�DhA
@M�4:�CEN("Do you want to go on to",12):�CEN("the next program (Y/N)? ",13)
J�YN:�Y%<0 � �D@A
T� Y%=0 � �:�DP@
^�'"Play tape"'
h�""
r 
|��START
�
�:�OFF
��DBL("Patterns",12):�DBL$;
�NOW=�:���-NOW>300
��:�DBL("Patterns",1)
��SCREEN
�U�'"      This program generates patterns"'"   which  are  displayed  using high-"
� �"   resolution graphics."''
�U�"      The  program  produces   random"'"   patterns which need to be triggered"
�8�"   by pressing any two of the number"'"   keys."''
�
�SPACE
��SCREEN
�Q�'"      Each time a pattern finishes,"'"   press two  of the number keys in"
�P�"   sequence   to  produce   another"'"   pattern, or  press ESCAPE to  go"
!�"   on to the next program."

�SPACE
�SCREEN
&N�"      Start the pattern generation"'"   now,  by  pressing  two  number"
0�"   keys in sequence..."
:�
D 
N��SPACE
X5�3,29);"Press the SPACE BAR to continue":*FX15,1
b���=" "
l�
v 
���SCREEN �:�DBL$':�
� 
���YN
�	Y%=-1
�X%=�
�!X%=X%�&DF:�X%<>78�X%<>89��thB
�Y%=1:�X%=78�Y%=0
��X%,8:�
� 
���OFF �23,1,0;0;0;0;:�
� 
�#��CEN(A$,Y%)�19-�A$/2,Y%)A$;:�
� 
	ݤKEY
0�KEY=�:� KEY>=�"!" � KEY<=�")" KEY=KEY � &10
�KEY>=�"0" � KEY<=�"9"
 =(��KEY+9)�10+1
* 
43��INITDBL $MAP=�255,�0):MAP?255=0:CHARPTR=224:�
> 
H���DBL(A$,y%)B$="":C$="":�CH%=1��A$:K%=�CHAR(��A$,CH%,1)):B$=B$+�K%:C$=C$+�(K%+1):�:K%=19-�A$/2:DBL$=�31+�K%+�y%+B$+�31+�K%+�(y%+1)+C$:�
R 
\�ݤCHAR(C%)�MAP?C%�=MAP?C%��CHARPTR>=256� �MAP?C%=CHARPTR:?BLOCK=C%:A%=10:X%=BLOCK:Y%=BLOCK � 256:�osword:�J%=0�1:�23,CHARPTR+J%:�I%=2�9:�BLOCK?(J%*4+I%�2):�,:CHARPTR=CHARPTR+2:=MAP?C%
�
00000000  0d 00 0a 0e f4 20 50 41  54 54 45 52 4e 53 0d 00  |..... PATTERNS..|
00000010  14 24 f4 20 45 6c 65 63  74 72 6f 6e 20 49 6e 74  |.$. Electron Int|
00000020  72 6f 64 75 63 74 6f 72  79 20 43 61 73 73 65 74  |roductory Casset|
00000030  74 65 0d 00 1e 11 f4 20  41 75 74 68 6f 72 20 54  |te..... Author T|
00000040  2e 44 2e 0d 00 28 07 ee  85 f9 0d 00 32 99 e7 4d  |.D...(......2..M|
00000050  25 3d 31 32 33 34 8c 8d  54 7c 40 8b e7 4d 25 3d  |%=1234..T|@..M%=|
00000060  35 36 37 38 8c 8d 44 46  40 8b eb 35 3a ef 31 39  |5678..DF@..5:.19|
00000070  2c 33 2c 34 3b 30 3b 3a  fb 32 3a f1 8a 30 2c 35  |,3,4;0;:.2:..0,5|
00000080  29 22 44 6f 65 73 20 79  6f 75 72 20 63 61 73 73  |)"Does your cass|
00000090  65 74 74 65 22 27 27 22  72 65 63 6f 72 64 65 72  |ette"''"recorder|
000000a0  20 68 61 76 65 20 6d 6f  74 6f 72 22 27 27 22 63  | have motor"''"c|
000000b0  6f 6e 74 72 6f 6c 20 28  59 2f 4e 29 3f 22 3b 3a  |ontrol (Y/N)?";:|
000000c0  e7 28 a5 80 26 44 46 29  3d 97 22 59 22 8c 4d 25  |.(..&DF)=."Y".M%|
000000d0  3d 35 36 37 38 3a e5 8d  44 46 40 8b 4d 25 3d 31  |=5678:..DF@.M%=1|
000000e0  32 33 34 0d 00 3c 82 d4  31 2c 2d 31 35 2c 31 32  |234..<..1,-15,12|
000000f0  31 2c 36 30 3a eb 35 3a  ef 31 39 2c 33 2c 34 3b  |1,60:.5:.19,3,4;|
00000100  30 3b 3a fb 31 3a f1 8a  38 2c 39 29 22 53 54 4f  |0;:.1:..8,9)"STO|
00000110  50 22 3b 3a fb 33 3a f1  8a 36 2c 31 33 29 22 74  |P";:.3:..6,13)"t|
00000120  68 65 20 74 61 70 65 22  3a fb 32 3a f1 8a 34 2c  |he tape":.2:..4,|
00000130  32 35 29 22 50 72 65 73  73 20 53 50 41 43 45 22  |25)"Press SPACE"|
00000140  8a 34 2c 32 37 29 22 74  6f 20 63 6f 6e 74 69 6e  |.4,27)"to contin|
00000150  75 65 22 3a f5 fd a5 3d  33 32 3a d4 26 31 31 2c  |ue":...=32:.&11,|
00000160  30 2c 30 2c 30 0d 00 46  0d ee 85 d8 3a e5 8d 44  |0,0,0..F....:..D|
00000170  50 40 0d 00 50 15 de 20  4d 41 50 20 32 35 35 2c  |P@..P.. MAP 255,|
00000180  42 4c 4f 43 4b 20 38 0d  00 5a 10 6f 73 77 6f 72  |BLOCK 8..Z.oswor|
00000190  64 3d 26 46 46 46 31 0d  00 64 06 eb 34 0d 00 6e  |d=&FFF1..d..4..n|
000001a0  0c f2 49 4e 49 54 44 42  4c 0d 00 78 0a f2 53 54  |..INITDBL..x..ST|
000001b0  41 52 54 0d 00 82 0d ee  20 85 20 e5 8d 54 76 41  |ART..... . ..TvA|
000001c0  0d 00 8c 05 f5 0d 00 96  0c 53 31 25 3d a4 4b 45  |.........S1%=.KE|
000001d0  59 0d 00 a0 0c 53 32 25  3d a4 4b 45 59 0d 00 aa  |Y....S2%=.KEY...|
000001e0  33 eb 35 3a 43 31 25 3d  b3 28 36 29 3a 43 32 25  |3.5:C1%=.(6):C2%|
000001f0  3d 43 31 25 83 36 2b 31  3a 43 33 25 3d 43 32 25  |=C1%.6+1:C3%=C2%|
00000200  83 36 2b 31 3a 43 34 25  3d 43 33 25 83 36 2b 31  |.6+1:C4%=C3%.6+1|
00000210  0d 00 b4 32 ef 31 39 2c  30 2c 43 31 25 3b 30 3b  |...2.19,0,C1%;0;|
00000220  31 39 2c 31 2c 43 32 25  3b 30 3b 31 39 2c 32 2c  |19,1,C2%;0;19,2,|
00000230  43 33 25 3b 30 3b 31 39  2c 33 2c 43 34 25 3b 30  |C3%;0;19,3,C4%;0|
00000240  3b 35 0d 00 be 0f 5a 25  3d 35 3a 43 25 3d 31 3a  |;5....Z%=5:C%=1:|
00000250  da 0d 00 c8 17 f5 41 43  25 3d b3 28 35 29 2d 31  |......AC%=.(5)-1|
00000260  3a fd 41 43 25 3c 3e 32  0d 00 d2 14 e3 59 25 3d  |:.AC%<>2.....Y%=|
00000270  30 b8 31 30 32 33 88 34  2a 53 31 25 0d 00 dc 15  |0.1023.4*S1%....|
00000280  43 25 3d 43 25 83 37 2b  31 3a e6 41 43 25 2c 43  |C%=C%.7+1:.AC%,C|
00000290  25 0d 00 e6 14 ec 30 2c  30 3a f0 5a 25 2c 31 32  |%.....0,0:.Z%,12|
000002a0  37 38 2c 59 25 0d 00 f0  16 ec 31 32 37 38 2c 30  |78,Y%.....1278,0|
000002b0  3a f0 5a 25 2c 30 2c 59  25 3a ed 0d 00 fa 13 e3  |:.Z%,0,Y%:......|
000002c0  58 25 3d 30 b8 36 34 32  88 38 2a 53 32 25 0d 01  |X%=0.642.8*S2%..|
000002d0  04 1b ec 30 2c 30 3a f0  5a 25 2c 28 31 32 37 38  |...0,0:.Z%,(1278|
000002e0  2d 58 25 29 2c 31 30 32  30 0d 01 0e 19 ec 31 32  |-X%),1020.....12|
000002f0  37 38 2c 30 3a f0 5a 25  2c 58 25 2c 31 30 32 30  |78,0:.Z%,X%,1020|
00000300  3a ed 0d 01 18 06 fd a3  0d 01 22 05 20 0d 01 2c  |:.........". ..,|
00000310  13 f4 20 45 72 72 6f 72  20 48 61 6e 64 6c 65 72  |.. Error Handler|
00000320  0d 01 36 21 e7 9f 3c 3e  31 37 20 f6 3a f1 22 20  |..6!..<>17 .:." |
00000330  61 74 20 6c 69 6e 65 20  22 3b 9e 3a e5 8d 44 68  |at line ";.:..Dh|
00000340  41 0d 01 40 4d eb 34 3a  f2 43 45 4e 28 22 44 6f  |A..@M.4:.CEN("Do|
00000350  20 79 6f 75 20 77 61 6e  74 20 74 6f 20 67 6f 20  | you want to go |
00000360  6f 6e 20 74 6f 22 2c 31  32 29 3a f2 43 45 4e 28  |on to",12):.CEN(|
00000370  22 74 68 65 20 6e 65 78  74 20 70 72 6f 67 72 61  |"the next progra|
00000380  6d 20 28 59 2f 4e 29 3f  20 22 2c 31 33 29 0d 01  |m (Y/N)? ",13)..|
00000390  4a 14 f2 59 4e 3a e7 59  25 3c 30 20 8c 20 8d 44  |J..YN:.Y%<0 . .D|
000003a0  40 41 0d 01 54 14 e7 20  59 25 3d 30 20 8c 20 d8  |@A..T.. Y%=0 . .|
000003b0  3a e5 8d 44 50 40 0d 01  5e 12 f1 27 22 50 6c 61  |:..DP@..^..'"Pla|
000003c0  79 20 74 61 70 65 22 27  0d 01 68 07 d7 22 22 0d  |y tape"'..h.."".|
000003d0  01 72 05 20 0d 01 7c 0b  dd f2 53 54 41 52 54 0d  |.r. ..|...START.|
000003e0  01 86 0a db 3a f2 4f 46  46 0d 01 90 1e f2 44 42  |....:.OFF.....DB|
000003f0  4c 28 22 50 61 74 74 65  72 6e 73 22 2c 31 32 29  |L("Patterns",12)|
00000400  3a f1 44 42 4c 24 3b 0d  01 9a 15 4e 4f 57 3d 91  |:.DBL$;....NOW=.|
00000410  3a f5 fd 91 2d 4e 4f 57  3e 33 30 30 0d 01 a4 18  |:...-NOW>300....|
00000420  db 3a f2 44 42 4c 28 22  50 61 74 74 65 72 6e 73  |.:.DBL("Patterns|
00000430  22 2c 31 29 0d 01 ae 0b  f2 53 43 52 45 45 4e 0d  |",1).....SCREEN.|
00000440  01 b8 55 f1 27 22 20 20  20 20 20 20 54 68 69 73  |..U.'"      This|
00000450  20 70 72 6f 67 72 61 6d  20 67 65 6e 65 72 61 74  | program generat|
00000460  65 73 20 70 61 74 74 65  72 6e 73 22 27 22 20 20  |es patterns"'"  |
00000470  20 77 68 69 63 68 20 20  61 72 65 20 20 64 69 73  | which  are  dis|
00000480  70 6c 61 79 65 64 20 20  75 73 69 6e 67 20 68 69  |played  using hi|
00000490  67 68 2d 22 0d 01 c2 20  f1 22 20 20 20 72 65 73  |gh-"... ."   res|
000004a0  6f 6c 75 74 69 6f 6e 20  67 72 61 70 68 69 63 73  |olution graphics|
000004b0  2e 22 27 27 0d 01 cc 55  f1 22 20 20 20 20 20 20  |."''...U."      |
000004c0  54 68 65 20 20 70 72 6f  67 72 61 6d 20 20 70 72  |The  program  pr|
000004d0  6f 64 75 63 65 73 20 20  20 72 61 6e 64 6f 6d 22  |oduces   random"|
000004e0  27 22 20 20 20 70 61 74  74 65 72 6e 73 20 77 68  |'"   patterns wh|
000004f0  69 63 68 20 6e 65 65 64  20 74 6f 20 62 65 20 74  |ich need to be t|
00000500  72 69 67 67 65 72 65 64  22 0d 01 d6 38 f1 22 20  |riggered"...8." |
00000510  20 20 62 79 20 70 72 65  73 73 69 6e 67 20 61 6e  |  by pressing an|
00000520  79 20 74 77 6f 20 6f 66  20 74 68 65 20 6e 75 6d  |y two of the num|
00000530  62 65 72 22 27 22 20 20  20 6b 65 79 73 2e 22 27  |ber"'"   keys."'|
00000540  27 0d 01 e0 0a f2 53 50  41 43 45 0d 01 ea 0b f2  |'.....SPACE.....|
00000550  53 43 52 45 45 4e 0d 01  f4 51 f1 27 22 20 20 20  |SCREEN...Q.'"   |
00000560  20 20 20 45 61 63 68 20  74 69 6d 65 20 61 20 70  |   Each time a p|
00000570  61 74 74 65 72 6e 20 66  69 6e 69 73 68 65 73 2c  |attern finishes,|
00000580  22 27 22 20 20 20 70 72  65 73 73 20 74 77 6f 20  |"'"   press two |
00000590  20 6f 66 20 74 68 65 20  6e 75 6d 62 65 72 20 6b  | of the number k|
000005a0  65 79 73 20 69 6e 22 0d  01 fe 50 f1 22 20 20 20  |eys in"...P."   |
000005b0  73 65 71 75 65 6e 63 65  20 20 20 74 6f 20 20 70  |sequence   to  p|
000005c0  72 6f 64 75 63 65 20 20  20 61 6e 6f 74 68 65 72  |roduce   another|
000005d0  22 27 22 20 20 20 70 61  74 74 65 72 6e 2c 20 6f  |"'"   pattern, o|
000005e0  72 20 20 70 72 65 73 73  20 45 53 43 41 50 45 20  |r  press ESCAPE |
000005f0  74 6f 20 20 67 6f 22 0d  02 08 21 f1 22 20 20 20  |to  go"...!."   |
00000600  6f 6e 20 74 6f 20 74 68  65 20 6e 65 78 74 20 70  |on to the next p|
00000610  72 6f 67 72 61 6d 2e 22  0d 02 12 0a f2 53 50 41  |rogram.".....SPA|
00000620  43 45 0d 02 1c 0b f2 53  43 52 45 45 4e 0d 02 26  |CE.....SCREEN..&|
00000630  4e f1 22 20 20 20 20 20  20 53 74 61 72 74 20 74  |N."      Start t|
00000640  68 65 20 70 61 74 74 65  72 6e 20 67 65 6e 65 72  |he pattern gener|
00000650  61 74 69 6f 6e 22 27 22  20 20 20 6e 6f 77 2c 20  |ation"'"   now, |
00000660  20 62 79 20 20 70 72 65  73 73 69 6e 67 20 20 74  | by  pressing  t|
00000670  77 6f 20 20 6e 75 6d 62  65 72 22 0d 02 30 1d f1  |wo  number"..0..|
00000680  22 20 20 20 6b 65 79 73  20 69 6e 20 73 65 71 75  |"   keys in sequ|
00000690  65 6e 63 65 2e 2e 2e 22  0d 02 3a 05 e1 0d 02 44  |ence..."..:....D|
000006a0  05 20 0d 02 4e 0b dd f2  53 50 41 43 45 0d 02 58  |. ..N...SPACE..X|
000006b0  35 f1 8a 33 2c 32 39 29  3b 22 50 72 65 73 73 20  |5..3,29);"Press |
000006c0  74 68 65 20 53 50 41 43  45 20 42 41 52 20 74 6f  |the SPACE BAR to|
000006d0  20 63 6f 6e 74 69 6e 75  65 22 3a 2a 46 58 31 35  | continue":*FX15|
000006e0  2c 31 0d 02 62 0b f5 fd  be 3d 22 20 22 0d 02 6c  |,1..b....=" "..l|
000006f0  05 e1 0d 02 76 05 20 0d  02 80 17 dd f2 53 43 52  |....v. ......SCR|
00000700  45 45 4e 20 db 3a f1 44  42 4c 24 27 3a e1 0d 02  |EEN .:.DBL$':...|
00000710  8a 05 20 0d 02 94 08 dd  f2 59 4e 0d 02 9e 09 59  |.. ......YN....Y|
00000720  25 3d 2d 31 0d 02 a8 08  58 25 3d a5 0d 02 b2 21  |%=-1....X%=....!|
00000730  58 25 3d 58 25 80 26 44  46 3a e7 58 25 3c 3e 37  |X%=X%.&DF:.X%<>7|
00000740  38 80 58 25 3c 3e 38 39  8c 8d 74 68 42 0d 02 bc  |8.X%<>89..thB...|
00000750  14 59 25 3d 31 3a e7 58  25 3d 37 38 8c 59 25 3d  |.Y%=1:.X%=78.Y%=|
00000760  30 0d 02 c6 0b ef 58 25  2c 38 3a e1 0d 02 d0 05  |0.....X%,8:.....|
00000770  20 0d 02 da 1a dd f2 4f  46 46 20 ef 32 33 2c 31  | ......OFF .23,1|
00000780  2c 30 3b 30 3b 30 3b 30  3b 3a e1 0d 02 e4 05 20  |,0;0;0;0;:..... |
00000790  0d 02 ee 23 dd f2 43 45  4e 28 41 24 2c 59 25 29  |...#..CEN(A$,Y%)|
000007a0  f1 8a 31 39 2d a9 41 24  2f 32 2c 59 25 29 41 24  |..19-.A$/2,Y%)A$|
000007b0  3b 3a e1 0d 02 f8 05 20  0d 03 02 09 dd a4 4b 45  |;:..... ......KE|
000007c0  59 0d 03 0c 30 f5 4b 45  59 3d a5 3a e7 20 4b 45  |Y...0.KEY=.:. KE|
000007d0  59 3e 3d 97 22 21 22 20  80 20 4b 45 59 3c 3d 97  |Y>=."!" . KEY<=.|
000007e0  22 29 22 20 4b 45 59 3d  4b 45 59 20 84 20 26 31  |")" KEY=KEY . &1|
000007f0  30 0d 03 16 1a fd 4b 45  59 3e 3d 97 22 30 22 20  |0.....KEY>=."0" |
00000800  80 20 4b 45 59 3c 3d 97  22 39 22 0d 03 20 13 3d  |. KEY<=."9".. .=|
00000810  28 bb bd 4b 45 59 2b 39  29 83 31 30 2b 31 0d 03  |(..KEY+9).10+1..|
00000820  2a 05 20 0d 03 34 33 dd  f2 49 4e 49 54 44 42 4c  |*. ..43..INITDBL|
00000830  20 24 4d 41 50 3d c4 32  35 35 2c bd 30 29 3a 4d  | $MAP=.255,.0):M|
00000840  41 50 3f 32 35 35 3d 30  3a 43 48 41 52 50 54 52  |AP?255=0:CHARPTR|
00000850  3d 32 32 34 3a e1 0d 03  3e 05 20 0d 03 48 8b dd  |=224:...>. ..H..|
00000860  f2 44 42 4c 28 41 24 2c  79 25 29 42 24 3d 22 22  |.DBL(A$,y%)B$=""|
00000870  3a 43 24 3d 22 22 3a e3  43 48 25 3d 31 b8 a9 41  |:C$="":.CH%=1..A|
00000880  24 3a 4b 25 3d a4 43 48  41 52 28 97 c1 41 24 2c  |$:K%=.CHAR(..A$,|
00000890  43 48 25 2c 31 29 29 3a  42 24 3d 42 24 2b bd 4b  |CH%,1)):B$=B$+.K|
000008a0  25 3a 43 24 3d 43 24 2b  bd 28 4b 25 2b 31 29 3a  |%:C$=C$+.(K%+1):|
000008b0  ed 3a 4b 25 3d 31 39 2d  a9 41 24 2f 32 3a 44 42  |.:K%=19-.A$/2:DB|
000008c0  4c 24 3d bd 33 31 2b bd  4b 25 2b bd 79 25 2b 42  |L$=.31+.K%+.y%+B|
000008d0  24 2b bd 33 31 2b bd 4b  25 2b bd 28 79 25 2b 31  |$+.31+.K%+.(y%+1|
000008e0  29 2b 43 24 3a e1 0d 03  52 05 20 0d 03 5c bb dd  |)+C$:...R. ..\..|
000008f0  a4 43 48 41 52 28 43 25  29 e7 4d 41 50 3f 43 25  |.CHAR(C%).MAP?C%|
00000900  8c 3d 4d 41 50 3f 43 25  8b e7 43 48 41 52 50 54  |.=MAP?C%..CHARPT|
00000910  52 3e 3d 32 35 36 fa 20  8b 4d 41 50 3f 43 25 3d  |R>=256. .MAP?C%=|
00000920  43 48 41 52 50 54 52 3a  3f 42 4c 4f 43 4b 3d 43  |CHARPTR:?BLOCK=C|
00000930  25 3a 41 25 3d 31 30 3a  58 25 3d 42 4c 4f 43 4b  |%:A%=10:X%=BLOCK|
00000940  3a 59 25 3d 42 4c 4f 43  4b 20 81 20 32 35 36 3a  |:Y%=BLOCK . 256:|
00000950  d6 6f 73 77 6f 72 64 3a  e3 4a 25 3d 30 b8 31 3a  |.osword:.J%=0.1:|
00000960  ef 32 33 2c 43 48 41 52  50 54 52 2b 4a 25 3a e3  |.23,CHARPTR+J%:.|
00000970  49 25 3d 32 b8 39 3a ef  42 4c 4f 43 4b 3f 28 4a  |I%=2.9:.BLOCK?(J|
00000980  25 2a 34 2b 49 25 81 32  29 3a ed 2c 3a 43 48 41  |%*4+I%.2):.,:CHA|
00000990  52 50 54 52 3d 43 48 41  52 50 54 52 2b 32 3a 3d  |RPTR=CHARPTR+2:=|
000009a0  4d 41 50 3f 43 25 0d ff                           |MAP?C%..|
000009a8
PATTERNS.m0
PATTERNS.m1
PATTERNS.m2
PATTERNS.m4
PATTERNS.m5