10 CLR 20 PRINT"[147]":POKE53280,3:POKE53281,3 30 POKE53272,20 100 AD=4096:SI=128:REM SPRITE IMAGE 110 SYSAD+3 120 REM :::: IRQ OFF TO RESET ::: 130 SYS AD+3 199 REM 200 REM :::: TURN ON IRQ ::: 201 REM 202 SYS AD 203 REM :::: CLEAR SPRITE MOVE ::: 204 SYS AD+21,1,0,0,0 205 REM 999 REM :::: TURN ON SPRITE 1 ::: 1000 REM:::: SET SPRITE POINTER ::: 1001 REM:::: NOT NECESSARY FOR ::: 1002 REM:::: DEFAULT SCREEN ::: 1003 REM 1005 SYS AD+6, 2040 1006 REM 1008 REM:::: CHOOSE SPRITE IMAGE :: 1009 REM 1010 SYS AD+9,1,SI+15 1011 REM 1013 REM:::: SET SPRITE ATTRIBS :: 1014 REM 1015 SP = 1 :REM SPRITE NUMBER 1016 CO = 0 :REM SPRITE COLOR=BLACK 1017 MC = 0 :REM MULTI-COLOR=OFF 1018 XY = 3 :REM X/Y EXPAND=ON 1019 PR = 0 :REM PRIORITY=0FF 1020 SYS AD+12,SP,CO,MC,XY,PR 1021 REM 1023 REM:::: POSITION SPRITE ::: 1024 REM 1025 SYS AD+15,1,150,100 1026 REM 1028 REM:::: TURN IT ON ::: 1029 REM 1030 SYS AD+18,1,1 1031 REM 1033 REM:::: MOVE HIM RIGHT ::: 1034 REM 1035 SYS AD+21,1,1,0,1 1036 REM 1038 REM:::: TIME FOR 1 SEC ::: 1039 REM 1040 SYS AD+54,0,60 1041 REM 1043 REM:::: START TIMER ::: 1044 REM 1045 SYS AD+57,0 1046 REM 1048 REM:::: WATCH FOR TIME ::: 1049 REM 1050 IF T%=0 THEN 1050 1051 REM 1053 REM:::: REVERSE MOVE ::: 1054 REM 1055 SYS AD+21,1,256-1,0,1 1056 REM 1058 REM:::: AND TIME IT ::: 1059 REM 1060 SYS AD+54,0,60:SYS AD+57,0 1061 IF T%=0 THEN 1061 1063 REM:::: STOP SPRITE AND TIMER 1064 REM 1065 SYS AD+21,1,0,0,0:SYSAD+63,0 1066 REM 1068 REM:::: SET UP ANIMATION ::: 1069 REM 1070 S=20 :REM STILL 1071 F=21 :REM FIRST 1072 L=25 :REM LAST 1073 SK=15:REM SKIP JIFFIES 1074 T=5 :REM DO T TIMES 1075 SYS AD+33,1,SI+S,SI+F,SI+L,SK,T 1076 REM 1078 REM:::: AND TURN IT ON ::: 1079 REM 1080 SYS AD+36,1,1 1081 REM 1083 REM:::: WATCH ANI ON AO% ::: 1084 REM 1085 SYS AD+39,1 1086 IF AO%=1 THEN 1085 1087 REM 1088 REM:::: TURN ANIMATE OFF ::: 1089 REM 1090 SYS AD+36,1,0 1091 REM 1093 REM:::: NOW PUT THEM TOGETHER: 1094 REM ANIMATION SET 1095 SYS AD+33,1,SI+6,SI+7,SI+10,15,3 1096 REM ANIMATION ON 1097 SYS AD+36,1,1 1098 REM MOVE SPRITE 1099 SYS AD+21,1,256-1,0,2 1100 REM UNTIL 1101 SYS AD+39,1:IFAO%=1THEN1101 1102 REM TURN OFF ANI AND MOVE 1103 SYS AD+36,1,0:SYS AD+21,1,0,0,1 1107 REM 1108 REM TURN OFF SPRITE 1109 REM 1110 SYS AD+18,1,0:SYS AD+36,1,0 1200 PRINT" CHECK OUT THE JOYSTICK 1210 [153]" JOYSTICK DIRECTION:"J% 1220 [153]" (PRESS TO QUIT) 1230 IF F% = 0 THEN1200 1240 PRINT" ":PRINT" " 1300 REM 1301 REM::::SET UP JOYSPR DIR 0 : 1302 REM 1303 SYS AD+42,0,SI,SI,1,SI,SI,1,1 1310 REM 1311 REM::::SET UP JOYSPR DIR 1 : 1312 REM 1313 SYS AD+42,1,SI+13,SI+14,10,SI+11,SI+12,4,4 1331 REM::::SET UP JOYSPR DIR 3 : 1332 REM 1333 SYS AD+42,3,SI+1,SI+1,1,SI+2,SI+5,4,4 1350 REM 1351 REM::::SET UP JOYSPR DIR 5 : 1352 REM 1353 SYS AD+42,5,SI+13,SI+14,10,SI+11,SI+12,4,4 1371 REM::::SET UP JOYSPR DIR 7 : 1372 REM 1373 SYS AD+42,7,SI+6,SI+6,1,SI+7,SI+10,4,4 1390 REM 1391 REM::::SET OK DIRECTIONS :: 1392 REM 1393 SYS AD+45,1+4+16+64 1394 REM 1395 REM:::: TURN ON JOYSPRITE :: 1396 REM 1397 SYS AD+48,1,1:SYS AD+18,1,1 1398 FORX=0TO1:X=F%:NEXT 1399 SYS AD+48,1,0:SYS AD+18,1,0 1500 PRINT"[147] TIMER GOSUB TEST 1501 [158]AD[170]63,0 :[143] CLEAR TIMER0 1502 [158]AD[170]69,5000,1:[143] TGOSUB5000 1503 [158]AD[170]54,0,60:[143] SET TIMER0 1504 [158]AD[170]57,0 1510 [129]X[178]1[164]60:[153]X;:[129]Y[178]1[164]120:[130]:[130] 1512 [158]AD[170]60,0:[158]AD[170]63,0:[143] STOP 1513 [158]AD[170]63,0 :[143] CLEAR TIMER 1514 [158]AD[170]69,5000,0 :[143] STOP GOSUB 1600 [153]"LOAD FIRE GOSUB TEST 1602 SYSAD+72,5100,1 1610 FORX=1TO20:POKE214,6:PRINT:PRINTTAB(X)"*";:NEXT 1620 FORX=20TO1STEP-1:POKE214,6:PRINT:PRINTTAB(X)"* ";:NEXT 1630 IFFI<5THEN1610 1699 SYSAD+69,5100,0:REM STOP GOSUB 1700 PRINT"[147] SPRITE-SPRITE COLLISION GOSUB 1701 [151]53280,0:[151]53281,0 1710 [158]AD[170]9,0,SI[170]20 1712 [158]AD[170]12,0,1,0,3,0 1714 [158]AD[170]15,0,200,150 1716 [158]AD[170]18,0,1 1720 [158]AD[170]33,0,SI[170]20,SI[170]21,SI[170]25,15,0 1722 [158]AD[170]36,0,1 1730 [158]AD[170]15,1,100,100 :[143]STOP 1731 [158]AD[170]12,1,7,0,3,0 1732 [158]AD[170]18,1,1 :[143]STOP 1734 [158]AD[170]48,1,1 :[143]STOP 1740 [158]AD[170]75,1,5200,1 1750 [158]AD[170]24,1:[139]I%[167]1750 1755 [129]X[178]1[164]1000:[130] 1760 [158]AD[170]75,1,5200,0 1762 [158]AD[170]18,0,0 1764 [158]AD[170]36,0,0 1800 [153]"LOAD":[151]214,7:[153]:[153][163]09)"USE JOYSPRITE IN YOUR 1810 PRINTTAB(14)"[176][192][174][178] [178][176][174][178] 1811 [153][163]14)"(null) (null)(null) = (null)(null)/< 1812 PRINTTAB(14)"[173][192][189][173][192][177][192][189][177] [177] 1813 [153][163]07)"ORTAN^ORTAN^ORTAN^ORTAN^ORTAN^ORTAN^ORTAN=TAN^ORTAN^ 1814 PRINTTAB(07)"[171][192][189][171][178][189][221] [221][221] [174][171][178][189][171][192][179][221] [177] [221][173][192][174] 1815 [153][163]07)"> >/EXP/TANEXP/TANEXP>/EXP> >> >/TANEXP 1820 PRINT:PRINT:PRINTTAB(13)"1. RUN AGAIN" 1821 PRINTTAB(13)"2. QUIT" 1830 POKE198,0:WAIT198,1:GETZ$ 1831 PRINT"[144]";: 1832 IFZ$="1"THEN1900 1834 GOTO2000 1900 A$="B.JOYTEST":D=PEEK(186):POKE646,PEEK(53281) 1901 PRINT"LOADA$,D":PRINT"RUN:" 1902 POKE198,2:POKE631,13:POKE632,13 1903 SYSAD+3 1904 END 2000 SYSAD+3:PRINT"[147]":GOTO40000 2001 GOTO1901 4998 SYS4099 :REM TURN OFF IRQ 4999 END 5000 PRINT:PRINT"PING" 5008 SYSAD+54,0,60:REM RESET TIMER0 5009 SYSAD+57,0:REM START TIMER 5010 SYSAD+78:REM TURN GOSUB BACK ON 5099 RETURN 5100 POKE53281,(PEEK(53281)+1)AND15 5101 IFF%<>0THEN5101 5102 FI=FI+1 5190 SYSAD+78 5199 RETURN 5200 SYSAD+48,1,0 5210 FORX=15TO19 5212 SYSAD+9,1,SI+X:FORY=1TO100:NEXT:NEXT 5214 SYSAD+18,1,0:SYSAD+9,1,0 5216 RETURN 9998 SYS4099 9999 END 10000 SYS4099:POKE53269,0 10001 D=PEEK(186):OPEN1,D,15,"I0":N$="JOYTEST" 10002 PRINT#1,"S0:X"+N$:PRINT#1,"R0:X"+N$+"="+N$:CLOSE1:SAVEN$,D: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: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