10 REM---WRAPAROUND-T. BRANTNER 20 PRINTCHR$(8)CHR$(142) 30 FORA=0TO62:POKE832+A,0:READZ:POKE896+A,Z:NEXT 40 FORA=5TO12:POKE833+A*3,255:NEXT:CLR 50 SP$="":TT$="WRAPAROUND":BL$=" [170][157][157][157] [170][157][157][157][175][175][186]" 60 TC=646:V=53248:S1=54272:S2=S1+7:J2=56320:Z=RND(-TI) 70 GOSUB640:POKEV+39,1:POKEV+21,1:R=0:C=0 80 REM---MOVE CURSOR 90 POKE2040,13 100 POKEV+1,84+R*24:POKEV,23+LE*8+C*24 110 IFPEEK(203)=3THEN320 120 JS=PEEK(J2):IF(JSAND16)=0THENGOSUB620:GOTO190 130 JS=JSAND15:IFJS=14ANDRTHENR=R-1 140 IFJS=13ANDRMP$THEN200 280 REM---PUZZLE SOLVED 290 POKES1+4,17 300 FORA=1TO4:FORZ=12TO0STEP-1:POKE53280,Z:POKES1+1,Z*5:FORAA=0TOZ*3:NEXT 310 NEXT:NEXT:POKES1+4,16 320 POKEV+21,0 330 CY=8+NR*3:CX=13:IFSP$=MP$THENCX=5:GOSUB380:PRINT"[158]PUZZLE SOLVED...":CX=21 340 GOSUB380:PRINT"[158]TRY ANOTHER? ";:A$="YN":GOSUB930 350 IFAN=1THENRUN50 360 SYS2048 370 REM---PLOT 380 POKE214,CY-1:PRINT:PRINTTAB(CX);:RETURN 390 REM---SHIFT UP 400 Z=PEEK(SP+C):FORA=1TONR:POKESP+(A-1)*CN+C,PEEK(SP+A*CN+C):NEXT 410 POKESP+NR*CN+C,Z:RETURN 420 REM---SHIFT DOWN 430 Z=PEEK(SP+NR*CN+C) 440 FORA=NR-1TO0STEP-1:POKESP+(A+1)*CN+C,PEEK(SP+A*CN+C):NEXT 450 POKESP+C,Z:RETURN 460 REM---SHIFT LEFT 470 Z=PEEK(SP+R*CN):FORA=1TONC:POKESP+R*CN+A-1,PEEK(SP+R*CN+A):NEXT 480 POKESP+R*CN+NC,Z:RETURN 490 REM---SHIFT RIGHT 500 Z=PEEK(SP+R*CN+NC) 510 FORA=NC-1TO0STEP-1:POKESP+R*CN+A+1,PEEK(SP+R*CN+A):NEXT 520 POKESP+R*CN,Z:RETURN 530 REM---PRINT ROW 540 CY=4+R*3:CX=LE:GOSUB380 550 FORA=0TONC:POKETC,PEEK(SP+R*CN+A):PRINTBL$"[145][145]";:NEXT 560 RETURN 570 REM---PRINT COLUMN 580 CY=4:CX=LE+C*3:GOSUB380 590 FORA=0TONR:POKETC,PEEK(SP+A*CN+C):PRINTBL$"[157][157][157]";:NEXT 600 RETURN 610 REM---BEEP 620 POKES1+1,30:POKES1+4,17:FORA=1TO200:NEXT:POKES1+4,16:WAITJ2,16:RETURN 630 REM---INITIALIZE 640 FORA=S1TOS1+23:POKEA,0:NEXT 650 POKES1+5,8:POKES1+6,240 660 POKES2+1,80:POKES2+5,2:POKES1+24,15 670 POKE53280,0:POKE53281,0:GOSUB890 680 POKE214,3:PRINT:PRINTTAB(10)"[154]NUMBER OF ROWS "; 690 A$="3456":GOSUB930:NR=AN+1 700 PRINT:PRINTTAB(10)"[158]NUMBER OF COLUMNS "; 710 GOSUB930:NC=AN+1:CN=AN+2 720 PRINT:PRINTTAB(10)"HOW MANY COLORS? ";:A$="23456":GOSUB930:CO=AN+2 730 REM---SCREEN 740 Z=2:FORA=1TO(NR+1)*(NC+1):SP$=SP$+CHR$(Z):Z=Z+1:IFZ>COTHENZ=2 750 NEXT 760 A=PEEK(45)+256*PEEK(46):SP=PEEK(A+3)+256*PEEK(A+4) 770 GOSUB890:LE=21:GOSUB830:MP$=SP$ 780 LE=16-NC*3:GOSUB830 790 CY=8+NR*3:CX=15:GOSUB380:PRINT"[158]F7 TO QUIT" 800 CY=2:CX=14:GOSUB380:PRINT"[154]MOVES "RIGHT$("0000"+MID$(STR$(MN),2),5) 810 RETURN 820 REM---SCRAMBLE PATTERN 830 FORA=0TOLEN(SP$)-1 840 Z=INT(RND(1)*LEN(SP$)) 850 AA=PEEK(SP+A):POKESP+A,PEEK(SP+Z):POKESP+Z,AA 860 NEXT 870 FORR=0TONR:GOSUB540:NEXT:RETURN 880 REM---TITLE 890 PRINT"[147]"TAB(10); 900 FORA=1TOLEN(TT$):POKETC,RND(1)*6+2:PRINTMID$(TT$,A,1)"[170]";:NEXT 910 PRINT:RETURN 920 REM---JOYSTICK INPUT 930 AN=1:POKETC,1 940 PRINT" [157]";:FORA=1TO80:NEXT:PRINTMID$(A$,AN,1)"[157]";:FORA=1TO80:NEXT 950 JS=PEEK(J2):IF(JSAND16)=0THENPRINT:GOSUB620:RETURN 960 JS=JSAND15 970 IFJS=14ANDAN>1THENAN=AN-1 980 IFJS=13ANDAN