Advertisement
zamzara

Gunship for C64 BASIC listing - pre-game setup

Mar 9th, 2019
968
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. 1 poke 56333,127 : poke 808,234 : poke 792,193
  3. 2 poke 52,116 : poke 56,116 : clr : print "[wht]"chr$(8); : of=53265
  4. 3 for i=.to 63 : cl$=cl$+chr$(.) : next : goto 691
  5. 4 cz=peek(53280) and 15 : cz=-12*(.cz<>12)-11*(cz<>11) : poke 53280,cz : poke 53281,cz
  6. 5 return
  7. 6 poke 55822,i : poke 55862,i : poke 55902,i : return
  8. 7 poke 55942,i : poke 55982,i : return
  9. 8 i=. : for j=6to 121 : if (peek(et+j) and 47)=38then h%(i)=j : i=i+1 : gosub 4
  10. 9 next : j=h%(int(rnd(0)*i)) : return
  11. 10 gosub 11 : print i$; : return
  12. 11 i$=left$("000000",sd+1-len(str$(v)))+right$(str$(v),len(str$(v))-1) : return
  13. 12 if fu+i>376then i=376-fu
  14. 13 if fu+i<.then i=fu
  15. 14 j=cw : j=j+6.5*i : if  j>mx then  22
  16. 15 fu=fu+i : cw=j : poke  214,14 : print  : poke 211,23
  17. 16 sd=4 : v=fu : gosub 10 : z=22-int(fu/16.3) : u=12-int(fu/28.9)
  18. 17 if z>.then poke 51080+z,.
  19. 18 if z<22then poke 51082+z,255
  20. 19 if u>.then poke 51060+u,.
  21. 20 if u<12then poke 51062+u,255
  22. 21 goto 25
  23. 22 poke 214,18 : print "[red]" : poke 211,30
  24. 23 v=cw : sd=5 : gosub 10
  25. 24 for i=1to 100 : next
  26. 25 poke 214,18 : print "[cya]" : poke 211,30
  27. 26 v=cw : sd=5 : goto 10
  28. 27 j=cw : j=j+i*26 : if j>mxthen  22
  29. 28 rn=rn+i : cw=j : i=rn*20 : poke  214,13 : print  : poke 211,23
  30. 29 v=i : sd=4 : gosub 10 : print  : goto 25
  31. 30 if (i<>.) and (i<>4)then return
  32. 31 j=cw-w%(s1)+w%(i) : if j>mxthen  22
  33. 32 u=s1 : s1=i : cw=j : poke sp+2,225+s1 : poke sp+7,225+s1 : poke 53289,c%(s1)
  34. 33 poke 53294,c%(s1) : gosub 25
  35. 34 wp%(u)=wp%(u)-1 : wp%(i)=wp%(i)+1
  36. 35 if u>.then j=u : gosub 38
  37. 36 if i>.then j=i : gosub 38
  38. 37 return
  39. 38 z=wp%(j)*wc%(j) : poke 214,12+j : print  : poke 211,37
  40. 39 v=z : sd=2 : goto 10
  41. 40 j=cw-w%(s2)+w%(i) : if j>mxthen 22
  42. 41 u=s2 : s2=i : cw=j : poke sp+3,225+s2 : poke sp+6,225+s2 : poke 53290,c%(s2)
  43. 42 poke 53293,c%(s2) : gosub 25 : goto 34
  44. 43 j=cw-w%(s3)+w%(i) : if j>mxthen 22
  45. 44 u=s3 : s3=i : cw=j : poke sp+4,225+s3 : poke sp+5,225+s3 : poke 53291,c%(s3)
  46. 45 poke 53292,c%(s3) : gosub 25 : goto 34
  47. 46 j=cw-ch*20+i*20 : if j>mxthen 22
  48. 47 cw=j : ch=i
  49. 48 i=8 : if ch=1then i=15
  50. 49 gosub 6 : goto 54
  51. 50 j=cw-fr*20+i*20 : if j>mxthen 22
  52. 51 cw=j : fr=i
  53. 52 i=8 : if fr=1then i=10
  54. 53 gosub 7
  55. 54 poke 214,15 : print  : poke 211,23 : i=ch*30
  56. 55 v=i : sd=4 : gosub 10 : print  : poke 211,23 : i=fr*30 : v=i : gosub 10 : goto 25
  57. 56 i=peek(mb+i*12+1) : j=int((peek(eh+i)+8)/16-1) : gosub 58 : i$=a$+"-"
  58. 57 j=int((peek(ey+i)+8)/16-1) : gosub 58 : i$=i$+a$ : return
  59. 58 a$=left$("00",3-len(str$(j)))+right$(str$(j),len(str$(j))-1) : return
  60. 59 i=peek(mb+(i-1)*12) : if i=1then print "at"; : return
  61. 60 print "in the vicinity of"; : return
  62. 61 poke 53269,. : open 15,8,15 : open 2,8,2,"#1" : for i=.to 3 : print#15,"u1";2;.;1;i+1
  63. 62 print#15,"b-p";2;. : poke a0,. : poke a1,140+i : sys ke+69 : next : close 2 : close 15
  64. 63 sys 65484 : goto 69
  65. 64 sys ke+66 : for i=.to 3 : poke (140+i)*256,1 : poke (140+i)*256+1,i+2 : next
  66. 65 poke 142*256+192,cp : poke 53269,.
  67. 66 open 15,8,15 : open 2,8,2,"#1" : for i=.to 3 : print#15,"b-p";2;.
  68. 67 poke a0,. : poke a1,140+i : sys ke+72 : print#15,"u2";2;.;1;i+1 : next : close 2 : close 15
  69. 68 sys 65484
  70. 69 open 15,8,15,"i0 : " : close 15 : return
  71. 70 if un=.then i$="[grn]Very Low " : i=. : goto  82
  72. 71 i=fl+ln+wt : if i=2then i=1
  73. 72 i=i+un+(2-qu)+sf*2-(sf=2)+1
  74. 73 on igosub 75,75,75,76,76,77,77,78,78,79,79,80,80,81,81
  75. 74 goto 82
  76. 75 i$="[grn]Very Low " : return
  77. 76 i$="[grn]Low      " : return
  78. 77 i$="[blu]Moderate " : return
  79. 78 i$="[blu]High     " : return
  80. 79 i$="[pur]Very High" : return
  81. 80 i$="[pur]Extreme  " : return
  82. 81 i$="[red]Ultimate " : return
  83. 82 print i$; : return
  84. 83 l=20 : f$="" : m=0 : poke 211,x : for i=1to l : print "-"; : next : print "<"; : poke 211,x
  85. 84 print "┤[lf]";
  86. 85 get ky$ : if ky$=""then 85
  87. 86 a$="-" : if m=lthen a$="<"
  88. 87 if ky$=chr$(13)then print a$; : return
  89. 88 if ky$<>chr$(20)then 91
  90. 89 if m=0then 85
  91. 90 print "[lf]┤"a$"[lf][lf]"; : m=m-1 : f$=left$(f$,len(f$)-1)
  92. 91 if ky$="[clr]"then 83
  93. 92 if ky$=" "then if m<lthen print "-┤[lf]"; : goto 98
  94. 93 if asc(ky$)>192 and asc(ky$)<219then 96
  95. 94 if asc(ky$)<32 or asc(ky$)>95then 85
  96. 95 if ky$=chr$(34)then 85
  97. 96 if m=lthen 85
  98. 97 print ky$"┤[lf]";
  99. 98 f$=f$+ky$ : m=m+1 : goto 85
  100. 99 print "[blu] ";
  101. 100 i=asc(mid$(rs$(p),21,1)) : gosub 311 : print i$;
  102. 101 print  "  ";left$(rs$(p),20);
  103. 102 poke 211,28 : i=p : gosub  312 : v=sc : gosub 122 : print " pts." : j=p : gosub 110
  104. 103 print  "                                      "; : poke 211,3 : print "[red]"dc$
  105. 104 return
  106. 105 i$=n$+left$(cl$,20-len(n$)) : i$=i$+chr$(r) : v=sc : gosub 125
  107. 106 i$=i$+chr$(lo)+chr$(hi) : i$=i$+mid$(rs$(cp),24,17) : i$=i$+chr$(fl)+chr$(ln)
  108. 107 i$=i$+chr$(wt)+chr$(qu)+chr$(un)+chr$(sf)
  109. 108 print "[clr][wht][dn][dn][dn][dn][dn][dn][dn][dn][dn][dn][dn][dn]            Please Stand By"
  110. 109 i$=i$+cl$ : rs$(cp)=left$(i$,64) : return
  111. 110 v=asc(mid$(rs$(j),47,1)) : dc$="" : if vthen dc$=mid$("KIAMIA",v*3-2,3)
  112. 111 m=0 : for  i=12 to  0 step  -1
  113. 112 a=asc(mid$(rs$(j),24+i,1)) : if a=0then  118
  114. 113 m=m+1 : i$=mid$(m$,i*5+1,5) : j$=" "
  115. 114 for  x=1 to  5 : if mid$(i$,x,1)<>" "then j$=j$+mid$(i$,x,1)
  116. 115 next : j$=j$+"[dgrey]" : if a>1then j$=j$+right$(str$(a),len(str$(a))-1)
  117. 116 j1$=dc$+j$ : if  len(j1$)-m*2>35 then  i=-1 : goto  118
  118. 117 dc$=j1$
  119. 118 next : j$="" : j1$="" : return
  120. 119 v=f : gosub 125 : poke a0,lo : poke a1,hi : v=t : gosub 125 : poke a2,lo : poke a3,hi
  121. 120 v=l : gosub 125 : poke a4,lo : poke a5,hi : sys ke+48 : return
  122. 121 f=bf+mp*512+en*256 : l=256 : goto 119
  123. 122 i$=str$(v*10) : if left$(i$,1)=" "then print right$(i$,len(i$)-1); : return
  124. 123 print i$; : return
  125. 124 v=asc(mid$(rs$(cp),i+1,1)) : return
  126. 125 if v<0then v=65536+v
  127. 126 hi=int(v/256) : lo=v-hi*256 : return
  128. 127 gosub 125 : poke db+i*2,lo : poke db+i*2+1,hi : i=i+1 : return
  129. 128 rem
  130. 129 goto 145 : poke a0,0 : sys ke+60
  131. 130 print "[blk][clr]" : poke 214,14 : print
  132. 131 qq=int(rnd(0)*20)+1 : f$="i"+right$(str$(qq),len(str$(qq))-1)
  133. 132 gosub 681
  134. 133 for i=1to 10 : read f$ : poke 211,1 : print "[or]▌▔[blk] "f$; : read f$
  135. 134 poke 211,21 : print "[or]▌▔[blk] "f$;
  136. 135 if i<>10then  print
  137. 136 next
  138. 137 poke 214,10 : print  : print "[wht]                                        ";
  139. 138 print "[blk] Use joystick to select identification,"
  140. 139 print "      then press the fire button : "
  141. 140 poke ke+554,15*4 : poke of,0
  142. 141 sys ke+12 : sys ke+39
  143. 142 ss=1 : gosub 674
  144. 143 poke a1,sm : sys ke : op=peek(a0)
  145. 144 if op<>(qq-1)then 149
  146. 145 poke of,0 : sys ke+12 : gosub 675 : gosub 673
  147. 146 cp=asc(mid$(rs$(8),1,1)) : if cp=11then cp=0 : goto 267
  148. 147 j=cp : gosub 110 : gosub 299 : i=46 : gosub 124 : if vthen 267
  149. 148 goto 185
  150. 149 poke of,0 : sys ke+12 : gosub 675
  151. 150 print "[clr][red][dn][dn][dn][dn][dn][dn][dn][dn][dn][dn]    INCORRECT VEHICLE IDENTIFICATION[dn][blk]"
  152. 151 print "          You are assigned to"
  153. 152 print "          Training in the USA"
  154. 153 gosub 674 : for i=0to 2500 : next
  155. 154 cp=11 : bd=1 : gosub 299 : goto 228
  156. 155 poke of,0
  157. 156 sys ke+12
  158. 157 print "[clr][dn][dn][dn] [blk]SELECT REALITY LEVELS : [dn]"
  159. 158 print " [blk]FLYING YOUR HELICOPTER"
  160. 159 print "[lgrey]  ▗▗└ Realistic :  "fl$(1);
  161. 160 print "  ▗▗└ Easy :  "fl$(0)
  162. 161 print "[dn] [blk]LANDING YOUR HELICOPTER"
  163. 162 print "[lgrey]  ▗▗└ Realistic :  "ln$(1);
  164. 163 print "  ▗▗└ Easy :  "ln$(0)
  165. 164 print "[dn] [blk]WEATHER EFFECTS"
  166. 165 print "[lgrey]  ▗▗└ Realistic :  "wt$(1);
  167. 166 print "  ▗▗└ Easy :  "wt$(0)
  168. 167 print "[dn][mgrey]┌┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┴";
  169. 168 print "[blk] SELECT ENEMY QUALITY : "
  170. 169 print "[lgrey]  ▗▗└ 1st Line"
  171. 170 print "  ▗▗└ 2nd Line"
  172. 171 print "  ▗▗└ 3rd Line"
  173. 172 print "[dn]        [blk]Overall Risk - "; : gosub 70
  174. 173 poke a0,1 : sys ke+60 : gosub  670
  175. 174 print "[home][dn][dn][mgrey]┌┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┴";
  176. 175 poke sl+2-fl,1 : poke sl+4-ln,1 : poke sl+6-wt,1
  177. 176 poke sl+7+qu,1
  178. 177 poke a1,sm : sys ke+21 : ss=63 : gosub 674
  179. 178 poke a1,sm : sys ke : op=peek(a0)
  180. 179 if op=0then 185
  181. 180 if op>0 and op<3then fl=1-(op-1) : goto 184
  182. 181 if op>2 and op<5then ln=1-(op-3) : goto 184
  183. 182 if op>4 and op<7then wt=1-(op-5) : goto 184
  184. 183 qu=op-7
  185. 184 poke 214,22 : print  : poke 211,23 : gosub 70 : goto 178
  186. 185 if cp=11then 129
  187. 186 i=peek(db+124) : if ithen poke db+124,0 : on igoto 228,342,315,267
  188. 187 gosub 673
  189. 188 print "[clr][blk][dn][dn][dn] CURRENT PILOT" : print "  [blu]"r$" [red]"n$"[blu]";
  190. 189 poke 211,28 : v=sc : gosub 122 : print "pts."
  191. 190 print "  [red]"dc$
  192. 191 print "[dn] [blk]CURRENT DUTY ASSIGNMENT" : print "[dn]       ";
  193. 192 gosub 193 : print  : goto  199
  194. 193 on un+1goto 194,195,196,197,198
  195. 194 i$="038114" : print "[blu]Flight training in the USA"; : return
  196. 195 i$="136114" : print "[blu]1st Cavalry in Southeast Asia"; : return
  197. 196 i$="240114" : print "[blu]82nd Airborne in Central America"; : return
  198. 197 i$="340114" : print "[blu]101st Air Assault in Middle East"; : return
  199. 198 i$="435114" : print "[blu]3rd Armored in Western Europe"; : return
  200. 199 poke rl,148 : poke rl+1,0 : poke sh,val(left$(i$,1)) : poke sx,val(mid$(i$,2,2))
  201. 200 poke sy,val(right$(i$,3))
  202. 201 print "        vs ";
  203. 202 on qugoto 204,205
  204. 203 print "1st"; : goto 206
  205. 204 print "2nd"; : goto 206
  206. 205 print "3rd";
  207. 206 print " Line Enemy"
  208. 207 poke  214,11 : print  : print  "[blk] CURRENT STYLE OF FLYING[dn][dn]" : poke 211,9
  209. 208 gosub 209 : print  : goto  213
  210. 209 on sf+1goto 210,211,212
  211. 210 i$="548154" : print "[blu]Regular Missions[blk]"; : return
  212. 211 i$="646154" : print "[blu]Volunteer Missions[blk]"; : return
  213. 212 i$="746154" : print "[blu]Volunteer Hazardous Duty[blk]"; : return
  214. 213 poke sh+1,val(left$(i$,1)) : poke sx+1,val(mid$(i$,2,2))
  215. 214 poke sy+1,val(right$(i$,3))
  216. 215 print "[dn][dn] [blk]CURRENT REALITY LEVELS"
  217. 216 print "   [blu]▎ [blu]"fl$(fl)
  218. 217 print "   [blu]▎ [blu]"ln$(ln)
  219. 218 print "   [blu]▎ [blu]"wt$(-wt*(un>0))
  220. 219 print "[dn]   [blk]Current level of risk is : "; : gosub 70
  221. 220 sys ke+18
  222. 221 poke a0,2 : sys ke+60
  223. 222 print "[home] [blk]Change : "
  224. 223 print "[mgrey]▋[rvs]Pilot[rvoff]▋[rvs]Duty[rvoff]▋[rvs]Style[rvoff]▋[rvs]Reality[rvoff]";
  225. 224 gosub 670
  226. 225 ss=255 : gosub 674
  227. 226 poke a1,sm : sys ke : op=peek(a0)
  228. 227 on opgoto 267,315,342,155
  229. 228 poke 53265,0 : sys ke+12 : poke 53280,11 : poke 53281,11 : gosub 105 : poke 53265,27
  230. 229 i$=mid$("tnsecamewe",un*2+1,2) : mp=int(rnd(0)*4) : en=int(rnd(0)*2)
  231. 230 if un=0then mp=0 : en=0
  232. 231 f$="mission."+i$ : gosub 680 : t=mb : gosub 121
  233. 232 ms=200 : gosub 239 : m2=ms : m2$=md$ : gosub 239
  234. 233 f$="tiles."+i$ : gosub 680 : t=tb : f=bf+256*mp : l=256 : gosub 119
  235. 234 f$="enemies."+i$ : gosub 680 : t=eh : f=bf+1280*mp+640*en : l=640 : gosub 119
  236. 235 f$="bitmap."+i$ : gosub 680 : t=bb : gosub 121
  237. 236 f$="arm" : gosub 680 : if un=0then i$="we"
  238. 237 f$="map.chr."+i$ : gosub 680
  239. 238 mp=mp+1 : en=en+1 : goto 243
  240. 239 i=int(rnd(0)*13)+1 : if i=msthen 239
  241. 240 if peek(mb+(i-1)*12)=0then 239
  242. 241 ms=i : goto 603
  243. 242 return
  244. 243 on ungoto 245,246,247,248
  245. 244 tp=76 : goto 250
  246. 245 i=36 : a=70 : j=31 : b=60 : goto 249
  247. 246 i=31 : a=75 : j=26 : b=65 : goto 249
  248. 247 i=36 : a=75 : j=26 : b=55 : goto 249
  249. 248 i=41 : a=50 : j=26 : b=40 : goto 249
  250. 249 tp=int(rnd(1)*i)+a : if dy$="night" then  tp=int(rnd(1)*j)+b
  251. 250 if wt=0 or un=0then tp=76 : wn=2
  252. 251 for j=1to 11 : a=peek(mb+(ms-1)*12+j) : poke et+a,peek(et+a) or 144
  253. 252 a=peek(mb+(m2-1)*12+j) : poke et+a,peek(et+a) or 80 : next
  254. 253 poke ke+556,0 : poke ke+557,4
  255. 254 i=ms-1 : gosub 56 : g1$=i$
  256. 255 i=m2-1 : gosub 56 : g2$=i$
  257. 256 gosub 598
  258. 257 od$="" : for i=0to 6 : od$=od$+chr$(48+int(rnd(0)*10)) : next
  259. 258 ps=int(rnd(0)*16) : gosub 563
  260. 259 tm=int(rnd(0)*24)+1 : dy$="day" : if tm<6 or tm>20then dy$="night" : goto 261
  261. 260 tm=int(tm/2)*2
  262. 261 v=tm*100 : sd=4 : gosub 11 : tm$=i$
  263. 262 dr=int(rnd(0)*360) : v=dr : sd=3 : gosub 11 : dr$=i$
  264. 263 wn=int(rnd(0)*10)+2 : if int(rnd(0)*8)>5then wn=wn+10
  265. 264 if wt=0 or un=0then tp=76 : wn=2
  266. 265 gosub 4 : gosub 8 : hx=peek(eh+j) : hy=peek(ey+j)
  267. 266 goto  365
  268. 267 gosub 673 : poke 53270,200
  269. 268 print  "[blu][clr][dn][dn][dn][blk] AH-64A Pilot Roster & Service Records[dn]"
  270. 269 for z=0to 7 : p=z : gosub 99 : if z/2=int(z/2)then gosub 4
  271. 270 next : print "[home][dn][cya]▊[rvs]Erase Pilot[rvoff]";
  272. 271 poke a0,3 : sys ke+60
  273. 272 sys ke+12 : gosub 670
  274. 273 poke sl+2+cp,1 : poke a1,sm : sys ke+21 : ss=1 : gosub 674
  275. 274 poke a1,sm : sys ke : op=peek(a0)
  276. 275 if op=0then 289
  277. 276 if op<>1then cp=op-2 : goto 274
  278. 277 poke sl+1,0
  279. 278 print  "[home][dn][cya]▊[rvs]Erase Pilot[rvoff]";
  280. 279 poke 214,21 : print  : print  "[blk]        Enter new Pilot's Name"
  281. 280 print  "        >"; : poke 198,0 : x=9 : gosub 83 : if f$=""then 283
  282. 281 rs$(cp)=f$+left$(cl$,20-len(f$))+left$(cl$,20)+chr$(1)+left$(cl$,2)
  283. 282 rs$(cp)=rs$(cp)+chr$(2)+left$(cl$,40)
  284. 283 poke  214,21 : print  : print  "                                "
  285. 284 print  "                                "
  286. 285 poke 214,4+cp*2 : print  : print "[blu]                                       ";
  287. 286 v=(5+cp*2)*40+39 : poke 51200+v,32 : poke 55296+v,6
  288. 287 poke 214,4+cp*2 : print  : p=cp : gosub 99
  289. 288 goto  273
  290. 289 if asc(mid$(rs$(cp),47,1))=0then 296
  291. 290 poke 214,21 : print  : print "[red] You cannot use a Missing or Dead Pilot"
  292. 291 print "[blk]   Erase this pilot or select another.";
  293. 292 poke sl,0 : i=0 : gosub 297 : i=16 : gosub 297
  294. 293 poke 214,21 : print  : print "                                       "
  295. 294 print "                                      ";
  296. 295 print "[home][dn]"; : poke  211,30 : print "[grn]▋[rvs]Continue[rvoff][blk]" : goto 274
  297. 296 gosub 299 : goto 185
  298. 297 if (peek(56320) and 16)=ithen 297
  299. 298 return
  300. 299 n$="" : i=0
  301. 300 if i=20 or mid$(rs$(cp),i+1,1)=chr$(0)then 302
  302. 301 n$=n$+mid$(rs$(cp),i+1,1) : i=i+1 : goto 300
  303. 302 i=asc(mid$(rs$(cp),21,1)) : r=i : gosub 311 : r$=i$
  304. 303 j=cp : gosub 110 : i=cp : gosub 312 : sc$=i$
  305. 304 i=40 : gosub 124 : fl=v
  306. 305 i=41 : gosub 124 : ln=v
  307. 306 i=42 : gosub 124 : wt=v
  308. 307 i=43 : gosub 124 : qu=v
  309. 308 i=44 : gosub 124 : un=v
  310. 309 i=45 : gosub 124 : sf=v
  311. 310 return
  312. 311 i$=mid$("SGTWO12LT1LTCPTMAJLTCCOL",i*3+1,3) : return
  313. 312 sc=asc(mid$(rs$(i),22,1))+256*asc(mid$(rs$(i),23,1))
  314. 313 if sc>32767then sc=sc-65536
  315. 314 i$=str$(sc) : return
  316. 315 poke of,0
  317. 316 print "[blk][clr][dn][dn][dn] CHOOSE YOUR DUTY ASSIGNMENT : [dn]" : i$="       "
  318. 317 print i$"[cya]Flight Training in the USA : "
  319. 318 print i$"[lgrey]Learn to fly and shoot against"
  320. 319 print i$"enemies using "chr$(34)"blanks/"chr$(34)"[lf].[dn]"
  321. 320 print i$"[cya]1st Cavalry in Southeast Asia : "
  322. 321 print i$"[lgrey]A good first tour; the enemy has"
  323. 322 print i$"poor weapons, but is hard to find"
  324. 323 print i$"[cya]82nd Airborne in Central America : ";
  325. 324 print i$"[lgrey]Tougher rumbles in the jungle."
  326. 325 print i$"Guerillas have better armaments.[dn]"
  327. 326 print i$"[cya]101st Air Assault in Middle East : ";
  328. 327 print i$"[lgrey]Desert duels :  Beware the Russian-";
  329. 328 print i$"built SAMs and flak guns.[dn]"
  330. 329 print i$"[cya]3rd Armored in Western Europe : "
  331. 330 print i$"[lgrey]Desperate missions to stop the"
  332. 331 print i$"red steamroller from the east."
  333. 332 poke a0,4 : sys ke+60
  334. 333 gosub  670
  335. 334 sys ke+6
  336. 335 print "[home][dn][blk] Overall Risk :  "; : gosub 70
  337. 336 poke sl+1+un,1
  338. 337 poke a1,sm : sys ke+21 : gosub 674
  339. 338 poke a1,sm : sys ke+0 : op=peek(a0)
  340. 339 if op=0then goto 185
  341. 340 un=op-1
  342. 341 print "[home]" : poke 211,15 : gosub 70 : goto 338
  343. 342 poke of,0
  344. 343 print "[clr][blk][dn][dn][dn] WHAT STYLE OF MISSIONS WILL YOU FLY?[dn]" : i$="         "
  345. 344 print i$"[cya]Regular Missions"
  346. 345 print i$"[lgrey]Your best chance of surviving"
  347. 346 print i$"the war :  do what you're told"
  348. 347 print i$"and come back home intact![dn]"
  349. 348 print i$"[cya]Volunteer Missions"
  350. 349 print i$"[lgrey]Step forward for tougher"
  351. 350 print i$"missions, extra risks, and"
  352. 351 print i$"a chance to be a hero.[dn]"
  353. 352 print i$"[cya]Volunteer Hazardous Duty"
  354. 353 print i$"[lgrey]Just the ticket for gung-ho"
  355. 354 print i$"superheroes who don't worry"
  356. 355 print i$"about details like survival.[dn]"
  357. 356 poke 214,21 : print  : poke 211,15 : gosub 70
  358. 357 sys ke+9
  359. 358 poke 214,20 : print  : print "     [blk]Your overall level of risk is"
  360. 359 poke a0,5 : sys ke+60 : gosub  670
  361. 360 poke sl+1+sf,1
  362. 361 poke a1,sm : sys ke+21 : gosub 674
  363. 362 poke a1,sm : sys ke : op=peek(a0)
  364. 363 if op=0then 185
  365. 364 sf=op-1 : poke 214,21 : print  : poke 211,15 : gosub 70 : goto 362
  366. 365 poke of,0 : poke 53270,200 : print "[clr]";
  367. 366 sys ke+12 : if un=0then  396
  368. 367 poke 648,4
  369. 368 for i=0to 16 : poke 53248+i,0 : next
  370. 369 gosub 582
  371. 370 print "[clr][blk]OPS ORDER [blu]"od$;
  372. 371 print "[pwr][blk]ATK HEL BN, [blu]"un$;
  373. 372 print "[pwr][blk]OPS PASSWORD :  [red]"ps$; : print "[pwr][blk]COUNTERSIGN :  [red]"cs$;
  374. 373 print "[pwr][blk]H-HOUR [blu]"tm$"[pwr][pwr][blk]MISSION :  [blu]"ms$"[pwr]";
  375. 374 print "[pwr][blk]OBJECTIVE : [pwr]  [mgrey]You are to ";
  376. 375 print "[red]"md$" [mgrey]"; : i=ms : gosub 59
  377. 376 print " g1 [red]("g1$;
  378. 377 print ")[mgrey]. However, as a secondary objective, you may be ";
  379. 378 print "ordered to ";
  380. 379 print "[red]"m2$" [mgrey]"; : i=m2 : gosub 59
  381. 380 print " grid [red]("g2$;
  382. 381 print ")[mgrey].[pwr][pwr]   This is a [red]"dy$"[mgrey] mission. The wind is blowing at"wn;
  383. 382 print "kts from ";
  384. 383 i=dr+11 : if i>359then i=i-360
  385. 384 i=int(i/22.5)
  386. 385 i$=mid$(" N NNE NEENE E ESE SESSE S SSW SWWSW W WNW NWNNW",i*3+1,3) : a$=""
  387. 386 for i=1to 3 : j$=mid$(i$,i,1) : if j$="N"then a$=a$+"north"
  388. 387 if j$="S"then a$=a$+"south"
  389. 388 if j$="E"then a$=a$+"east"
  390. 389 if j$="W"then a$=a$+"west"
  391. 390 next : i$=chr$(asc(left$(a$,1))+128)+right$(a$,len(a$)-1) : print i$;
  392. 391 print " (";
  393. 392 v=dr : sd=3 : gosub 10
  394. 393 print "$) and the temperature is"tp"[lf]$[lftarr]";
  395. 394 poke  648,sm : poke a1,4 : poke a5,sm : sys ke+15
  396. 395 op=0 : goto 583
  397. 396 gosub 673
  398. 397 print "[clr][dn][dn][dn][blk] OPS ORDER :  [blu]TRAINING FLIGHT"
  399. 398 print " [blk]US ARMY HELICOPTER TRAINING CENTER"
  400. 399 print " NO OPS PASSWORD REQUIRED[dn][dn]"
  401. 400 print " H-HOUR :  [blu]"tm$
  402. 401 print "[dn][dn] [blk]MISSION :  [blu]FLIGHT & GUNNERY TRAINING"
  403. 402 print "[dn][dn] [blk]OBJECTIVE : " : print  "   [mgrey]You are cleared for a training"
  404. 403 print " flight over the gunnery range.  All"
  405. 404 print " enemies are armed with simulators"
  406. 405 print " that cannot hurt you. Complete flight"
  407. 406 print " by returning to the central heli-base."
  408. 407 print "   Weather is perfect.  This will"
  409. 408 print " be a "dy$" flight."
  410. 409 print "[home][cya] [rvs] See [rvoff]" : print  " [rvs] Map [rvoff]";
  411. 410 poke a0,6 : sys ke+60
  412. 411 gosub 670 : gosub 582 : gosub 674
  413. 412 poke a1,sm : sys ke : op=peek(a0)
  414. 413 if op=0then 508
  415. 414 goto 415
  416. 415 poke of,0 : sys ke+12
  417. 416 poke a0,0 : poke a1,168 : poke a2,0 : poke a3,192 : poke a4,0 : poke a5,8 : sys ke+51
  418. 417 poke ke+556,12 : poke ke+557,12
  419. 418 print "[blu][clr]12"spc(36);
  420. 419 for i=12to 2step -1 : if i/3=int(i/3)then gosub 4
  421. 420 v=i : sd=2 : gosub 10 : print "[]"spc(36)"[]"; : v=i-1 : gosub 10 : print spc(36); : next
  422. 421 print "01[]"spc(36)"[]  =01=02=03=04=05=06=07=08=09=10=11=12";
  423. 422 poke a0,7 : sys ke+60
  424. 423 poke 53282,6 : poke 53283,13 : poke 53288,0 : poke sp+1,230 : poke 53275,0
  425. 424 poke s+3,47+(192-(hy-24)) : v=39+(hx-24)*1.5 : gosub 125 : poke s+2,lo
  426. 425 poke s+16,hi*2 : sys ke+57 : ss=3 : bk=5 : gosub 674 : poke 198,0
  427. 426 if (peek(56320) and 16)=0then 428
  428. 427 get i$ : if i$=""then 426
  429. 428 poke 53265,0 : poke 53270,200 : poke 53281,1
  430. 429 poke a0,0 : poke a1,168 : poke a2,0 : poke a3,192 : poke a4,0 : poke a5,8 : sys ke+51
  431. 430 goto 365
  432. 431 poke 53265,0 : print "[clr]";
  433. 432 poke 648,4
  434. 433 print "[clr][blk]OPS ORDER [blu]"od$;
  435. 434 print "[pwr][blk]ATK HEL BN, [blu]"un$;
  436. 435 print "[pwr][blk]MISSION :  [blu]"ms$;
  437. 436 print "[pwr][pwr][pwr][blk]G-2 INTELLIGENCE BRIEFING : [pwr]  [mgrey]";
  438. 437 on ungoto  438,439,440,441
  439. 438 print "NVA and VC"; : goto  442
  440. 439 print "FSLN"; : goto  442
  441. 440 print "Arab"; : goto  442
  442. 441 print "Warsaw Pact";
  443. 442 print " forces are expected to have ";
  444. 443 on qugoto 445,446
  445. 444 print "elite troops with the latest equipment"; : goto  447
  446. 445 print "trained troops with good equipment"; : goto 447
  447. 446 print "inexperienced troops with obsolete equipment";
  448. 447 print " in this area.  They carry ";
  449. 448 gosub 4 : gosub 633 : print "[red]"i$;
  450. 449 print "[mgrey] for protection.[pwr]  Enemy local air defenses include [red]";
  451. 450 gosub 647 : print a$;
  452. 451 print "[mgrey].[pwr]  Enemy Mi-24 Hind helicopters ";
  453. 452 if un=1then print "are not"; : goto 454
  454. 453 print "[red]ARE";
  455. 454 print "[mgrey] believed to be operating in this area.[pwr][pwr]";
  456. 455 print "  Overall, G-2 expects this mission's difficulty to be [lred]"; : gosub 70
  457. 456 print "[lftarr]";
  458. 457 poke 648,sm : poke a1,4 : poke a5,sm : sys ke+15
  459. 458 op=2 : goto 583
  460. 459 poke of,0 : print "[clr]";
  461. 460 poke  648,4 : poke 53270,200
  462. 461 print "[blk][clr]ATK HEL BN, [blu]"un$;
  463. 462 print "[pwr][red]PRE-FLIGHT CHECKLIST : [pwr][pwr]";
  464. 463 print "[blk]DO YOU KNOW YOUR COUNTERSIGN?[pwr]";
  465. 464 print "[mgrey]   If you don't your own air defenses will shoot ";
  466. 465 print "you down![pwr][pwr][blk]DO YOU KNOW YOUR TARGETS?[pwr]";
  467. 466 print "[mgrey]   It's hard to succeed in your mission if you forget your";
  468. 467 print " orders! ";
  469. 468 print "Nothing is more embarrassing than ";
  470. 469 print "forgetting where to find the target![pwr][pwr]";
  471. 470 print "[blk]REMEMBER THE TIME AND WEATHER[pwr]";
  472. 471 print "[mgrey]   It's a "dy$" Mission![pwr]";
  473. 472 print "   The wind is"wn"kts from"dr;
  474. 473 print "[lf]$[pwr]   The temperature is"tp"[lf]$F which ";
  475. 474 print "will affect weight you can carry.[lftarr]"
  476. 475 poke 648,sm : poke a1,4 : poke a5,sm : sys ke+15
  477. 476 poke 214,21 : print
  478. 477 print "[cya]▊[rvs]Yes,    [rvoff]                  ▊[rvs] No, return[rvoff]"
  479. 478 print "▊[rvs]Continue[rvoff]                  ▊[rvs]to briefing[rvoff]";
  480. 479 poke a0,8 : sys ke+60 : poke ke+562,39 : poke ke+563,91
  481. 480 sys ke+12 : ss=1 : gosub 674
  482. 481 poke a1,sm : sys ke : op=peek(a0)
  483. 482 poke of,0
  484. 483 if op=1then 365
  485. 484 goto 508
  486. 485 poke of,0
  487. 486 poke ke+551,0
  488. 487 print "[clr][dn][dn] [grn]Going on Sick Call?"
  489. 488 print "[dn] [mgrey]It's a favorite way for malingerers"
  490. 489 print " and cowards to avoid tough missions."
  491. 490 print "[dn] You'll be scrubbed from this mission,"
  492. 491 print " but the CO won't be happy about it."
  493. 492 print " He will arrange for your transfer"
  494. 493 print " to another unit, immediately."
  495. 494 print "[dn] He'll also put a reprimand in your"
  496. 495 print " personnel file, [red]making promotions"
  497. 496 print " much harder!"
  498. 497 print "[dn][dn][dn][dn] [blk]Do you really want to go on"
  499. 498 print " Sick Call?"
  500. 499 print "[dn][dn][dn] [cya][rvs] Yes [rvoff]                             [cya][rvs] No [rvoff]";
  501. 500 poke a0,9 : sys ke+60
  502. 501 poke ke+562,39 : poke ke+563,94
  503. 502 sys ke+12 : ss=1 : gosub 674
  504. 503 poke a1,sm : sys ke : op=peek(a0)
  505. 504 if op=1then 365
  506. 505 un=un-1 : i$=left$(rs$(cp),23) : i=asc(mid$(rs$(cp),24,1)) : if i<255then i=i+1
  507. 506 i$=i$+chr$(i)+right$(rs$(cp),40) : rs$(cp)=i$ : j=cp : gosub 110
  508. 507 goto 185
  509. 508 gosub 673 : poke 53264,0
  510. 509 d$="1" : gosub 758 : gosub 64
  511. 510 gosub 673 : poke 53264,0
  512. 511 poke ke+551,1 : if tp<76then tp=76
  513. 512 print "[clr][cya]";
  514. 513 gosub 561
  515. 514 poke a0,10 : sys ke+60 : poke 53281,1
  516. 515 poke a0,0 : poke a1,188 : poke a2,0 : poke a3,216 : poke a4,0 : poke a5,4 : sys ke+48
  517. 516 mx=21000-50*abs(76-tp) : cw=10760 : s1=0 : s2=0 : s3=0
  518. 517 for i=0to 4 : wp%(i)=0 : poke sp+i+2,225 : next : poke sp+7,225
  519. 518 on ungoto 520,521,522,523
  520. 519 mx=mx-700 : fu=376 : rn=60 : ch=1 : fr=1 : hl=1 : f1=1 : f2=0 : sw=1 : goto 524
  521. 520 mx=mx-350 : fu=376 : rn=60 : ch=1 : fr=1 : hl=0 : f1=1 : f2=1 : sw=0 : goto 524
  522. 521 fu=376 : rn=60 : ch=1 : fr=1 : hl=1 : f1=0 : f2=1 : sw=1 : goto 524
  523. 522 mx=mx-700 : fu=376 : rn=30 : ch=1 : fr=1 : hl=1 : f1=0 : f2=1 : sw=1 : goto 524
  524. 523 fu=374 : rn=60 : ch=1 : fr=1 : hl=1 : f1=0 : f2=1 : sw=1
  525. 524 cw=cw+fu*6.5+rn*26 : for i=51082to 51103 : poke i,255 : next
  526. 525 poke 214,20 : print  : for i=51062to 51073 : poke i,255 : next
  527. 526 poke 211,36-len(str$(mx)) : print right$(str$(mx),len(str$(mx))-1);
  528. 527 i=ch : ch=0 : gosub 46 : i=fr : fr=0 : gosub 50 : gosub 4
  529. 528 i=0 : gosub 12 : i=0 : gosub 27 : gosub 4
  530. 529 i=sw*4 : gosub 30 : i=f2*2 : gosub 43 : i=f1*3 : gosub 40 : gosub 4
  531. 530 if s2=0then i=hl : gosub 40 : goto 532
  532. 531 if s3=0then i=hl : gosub 43
  533. 532 bk=0 : gosub 674
  534. 533 poke ke+562,147 : poke ke+563,94 : if un>0then 535
  535. 534 poke l1+12,41 : j=8 : for i=56216to 56225 : poke i,j : poke i+40,8 : j=0 : next
  536. 535 hd=0 : poke sp+1,225
  537. 536 poke a1,sm : sys ke : op=peek(a0)
  538. 537 if (op=0) and (rn<60)then i=1 : gosub 27 : goto 535
  539. 538 if (op=1) and (rn>0)then i=-1 : gosub 27 : goto 535
  540. 539 if (op=2) and (fu<376)then i=8 : gosub 12 : goto 535
  541. 540 if (op=3) and (fu>0)then i=-8 : gosub 12 : goto 535
  542. 541 if op=4 and ch<1then i=ch+1 : gosub 46 : goto 535
  543. 542 if op=5 and ch>0then i=ch-1 : gosub 46 : goto 535
  544. 543 if op=6 and fr<1then i=fr+1 : gosub 50 : goto 535
  545. 544 if op=7 and fr>0then i=fr-1 : gosub 50 : goto 535
  546. 545 if op=8then hd=1 : poke sp+1,226 : goto 536
  547. 546 if op=9then hd=2 : poke sp+1,227 : goto 536
  548. 547 if op=10then hd=4 : poke sp+1,229 : goto 536
  549. 548 if op=11then hd=3 : poke sp+1,228 : goto 536
  550. 549 if op<>15then 554
  551. 550 xx=peek(ke+560) : poke sl+15,0 : if xx>45 or xx<6then i=hd : gosub 30 : goto 535
  552. 551 if xx>38 or xx<13then i=hd : gosub 40 : goto 535
  553. 552 if xx>31 or xx<19then i=hd : gosub 43 : goto 535
  554. 553 goto 536
  555. 554 if op=12then poke of,0 : gosub 559 : gosub 561 : goto 485
  556. 555 if op=14then poke of,0 : gosub 561 : goto 715
  557. 556 if op=13then 558
  558. 557 goto  535
  559. 558 poke of,0 : gosub 559 : goto 524
  560. 559 cw=cw-fu*6.5-rn*26-(ch+fr)*20 : fu=376 : rn=00 : ch=0 : fr=0 : hl=0 : f1=0 : f2=0 : sw=0
  561. 560 for i=0to 4 : poke sp+2+i,225 : next : poke sp+7,225 : return
  562. 561 poke a0,0 : poke a1,176 : poke a2,0 : poke a3,192 : poke a4,0 : poke a5,12 : sys ke+51
  563. 562 return
  564. 563 if ps>9then 565
  565. 564 on ps+1goto 566,567,568,569,570,571,572,573,574,575
  566. 565 on ps-9goto 576,577,578,579,580,581
  567. 566 ps$="ACCENT" : cs$="TRAMPOLINE" : return
  568. 567 ps$="BILLBOARD" : cs$="KICKBACK" : return
  569. 568 ps$="CROMAGNON" : cs$="MELODRAMA" : return
  570. 569 ps$="DAKOTA" : cs$="ONSTAGE" : return
  571. 570 ps$="ELECTRA" : cs$="VERTICAL" : return
  572. 571 ps$="FOOTHOLD" : cs$="INSOLENT" : return
  573. 572 ps$="GRENADIER" : cs$="NOCTURNE" : return
  574. 573 ps$="HEDGEHOG" : cs$="LOCKSMITH" : return
  575. 574 ps$="IVORY" : cs$="WILLOW" : return
  576. 575 ps$="KNOCKOUT" : cs$="PUREBRED" : return
  577. 576 ps$="LOZENGE" : cs$="ROMANTIC" : return
  578. 577 ps$="MAZURKA" : cs$="YELLOW" : return
  579. 578 ps$="NEBULA" : cs$="QUAKER" : return
  580. 579 ps$="OVATION" : cs$="UPSTAGE" : return
  581. 580 ps$="PENTHOUSE" : cs$="SYMPHONY" : return
  582. 581 ps$="QUARTZ" : cs$="ZEBRA" : return
  583. 582 poke a0,11 : sys ke+60 : ss=31 : return
  584. 583 print "[home][cya]";
  585. 584 for i=0to 3 : if i=opthen print  "       "; : goto  586
  586. 585 print  "▒▁[rvs]"op$(i,0)"[rvoff]▎";
  587. 586 next : print
  588. 587 for i=0to 3 : if i=opthen print  "       "; : goto  589
  589. 588 print  "▊[rvs]"op$(i,1)"[rvoff]";
  590. 589 next
  591. 590 poke rs+1,0 : poke rs,67 : poke g1,33 : poke g2,33 : poke v1,0 : poke v2,0 : poke g1+1,33
  592. 591 poke g2+1,33 : poke v1+1,1 : poke v2+1,1 : sys ke+24 : gosub  582
  593. 592 poke a0,12 : sys ke+60 : gosub  670
  594. 593 poke l1+1+op,41
  595. 594 gosub 674
  596. 595 poke a1,sm : sys ke : i=peek(a0)
  597. 596 on igoto 365,415,431,485
  598. 597 goto  459
  599. 598 on ungoto 599,600,601,602
  600. 599 un$="6 REGT, 1 CAV DIV" : return
  601. 600 un$="CBAA, 82 ABN DIV" : return
  602. 601 un$="CBAA, 101 AAS DIV" : return
  603. 602 un$="CBAA, 3 ARM DIV" : return
  604. 603 if un=0then  return
  605. 604 if ms>10then  607
  606. 605 on msgosub 609,610,611,612,613,614,615,616,617,618
  607. 606 goto 622
  608. 607 on ms-10gosub 619,620,621
  609. 608 goto 622
  610. 609 md$="Dheadquarters1" : return
  611. 610 md$="Ddepot1" : return
  612. 611 md$="Dheli-base1" : return
  613. 612 md$="DAA guns2" : return
  614. 613 md$="Dmobile SAMs2" : return
  615. 614 md$="Dtanks3" : return
  616. 615 md$="DBMPs & BTRs3" : return
  617. 616 md$="Dinfantry3" : return
  618. 617 md$="Dbunker3" : return
  619. 618 md$="Stroops3" : return
  620. 619 md$="Sbase3" : return
  621. 620 md$="Clear LZ3" : return
  622. 621 md$="Search & Destroy5" : return
  623. 622 i=val(right$(md$,1)) : md$=left$(md$,len(md$)-1)
  624. 623 on igosub 624,625,626,627,628 : goto  629
  625. 624 ms$="Interdiction Strike" : return
  626. 625 ms$="Tactical Strike" : return
  627. 626 ms$="Ground Support" : return
  628. 627 ms$="Interception" : return
  629. 628 ms$="Search & Destroy" : return
  630. 629 if left$(md$,1)="D"then md$="destroy enemy "+right$(md$,len(md$)-1)
  631. 630 if ms=13then return
  632. 631 if left$(md$,1)="S"then md$="support friendly "+right$(md$,len(md$)-1)
  633. 632 return
  634. 633 i=(un-1)*3+(2-qu)
  635. 634 if i=11then i$="SA-14" : goto 646
  636. 635 on igoto 636,637,638,639,640,641,642,643,644,645
  637. 636 i$="mostly Machine-guns, some SA-7" : goto  646
  638. 637 i$="SA-7" : goto 646
  639. 638 i$="SA-7" : goto 646
  640. 639 i$="SA-7" : goto 646
  641. 640 i$="SA-7B" : goto 646
  642. 641 i$="SA-7" : goto 646
  643. 642 i$="SA-7B" : goto 646
  644. 643 i$="SA-7B" : goto 646
  645. 644 i$="SA-7" : goto 646
  646. 645 i$="SA-7B"
  647. 646 i$=i$+" short range IR missiles" : return
  648. 647 i=(un-1)*3+(2-qu)
  649. 648 if i=11then  i$="SA-11 and SA-13NZSU-30 AATandGC" : goto 661
  650. 649 on igoto 651,652,653,654,655,656,657,658,659,660
  651. 650 i$="S-60 57mm guns without radar and ZU-23L" : goto 661
  652. 651 i$="[lf]GR and ZU-23L" : goto 661
  653. 652 i$="[lf]GC and ZU-23L" : goto 661
  654. 653 i$="SA-9N[lf]GR, and ZU-23L" : goto 661
  655. 654 i$="SA-9NZSU-57-2 AAT[lf]GR, and ZU-23L" : goto 661
  656. 655 i$="SA-9NZSU-23-4 AAT[lf]GC, and ZU-23mmL" : goto 661
  657. 656 i$="SA-9NSU-57-2 AATandGR" : goto 661
  658. 657 i$="SA-8 and SA-9NZSU-23-4 AATandGR" : goto 661
  659. 658 i$="SA-8B and SA-9BNZSU-23-4M AATandGC" : goto 661
  660. 659 i$="SA-8 and SA-9NZSU-23-4 AATandGR" : goto 661
  661. 660 i$="SA-8B and SA-9BNZSU-23-4M AATandGC"
  662. 661 a$="" : for i=1to len(i$) : b$=mid$(i$,i,1) : if i/5=int(i/5)then gosub 4
  663. 662 if b$="N"then a$=a$+" missiles, " : goto 669
  664. 663 if b$="T"then a$=a$+" tanks, " : goto 669
  665. 664 if b$="G"then a$=a$+" S-60 57mm guns with " : goto 669
  666. 665 if b$="C"then a$=a$+"radar fire control" : goto 669
  667. 666 if b$="R"then a$=a$+"search radar" : goto 669
  668. 667 if b$="L"then a$=a$+" light cannons" : goto 669
  669. 668 a$=a$+b$
  670. 669 next : return
  671. 670 print "[home][dn]"; : poke 211,30 : print "[grn]▋[rvs]Continue[rvoff][blk]"
  672. 671 print "[blk]||||||||||||||||||||||||||||||||||||||||";
  673. 672 poke a0,13 : sys ke+60 : poke ke+562,143 : poke ke+563,6 : return
  674. 673 poke of,0 : poke ke+552,0 : poke ke+553,159 : poke ke+554,0 : poke ke+555,99 : return
  675. 674 poke 53269,ss : ss=255 : poke 53280,11 : poke 53281,bk : bk=1 : poke 53265,27 : return
  676. 675 sys ke+12 : poke of,0 : poke  56576,0 : poke 648,200 : poke 53272,32 : poke 53270,216
  677. 676 for i=2to 16 : poke 53248,0 : next
  678. 677 poke 53269,255
  679. 678 poke sp,177 : poke 53287,12
  680. 679 poke 53280,11 : poke 53281,1 : return
  681. 680 rem
  682. 681 poke 53269,0 : sys ke+54
  683. 682 gosub 687
  684. 683 poke 781,b-int(b/256)*256 : poke 782,b/256
  685. 684 poke 780,0 : poke 56333,127 : poke 808,237 : sys 65493 : poke 808,234
  686. 685 if (st  and 191)<>0then 682
  687. 686 poke 808,234 : poke 792,193 : sys ke+3 : return
  688. 687 for i=0to len(f$)-1 : poke 1006+i,asc(mid$(f$,i+1,1)) : next
  689. 688 poke 780,0 : poke 781,8 : poke 782,1 : sys 65466
  690. 689 poke 780,len(f$) : poke 781,238 : poke 782,3 : sys 65469
  691. 690 return
  692. 691 ke=117*256
  693. 692 if peek(828+58*2)=0then cp=11
  694. 693 dim rs$(11),w%(4),wc%(4),c%(4)
  695. 694 sm=200 : s=53248 : sp=sm*256+1016 : sh=ke+120 : rl=sh+6 : sx=rl+6 : sy=sx+6
  696. 695 a0=165 : a1=a0+1 : a2=a1+1 : a3=a2+1 : a4=a3+1 : a5=a4+1 : a6=a5+1 : a7=a6+1
  697. 696 no=ke+144 : l1=no+1 : t1=l1+24 : r1=t1+24 : b1=r1+24 : c1=b1+24 : ex=c1+24 : gr=ex+24
  698. 697 sl=gr+24 : cr=sl+24 : l2=cr+24 : t2=l2+24 : r2=t2+24 : b2=r2+24 : c2=b2+24
  699. 698 rs=ke+481 : g1=rs+5 : v1=g1+5 : g2=v1+5 : v2=g2+5 : ss=255 : bk=1
  700. 699 bt=ke+539 : pt=bt+2 : hr=pt+2 : ml=hr+2 : bc=ml+2 : pc=bc+2
  701. 700 db=828 : sv=49*256 : oc=21464 : mb=144*256 : cb=145*256 : tb=146*256 : bb=147*256
  702. 701 eh=148*256 : ey=eh+128 : eg=ey+128 : eo=eg+128 : et=eo+128 : bf=160*256
  703. 702 m$="[mgrey]SR  [mgrey]NDS [mgrey]SEAC[mgrey]CAC [mgrey]MEC [mgrey]WEC [mgrey]AM  [mgrey]PH  [mgrey]ACM [mgrey]BSV [mgrey]SS  [mgrey]DSC [mgrey]CMOH"
  704. 703 for i=0to 3 : for j=0to 1 : read op$(i,j) : next : next
  705. 704 read fl$(1),fl$(0),ln$(1),ln$(0),wt$(1),wt$(0)
  706. 705 read dm$(0),dm$(1),dm$(2)
  707. 706 read w%(0),w%(1),w%(2),w%(3),w%(4)
  708. 707 read wc%(0),wc%(1),wc%(2),wc%(3),wc%(4)
  709. 708 read c%(0),c%(1),c%(2),c%(3),c%(4)
  710. 709 for i=0to 11 : rs$(i)=cl$ : next
  711. 710 gosub 61 : sys ke+63
  712. 711 if cp<>11then cp=asc(mid$(rs$(8),1,1))
  713. 712 j=cp : gosub 110 : gosub 299
  714. 713 poke of,0 : sys ke+3 : gosub 675 : poke ke+551,0 : poke 53271,0 : poke 53277,0
  715. 714 poke 53276,0 : goto 185
  716. 715 gosub 673
  717. 716 v=ps : i=0 : gosub 127
  718. 717 v=-(dy$="night") : gosub 127
  719. 718 v=3-qu : gosub 127
  720. 719 v=fu*.415*128 : gosub 127
  721. 720 v=fu*.585*128 : gosub 127
  722. 721 v=fl*2+ln : gosub 127
  723. 722 v=(sf+1)*-(un>0) : gosub 127
  724. 723 v=int(abs(76-tp)/5) : gosub 127
  725. 724 v=int(((wn-2)*cos(dr*(<PIPE>/180)))/2) : gosub 127
  726. 725 v=int(((wn-2)*sin(dr*(<PIPE>/180)))/2) : gosub 127 : gosub 4
  727. 726 v=rn : gosub 127
  728. 727 v=wp%(4)*2 : gosub 127
  729. 728 v=wp%(2)*7+wp%(3)*19 : gosub 127
  730. 729 v=wp%(1)*8 : gosub 127
  731. 730 v=fr*10 : gosub 127
  732. 731 v=ch*10 : gosub 127
  733. 732 v=(m2-1)*256+(ms-1) : gosub 127
  734. 733 v=un : gosub 127
  735. 734 v=mp+en*256 : gosub 127 : gosub 4
  736. 735 for j=1to 64 : poke db+37+j,asc(mid$(rs$(cp),j,1)) : next : gosub 4
  737. 736 v=0 : i=43 : gosub 127
  738. 737 v=hx*256 : i=52 : gosub 127
  739. 738 v=hy*256+128*(un=3) : gosub 127
  740. 739 v=0 : gosub 127 : gosub 127 : gosub 127 : gosub 127 : gosub 127
  741. 740 v=cp : i=59 : gosub 127
  742. 741 v=-4*(un=0) : gosub 127
  743. 742 v=tp : gosub 127
  744. 743 v=0 : gosub 127
  745. 744 for i=0to 9 : poke db+i+128,31 : next
  746. 745 for i=1to len(ps$) : poke db+127+i,asc(mid$(ps$,i,1))-192 : next : gosub 4
  747. 746 d$="2" : gosub 758
  748. 747 sys ke+54 : poke of,0 : poke  53270,200 : poke  56576,3 : poke 53272,22 : poke 53269,0
  749. 748 poke 53281,11 : poke 53280,11 : poke 53282,0 : poke 648,4
  750. 749 print "[dgrey][clr][dn][dn]load "chr$(34)"6"chr$(34)",8,1[dn][dn][dn][dn][dn]"
  751. 750 print "[wht]            Please Stand By[dgrey][home]";
  752. 751 poke 631,13 : poke 198,1 : poke of,27 : poke 808,237 : new
  753. 752 poke 53269,0 : print "[clr][wht][dn][dn][dn][dn][dn][dn][dn][dn]      Turn disk over and insert it"
  754. 753 if d$="2"then print "[dn]           Backside face "chr$(34)"UP"chr$(34)
  755. 754 if d$="1"then print "[dn]           Frontside face "chr$(34)"UP"chr$(34)
  756. 755 print "[dn][dn][dn][dn]         press BUTTON when ready"
  757. 756 bk=11 : ss=0 : gosub 674
  758. 757 if peek(56320) and 16then 757
  759. 758 print "[clr]" : poke 53269,0 : open 15,8,15,"i0 : " : open 2,8,2,"#1"
  760. 759 print#15,"u1";2;0;18;0 : print#15,"b-p";2;163 : get #2,i$ : close 2 : close 15
  761. 760 if i$<>d$then 761
  762. 761 poke of,0 : return
  763. 762 data"See ","Brief ","See "," Map  ","See ","Intel "
  764. 763 data"Sick"," Call "
  765. 764 data"real flight performance","simplified flight"
  766. 765 data"crash landings possible","all landings are perfect"
  767. 766 data"highly variable weather","light winds, temp. 76$F"
  768. 767 data" [lgrn]Operational"," [yel]Damaged"," [lred]DESTROYED"
  769. 768 data0,2400,1600,2640,400,0,8,14,38,2,0,7,3,13,1
  770. 769 data"T-74","M1A1 Abrams","BMP-2","M2A1 Bradley","MT-LB","M113A3 APC"
  771. 770 data"BTR-70","M163 Vulcan","SA-6 Gainful","M247 Sgt York","SA-8 Gecko"
  772. 771 data"M48A1 Chaparral","SA-9 Gaskin","UH-60 Blackhawk","SA-13 Gopher"
  773. 772 data"Merkava Mk2","ZSU-23-4 Shilka","ZSU-57-2"
  774. 773 data"Mi-24 Hind-D","Hughes 500MD"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement