home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Loadstar 229
/
229.d81
/
joytest
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-08-26
|
5KB
|
226 lines
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 <fire> 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