1 MAXFILES=1:CLEAR99,HIMEM-233:CLEAR:OPEN"pats"FORAPPENDAS1:DEFINTA-Z:CLS:PRINT@41,"Loading program":A=HIMEM-2^16:FORI=213TO0STEP-1:PRINT@56,I:READX:S!=S!+X:IFX>255THENX!=X-256+HIMEM:H=X!/256:POKEA,X!-256*H:X=H:A=A+1 2 POKEA,X:A=A+1:NEXT:IFS!<>33121THENBEEP:PRINT"Checksum wrong: aborted":CLEAR9,HIMEM+233:END 3 CLS:DIMM(2) 4 PRINT"Display,Input,Quit,Random,Save? "CHR$(8);:I$=INPUT$(1):PRINTI$:I=INSTR("dDiIqQrRsS",I$):IFITHENON(I+1)\2GOSUB14,9,17,6,15ELSEBEEP 5 GOTO4 6 FORI=1TOVAL(RIGHT$(TIME$,2)):X=RND(1):NEXT:Y=RND(1)*32+33:M1=121\Y+1:M2=240\Y:M=RND(1)*(M2-M1+1)+M1 7 X=M*Y+RND(1)*17-8:IFX>240ORX<121THEN7 8 XU=X-1:YU=Y-1:X=RND(1)*(XU+1):Y=RND(1)*(YU+1):GOTO13 9 INPUT"Max x value (1-239)";XU:IFXU<1ORXU>239THENBEEP:GOTO9 10 INPUT"Max y value (1-63)";YU:IFYU<1ORYU>63THENBEEP:GOTO10 11 PRINT"Start x at (0-"MID$(STR$(XU),2);:INPUT")";X:IFX<0ORX>XUTHENBEEP:GOTO11 12 PRINT"Start y at (0-"MID$(STR$(YU),2);:INPUT")";Y:IFY<0ORY>YUTHENBEEP:GOTO12 13 M(0)=257:M(1)=X+256*Y:M(2)=XU+256*YU+257:CLS:CALLHIMEM,0,VARPTR(M(0)):RETURN 14 GOSUB16:PRINT"Current values "I$:RETURN 15 GOSUB16:PRINT#1,I$:PRINT"Saved "I$:RETURN 16 I$=MID$(STR$(XU),2)+"/"+MID$(STR$(YU),2)+"/"+MID$(STR$(X),2)+"/"+MID$(STR$(Y),2):RETURN 17 CLEAR0,HIMEM+233:MENU 18 DATA70,35,78,35,86,35,94,35,126,35,110,103,197,58,488,14,1,13,194,274,61,194,274,193,205,320,205,320,122,128,188,218,299,175,144,71,130,87,123,129,189,218,310,175,145,79,131,95,205,427,210,268,195,131,114,197,229,205,92,118,1,50,0,122,4,145 19 DATA210,329,5,129,79,205,357,62,63,147,95,205,357,62,239,146,87,62,9,48,225,193,201,197,123,254,32,62,5,210,367,175,128,135,198,67,111,38,118,205,59,117,123,7,7,7,230,192,177,79,205,72,117,211,254,205,72,117,219,255,205,72,117,219,255,71,123 20 DATA230,7,135,198,67,111,38,118,126,168,71,205,72,117,121,211,254,205,72,117,120,211,255,193,201,197,213,229,33,484,229,205,66,114,200,254,27,55,200,254,115,194,463,205,66,114,202,447,254,27,55,200,254,115,194,447,201,254,49,63,208,47,198,58 21 DATA208,71,62,0,23,5,242,474,50,488,175,225,225,209,193,201,8