Home » Personal collection » Commodore disks » disk30b2_loadstar_131.d64 » mandala
mandala
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 » Commodore disks » disk30b2_loadstar_131.d64 |
| Filename: | mandala |
| Read OK: | ✔ |
| File size: | 237D bytes |
| Load address: | 1001 |
| Exec address: | 0000 |
Duplicates
There are 2 duplicate copies of this file in the archive:
- Personal collection » Commodore disks » disk30b2_loadstar_131.d64 » mandala
- Personal collection » Commodore disks » disk30b3_loadstar_131.d64 » mandala
- Personal collection » Commodore disks » disk30b_loadstar_131.d64 » mandala
File contents
10 POKE56,130:POKE55,0:CLR:POKE788,52
20 DV=PEEK(186):IFDV<8THENDV=8
30 POKE53281,0:POKE53280,0
40 PRINT"<clr><text mode><shift disable>":GOSUB3630
50 SYS57812"MANDALA FONT",DV,0:POKE780,0:POKE781,0:POKE782,8:SYS65493
60 SYS57812"ALL SPRITES",DV,0:POKE780,0:POKE781,0:POKE782,130:SYS65493
70 SYS57812"CM/SCR/WP/UNP",DV,0:POKE780,0:POKE781,0:POKE782,195:SYS65493
80 SYS57812"MANDALA.SHP",DV,0:POKE780,0:POKE781,0:POKE782,140:SYS65493
90 GOTO1090
100 :
110 :REM BOX
120 :
130 SYSSC+6,X,Y,"<shift enable><brown><shift disable><orange>┌▔▔▔▔▔▔▔▔▔▔▔▔▔┐"
140 FORII=1TOYY
150 SYSSC+6,X,Y+II,"▏<reverse on> <rev off>▕"
160 NEXT
170 SYSSC+6,X,Y+YY+1,"└▁▁▁▁▁▁▁▁▁▁▁▁▁┘"
180 RETURN
190 :
200 :REM MAIN MENU
210 :
220 SYSSC+6,26,3,"<shift enable><orange><shift disable><white>"+"W"+"<shift disable><yellow>"+" 🭸🭴♠🭼🭼🭶╱🭱🭶 "
230 SYSSC+6,26,4,"<shift disable><white>"+"X"+"<shift disable><yellow>"+" 🭽🭼🭷 ╲♠╱🭷♠🭼♠"
240 SYSSC+6,26,5,"<shift disable><white>"+"Y"+"<shift disable><yellow>"+" ╱🭶○ ╲♠╱🭷♠🭼♠"
250 SYSSC+6,26,6,"<shift disable><white>"+"Z"+"<shift disable><yellow>"+" 🭰🭴🭶 ♥🭰🭽🭻🭵 "
260 SYSSC+6,26,7,"<shift disable><white>"+"["+"<shift disable><yellow>"+" ●╭╮🭰 "
270 RETURN
280 :
290 :REM BOTTOM BOXES
300 :
310 FORI=0TO1:X=25:Y=11+7*I:YY=4:GOSUB130:NEXT
320 X=25:Y=1:YY=7:GOSUB130
330 SYSSC+6,28,12,"<shift disable><yellow><shift enable><orange>╲ 🭽 ╳ 🭶 ♥"
340 SYSSC+6,27,19,"🭲🭶♥🭰 ♥🭸🭽🭻🭶"
350 FORI=39TO46:POKEV+I,7:NEXT
360 RETURN
370 :
380 :REM UPDATE SCORE
390 :
400 SYSSC+6,26,20,"<shift disable><black><shift enable><orange> "
410 SYSSC+6,26,21,"<shift disable><black> "
420 BN$=STR$(BS(MN)):BN=LEN(BN$)-1:BN$=RIGHT$(BN$,BN)
430 FORI=1TOBN
440 SYSSC+6,30-BN+2*I,20,N$(VAL(MID$(BN$,I,1)))
450 NEXT
460 SYSSC+6,26,13,"<shift disable><black> "
470 SYSSC+6,26,14,"<shift disable><black> "
480 YN$=STR$(YS(MN)):YN=LEN(YN$)-1:YN$=RIGHT$(YN$,YN)
490 FORI=1TOYN
500 SYSSC+6,30-YN+2*I,13,N$(VAL(MID$(YN$,I,1)))
510 NEXT
520 SYSSC+6,33-(LEN(BS$(MN))+.5)/2,22,"<shift disable><yellow><shift enable><orange>"+BS$(MN)
530 SYSSC+6,33-(LEN(NM$)+.5)/2,15,NM$
540 RETURN
550 :
560 :REM PLAY MENU
570 :
580 SYSSC+6,30,20,N$(INT(BS(MN)/10))
590 SYSSC+6,32,20,N$(BS(MN)-10*(INT(BS(MN)/10)))
600 SYSSC+6,26,2,"<shift enable><orange><shift disable><yellow> ╲♠╱🭷♠🭼♠
610 IFMN=1THENSYSSC+6,27,3," 🭸🭴♠🭼🭼🭶╱🭱🭶":GOTO630
620 SYSSC+6,26,3," 🭰🭽╭🭻╱♠╲🭶╱🭰"
630 SYSSC+6,26,5,"<shift disable><white>🭺W<shift disable><yellow> 🭵🭽╭🭻 🭱🭽♠🭼
640 SYSSC+6,26,6,"<shift disable><white>🭺Y<shift disable><yellow> ♥🭰♠🭻🭰 🭽╳🭶🭻
650 SYSSC+6,26,7,"<shift disable><white>🭺[<shift disable><yellow> 🭲🭶♥🭰 ♥🭸🭽🭻🭶
660 SYSSC+6,26,8,"<shift disable><white>🭺7<shift disable><yellow> ╲♠╮╱ ╲🭶╱╭
670 RETURN
680 :
690 :REM SAVE FILE
700 :
710 POKEV+21,0:OPEN15,DV,15,"S0:"+FI$:CLOSE15
720 OPEN2,DV,2,FI$+",S,W"
730 PRINT#2,NM$
740 FORI=1TO2
750 PRINT#2,ZZ$(I)
760 PRINT#2,BS$(I)
770 PRINT#2,BS(I)
780 NEXT
790 FORI=0TO8:PRINT#2,C%(I):NEXT
800 FORI=0TO8:PRINT#2,E%(I):NEXT
810 FORI=0TO8:PRINT#2,T%(I):NEXT
820 FORI=0TO8:PRINT#2,U%(I):NEXT
830 CLOSE2:RETURN
840 :
850 :REM LOAD FILE
860 :
870 OPEN15,DV,15,"R0:"+FI$+"="+FI$:INPUT#15,ER:CLOSE15
880 IFER<>63THENGOSUB1010:RETURN
890 OPEN2,DV,2,FI$+",S,R"
900 INPUT#2,NM$
910 FORI=1TO2
920 INPUT#2,ZZ$(I)
930 INPUT#2,BS$(I)
940 INPUT#2,BS(I)
950 NEXT
960 FORI=0TO8:INPUT#2,C%(I):NEXT
970 FORI=0TO8:INPUT#2,E%(I):NEXT
980 FORI=0TO8:INPUT#2,T%(I):NEXT
990 FORI=0TO8:INPUT#2,U%(I):NEXT
1000 CLOSE2:RETURN
1007 :
1008 :REM INITIALIZE FILE
1009 :
1010 NM$="╲🭽╰🭽"
1020 FORI=1TO2:YS(I)=0:BS$(I)="🭸♠🭼🭴🭽🭽╱":BS(I)=88:ZZ$(I)="@":NEXT
1030 QP=1:GOSUB1630
1040 GOSUB710
1050 RETURN
1060 :
1070 :REM SETUP
1080 :
1090 DIMX(9),Y(9)
1100 V=53248:S=54272:FORI=0TO24:POKES+I,0:NEXT
1110 UN=51456:HG=51459:WP=50944:SC=50176:CM=49920
1120 N$(0)="CD<cursor down><cursor left><cursor left>#$":NN$(0)="<"
1130 N$(1)="EF<cursor down><cursor left><cursor left>%&":NN$(1)="W"
1140 N$(2)="GH<cursor down><cursor left><cursor left>'(":NN$(2)="X"
1150 N$(3)="IJ<cursor down><cursor left><cursor left>)*":NN$(3)="Y"
1160 N$(4)="KL<cursor down><cursor left><cursor left>+,":NN$(4)="Z"
1170 N$(5)="MN<cursor down><cursor left><cursor left>-.":NN$(5)="["
1180 N$(6)="OP<cursor down><cursor left><cursor left>/0":NN$(6)="£"
1190 N$(7)="QR<cursor down><cursor left><cursor left>12":NN$(7)="7"
1200 N$(8)="ST<cursor down><cursor left><cursor left>34":NN$(8)="8"
1210 N$(9)="UV<cursor down><cursor left><cursor left>56":NN$(9)="9"
1220 N$="12345678":FI$="MANDALA SCORES"
1230 FORI=1TO8
1240 Z=ASC(MID$(N$,I,1))-48
1250 SYSCM,130*256+26*64+64*Z,192*256-64+64*I,64
1260 NEXT
1270 FORI=0TO7:G%(I)=ASC(MID$(N$,I+1,1))-48:NEXT
1280 FORI=0TO7:POKE49152+1016+3*1024+I,I:POKEV+39+I,7:NEXT
1290 POKEV+16,0:POKEV+29,0:POKEV+23,0:POKEV+27,0
1300 FORI=0TO8:READX(I),Y(I):NEXT
1310 DATA104,85,152,106,176,146,152,190,104,210,56,190,33,146,56,106,104,146
1320 FORI=0TO8:READC%(I):NEXT:FORI=0TO8:READE%(I):NEXT
1330 DATA5,6,7,0,1,2,3,4,8,3,4,5,6,7,0,1,2,8
1340 FORI=0TO8:FORJ=0TO3:READM%(I,J):NEXT:NEXT
1350 DATA1,7,-1,-1,0,2,8,-1,1,3,-1,-1,2,4,8,-1,3,5,-1,-1,4,6,8,-1,5,7,-1,-1
1360 DATA0,6,8,-1,1,3,5,7
1370 MN=1:GOSUB870
1380 SYSSC,224,204,8:REM SETUP SCRIPTER
1390 POKE53272,19:POKE53280,0
1400 POKE251,140:POKE252,224:POKE253,204
1410 SYS51456:SYS51459:REM DISPLAY HIRES
1420 GOSUB310:REM BOTTOM BOXES
1430 GOSUB3260:REM GET NAME
1440 GOSUB220:REM MAIN MENU
1450 :
1460 :REM MENU LOOP
1470 :
1480 SYSSC+6,26,15,"<shift disable><yellow><shift enable><orange> "
1490 SYSSC+6,33-(LEN(NM$)+.5)/2,15,NM$
1500 GETA$:IFA$<"1"ORA$>"5"THEN1500
1510 MN=VAL(A$)
1520 IFMN<3THENFORI=1TO2:YS(I)=0:NEXT:GOSUB400
1530 KK=2:ONMNGOTO1570,1770,1630,2770,3180
1540 :
1550 :REM CHALLENGE SETUP
1560 :
1570 FORI=0TO7:POKEV+I*2,X(C%(I)):POKEV+1+2*I,Y(C%(I)):NEXT
1580 FORI=0TO8:R%(I)=E%(I):NEXT
1590 GOTO1820
1600 :
1610 :REM NEW TOURNAMENT
1620 :
1630 FORI=0TO7:T%(I)=I:NEXT:T%(8)=8
1640 FORI=0TO7
1650 RR=INT(RND(0)*8)
1660 TM=T%(I):T%(I)=T%(RR):T%(RR)=TM
1670 NEXT
1680 FORI=0TO7:R%(T%(I))=I:U%(T%(I))=I:NEXT
1690 IFQPTHENRETURN
1700 YS(2)=0:BS$(2)="🭸♠🭼🭴🭽🭽╱":BS(2)=88:ZZ$(2)="@"
1710 GOSUB710
1720 FORI=0TO7:POKEV+39+I,7:POKEV+I*2,X(T%(I)):POKEV+1+2*I,Y(T%(I))
1730 MN=2
1740 :
1750 :REM CURRENT TOURNAMENT
1760 :
1770 FORI=0TO7:R%(I)=U%(I):NEXT
1780 FORI=0TO7:POKEV+I*2,X(T%(I)):POKEV+1+2*I,Y(T%(I)):NEXT
1790 :
1800 :REM GAME START
1810 :
1820 POKEV+21,255
1830 X=25:Y=1:YY=7:GOSUB130
1840 O=8:R%(8)=8:YS(MN)=0:Z$(MN)="@"
1850 IFK5=0THENGOSUB600
1860 IFK5THENSYSSC+6,27,5,"<shift enable><orange><shift disable><white>🭸 <shift disable><black> 🭸♠╱🭸🭶🭼"
1870 GOSUB400
1880 FORI=0TO3:H$(I)="":NEXT
1890 FORI=0TO3
1900 IFM%(O,I)<0THENH$(I)=CHR$(191):GOTO1930
1910 H$(I)=CHR$(48+G%(R%(M%(O,I))))
1920 POKEV+39+R%(M%(O,I)),1
1930 NEXT
1940 IFK5=0THENGETA$:IFA$=""THEN1940
1950 IFK5=0THEN2110
1960 GETA$:IFA$="C"THEN2010
1970 A$=MID$(ZZ$(MN),KK,1):KK=KK+1
1980 IFKK<=LEN(ZZ$(MN))+1THEN2110
1990 SYSSC+6,27,5,"<shift enable><orange><shift disable><black>🭾🭻🭶♥♥ ♠ ╯🭶🭵"
2000 GETA$:IFA$=""THEN2000
2010 FORI=0TO8:R%(I)=RQ%(I):NEXT
2020 FORI=0TO8:IFR%(I)=8THEN2040
2030 POKEV+R%(I)*2,X(I):POKEV+1+R%(I)*2,Y(I)
2040 NEXT
2050 FORI=39TO46:POKEV+I,7:NEXT
2060 K5=0:YS(MN)=YQ:O=YO:GOSUB400
2070 GOTO1850
2080 :
2090 :REM SEE GOAL
2100 :
2110 IFA$<>CHR$(133)THEN2170
2120 FORI=39TO46:POKEV+I,7:NEXT
2130 GOSUB2780
2140 FORI=0TO8:IFR%(I)=8THEN2160
2150 POKEV+R%(I)*2,X(I):POKEV+1+R%(I)*2,Y(I)
2160 NEXT
2164 GOTO1850
2167 :
2168 :REM REPLAY BEST SCORE
2169 :
2170 IFA$<>CHR$(135)THEN2200
2180 K5=1:FORI=0TO8:RQ%(I)=R%(I):NEXT:YQ=YS(MN):YO=O
2190 GOTO1530
2200 IFA$=CHR$(136)THENGOSUB310:GOSUB220:GOTO1480:REM BACK TO MENU
2210 IFA$=CHR$(134)THENFORI=39TO46:POKEV+I,7:NEXT:GOTO1530:REM START OVER
2220 :
2230 :REM LEGAL KEY?
2240 :
2250 FORI=0TO3
2260 IFA$=H$(I)THENH=I:I=3:NEXT:GOTO2320
2270 NEXT
2280 GOTO1940
2290 :
2300 :REM MOVE BALL
2310 :
2320 POKEV+R%(M%(O,H))*2,X(O):POKEV+1+R%(M%(O,H))*2,Y(O)
2330 R%(O)=R%(M%(O,H)):R%(M%(O,H))=8:O=M%(O,H)
2340 FORI=39TO46:POKEV+I,7:NEXT
2350 IFK5THEN2420
2357 :
2358 :REM IS GAME OVER
2359 :
2360 IFO<>8THEN2420
2370 FORI=1TO7:IFR%(I)<>(8-I)THENI=7:NEXT:GOTO2390
2380 NEXT:GOTO2410
2390 FORI=1TO7:IFR%(I)<>ITHENI=7:NEXT:GOTO2420
2400 NEXT
2410 YS(MN)=YS(MN)+1:GOSUB460:Z$(MN)=Z$(MN)+A$:GOTO2540
2420 GOSUB3360
2430 IFK5THEN2470
2437 :
2438 :REM PROCESS A$
2439 :
2440 IFA$<>AA$THEN2470
2450 Z$(MN)=LEFT$(Z$(MN),LEN(Z$(MN))-1)
2460 YS(MN)=YS(MN)-1:GOSUB460:AA$="@":GOTO1870
2470 YS(MN)=YS(MN)+1:GOSUB460
2480 IFK5=0THENZ$(MN)=Z$(MN)+A$
2490 IFLEN(Z$(MN))>87THENZ$(MN)=LEFT$(Z$(MN),87)
2500 AA$=A$:GOTO1870
2510 :
2520 :REM WIN GAME
2530 :
2540 X=25:Y=1:YY=7:GOSUB130
2550 IFK5THENK5=0:GOTO2710
2560 YS$=STR$(YS(MN)):YS$=RIGHT$(YS$,LEN(YS$)-1)
2570 FORIQ=1TO6:GOSUB3360:NEXT
2580 SYSSC+6,26,3,"<shift enable><orange><shift disable><yellow> 🭵🭽╭ 🭷╮🭷 ╮🭰
2590 SYSSC+6,26,4,"╮╱ "
2600 FORI=1TOLEN(YS$):SYSSC+3,NN$(VAL(MID$(YS$,I,1))):NEXT
2610 SYSSC+3," ╲🭽╳🭶♥]
2620 IFYS(MN)>=BS(MN)THEN2690
2630 SYSSC+6,26,5,"🭰🭴♠🭰↑♥ ♠ ╱🭶○
2640 SYSSC+6,26,6,"🭲🭶♥🭰 ♥🭸🭽🭻🭶!
2650 SYSSC+6,26,8," ♥♠╳╮╱🭱]]]
2660 BS$(MN)=NM$:BS(MN)=YS(MN):ZZ$(MN)=Z$(MN)
2670 GOSUB710
2680 GOTO2710
2690 SYSSC+6,26,5,"🭰🭴♠🭰↑♥ ╱🭽🭰 ♠
2700 SYSSC+6,26,6," 🭲🭶♥🭰 ♥🭸🭽🭻🭶]
2710 POKEV+21,255:SYSSC+6,26,8,"<shift disable><black><shift enable><orange> 🭾🭻🭶♥♥ ♠ ╯🭶🭵
2720 GETA$:IFA$=""THEN2720
2730 GOSUB310:GOSUB220:GOTO1480
2740 :
2750 :REM STORY/GOAL
2760 :
2770 GOSUB2780:GOSUB220:GOTO1480
2780 FORI=1TO7:POKEV+16-I*2,X(I):POKEV+17-2*I,Y(I):NEXT:POKEV,X(0):POKEV+1,Y(0)
2790 POKEV+21,255
2800 SYSSC+3,"<shift disable><orange><shift enable><brown>"
2810 X=25:Y=1:YY=21:GOSUB130
2820 SYSSC+6,26,3,"<shift enable><orange><shift disable><yellow>○🭶🭼🭸🭽╲🭶 🭰🭽
2830 SYSSC+6,26,4,"🭰🭴🭶 ╲♠╱🭷♠🭼♠"
2840 SYSSC+6,26,5,"🭸🭴♠🭼🭼🭶╱🭱🭶]"
2850 SYSSC+6,26,7,"🭵🭽╭🭻 🭱🭽♠🭼 ╮♥"
2860 SYSSC+6,26,8,"🭰🭽 ╲♠╯🭶 🭰🭴🭶"
2870 SYSSC+6,26,9,"╲♠╱🭷♠🭼♠ 🭼🭽🭽╯"
2880 SYSSC+6,26,10,"🭼╮╯🭶 🭽╱🭶 🭽🭺"
2890 SYSSC+6,26,11,"🭰🭴🭶♥🭶 🭰○🭽 ╮╱"
2900 SYSSC+6,26,12,"♠♥ 🭺🭶○ ╲🭽╳🭶♥
2910 SYSSC+6,26,13,"♠♥ 🭾🭽♥♥╮🭲🭼🭶]
2920 SYSSC+6,26,15,"🭾🭻🭶♥♥ 🭽╱🭶 🭽🭺
2930 SYSSC+6,26,16,"🭰🭴🭶 🭼🭶🭰🭰🭶🭻♥
2940 SYSSC+6,26,17,"╱🭶♣🭰 🭰🭽 🭰🭴🭶
2950 SYSSC+6,26,18,"🭶╲🭾🭰🭵 ♥🭾♠🭸🭶
2960 SYSSC+6,26,19,"🭰🭽 ╲🭽╳🭶 ╮🭰]
2970 SYSSC+6,26,21,"<shift disable><black> 🭾🭻🭶♥♥ ♠ ╯🭶🭵
2980 SYSSC+6,10,9,"<shift enable><brown>🭽 🭻"
2982 POKE788,49:TI$="000000"
2990 FORI=0TO7:POKEV+I*2,X(I):POKEV+1+I*2,Y(I):NEXT
3000 GOTO3030
3010 FORI=1TO7:POKEV+16-I*2,X(I):POKEV+17-2*I,Y(I):NEXT:POKEV,X(0):POKEV+1,Y(0)
3020 TI$="000000"
3030 GETA$
3040 IFA$<>""THEN3100
3050 IFTI$<"000002"THEN3030
3060 TI$="000000":SYSSC+6,10,9,"<shift disable><black><shift enable><brown>🭽 🭻"
3070 A=1-A:IFATHEN2990
3080 SYSSC+6,10,9,"<shift disable><white>🭽 🭻"
3090 GOTO3010
3100 A$="":POKE198,0:POKE788,52:SYSSC+6,25,10,"<shift enable><black> "
3110 SYSSC+6,25,17," "
3120 SYSSC+6,10,9,"<shift enable><brown> "
3130 GOSUB310
3140 RETURN
3150 :
3160 :REM QUIT?
3170 :
3180 SYSSC+6,26,7,"<shift disable><black>●╭╮🭰? <shift disable><white>🭵<shift disable><black>🭶♥ <shift disable><white>╱<shift disable><black>🭽"
3190 GETA$:IFA$=""THEN3190
3200 IFA$="Y"THEN40000
3210 SYSSC+6,26,7,"<shift disable><white>"+"["+"<shift disable><yellow>"+" ●╭╮🭰 "
3220 GOTO1480
3230 :
3240 :REM GET NAME
3250 :
3260 SYSSC+6,27,3,"<shift enable><orange><shift disable><yellow>"+"<rev off>🭰🭴🭶 ╲♠╱🭷♠🭼♠"
3270 SYSSC+6,29,5,"🭻🭶●╭🭶♥🭰♥"
3280 SYSSC+6,28,7,"🭵🭽╭🭻 ╱♠╲🭶"
3290 X=26:Y=15:GOSUB3460
3300 IFQ9$=""THENQ9$="╱♠╲🭶🭼🭶♥♥"
3310 NM$=Q9$
3320 RETURN
3330 :
3340 :REM SOUND
3350 :
3360 S=54272
3370 POKES+1,160+INT(RND(0)*40)
3380 POKES+5,9:POKES+15,30:POKES+24,15
3390 POKES+4,21:FORI=0TO100:NEXT:POKES+4,20
3400 RETURN
3410 REM
3420 :
3430 :REM INPUT
3440 :
3450 REM
3460 Q9$="":POKE198,0:A=0
3470 SYSSC+6,X-1,Y,"<shift enable><orange><shift disable><white>"+"<cursor right>"
3480 FORI=0TO20
3490 GETA$:IFA$<>""THENI=20:NEXT:GOTO3530
3500 NEXT
3510 A=1-A:IFATHENSYSSC+3,"<shift disable><white>"+"<reverse on> <cursor left><rev off>":GOTO3480
3520 SYSSC+3,"<shift disable><orange>"+"<reverse on> <cursor left><rev off>":GOTO3480
3530 IFA$=CHR$(13)THENSYSSC+3," ":RETURN
3540 IF(A$=CHR$(20)ANDLEN(Q9$))THENQ9$=LEFT$(Q9$,LEN(Q9$)-1):GOTO3620
3550 IFLEN(Q9$)>=11THEN3480
3560 IFA$>="♠"ANDA$<="♦"THEN3600
3570 IFA$=" "OR(A$=>"0"ANDA$=<"9")THEN3600
3580 IFA$<"A"ORA$>"Z"THEN3480
3590 A$=CHR$(ASC(A$)+128)
3600 Q9$=Q9$+A$
3610 SYSSC+3,"<shift disable><white>"+A$:GOTO3480
3620 SYSSC+3," <cursor left><cursor left> <cursor left>":GOTO3480
3630 REM
3640 RETURN
10000 DV=PEEK(186):OPEN15,DV,15,"S0:MANDALA":CLOSE15:SAVE"MANDALA",DV:END
40000 POKEV+21,0:SYS51459:PRINT"<clr>":POKE788,49
40002 FORI=0TO21:POKE828+I,8+I:NEXT
40010 IFDV<8ORDV>29ORDV=8THEN40030
40020 A=PEEK(828):B=PEEK(828+DV-8):POKE828,B:POKE828+DV-8,A
40030 A$="HELLO CONNECT":FORJ=8TO29:I=PEEK(828+J-8):IFI=14THENNEXT
40040 CLOSE2:OPEN2,I,2:CLOSE2:IFSTTHEN40060
40050 CLOSE15:OPEN15,I,15,"R0:"+A$+"="+A$:INPUT#15,ER:CLOSE15:IFER=63THEN40070
40060 NEXT:PRINT"<clr>":POKE53272,23:POKE186,8:END
40070 Q$=CHR$(34):POKE646,PEEK(53281):PRINT"<clr>":POKE53272,23
40080 PRINT"<clr><cursor down><cursor down><cursor down>P🭽2048,0:P🭽44,8:P🭽43,1:P🭽56,160:P🭽55,0:CLR:L🭽"Q$A$Q$","I
40090 PRINT"<cursor down><cursor down><cursor down><cursor down>RUN:<home>":POKE631,13:POKE632,13:POKE198,2:END
�56,130:�55,0:�:�788,52 6 DV��(186):�DV�8�DV�8 L �53281,0:�53280,0 ]( �"�":�3630 �2 �57812"MANDALA FONT",DV,0:�780,0:�781,0:�782,8:�65493 �<