Home » CEEFAX disks » telesoftware17.adl » 30-07-89/Maze
30-07-89/Maze
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 » CEEFAX disks » telesoftware17.adl |
Filename: | 30-07-89/Maze |
Read OK: | ✔ |
File size: | 12FD bytes |
Load address: | FFFF0E00 |
Exec address: | FFFF802B |
Duplicates
There is 1 duplicate copy of this file in the archive:
- CEEFAX disks » telesoftware11.adl » 16-12-88/MAZE
- CEEFAX disks » telesoftware17.adl » 30-07-89/Maze
File contents
10REM Maze maker 20REM by Terry Blunt 30REM 11 / 5 / 87 40MODE 7 50U%=HIMEM-16 60HIMEM=TOP+&200 70PROCinit 80ONERRORPROCerr 100REPEAT:RESTORE32010:CLS 110PRINTTAB(12,2)CHR$134"Maze Maker"''TAB(15)CHR$131"Menu" '' 120FORI%=1 TO7 130READa$:PRINTCHR$130;I%SPC4a$ 140NEXT 150PRINT'TAB(7)CHR$131"'ESCAPE' for menu" '' TAB(10)CHR$131"Enter number"; 160a=GET-48:IFa>0 ANDa<7 PRINTTAB(0,6+a)CHR$136 TAB(0,16) 170ONa GOSUB1000,2000,3000,4000,5000,6000,7000 ELSEIFa=-6 GOSUB8000 180UNTILFALSE 1000PROCname:a=OPENINa$:IFa=0 PRINT'"File not found";:PROCkey:RETURN 1010FORI%=-8 TO-3:R%?I%=BGET#a:NEXT 1020IFR%!-8<>&657A616D PRINT'"File not valid";:PROCkey:RETURN 1030CLOSE#a:PROCoscli("LOAD"+a$) 1040K%=R%?-4:L%=R%?-3:Z%=TRUE:GOSUB4000 1050RETURN 2000PROCsize:IFN% RETURN 2010R%?-2=RND(K% DIV2)+K% DIV4:R%?TRUE=RND(L% DIV2)+L% DIV4 2020R%?(R%?-2+(R%?TRUE)*K%)=211 2030Z%=TRUE:GOSUB4000 2040RETURN 3000PROCsize:IFN% RETURN 3010N%=K%*L% DIV8 3015PRINTCHR$131"Quick maze (Y/N) ";:IFGET=89 S%=1:PRINT"Y" ELSES%=4:PRINT"N" 3020PRINTCHR$131"PLEASE WAIT WHILE I BUILD THE MAZE"'CHR$130" This may take up to ";:IFS%=1 PRINT"5"; ELSEPRINT"10"; 3030PRINT" minutes.";:J%=FALSE:A%=1:M%=0:T%=K%*2:S%=N%DIV(100*S%):IFS%<4 S%=4 3040D%=RND(4)-1 3050IFD%MOD2=0 V%=RND(K%DIV2)+K%DIV4 ELSEW%=RND(L%DIV2)*K%+K%*(L%DIV4) 3060IFD%=1 V%=0 3070IFD%=3 V%=K%-1 3080IFD%=0 W%=L%*K%-K% 3090IFD%=2 W%=0 3100REPEAT:IFRND(9)=2 D%=(D%+RND(3))MOD4:A%=A%EOR2 3110PROCcheck:IFE%>1529 PROCmove ELSEPROCback 3120UNTILJ% 3130REPEAT:N%=N%-1:UNTILG%?N%<&FF 3140R%?-2=G%?N%:R%?TRUE=(H%?N%) 3150R%?(R%?-2+(R%?TRUE)*K%)=211 3160Z%=TRUE:GOSUB4000 3170RETURN 4000IFNOTZ% RETURN 4010N%=255:S%=0:T%=0:V%=17:W%=K%*12:C%=R%?-2:F%=R%?TRUE*K% 4020IFC%<17 V%=C%:C%=0 ELSEIFK%-C%<16 V%=C%+35-K%:C%=K%-35 ELSEC%=C%-17 4030IFF%<12*K% W%=F%:F%=0 ELSEIFL%*K%-F%<12*K% W%=F%+(23-L%)*K%:F%=(L%-23)*K% ELSEF%=F%-12*K% 4040CLS:FORI%=0 TO24:PRINTTAB(0,I%)CHR$150CHR$157CHR$148;:NEXT 4050VDU23;8202;0;0;0; 4060M%=R%+C%+F% 4070REPEAT:REPEAT 4080S%=INKEY-26-INKEY-122 4090T%=K%*(INKEY-58-INKEY-42) 4100IFINKEY-97 PROCtab 4110IFN%=0 PROCedit 4120E%=M%+S%+T%+V%+W% 4130UNTIL?E%<>N% ANDV%+S%>TRUE ANDV%+S%<35 ANDW%+T%>TRUE AND(W%+T%)DIVK%<23 4140IF?E%=255 F%=79 ELSEF%=88 4150IFV%=17 AND((M%-R%)MODK%>0 ANDS%<0 OR(M%-R%)MODK%<K%-35 ANDS%>0) M%=M%+S%:S%=0 4160IFW%=K%*12 AND(M%-R%>K%-1 ANDT%<0 OR(M%-R%)DIVK%<L%-23 ANDT%>0) M%=M%+T%:T%=0 4170V%=V%+S%:W%=W%+T% 4180CALLscreen:PRINTTAB(V%+3,1+W% DIVK%)CHR$F% 4190PROCwait 4200UNTILFALSE 5000IFNOTZ% RETURN 5010R%!-8=&657A616D 5020PROCname 5030PROCoscli("SAVE"+a$+"+"+STR$~(K%*L%+8)) 5040RETURN 6000IFNOTZ% RETURN 6010PRINT':VDU2,1,27,1,51,1,18 6020PRINT"Size ";K%" x ";L% ' 6030S%=K%*8 6040FORW%=K% TOL%*K%-K%*2 STEP K% 6050A%=R% 6060VDU1,27,1,76,1,S% MOD256,1,S% DIV256 6070FORV%=1 TOS% DIV8 6080A%=A%+1:B%=P%+W%?A% DIV110*8 6090PROCchar 6100NEXT 6110VDU1,10 6120NEXT 6130VDU1,12,3 6140RETURN 7000CLS:PRINTTAB(13,3)CHR$131"VIEW MODE"' 7010FORI%=0 TO13 7020READa$:PRINTCHR$134a$ 7030NEXT 7040PROCkey 7050RETURN 8000REPEAT 8010PRINT''"*"; 8020INPUT""a$ 8030PROCoscli(a$):PROCkey 8040UNTILa<>42 8050RETURN 10000DEFPROCwait 10010REPEAT:UNTILTIME>10:TIME=0 10020ENDPROC 11000DEFPROCkey 11010PRINT''CHR$134"Press any key"; 11020a=GET 11030ENDPROC 24000DEFPROCchar 24010FORI%=0 TO7 24020VDU1,I%?B% 24030NEXT 24040ENDPROC 25000DEFPROCname 25010PRINT''CHR$131"Enter filename "; 25020INPUT""a$:a$=" "+a$+" "+STR$~(R%-8) 25030ENDPROC 26000DEFPROCtab 26010IFN%=0 N%=255 ELSEN%=0 26020VDU7:PROCwait 26030ENDPROC 27000DEFPROCedit 27010IFINKEY-106 AND?E%=255 ?E%=32 27020IFINKEY-90 AND?E%=32 ?E%=255 27030ENDPROC 28000DEFPROCsize 28010N%=FALSE 28020PRINT''CHR$134"Maze width (35 min) "; 28030INPUT"" k% 28040PRINTCHR$134"Maze depth (23 min) "; 28050INPUT"" l% 28060IFk%>250 ORl%>250 ORR%+k%*l%>U% PRINT'"Sorry this is too big";:N%=TRUE 28070IFk%<35 ORl%<23 PRINT'"Sorry this is too small";:N%=TRUE 28080IFN% PROCkey:ENDPROC 28090K%=k%:L%=l%:Z%=FALSE:CALLwipe 28100FORI%=K% TOK%*L%-K% STEP K%:R%?(I%-1)=106:R%?I%=53:NEXT:FORI%=1 TOK%-2:R%?I%=47:R%?(I%+K%*L%-K%)=124:NEXT:?R%=63:R%?(K%-1)=111:R%?(K%*L%-K%)=125:R%?(K%*L%-1)=126 28110R%?-4=K%:R%?-3=L% 28120ENDPROC 29000DEFPROCcheck 29010E%=FALSE:IFM%=N% ENDPROC 29020FORI%=0 TO3 29030IFD%=0 PROCup 29040IFD%=1 PROCright 29050IFD%=2 PROCdown 29060IFD%=3 PROCleft 29070IFE%>1529 I%=4 ELSEE%=FALSE:D%=(D%+A%)MOD4 29080NEXT 29090ENDPROC 29100DEFPROCup:FORC%=TRUE TO1:FORF%=K% TOT% STEPK%:E%=E%+R%?(V%+C%+W%-F%):NEXT,:ENDPROC 29200DEFPROCright:FORF%=-K% TOK% STEPK%:FORC%=1 TO2:E%=E%+R%?(V%+C%+W%+F%):NEXT,:ENDPROC 29300DEFPROCdown:FORC%=TRUE TO1:FORF%=K% TOT% STEPK%:E%=E%+R%?(V%+C%+W%+F%):NEXT,:ENDPROC 29400DEFPROCleft:FORF%=-K% TOK% STEPK%:FORC%=1 TO2:E%=E%+R%?(V%-C%+W%+F%):NEXT,:ENDPROC 29500DEFPROCmove 29510IFD%=0 W%=W%-K% 29520IFD%=1 V%=V%+1 29530IFD%=2 W%=W%+K% 29540IFD%=3 V%=V%-1 29550R%?(V%+W%)=32:G%?M%=V%:H%?M%=W%DIVK%:M%=M%+1 29560ENDPROC 29600DEFPROCback 29610IFM%>S%+2 M%=M%-S%:V%=G%?M%:W%=H%?M%*K% ELSEJ%=TRUE 29620ENDPROC 30000DEFPROCinit 30010G%=HIMEM:H%=G%+(U%-G%)DIV10:R%=H%+(U%-G%)DIV10+8:Z%=FALSE 30020P%=&900 30030[OPT 2 30040.screen 30050LDA &434:STA&70:LDA &435:STA&71 30060LDA #&2B:STA &72:LDA #&7C:STA &73:LDX #23 30070.frame:LDY #34 30080.line:LDA (&70),Y:STA (&72),Y 30090DEY:BPL line 30100CLC:LDA &70:ADC &42C:STA &70:LDA &71:ADC #0:STA &71 30110CLC:LDA &72:ADC #40:STA &72:LDA &73:ADC #0:STA &73 30120DEX:BNE frame 30130RTS 30140.wipe 30150LDA #0:STA &70 30160LDA #G%DIV256:STA &71 30170LDX #(U%-G%)DIV256 30180LDY #G%MOD256 30190LDA #&FF 30200.loop:STA (&70),Y 30210INY:BNE loop 30220INC &71:DEX:BPL loop 30230RTS:] 30240FORI%=0 TO23 30250READI%?P% 30260NEXT 30270ENDPROC 31000DEFPROCerr 31010VDU3:IFERR=17 ANDNOTINKEYTRUE ENDPROC 31020REPORT:IFERR=204:PROCkey:ENDPROC 31021PRINT" at line ";ERL 31030END 32000DATA 0,0,0,0,0,0,0,0,0,48,72,72,72,72,48,0,252,252,252,252,252,252,252,252 32010DATA Load maze from file,Set blank sheet,Build new maze,View maze,Save maze to file,Print maze,Help 32020DATA Use 'TAB' to switch between normal,movement through the maze and edit.,," In edit mode you can move freely",over the whole maze area. 32030DATA ," Use :",,'COPY' to put the path in,'DELETE' to change to background,Cursor keys to move around,," Thin lines mark the maze edges","and 'X' the cursor, 'S' the start." 32040DEFPROCoscli(a$) 32050LOCAL C% 32060DIM C% 30 32070$C%=a$:X%=C%MOD256:Y%=C%DIV256:CALL&FFF7 32080ENDPROC
� Maze maker � by Terry Blunt � 11 / 5 / 87 (� 7 2U%=�-16 < �=�P+&200 F �init P ��err d �:��PJ}:� n/�12,2)�134"Maze Maker"''�15)�131"Menu" '' x�I%=1 �7 ��a$:�130;I%�4a$ �� �;�'�7)�131"'ESCAPE' for menu" '' �10)�131"Enter number"; �(a=�-48:�a>0 �a<7 �0,6+a)�136 �0,16) �7�a �dhC,�dPG,�txK,�t`O,�tHS,�DpW,�DX[ ��a=-6 �D@_ ��� �/�name:a=�a$:�a=0 �'"File not found";:�key:� ��I%=-8 �-3:R%?I%=�#a:� �0�R%!-8<>&657A616D �'"File not valid";:�key:� �#a:�oscli("LOAD"+a$) K%=R%?-4:L%=R%?-3:Z%=�:�t`O � ��size:�N% � �,R%?-2=�(K% �2)+K% �4:R%?�=�(L% �2)+L% �4 �R%?(R%?-2+(R%?�)*K%)=211 �Z%=�:�t`O �� ��size:�N% � �N%=K%*L% �8 �8�131"Quick maze (Y/N) ";:�=89 S%=1:�"Y" �S%=4:�"N" �_�131"PLEASE WAIT WHILE I BUILD THE MAZE"'�130" This may take up to ";:�S%=1 �"5"; ��"10"; �B�" minutes.";:J%=�:A%=1:M%=0:T%=K%*2:S%=N%�(100*S%):�S%<4 S%=4 � D%=�(4)-1 �4�D%�2=0 V%=�(K%�2)+K%�4 �W%=�(L%�2)*K%+K%*(L%�4) ��D%=1 V%=0 ��D%=3 V%=K%-1 �D%=0 W%=L%*K%-K% �D%=2 W%=0 $�:�(9)=2 D%=(D%+�(3))�4:A%=A%�2 & �check:�E%>1529 �move ��back 0�J% :�:N%=N%-1:�G%?N%<&FF DR%?-2=G%?N%:R%?�=(H%?N%) NR%?(R%?-2+(R%?�)*K%)=211 XZ%=�:�t`O b� � �Z% � �7N%=255:S%=0:T%=0:V%=17:W%=K%*12:C%=R%?-2:F%=R%?�*K% �?�C%<17 V%=C%:C%=0 ��K%-C%<16 V%=C%+35-K%:C%=K%-35 �C%=C%-17 �U�F%<12*K% W%=F%:F%=0 ��L%*K%-F%<12*K% W%=F%+(23-L%)*K%:F%=(L%-23)*K% �F%=F%-12*K% �&�:�I%=0 �24:�0,I%)�150�157�148;:� ��23;8202;0;0;0; �M%=R%+C%+F% ��:� �S%=�-26-�-122 �T%=K%*(�-58-�-42) �-97 �tab �N%=0 �edit E%=M%+S%+T%+V%+W% "7�?E%<>N% �V%+S%>� �V%+S%<35 �W%+T%>� �(W%+T%)�K%<23 ,�?E%=255 F%=79 �F%=88 6F�V%=17 �((M%-R%)�K%>0 �S%<0 �(M%-R%)�K%<K%-35 �S%>0) M%=M%+S%:S%=0 @G�W%=K%*12 �(M%-R%>K%-1 �T%<0 �(M%-R%)�K%<L%-23 �T%>0) M%=M%+T%:T%=0 JV%=V%+S%:W%=W%+T% T�screen:�V%+3,1+W% �K%)�F% ^ �wait h�� � �Z% � �R%!-8=&657A616D � �name �%�oscli("SAVE"+a$+"+"+�~(K%*L%+8)) �� p �Z% � z�':�2,1,27,1,51,1,18 ��"Size ";K%" x ";L% ' �S%=K%*8 ��W%=K% �L%*K%-K%*2 � K% � A%=R% �"�1,27,1,76,1,S% �256,1,S% �256 ��V%=1 �S% �8 �A%=A%+1:B%=P%+W%?A% �110*8 � �char �� � �1,10 �� ��1,12,3 �� X�:�13,3)�131"VIEW MODE"' b �I%=0 �13 l�a$:�134a$ v� ��key �� @� J�''"*"; T �""a$ ^�oscli(a$):�key h �a<>42 r� ' ��wait '�:��>10:�=0 '$� *� ��key +�''�134"Press any key"; +a=� +� ]� ��char ]��I%=0 �7 ]��1,I%?B% ]�� ]�� a� ��name a��''�131"Enter filename "; a� �""a$:a$=" "+a$+" "+�~(R%-8) a�� e� ��tab e��N%=0 N%=255 �N%=0 e��7:�wait e�� ix ��edit i��-106 �?E%=255 ?E%=32 i��-90 �?E%=32 ?E%=255 i�� m` ��size mjN%=� mt"�''�134"Maze width (35 min) "; m~ �"" k% m� �134"Maze depth (23 min) "; m� �"" l% m�@�k%>250 �l%>250 �R%+k%*l%>U% �'"Sorry this is too big";:N%=� m�3�k%<35 �l%<23 �'"Sorry this is too small";:N%=� m��N% �key:� m�K%=k%:L%=l%:Z%=�:�wipe mĖ�I%=K% �K%*L%-K% � K%:R%?(I%-1)=106:R%?I%=53:�:�I%=1 �K%-2:R%?I%=47:R%?(I%+K%*L%-K%)=124:�:?R%=63:R%?(K%-1)=111:R%?(K%*L%-K%)=125:R%?(K%*L%-1)=126 m�R%?-4=K%:R%?-3=L% m�� qH��check qRE%=�:�M%=N% � q\�I%=0 �3 qf �D%=0 �up qp�D%=1 �right qz�D%=2 �down q��D%=3 �left q�$�E%>1529 I%=4 �E%=�:D%=(D%+A%)�4 q�� q�� q�<��up:�C%=� �1:�F%=K% �T% �K%:E%=E%+R%?(V%+C%+W%-F%):�,:� r@��right:�F%=-K% �K% �K%:�C%=1 �2:E%=E%+R%?(V%+C%+W%+F%):�,:� rt>��down:�C%=� �1:�F%=K% �T% �K%:E%=E%+R%?(V%+C%+W%+F%):�,:� r�?��left:�F%=-K% �K% �K%:�C%=1 �2:E%=E%+R%?(V%-C%+W%+F%):�,:� s< ��move sF�D%=0 W%=W%-K% sP�D%=1 V%=V%+1 sZ�D%=2 W%=W%+K% sd�D%=3 V%=V%-1 sn.R%?(V%+W%)=32:G%?M%=V%:H%?M%=W%�K%:M%=M%+1 sx� s� ��back s�0�M%>S%+2 M%=M%-S%:V%=G%?M%:W%=H%?M%*K% �J%=� s�� u0 ��init u:1G%=�:H%=G%+(U%-G%)�10:R%=H%+(U%-G%)�10+8:Z%=� uDP%=&900 uN [OPT 2 uX.screen ub#LDA &434:STA&70:LDA &435:STA&71 ul-LDA #&2B:STA &72:LDA #&7C:STA &73:LDX #23 uv.frame:LDY #34 u�!.line:LDA (&70),Y:STA (&72),Y u�DEY:BPL line u�7CLC:LDA &70:ADC &42C:STA &70:LDA &71:ADC #0:STA &71 u�6CLC:LDA &72:ADC #40:STA &72:LDA &73:ADC #0:STA &73 u�DEX:BNE frame u�RTS u� .wipe u�LDA #0:STA &70 u�LDA #G%�256:STA &71 u�LDX #(U%-G%)�256 u�LDY #G%�256 u�LDA #&FF u�.loop:STA (&70),Y vINY:BNE loop vINC &71:DEX:BPL loop v RTS:] v �I%=0 �23 v* �I%?P% v4� v>� y ��err y"�3:�=17 ���� � y,�:�=204:�key:� y-�" at line ";� y6� } K� 0,0,0,0,0,0,0,0,0,48,72,72,72,72,48,0,252,252,252,252,252,252,252,252 } d� Load maze from file,Set blank sheet,Build new maze,View maze,Save maze to file,Print maze,Help }�� Use 'TAB' to switch between normal,movement through the maze and edit.,," In edit mode you can move freely",over the whole maze area. }�� ," Use :",,'COPY' to put the path in,'DELETE' to change to background,Cursor keys to move around,," Thin lines mark the maze edges","and 'X' the cursor, 'S' the start." }(��oscli(a$) }2� C% }<� C% 30 }F%$C%=a$:X%=C%�256:Y%=C%�256:�&FFF7 }P� �
00000000 0d 00 0a 11 f4 20 20 4d 61 7a 65 20 6d 61 6b 65 |..... Maze make| 00000010 72 0d 00 14 15 f4 20 20 62 79 20 54 65 72 72 79 |r..... by Terry| 00000020 20 42 6c 75 6e 74 0d 00 1e 12 f4 20 20 31 31 20 | Blunt..... 11 | 00000030 2f 20 35 20 2f 20 38 37 0d 00 28 07 eb 20 37 0d |/ 5 / 87..(.. 7.| 00000040 00 32 0b 55 25 3d 93 2d 31 36 0d 00 3c 0d d3 3d |.2.U%=.-16..<..=| 00000050 b8 50 2b 26 32 30 30 0d 00 46 09 f2 69 6e 69 74 |.P+&200..F..init| 00000060 0d 00 50 0a ee 85 f2 65 72 72 0d 00 64 0d f5 3a |..P....err..d..:| 00000070 f7 8d 50 4a 7d 3a db 0d 00 6e 2f f1 8a 31 32 2c |..PJ}:...n/..12,| 00000080 32 29 bd 31 33 34 22 4d 61 7a 65 20 20 4d 61 6b |2).134"Maze Mak| 00000090 65 72 22 27 27 8a 31 35 29 bd 31 33 31 22 4d 65 |er"''.15).131"Me| 000000a0 6e 75 22 20 27 27 0d 00 78 0c e3 49 25 3d 31 20 |nu" ''..x..I%=1 | 000000b0 b8 37 0d 00 82 14 f3 61 24 3a f1 bd 31 33 30 3b |.7.....a$:..130;| 000000c0 49 25 89 34 61 24 0d 00 8c 05 ed 0d 00 96 3b f1 |I%.4a$........;.| 000000d0 27 8a 37 29 bd 31 33 31 22 27 45 53 43 41 50 45 |'.7).131"'ESCAPE| 000000e0 27 20 66 6f 72 20 6d 65 6e 75 22 20 27 27 20 8a |' for menu" '' .| 000000f0 31 30 29 bd 31 33 31 22 45 6e 74 65 72 20 6e 75 |10).131"Enter nu| 00000100 6d 62 65 72 22 3b 0d 00 a0 28 61 3d a5 2d 34 38 |mber";...(a=.-48| 00000110 3a e7 61 3e 30 20 80 61 3c 37 20 f1 8a 30 2c 36 |:.a>0 .a<7 ..0,6| 00000120 2b 61 29 bd 31 33 36 20 8a 30 2c 31 36 29 0d 00 |+a).136 .0,16)..| 00000130 aa 37 ee 61 20 e4 8d 64 68 43 2c 8d 64 50 47 2c |.7.a ..dhC,.dPG,| 00000140 8d 74 78 4b 2c 8d 74 60 4f 2c 8d 74 48 53 2c 8d |.txK,.t`O,.tHS,.| 00000150 44 70 57 2c 8d 44 58 5b 20 8b e7 61 3d 2d 36 20 |DpW,.DX[ ..a=-6 | 00000160 e4 8d 44 40 5f 0d 00 b4 06 fd a3 0d 03 e8 2f f2 |..D@_........./.| 00000170 6e 61 6d 65 3a 61 3d 8e 61 24 3a e7 61 3d 30 20 |name:a=.a$:.a=0 | 00000180 f1 27 22 46 69 6c 65 20 6e 6f 74 20 66 6f 75 6e |.'"File not foun| 00000190 64 22 3b 3a f2 6b 65 79 3a f8 0d 03 f2 1a e3 49 |d";:.key:......I| 000001a0 25 3d 2d 38 20 b8 2d 33 3a 52 25 3f 49 25 3d 9a |%=-8 .-3:R%?I%=.| 000001b0 23 61 3a ed 0d 03 fc 30 e7 52 25 21 2d 38 3c 3e |#a:....0.R%!-8<>| 000001c0 26 36 35 37 41 36 31 36 44 20 f1 27 22 46 69 6c |&657A616D .'"Fil| 000001d0 65 20 6e 6f 74 20 76 61 6c 69 64 22 3b 3a f2 6b |e not valid";:.k| 000001e0 65 79 3a f8 0d 04 06 19 d9 23 61 3a f2 6f 73 63 |ey:......#a:.osc| 000001f0 6c 69 28 22 4c 4f 41 44 22 2b 61 24 29 0d 04 10 |li("LOAD"+a$)...| 00000200 20 4b 25 3d 52 25 3f 2d 34 3a 4c 25 3d 52 25 3f | K%=R%?-4:L%=R%?| 00000210 2d 33 3a 5a 25 3d b9 3a e4 8d 74 60 4f 0d 04 1a |-3:Z%=.:..t`O...| 00000220 05 f8 0d 07 d0 0f f2 73 69 7a 65 3a e7 4e 25 20 |.......size:.N% | 00000230 f8 0d 07 da 2c 52 25 3f 2d 32 3d b3 28 4b 25 20 |....,R%?-2=.(K% | 00000240 81 32 29 2b 4b 25 20 81 34 3a 52 25 3f b9 3d b3 |.2)+K% .4:R%?.=.| 00000250 28 4c 25 20 81 32 29 2b 4c 25 20 81 34 0d 07 e4 |(L% .2)+L% .4...| 00000260 1c 52 25 3f 28 52 25 3f 2d 32 2b 28 52 25 3f b9 |.R%?(R%?-2+(R%?.| 00000270 29 2a 4b 25 29 3d 32 31 31 0d 07 ee 0e 5a 25 3d |)*K%)=211....Z%=| 00000280 b9 3a e4 8d 74 60 4f 0d 07 f8 05 f8 0d 0b b8 0f |.:..t`O.........| 00000290 f2 73 69 7a 65 3a e7 4e 25 20 f8 0d 0b c2 0f 4e |.size:.N% .....N| 000002a0 25 3d 4b 25 2a 4c 25 20 81 38 0d 0b c7 38 f1 bd |%=K%*L% .8...8..| 000002b0 31 33 31 22 51 75 69 63 6b 20 6d 61 7a 65 20 28 |131"Quick maze (| 000002c0 59 2f 4e 29 20 22 3b 3a e7 a5 3d 38 39 20 53 25 |Y/N) ";:..=89 S%| 000002d0 3d 31 3a f1 22 59 22 20 8b 53 25 3d 34 3a f1 22 |=1:."Y" .S%=4:."| 000002e0 4e 22 0d 0b cc 5f f1 bd 31 33 31 22 50 4c 45 41 |N"..._..131"PLEA| 000002f0 53 45 20 57 41 49 54 20 57 48 49 4c 45 20 49 20 |SE WAIT WHILE I | 00000300 42 55 49 4c 44 20 54 48 45 20 4d 41 5a 45 22 27 |BUILD THE MAZE"'| 00000310 bd 31 33 30 22 20 20 54 68 69 73 20 6d 61 79 20 |.130" This may | 00000320 74 61 6b 65 20 75 70 20 74 6f 20 22 3b 3a e7 53 |take up to ";:.S| 00000330 25 3d 31 20 f1 22 35 22 3b 20 8b f1 22 31 30 22 |%=1 ."5"; .."10"| 00000340 3b 0d 0b d6 42 f1 22 20 6d 69 6e 75 74 65 73 2e |;...B." minutes.| 00000350 22 3b 3a 4a 25 3d a3 3a 41 25 3d 31 3a 4d 25 3d |";:J%=.:A%=1:M%=| 00000360 30 3a 54 25 3d 4b 25 2a 32 3a 53 25 3d 4e 25 81 |0:T%=K%*2:S%=N%.| 00000370 28 31 30 30 2a 53 25 29 3a e7 53 25 3c 34 20 53 |(100*S%):.S%<4 S| 00000380 25 3d 34 0d 0b e0 0d 44 25 3d b3 28 34 29 2d 31 |%=4....D%=.(4)-1| 00000390 0d 0b ea 34 e7 44 25 83 32 3d 30 20 56 25 3d b3 |...4.D%.2=0 V%=.| 000003a0 28 4b 25 81 32 29 2b 4b 25 81 34 20 8b 57 25 3d |(K%.2)+K%.4 .W%=| 000003b0 b3 28 4c 25 81 32 29 2a 4b 25 2b 4b 25 2a 28 4c |.(L%.2)*K%+K%*(L| 000003c0 25 81 34 29 0d 0b f4 0e e7 44 25 3d 31 20 56 25 |%.4).....D%=1 V%| 000003d0 3d 30 0d 0b fe 11 e7 44 25 3d 33 20 56 25 3d 4b |=0.....D%=3 V%=K| 000003e0 25 2d 31 0d 0c 08 15 e7 44 25 3d 30 20 57 25 3d |%-1.....D%=0 W%=| 000003f0 4c 25 2a 4b 25 2d 4b 25 0d 0c 12 0e e7 44 25 3d |L%*K%-K%.....D%=| 00000400 32 20 57 25 3d 30 0d 0c 1c 24 f5 3a e7 b3 28 39 |2 W%=0...$.:..(9| 00000410 29 3d 32 20 44 25 3d 28 44 25 2b b3 28 33 29 29 |)=2 D%=(D%+.(3))| 00000420 83 34 3a 41 25 3d 41 25 82 32 0d 0c 26 20 f2 63 |.4:A%=A%.2..& .c| 00000430 68 65 63 6b 3a e7 45 25 3e 31 35 32 39 20 f2 6d |heck:.E%>1529 .m| 00000440 6f 76 65 20 8b f2 62 61 63 6b 0d 0c 30 07 fd 4a |ove ..back..0..J| 00000450 25 0d 0c 3a 18 f5 3a 4e 25 3d 4e 25 2d 31 3a fd |%..:..:N%=N%-1:.| 00000460 47 25 3f 4e 25 3c 26 46 46 0d 0c 44 1c 52 25 3f |G%?N%<&FF..D.R%?| 00000470 2d 32 3d 47 25 3f 4e 25 3a 52 25 3f b9 3d 28 48 |-2=G%?N%:R%?.=(H| 00000480 25 3f 4e 25 29 0d 0c 4e 1c 52 25 3f 28 52 25 3f |%?N%)..N.R%?(R%?| 00000490 2d 32 2b 28 52 25 3f b9 29 2a 4b 25 29 3d 32 31 |-2+(R%?.)*K%)=21| 000004a0 31 0d 0c 58 0e 5a 25 3d b9 3a e4 8d 74 60 4f 0d |1..X.Z%=.:..t`O.| 000004b0 0c 62 05 f8 0d 0f a0 0a e7 ac 5a 25 20 f8 0d 0f |.b........Z% ...| 000004c0 aa 37 4e 25 3d 32 35 35 3a 53 25 3d 30 3a 54 25 |.7N%=255:S%=0:T%| 000004d0 3d 30 3a 56 25 3d 31 37 3a 57 25 3d 4b 25 2a 31 |=0:V%=17:W%=K%*1| 000004e0 32 3a 43 25 3d 52 25 3f 2d 32 3a 46 25 3d 52 25 |2:C%=R%?-2:F%=R%| 000004f0 3f b9 2a 4b 25 0d 0f b4 3f e7 43 25 3c 31 37 20 |?.*K%...?.C%<17 | 00000500 56 25 3d 43 25 3a 43 25 3d 30 20 8b e7 4b 25 2d |V%=C%:C%=0 ..K%-| 00000510 43 25 3c 31 36 20 56 25 3d 43 25 2b 33 35 2d 4b |C%<16 V%=C%+35-K| 00000520 25 3a 43 25 3d 4b 25 2d 33 35 20 8b 43 25 3d 43 |%:C%=K%-35 .C%=C| 00000530 25 2d 31 37 0d 0f be 55 e7 46 25 3c 31 32 2a 4b |%-17...U.F%<12*K| 00000540 25 20 57 25 3d 46 25 3a 46 25 3d 30 20 8b e7 4c |% W%=F%:F%=0 ..L| 00000550 25 2a 4b 25 2d 46 25 3c 31 32 2a 4b 25 20 57 25 |%*K%-F%<12*K% W%| 00000560 3d 46 25 2b 28 32 33 2d 4c 25 29 2a 4b 25 3a 46 |=F%+(23-L%)*K%:F| 00000570 25 3d 28 4c 25 2d 32 33 29 2a 4b 25 20 8b 46 25 |%=(L%-23)*K% .F%| 00000580 3d 46 25 2d 31 32 2a 4b 25 0d 0f c8 26 db 3a e3 |=F%-12*K%...&.:.| 00000590 49 25 3d 30 20 b8 32 34 3a f1 8a 30 2c 49 25 29 |I%=0 .24:..0,I%)| 000005a0 bd 31 35 30 bd 31 35 37 bd 31 34 38 3b 3a ed 0d |.150.157.148;:..| 000005b0 0f d2 13 ef 32 33 3b 38 32 30 32 3b 30 3b 30 3b |....23;8202;0;0;| 000005c0 30 3b 0d 0f dc 0f 4d 25 3d 52 25 2b 43 25 2b 46 |0;....M%=R%+C%+F| 000005d0 25 0d 0f e6 07 f5 3a f5 0d 0f f0 11 53 25 3d a6 |%.....:.....S%=.| 000005e0 2d 32 36 2d a6 2d 31 32 32 0d 0f fa 15 54 25 3d |-26-.-122....T%=| 000005f0 4b 25 2a 28 a6 2d 35 38 2d a6 2d 34 32 29 0d 10 |K%*(.-58-.-42)..| 00000600 04 0e e7 a6 2d 39 37 20 f2 74 61 62 0d 10 0e 0f |....-97 .tab....| 00000610 e7 4e 25 3d 30 20 f2 65 64 69 74 0d 10 18 15 45 |.N%=0 .edit....E| 00000620 25 3d 4d 25 2b 53 25 2b 54 25 2b 56 25 2b 57 25 |%=M%+S%+T%+V%+W%| 00000630 0d 10 22 37 fd 3f 45 25 3c 3e 4e 25 20 80 56 25 |.."7.?E%<>N% .V%| 00000640 2b 53 25 3e b9 20 80 56 25 2b 53 25 3c 33 35 20 |+S%>. .V%+S%<35 | 00000650 80 57 25 2b 54 25 3e b9 20 80 28 57 25 2b 54 25 |.W%+T%>. .(W%+T%| 00000660 29 81 4b 25 3c 32 33 0d 10 2c 19 e7 3f 45 25 3d |).K%<23..,..?E%=| 00000670 32 35 35 20 46 25 3d 37 39 20 8b 46 25 3d 38 38 |255 F%=79 .F%=88| 00000680 0d 10 36 46 e7 56 25 3d 31 37 20 80 28 28 4d 25 |..6F.V%=17 .((M%| 00000690 2d 52 25 29 83 4b 25 3e 30 20 80 53 25 3c 30 20 |-R%).K%>0 .S%<0 | 000006a0 84 28 4d 25 2d 52 25 29 83 4b 25 3c 4b 25 2d 33 |.(M%-R%).K%<K%-3| 000006b0 35 20 80 53 25 3e 30 29 20 4d 25 3d 4d 25 2b 53 |5 .S%>0) M%=M%+S| 000006c0 25 3a 53 25 3d 30 0d 10 40 47 e7 57 25 3d 4b 25 |%:S%=0..@G.W%=K%| 000006d0 2a 31 32 20 80 28 4d 25 2d 52 25 3e 4b 25 2d 31 |*12 .(M%-R%>K%-1| 000006e0 20 80 54 25 3c 30 20 84 28 4d 25 2d 52 25 29 81 | .T%<0 .(M%-R%).| 000006f0 4b 25 3c 4c 25 2d 32 33 20 80 54 25 3e 30 29 20 |K%<L%-23 .T%>0) | 00000700 4d 25 3d 4d 25 2b 54 25 3a 54 25 3d 30 0d 10 4a |M%=M%+T%:T%=0..J| 00000710 15 56 25 3d 56 25 2b 53 25 3a 57 25 3d 57 25 2b |.V%=V%+S%:W%=W%+| 00000720 54 25 0d 10 54 1f d6 73 63 72 65 65 6e 3a f1 8a |T%..T..screen:..| 00000730 56 25 2b 33 2c 31 2b 57 25 20 81 4b 25 29 bd 46 |V%+3,1+W% .K%).F| 00000740 25 0d 10 5e 09 f2 77 61 69 74 0d 10 68 06 fd a3 |%..^..wait..h...| 00000750 0d 13 88 0a e7 ac 5a 25 20 f8 0d 13 92 13 52 25 |......Z% .....R%| 00000760 21 2d 38 3d 26 36 35 37 41 36 31 36 44 0d 13 9c |!-8=&657A616D...| 00000770 09 f2 6e 61 6d 65 0d 13 a6 25 f2 6f 73 63 6c 69 |..name...%.oscli| 00000780 28 22 53 41 56 45 22 2b 61 24 2b 22 2b 22 2b c3 |("SAVE"+a$+"+"+.| 00000790 7e 28 4b 25 2a 4c 25 2b 38 29 29 0d 13 b0 05 f8 |~(K%*L%+8)).....| 000007a0 0d 17 70 0a e7 ac 5a 25 20 f8 0d 17 7a 18 f1 27 |..p...Z% ...z..'| 000007b0 3a ef 32 2c 31 2c 32 37 2c 31 2c 35 31 2c 31 2c |:.2,1,27,1,51,1,| 000007c0 31 38 0d 17 84 19 f1 22 53 69 7a 65 20 22 3b 4b |18....."Size ";K| 000007d0 25 22 20 78 20 22 3b 4c 25 20 27 0d 17 8e 0b 53 |%" x ";L% '....S| 000007e0 25 3d 4b 25 2a 38 0d 17 98 1b e3 57 25 3d 4b 25 |%=K%*8.....W%=K%| 000007f0 20 b8 4c 25 2a 4b 25 2d 4b 25 2a 32 20 88 20 4b | .L%*K%-K%*2 . K| 00000800 25 0d 17 a2 09 41 25 3d 52 25 0d 17 ac 22 ef 31 |%....A%=R%...".1| 00000810 2c 32 37 2c 31 2c 37 36 2c 31 2c 53 25 20 83 32 |,27,1,76,1,S% .2| 00000820 35 36 2c 31 2c 53 25 20 81 32 35 36 0d 17 b6 10 |56,1,S% .256....| 00000830 e3 56 25 3d 31 20 b8 53 25 20 81 38 0d 17 c0 1e |.V%=1 .S% .8....| 00000840 41 25 3d 41 25 2b 31 3a 42 25 3d 50 25 2b 57 25 |A%=A%+1:B%=P%+W%| 00000850 3f 41 25 20 81 31 31 30 2a 38 0d 17 ca 09 f2 63 |?A% .110*8.....c| 00000860 68 61 72 0d 17 d4 05 ed 0d 17 de 09 ef 31 2c 31 |har..........1,1| 00000870 30 0d 17 e8 05 ed 0d 17 f2 0b ef 31 2c 31 32 2c |0..........1,12,| 00000880 33 0d 17 fc 05 f8 0d 1b 58 1d db 3a f1 8a 31 33 |3.......X..:..13| 00000890 2c 33 29 bd 31 33 31 22 56 49 45 57 20 4d 4f 44 |,3).131"VIEW MOD| 000008a0 45 22 27 0d 1b 62 0d e3 49 25 3d 30 20 b8 31 33 |E"'..b..I%=0 .13| 000008b0 0d 1b 6c 0f f3 61 24 3a f1 bd 31 33 34 61 24 0d |..l..a$:..134a$.| 000008c0 1b 76 05 ed 0d 1b 80 08 f2 6b 65 79 0d 1b 8a 05 |.v.......key....| 000008d0 f8 0d 1f 40 05 f5 0d 1f 4a 0b f1 27 27 22 2a 22 |...@....J..''"*"| 000008e0 3b 0d 1f 54 09 e8 22 22 61 24 0d 1f 5e 13 f2 6f |;..T..""a$..^..o| 000008f0 73 63 6c 69 28 61 24 29 3a f2 6b 65 79 0d 1f 68 |scli(a$):.key..h| 00000900 0a fd 61 3c 3e 34 32 0d 1f 72 05 f8 0d 27 10 0a |..a<>42..r...'..| 00000910 dd f2 77 61 69 74 0d 27 1a 0f f5 3a fd 91 3e 31 |..wait.'...:..>1| 00000920 30 3a d1 3d 30 0d 27 24 05 e1 0d 2a f8 09 dd f2 |0:.=0.'$...*....| 00000930 6b 65 79 0d 2b 02 1b f1 27 27 bd 31 33 34 22 50 |key.+...''.134"P| 00000940 72 65 73 73 20 61 6e 79 20 6b 65 79 22 3b 0d 2b |ress any key";.+| 00000950 0c 07 61 3d a5 0d 2b 16 05 e1 0d 5d c0 0a dd f2 |..a=..+....]....| 00000960 63 68 61 72 0d 5d ca 0c e3 49 25 3d 30 20 b8 37 |char.]...I%=0 .7| 00000970 0d 5d d4 0c ef 31 2c 49 25 3f 42 25 0d 5d de 05 |.]...1,I%?B%.]..| 00000980 ed 0d 5d e8 05 e1 0d 61 a8 0a dd f2 6e 61 6d 65 |..]....a....name| 00000990 0d 61 b2 1d f1 27 27 bd 31 33 31 22 45 6e 74 65 |.a...''.131"Ente| 000009a0 72 20 66 69 6c 65 6e 61 6d 65 20 22 3b 0d 61 bc |r filename ";.a.| 000009b0 20 e8 22 22 61 24 3a 61 24 3d 22 20 22 2b 61 24 | .""a$:a$=" "+a$| 000009c0 2b 22 20 22 2b c3 7e 28 52 25 2d 38 29 0d 61 c6 |+" "+.~(R%-8).a.| 000009d0 05 e1 0d 65 90 09 dd f2 74 61 62 0d 65 9a 16 e7 |...e....tab.e...| 000009e0 4e 25 3d 30 20 4e 25 3d 32 35 35 20 8b 4e 25 3d |N%=0 N%=255 .N%=| 000009f0 30 0d 65 a4 0c ef 37 3a f2 77 61 69 74 0d 65 ae |0.e...7:.wait.e.| 00000a00 05 e1 0d 69 78 0a dd f2 65 64 69 74 0d 69 82 1a |...ix...edit.i..| 00000a10 e7 a6 2d 31 30 36 20 80 3f 45 25 3d 32 35 35 20 |..-106 .?E%=255 | 00000a20 3f 45 25 3d 33 32 0d 69 8c 19 e7 a6 2d 39 30 20 |?E%=32.i....-90 | 00000a30 80 3f 45 25 3d 33 32 20 3f 45 25 3d 32 35 35 0d |.?E%=32 ?E%=255.| 00000a40 69 96 05 e1 0d 6d 60 0a dd f2 73 69 7a 65 0d 6d |i....m`...size.m| 00000a50 6a 08 4e 25 3d a3 0d 6d 74 22 f1 27 27 bd 31 33 |j.N%=..mt".''.13| 00000a60 34 22 4d 61 7a 65 20 77 69 64 74 68 20 28 33 35 |4"Maze width (35| 00000a70 20 6d 69 6e 29 20 22 3b 0d 6d 7e 0a e8 22 22 20 | min) ";.m~.."" | 00000a80 6b 25 0d 6d 88 20 f1 bd 31 33 34 22 4d 61 7a 65 |k%.m. ..134"Maze| 00000a90 20 64 65 70 74 68 20 28 32 33 20 6d 69 6e 29 20 | depth (23 min) | 00000aa0 22 3b 0d 6d 92 0a e8 22 22 20 6c 25 0d 6d 9c 40 |";.m..."" l%.m.@| 00000ab0 e7 6b 25 3e 32 35 30 20 84 6c 25 3e 32 35 30 20 |.k%>250 .l%>250 | 00000ac0 84 52 25 2b 6b 25 2a 6c 25 3e 55 25 20 f1 27 22 |.R%+k%*l%>U% .'"| 00000ad0 53 6f 72 72 79 20 74 68 69 73 20 69 73 20 74 6f |Sorry this is to| 00000ae0 6f 20 62 69 67 22 3b 3a 4e 25 3d b9 0d 6d a6 33 |o big";:N%=..m.3| 00000af0 e7 6b 25 3c 33 35 20 84 6c 25 3c 32 33 20 f1 27 |.k%<35 .l%<23 .'| 00000b00 22 53 6f 72 72 79 20 74 68 69 73 20 69 73 20 74 |"Sorry this is t| 00000b10 6f 6f 20 73 6d 61 6c 6c 22 3b 3a 4e 25 3d b9 0d |oo small";:N%=..| 00000b20 6d b0 0e e7 4e 25 20 f2 6b 65 79 3a e1 0d 6d ba |m...N% .key:..m.| 00000b30 1a 4b 25 3d 6b 25 3a 4c 25 3d 6c 25 3a 5a 25 3d |.K%=k%:L%=l%:Z%=| 00000b40 a3 3a d6 77 69 70 65 0d 6d c4 96 e3 49 25 3d 4b |.:.wipe.m...I%=K| 00000b50 25 20 b8 4b 25 2a 4c 25 2d 4b 25 20 88 20 4b 25 |% .K%*L%-K% . K%| 00000b60 3a 52 25 3f 28 49 25 2d 31 29 3d 31 30 36 3a 52 |:R%?(I%-1)=106:R| 00000b70 25 3f 49 25 3d 35 33 3a ed 3a e3 49 25 3d 31 20 |%?I%=53:.:.I%=1 | 00000b80 b8 4b 25 2d 32 3a 52 25 3f 49 25 3d 34 37 3a 52 |.K%-2:R%?I%=47:R| 00000b90 25 3f 28 49 25 2b 4b 25 2a 4c 25 2d 4b 25 29 3d |%?(I%+K%*L%-K%)=| 00000ba0 31 32 34 3a ed 3a 3f 52 25 3d 36 33 3a 52 25 3f |124:.:?R%=63:R%?| 00000bb0 28 4b 25 2d 31 29 3d 31 31 31 3a 52 25 3f 28 4b |(K%-1)=111:R%?(K| 00000bc0 25 2a 4c 25 2d 4b 25 29 3d 31 32 35 3a 52 25 3f |%*L%-K%)=125:R%?| 00000bd0 28 4b 25 2a 4c 25 2d 31 29 3d 31 32 36 0d 6d ce |(K%*L%-1)=126.m.| 00000be0 15 52 25 3f 2d 34 3d 4b 25 3a 52 25 3f 2d 33 3d |.R%?-4=K%:R%?-3=| 00000bf0 4c 25 0d 6d d8 05 e1 0d 71 48 0b dd f2 63 68 65 |L%.m....qH...che| 00000c00 63 6b 0d 71 52 11 45 25 3d a3 3a e7 4d 25 3d 4e |ck.qR.E%=.:.M%=N| 00000c10 25 20 e1 0d 71 5c 0c e3 49 25 3d 30 20 b8 33 0d |% ..q\..I%=0 .3.| 00000c20 71 66 0d e7 44 25 3d 30 20 f2 75 70 0d 71 70 10 |qf..D%=0 .up.qp.| 00000c30 e7 44 25 3d 31 20 f2 72 69 67 68 74 0d 71 7a 0f |.D%=1 .right.qz.| 00000c40 e7 44 25 3d 32 20 f2 64 6f 77 6e 0d 71 84 0f e7 |.D%=2 .down.q...| 00000c50 44 25 3d 33 20 f2 6c 65 66 74 0d 71 8e 24 e7 45 |D%=3 .left.q.$.E| 00000c60 25 3e 31 35 32 39 20 49 25 3d 34 20 8b 45 25 3d |%>1529 I%=4 .E%=| 00000c70 a3 3a 44 25 3d 28 44 25 2b 41 25 29 83 34 0d 71 |.:D%=(D%+A%).4.q| 00000c80 98 05 ed 0d 71 a2 05 e1 0d 71 ac 3c dd f2 75 70 |....q....q.<..up| 00000c90 3a e3 43 25 3d b9 20 b8 31 3a e3 46 25 3d 4b 25 |:.C%=. .1:.F%=K%| 00000ca0 20 b8 54 25 20 88 4b 25 3a 45 25 3d 45 25 2b 52 | .T% .K%:E%=E%+R| 00000cb0 25 3f 28 56 25 2b 43 25 2b 57 25 2d 46 25 29 3a |%?(V%+C%+W%-F%):| 00000cc0 ed 2c 3a e1 0d 72 10 40 dd f2 72 69 67 68 74 3a |.,:..r.@..right:| 00000cd0 e3 46 25 3d 2d 4b 25 20 b8 4b 25 20 88 4b 25 3a |.F%=-K% .K% .K%:| 00000ce0 e3 43 25 3d 31 20 b8 32 3a 45 25 3d 45 25 2b 52 |.C%=1 .2:E%=E%+R| 00000cf0 25 3f 28 56 25 2b 43 25 2b 57 25 2b 46 25 29 3a |%?(V%+C%+W%+F%):| 00000d00 ed 2c 3a e1 0d 72 74 3e dd f2 64 6f 77 6e 3a e3 |.,:..rt>..down:.| 00000d10 43 25 3d b9 20 b8 31 3a e3 46 25 3d 4b 25 20 b8 |C%=. .1:.F%=K% .| 00000d20 54 25 20 88 4b 25 3a 45 25 3d 45 25 2b 52 25 3f |T% .K%:E%=E%+R%?| 00000d30 28 56 25 2b 43 25 2b 57 25 2b 46 25 29 3a ed 2c |(V%+C%+W%+F%):.,| 00000d40 3a e1 0d 72 d8 3f dd f2 6c 65 66 74 3a e3 46 25 |:..r.?..left:.F%| 00000d50 3d 2d 4b 25 20 b8 4b 25 20 88 4b 25 3a e3 43 25 |=-K% .K% .K%:.C%| 00000d60 3d 31 20 b8 32 3a 45 25 3d 45 25 2b 52 25 3f 28 |=1 .2:E%=E%+R%?(| 00000d70 56 25 2d 43 25 2b 57 25 2b 46 25 29 3a ed 2c 3a |V%-C%+W%+F%):.,:| 00000d80 e1 0d 73 3c 0a dd f2 6d 6f 76 65 0d 73 46 12 e7 |..s<...move.sF..| 00000d90 44 25 3d 30 20 57 25 3d 57 25 2d 4b 25 0d 73 50 |D%=0 W%=W%-K%.sP| 00000da0 11 e7 44 25 3d 31 20 56 25 3d 56 25 2b 31 0d 73 |..D%=1 V%=V%+1.s| 00000db0 5a 12 e7 44 25 3d 32 20 57 25 3d 57 25 2b 4b 25 |Z..D%=2 W%=W%+K%| 00000dc0 0d 73 64 11 e7 44 25 3d 33 20 56 25 3d 56 25 2d |.sd..D%=3 V%=V%-| 00000dd0 31 0d 73 6e 2e 52 25 3f 28 56 25 2b 57 25 29 3d |1.sn.R%?(V%+W%)=| 00000de0 33 32 3a 47 25 3f 4d 25 3d 56 25 3a 48 25 3f 4d |32:G%?M%=V%:H%?M| 00000df0 25 3d 57 25 81 4b 25 3a 4d 25 3d 4d 25 2b 31 0d |%=W%.K%:M%=M%+1.| 00000e00 73 78 05 e1 0d 73 a0 0a dd f2 62 61 63 6b 0d 73 |sx...s....back.s| 00000e10 aa 30 e7 4d 25 3e 53 25 2b 32 20 4d 25 3d 4d 25 |.0.M%>S%+2 M%=M%| 00000e20 2d 53 25 3a 56 25 3d 47 25 3f 4d 25 3a 57 25 3d |-S%:V%=G%?M%:W%=| 00000e30 48 25 3f 4d 25 2a 4b 25 20 8b 4a 25 3d b9 0d 73 |H%?M%*K% .J%=..s| 00000e40 b4 05 e1 0d 75 30 0a dd f2 69 6e 69 74 0d 75 3a |....u0...init.u:| 00000e50 31 47 25 3d 93 3a 48 25 3d 47 25 2b 28 55 25 2d |1G%=.:H%=G%+(U%-| 00000e60 47 25 29 81 31 30 3a 52 25 3d 48 25 2b 28 55 25 |G%).10:R%=H%+(U%| 00000e70 2d 47 25 29 81 31 30 2b 38 3a 5a 25 3d a3 0d 75 |-G%).10+8:Z%=..u| 00000e80 44 0b 50 25 3d 26 39 30 30 0d 75 4e 0a 5b 4f 50 |D.P%=&900.uN.[OP| 00000e90 54 20 32 0d 75 58 0b 2e 73 63 72 65 65 6e 0d 75 |T 2.uX..screen.u| 00000ea0 62 23 4c 44 41 20 26 34 33 34 3a 53 54 41 26 37 |b#LDA &434:STA&7| 00000eb0 30 3a 4c 44 41 20 26 34 33 35 3a 53 54 41 26 37 |0:LDA &435:STA&7| 00000ec0 31 0d 75 6c 2d 4c 44 41 20 23 26 32 42 3a 53 54 |1.ul-LDA #&2B:ST| 00000ed0 41 20 26 37 32 3a 4c 44 41 20 23 26 37 43 3a 53 |A &72:LDA #&7C:S| 00000ee0 54 41 20 26 37 33 3a 4c 44 58 20 23 32 33 0d 75 |TA &73:LDX #23.u| 00000ef0 76 12 2e 66 72 61 6d 65 3a 4c 44 59 20 23 33 34 |v..frame:LDY #34| 00000f00 0d 75 80 21 2e 6c 69 6e 65 3a 4c 44 41 20 28 26 |.u.!.line:LDA (&| 00000f10 37 30 29 2c 59 3a 53 54 41 20 28 26 37 32 29 2c |70),Y:STA (&72),| 00000f20 59 0d 75 8a 10 44 45 59 3a 42 50 4c 20 6c 69 6e |Y.u..DEY:BPL lin| 00000f30 65 0d 75 94 37 43 4c 43 3a 4c 44 41 20 26 37 30 |e.u.7CLC:LDA &70| 00000f40 3a 41 44 43 20 26 34 32 43 3a 53 54 41 20 26 37 |:ADC &42C:STA &7| 00000f50 30 3a 4c 44 41 20 26 37 31 3a 41 44 43 20 23 30 |0:LDA &71:ADC #0| 00000f60 3a 53 54 41 20 26 37 31 0d 75 9e 36 43 4c 43 3a |:STA &71.u.6CLC:| 00000f70 4c 44 41 20 26 37 32 3a 41 44 43 20 23 34 30 3a |LDA &72:ADC #40:| 00000f80 53 54 41 20 26 37 32 3a 4c 44 41 20 26 37 33 3a |STA &72:LDA &73:| 00000f90 41 44 43 20 23 30 3a 53 54 41 20 26 37 33 0d 75 |ADC #0:STA &73.u| 00000fa0 a8 11 44 45 58 3a 42 4e 45 20 66 72 61 6d 65 0d |..DEX:BNE frame.| 00000fb0 75 b2 07 52 54 53 0d 75 bc 09 2e 77 69 70 65 0d |u..RTS.u...wipe.| 00000fc0 75 c6 12 4c 44 41 20 23 30 3a 53 54 41 20 26 37 |u..LDA #0:STA &7| 00000fd0 30 0d 75 d0 17 4c 44 41 20 23 47 25 81 32 35 36 |0.u..LDA #G%.256| 00000fe0 3a 53 54 41 20 26 37 31 0d 75 da 14 4c 44 58 20 |:STA &71.u..LDX | 00000ff0 23 28 55 25 2d 47 25 29 81 32 35 36 0d 75 e4 0f |#(U%-G%).256.u..| 00001000 4c 44 59 20 23 47 25 83 32 35 36 0d 75 ee 0c 4c |LDY #G%.256.u..L| 00001010 44 41 20 23 26 46 46 0d 75 f8 15 2e 6c 6f 6f 70 |DA #&FF.u...loop| 00001020 3a 53 54 41 20 28 26 37 30 29 2c 59 0d 76 02 10 |:STA (&70),Y.v..| 00001030 49 4e 59 3a 42 4e 45 20 6c 6f 6f 70 0d 76 0c 18 |INY:BNE loop.v..| 00001040 49 4e 43 20 26 37 31 3a 44 45 58 3a 42 50 4c 20 |INC &71:DEX:BPL | 00001050 6c 6f 6f 70 0d 76 16 09 52 54 53 3a 5d 0d 76 20 |loop.v..RTS:].v | 00001060 0d e3 49 25 3d 30 20 b8 32 33 0d 76 2a 0a f3 49 |..I%=0 .23.v*..I| 00001070 25 3f 50 25 0d 76 34 05 ed 0d 76 3e 05 e1 0d 79 |%?P%.v4...v>...y| 00001080 18 09 dd f2 65 72 72 0d 79 22 13 ef 33 3a e7 9f |....err.y"..3:..| 00001090 3d 31 37 20 80 ac a6 b9 20 e1 0d 79 2c 13 f6 3a |=17 .... ..y,..:| 000010a0 e7 9f 3d 32 30 34 3a f2 6b 65 79 3a e1 0d 79 2d |..=204:.key:..y-| 000010b0 12 f1 22 20 61 74 20 6c 69 6e 65 20 22 3b 9e 0d |.." at line ";..| 000010c0 79 36 05 e0 0d 7d 00 4b dc 20 30 2c 30 2c 30 2c |y6...}.K. 0,0,0,| 000010d0 30 2c 30 2c 30 2c 30 2c 30 2c 30 2c 34 38 2c 37 |0,0,0,0,0,0,48,7| 000010e0 32 2c 37 32 2c 37 32 2c 37 32 2c 34 38 2c 30 2c |2,72,72,72,48,0,| 000010f0 32 35 32 2c 32 35 32 2c 32 35 32 2c 32 35 32 2c |252,252,252,252,| 00001100 32 35 32 2c 32 35 32 2c 32 35 32 2c 32 35 32 0d |252,252,252,252.| 00001110 7d 0a 64 dc 20 4c 6f 61 64 20 6d 61 7a 65 20 66 |}.d. Load maze f| 00001120 72 6f 6d 20 66 69 6c 65 2c 53 65 74 20 62 6c 61 |rom file,Set bla| 00001130 6e 6b 20 73 68 65 65 74 2c 42 75 69 6c 64 20 6e |nk sheet,Build n| 00001140 65 77 20 6d 61 7a 65 2c 56 69 65 77 20 6d 61 7a |ew maze,View maz| 00001150 65 2c 53 61 76 65 20 6d 61 7a 65 20 74 6f 20 66 |e,Save maze to f| 00001160 69 6c 65 2c 50 72 69 6e 74 20 6d 61 7a 65 2c 48 |ile,Print maze,H| 00001170 65 6c 70 0d 7d 14 8c dc 20 55 73 65 20 27 54 41 |elp.}... Use 'TA| 00001180 42 27 20 74 6f 20 73 77 69 74 63 68 20 62 65 74 |B' to switch bet| 00001190 77 65 65 6e 20 6e 6f 72 6d 61 6c 2c 6d 6f 76 65 |ween normal,move| 000011a0 6d 65 6e 74 20 74 68 72 6f 75 67 68 20 74 68 65 |ment through the| 000011b0 20 6d 61 7a 65 20 61 6e 64 20 65 64 69 74 2e 2c | maze and edit.,| 000011c0 2c 22 20 20 49 6e 20 65 64 69 74 20 6d 6f 64 65 |," In edit mode| 000011d0 20 79 6f 75 20 63 61 6e 20 6d 6f 76 65 20 66 72 | you can move fr| 000011e0 65 65 6c 79 22 2c 6f 76 65 72 20 74 68 65 20 77 |eely",over the w| 000011f0 68 6f 6c 65 20 6d 61 7a 65 20 61 72 65 61 2e 0d |hole maze area..| 00001200 7d 1e b0 dc 20 2c 22 20 20 55 73 65 20 3a 22 2c |}... ," Use :",| 00001210 2c 27 43 4f 50 59 27 20 74 6f 20 70 75 74 20 74 |,'COPY' to put t| 00001220 68 65 20 70 61 74 68 20 69 6e 2c 27 44 45 4c 45 |he path in,'DELE| 00001230 54 45 27 20 74 6f 20 63 68 61 6e 67 65 20 74 6f |TE' to change to| 00001240 20 62 61 63 6b 67 72 6f 75 6e 64 2c 43 75 72 73 | background,Curs| 00001250 6f 72 20 6b 65 79 73 20 74 6f 20 6d 6f 76 65 20 |or keys to move | 00001260 61 72 6f 75 6e 64 2c 2c 22 20 20 54 68 69 6e 20 |around,," Thin | 00001270 6c 69 6e 65 73 20 6d 61 72 6b 20 74 68 65 20 6d |lines mark the m| 00001280 61 7a 65 20 65 64 67 65 73 22 2c 22 61 6e 64 20 |aze edges","and | 00001290 27 58 27 20 74 68 65 20 63 75 72 73 6f 72 2c 20 |'X' the cursor, | 000012a0 27 53 27 20 74 68 65 20 73 74 61 72 74 2e 22 0d |'S' the start.".| 000012b0 7d 28 0f dd f2 6f 73 63 6c 69 28 61 24 29 0d 7d |}(...oscli(a$).}| 000012c0 32 08 ea 20 43 25 0d 7d 3c 0b de 20 43 25 20 33 |2.. C%.}<.. C% 3| 000012d0 30 0d 7d 46 25 24 43 25 3d 61 24 3a 58 25 3d 43 |0.}F%$C%=a$:X%=C| 000012e0 25 83 32 35 36 3a 59 25 3d 43 25 81 32 35 36 3a |%.256:Y%=C%.256:| 000012f0 d6 26 46 46 46 37 0d 7d 50 05 e1 0d ff |.&FFF7.}P....| 000012fd