97 : 98 :REM PROTECT SPRITE DATA LOCATION 99 : 100 POKE52,62:POKE56,62:CLR:POKE53281,0:POKE53280,2:PRINT"[147]": 107 DV=PEEK(186):IFDV<8THENDV=8 108 :REM LOAD SPRITE DATA INTO $3VAL00 109 : 110 SYS57812"SEMINAR.SPR",DV,0:POKE780,0:POKE781,0:POKE782,62:SYS65493 117 : 118 :REM SET SPRITE POINTERS 119 : 120 FORI=0TO3:POKE2040+I,248+I:NEXT 127 : 128 :REM DECLARE VARIABLES FOR SPRITES 129 : 130 V=53248:R=V+16:P=V+30:Q=V+31:I=PEEK(P):I=PEEK(Q) 147 : 148 :REM SET SPRITE COLORS 149 : 150 POKEV+39,1:POKEV+40,2 160 POKEV+40,3:POKEV+41,4 167 : 168 :REM SET MULTI-COLOR SPRITE COLORS 169 : 170 POKEV+37,7:POKEV+38,9 180 POKEV+28,12 187 : 188 :REM POSITION SPRITES 189 : 190 FORI=0TO3:POKEV+I*2,160:POKEV+1+I*2,70+I*30:NEXT 197 : 198 :REM TURN ON SPRITES 0, 1, 2 AND 3 199 : 200 POKEV+21,15 207 : 208 :REM PRINT MESSAGES 209 : 210 PRINT"[154] [208]RESS [209][154] TO QUIT TO [204][207][193][196][211][212][193][210]" 220 POKE214,20:PRINT:PRINT"[208]ICK A SPRITE BY PRESSING 0[154], 1[154], 2 [154]OR 3[154]." 230 PRINT" " 240 PRINT" [145][145][145]" 247 : 248 :REM CHOOSE SPRITES 249 : 250 GETA$:IFA$="Q"THEN570 260 IFA$<"0"ORA$>"3"THEN250 270 U=VAL(A$):W=2^U 280 X=PEEK(V+2*U):Y=PEEK(V+1+2*U) 287 : 288 :REM MORE MESSAGES 290 PRINT" [206]OW MOVE IT WITH THE [195][210][211][210] [154]KEYS. " 300 PRINT" [216][154] AND [217][154] WILL TOGGLE EXPANSION. " 310 PRINT" [208]RESS [211][208][193][195][197][154] TO CHOOSE ANOTHER SPRITE. " 317 : 318 :REM MOVE LOOP 319 : 320 GETA$ 330 IFA$=" "THEN200:CHOOSE ANOTHER SPR 340 IFA$<>"[145]"THEN370:CURSOR UP 350 Y=Y-1:IFY<50THENY=50 360 GOTO460 370 IFA$<>""THEN400:CURSOR DOWN 380 Y=Y+1:IFY>229THENY=229 390 GOTO460 400 IFA$<>""THEN430:CURSOR RIGHT 410 X=X+1:IFX>320THENX=320 420 GOTO450 430 IFA$<>"[157]"THEN500:CURSOR LEFT 440 X=X-1:IFX<24THENX=24:GOTO320 447 : 448 :REM MOVE SPRITES 449 : 450 POKER,PEEK(R)AND(255-W)ORW*INT(X/256):REM SET V+16 (R = V+16) FOR SEAM 460 POKEV+U*2,XAND255:POKEV+1+U*2,Y:REM SPRITE POSITION 470 IFPEEK(P)ANDWTHENPOKE53280,1:POKE53280,2:REM SPR TO SPR COLLISION 480 IFPEEK(Q)ANDWTHENPOKE53281,1:POKE53281,0:REM SPR TO BACKGROUND COLLISION 490 GOTO320 497 : 498 :REM X EXPANSION 499 : 500 IFA$<>"X"THEN530 510 IFPEEK(V+29)ANDWTHENPOKEV+29,PEEK(V+29)AND(255-W):GOTO320 520 POKEV+29,PEEK(V+29)ORW:GOTO320 527 : 528 :REM Y EXPANSION 529 : 530 IFA$<>"Y"THEN560:Y EXPANSION 540 IFPEEK(V+23)ANDWTHENPOKEV+23,PEEK(V+23)AND(255-W):GOTO320 550 POKEV+23,PEEK(V+23)ORW:GOTO320 560 IFA$<>"Q"THEN320:QUIT 567 : 568 :REM RETURN TO LOADSTAR 569 : 570 POKEV+21,0:GOTO40000 10000 OPEN15,8,15,"S0:BYTES":CLOSE15:SAVE"BYTES",8:END 40000 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"[147]":POKE53272,23:POKE186,8:POKE2048,0:POKE44,8:POKE44,1:END 40070 Q$=CHR$(34):POKE646,PEEK(53281):PRINT"[147]":POKE53272,23 40080 PRINT"[147]P[207]2048,0:P[207]44,8:P[207]43,1:P[207]56,160:P[207]55,0:CLR:L[207]"Q$A$Q$","I 40090 PRINT"RUN:":POKE631,13:POKE632,13:POKE198,2:END