home *** CD-ROM | disk | FTP | other *** search
/ The Glitch Apple Disk Collection / 2014.glitch.apple.collection.zip / indexed / IMPERIUM.DSK / IMCOM.bas < prev    next >
BASIC Source File  |  2014-09-09  |  26KB  |  484 lines

  1. 1  REM  IMCOM
  2. 2 Q = 0:Q1 = 1:Q2 = 2:Q3 = 3:Q4 = 4:Q5 = 5:Q6 = 6:Q7 = 7:Q8 = 8:Q9 = 9:B4 = 16:B5 = 32:B6 = 64:B7 = 128:B8 = 256
  3. 3 C = 20:C1 = 50:C2 = 255:C3 = 10:C4 = 14:C5 = 28:C6 = 100:C7 = 75:C8 = 74:C9 = 13:CA = 21:CB = 22:CC = 15:CD = 11:CE = 25
  4. 5  DIM S(7),P(2),A(3)
  5. 6 U5 = 2822:U8 = 2831:U9 = 2834
  6. 7 UA = 2837:UB = 2840:UC = 2843:UD = 2846:UE = 2849:UF = 2852:UH = 2855:UI = 2858
  7. 8 UN = 2870:UR = 22793
  8. 9 D = 16384:D1 = 17884:D2 = 18584:D4 = 21656:D5 = 21912:D6 = 21932
  9. 10 D8 = 22144:D9 = 22297:DA = 22272:DB = 768:DC = 22528:DD = DB +Q3
  10. 11 M = 785:M1 = 22365:M2 = 22369:M3 = 791:M4 = 22275:M5 = 796:M6 = 22366:M7 = 8
  11. 12 A$ = "ATTACK":T$ = "TASK FORCE"
  12. 13  DEF  FN A(F6) =  PEEK(D6 +F5 *C5 +F6 *Q7 +Q5)
  13. 14  DEF  FN B(F6) =  PEEK(D6 +F6 *C5 +F5 *Q7 +Q5)
  14. 18  &  RECALL "ICASS": &  RECALL "ICASS2"
  15. 19  GOTO 10000
  16. 20 K = Q:K1 = DC +W *B5: RETURN 
  17. 21  CALL U5: HTAB Q1: VTAB 21: RETURN 
  18. 24  PRINT "PRESS ANY KEY TO CONTINUE.";
  19. 25  POKE  -16368,0
  20. 26  IF  PEEK( -16384) <B7  THEN 26
  21. 27 KY =  PEEK( -16384) -B7: POKE  -16368,0: RETURN 
  22. 28 K = Q:K1 = D9 +W *17: IF W = Q4  THEN  PRINT "INDEPENDENT WORLD";: RETURN 
  23. 29  IF  PEEK(K1 +K) = B5  AND  PEEK(K1 +K +Q1) = B5  THEN 31
  24. 30  PRINT  CHR$( PEEK(K1 +K));:K = K +Q1: IF K <17  THEN 29
  25. 31  RETURN 
  26. 32  FOR Z = 1 TO 500: NEXT : RETURN 
  27. 33 K1 = D8 +W *B5 +Q4 *S1: FOR K = Q TO Q3: PRINT  CHR$( PEEK(K1 +K));: NEXT K: RETURN 
  28. 43  GOSUB 20:R1 = Q
  29. 44 TF =  PEEK(K1 +K): IF TF = B5  THEN 47
  30. 45  IF TF <B5  OR EN  THEN R1 = R1 + PEEK(D2 +W *B8 +(TF -B6 *(TF >B5)) *Q8)
  31. 46 K = K +Q1: GOTO 44
  32. 47  RETURN 
  33. 48  POKE DA +2,S: POKE M4 +Q1,W: CALL 2873: GOSUB 20
  34. 49 TF =  PEEK(K1 +K): IF TF = B5  THEN 55
  35. 50  IF TF >B5  THEN 54
  36. 51  POKE K1 +K,TF +B6:TA = D2 +W *B8 +TF *Q8 +Q7: IF  PEEK(M7) = Q1  AND TM = Q  AND MI = Q2  THEN 54
  37. 53  POKE TA,Q9: IF MI = Q2  AND TM = Q  THEN  POKE TA,Q
  38. 54 K = K +Q1: IF K <B5  THEN 49
  39. 55  RETURN 
  40. 60  FOR S1 = Q TO Q2:S2 =  PEEK(DB +S1): POKE DB +S1, PEEK(DD +S1): POKE DD +S1,S2: NEXT S1: RETURN 
  41. 64  GOSUB 21: PRINT A$;"ERS ";N$;" PLANET #";PP;" OF": GOSUB 128: GOTO 32
  42. 74 W =  PEEK(DB +Q3 *TM +I): RETURN 
  43. 75 TZ = ( PEEK(TA +Q7) = Q4  OR  PEEK(TA +Q7) = Q5): RETURN 
  44. 100  POKE M4 +Q1,C3: POKE DA +Q2,S: POKE M7,TU: CALL UN:PP =  PEEK(M +C): IF PP = Q  THEN 102
  45. 101 S2 = Q: FOR I = Q TO Q3:H =  INT(PP/Q2) *Q2:S(I) = (PP < >H):S2 = S2 +(PP < >H):PP = H/Q2: NEXT I:PP = Q1
  46. 102  RETURN 
  47. 108  POKE M7, PEEK(PA +Z): POKE M4,W: CALL UH:Z =  PEEK(M7): RETURN 
  48. 122 PA = D +P *C:W2 =  INT( PEEK(PA +Q9)/B5):W1 =  PEEK(PA +Q9) -W2 *B5 -Q1:W2 = W2 -Q1: RETURN 
  49. 128  FOR K = Q5 TO C9: PRINT  CHR$( PEEK(SA +K));: NEXT K: RETURN 
  50. 214  HOME : PRINT "ALL PLAYERS BUT ";: GOSUB 28: PRINT : PRINT "TURN AWAY. ";: GOTO 24
  51. 375  POKE 22278,HM: POKE 22279,MX: CALL 2060: RETURN 
  52. 1000 TM = Q1:P1 = Q1:P(Q1) = C7:P(Q2) = C7: IF MI = Q3  THEN 1080
  53. 1010  FOR I = Q TO Q2: GOSUB 74:TP = Q1: IF W = Q4  THEN I = Q2: GOTO 1040
  54. 1020 Z =  PEEK(SA +TP) - INT( PEEK(SA +TP)/B7) *B7: IF Z <C7  THEN  IF  INT( PEEK(D +Z *C +Q9)/B5) -Q1 = W  THEN P(TP) = Z:P1 = Q
  55. 1030  IF TP = Q1  THEN TP = Q2: GOTO 1020
  56. 1040  NEXT I: IF P1  AND TM = Q1  THEN TM = Q: GOTO 1010
  57. 1050  IF TM = Q1  OR P1  THEN 1080
  58. 1055 S1 =  PEEK(M): POKE M, PEEK(M +Q1): POKE M +Q1,S1
  59. 1070  GOSUB 60
  60. 1080  FOR I = Q TO Q2:S1 =  PEEK(DB +I): IF S1 = Q4  THEN I = Q2: GOTO 1096
  61. 1081  FOR I1 = Q TO Q2:S2 =  PEEK(DD +I1): IF S2 = Q4  THEN I1 = Q2: GOTO 1095
  62. 1082  IF S2 = Q5  THEN 1095
  63. 1083 Z = D6 +S2 *C5 +S1 *Q7: IF  PEEK(Z +Q5) = Q  THEN  POKE Z +Q5,Q3
  64. 1084 TK = Q4: IF  PEEK(Z +Q5) >Q1  THEN TK = Q1: IF  PEEK(Z +Q5) = Q3  THEN TK = C2
  65. 1085 TK = TK + PEEK(Z) +Q5: IF S = S2  THEN TK = TK +Q5
  66. 1086  IF TK >C2  THEN TK = C2
  67. 1087  POKE Z,TK: FOR S3 = Q TO Q3: IF S3 = S1  OR S3 = S2  OR  PEEK(D6 +S3 *C5 +S2 *Q7) <Q2  THEN 1090
  68. 1088 TK =  PEEK(D6 +C5 *S3 +S1 *Q7) -Q2: IF TK <Q  THEN TK = Q
  69. 1089  POKE D6 +C5 *S3 +Q7 *S1,TK
  70. 1090  NEXT S3
  71. 1095  NEXT I1
  72. 1096  NEXT I
  73. 1200  RETURN 
  74. 1250 TK =  PEEK(Z) + PEEK(Z +Q1) *B8 +40: IF TK >64000  THEN TK = 64000
  75. 1260  POKE Z +Q1, INT(TK/B8): POKE Z,TK - INT(TK/B8) *B8: RETURN 
  76. 1300 W =  INT( PEEK(PA +Q9)/B5) -Q1: IF W = Q4  OR W <Q  THEN 1380
  77. 1305  FOR I = Q TO Q2:I1 =  PEEK(DB +I): IF I1 = Q4  THEN I = Q2: GOTO 1370
  78. 1310 Z = D6 +W *C5 +I1 *Q7:TK =  PEEK(Z) +C3: IF S = W  THEN TK = TK +30
  79. 1320  IF TK >C2  THEN TK = C2
  80. 1330  POKE Z,TK:Z = Z +Q3: GOSUB 1250
  81. 1350 Z = D6 +I1 *C5 +W *Q7 +Q1: GOSUB 1250
  82. 1370  NEXT I
  83. 1380  RETURN 
  84. 2010 TA = D2 +W *B8 +TF *Q8: IF  PEEK(TA +Q7) <Q9  AND  PEEK(TA +Q5) = S  THEN 2030
  85. 2020 TF = TF +Q1: IF TF <B5  THEN 2010
  86. 2030  RETURN 
  87. 2040 EN = Q: HOME : GOSUB 28: HTAB 1: VTAB 3: PRINT "TYPE NUM EFF"
  88. 2050  POKE DA +96,127: POKE M4,W: FOR S1 = Q TO Q7: POKE M5,S1: CALL U9
  89. 2060  HTAB 1: VTAB 4 +S1: GOSUB 33: IF   NOT  PEEK(M1)  THEN  PRINT " 0   0": GOTO 2080
  90. 2070  HTAB 6: PRINT  PEEK(M1);: HTAB 10: PRINT  INT(( PEEK(M6) + PEEK(M1 +Q2) *B8) *Q4/ PEEK(M1))
  91. 2080  NEXT S1: GOSUB 43: HTAB 1: VTAB 13: PRINT "TRANSPORTS:";R1
  92. 2081 W1 = W: FOR K = Q TO Q3:A(K) = Q: NEXT K: FOR K = Q TO Q2:W =  PEEK(DB +TM *Q3 +K): IF W = Q4  THEN K = Q2: GOTO 2086
  93. 2082  IF W = W1  THEN 2086
  94. 2083  POKE DA +96,C2: POKE M4,W: FOR S1 = Q TO Q7: POKE M5,S1: CALL U9
  95. 2084  FOR K1 = Q TO Q2:A(K1) = A(K1) + PEEK(D4 +B6 *W +Q8 *S1 +K1) * PEEK(M1): NEXT K1:A(Q3) = A(Q3) + PEEK(M1): NEXT S1
  96. 2086  NEXT K: IF   NOT A(Q3)  THEN 2090
  97. 2087  HTAB 21: VTAB 3: PRINT "ALLIED FORCES": HTAB 21: VTAB 5: PRINT "# ALLIED SHIPS:";A(Q3)
  98. 2088 N$ = " PB:NRG: MS:": FOR K1 = Q TO Q2: HTAB 32: VTAB 6 +K1: PRINT  MID$ (N$,K1 *4 +1,4);A(K1)/A(Q3): NEXT K1
  99. 2090 W = W1: HTAB 1: VTAB 15: PRINT T$;"S ENGAGED:":K = Q:K1 = DC +W *B5
  100. 2100 TF =  PEEK(K1 +K): IF TF = B5  THEN 2130
  101. 2110  HTAB (K - INT(K/Q9) *Q9) *Q4 +1: VTAB  INT(K/Q9) +16
  102. 2113  IF TF >B5  THEN  INVERSE 
  103. 2115  PRINT TF -B6 *(TF >B5) +1;: NORMAL 
  104. 2120 K = K +Q1: GOTO 2100
  105. 2130  RETURN 
  106. 2140  HOME : PRINT T$;" ";TF +Q1: POKE M7,TF: POKE M4,W
  107. 2145  HTAB 4: VTAB 3: PRINT "POSITION:";:SA =  PEEK(TA +Q4): IF SA < >C1  THEN SA = D1 +SA *C4: GOSUB 128
  108. 2150  HTAB 1: VTAB 4: PRINT "DESTINATION:";:SA =  PEEK(TA +Q5) - INT( PEEK(TA +Q5)/B6) *B6: IF SA < >C1  THEN SA = D1 +SA *C4: GOSUB 128
  109. 2155  HTAB 9: VTAB 5: PRINT "ETA:";: IF SA < >C1  THEN  PRINT  INT( PEEK(TA +Q5)/B6)
  110. 2160 N$ = "GGRPCEMMMW": HTAB 5: PRINT "MISSION:"; MID$ (N$, PEEK(TA +Q7) +1,1)
  111. 2165 N$ = "TRANSPORTS:    ARMIES: COLONISTS:"
  112. 2170  FOR Z = Q TO Q2: HTAB 24: VTAB 3 +Z: PRINT  MID$ (N$,Z *11 +1,11); PEEK(TA +Z): NEXT Z
  113. 2175 N$ = "ID  TYPE EFF": HTAB 1: VTAB 8: PRINT N$;: HTAB 21: PRINT N$:S2 = Q
  114. 2180 V = Q8:H = Q2:S3 = S2: POKE M1,Q8: CALL UD: POKE M3,S2
  115. 2185  CALL UC:S2 =  PEEK(M3): IF   NOT  PEEK(M6)  THEN S2 =  -Q1: GOTO 2215
  116. 2190  HTAB H -1: VTAB V +1: PRINT S2;: HTAB H +Q3:S1 =  PEEK(M5): GOSUB 33: PRINT " "; PEEK(M6) *Q4
  117. 2195  IF S2 = C2  THEN S2 =  -Q1: GOTO 2215
  118. 2200  POKE M3,S2 +Q1:V = V +Q1: IF V <19  THEN 2185
  119. 2210  IF H = Q2  THEN V = Q8:H = 21: GOTO 2185
  120. 2215  RETURN 
  121. 2220  GOSUB 2140
  122. 2225  GOSUB 21: GOSUB 24: IF S2 > = Q  THEN S2 = S2 +Q1: GOSUB 2180: GOTO 2225
  123. 2230  RETURN 
  124. 2240 EN = Q1: HOME : GOSUB 28: HTAB 21:F5 = W:K =  FN A(W1)
  125. 2250 N$ = "FRIEND   NEUTRAL  ENEMY    SURPRISED": PRINT  MID$ (N$,K *Q9 +Q1,9)
  126. 2260  HTAB 1: VTAB 3: PRINT "TYPE SZ NUM": FOR K1 = Q TO Q3:A(K1) = Q: NEXT K1
  127. 2270  POKE DA +96,C2: POKE M4,W:H = Q: FOR S1 = Q TO Q7: POKE M5,S1
  128. 2275  CALL U9: IF   NOT  PEEK(M1)  THEN 2310
  129. 2280  HTAB 1: VTAB Q4 +H: GOSUB 33:K = D4 +B6 *W +Q8 *S1
  130. 2285  FOR K1 = Q TO Q2:A(K1) = A(K1) + PEEK(K +K1) * PEEK(M1): NEXT K1
  131. 2290 N$ = "LMS": HTAB 6: PRINT  MID$ (N$, PEEK(K +Q7) +Q1,1);
  132. 2300  HTAB 9: PRINT  PEEK(M1):H = H +Q1:A(Q3) = A(Q3) + PEEK(M1)
  133. 2310  NEXT S1:N$ = " PB:NRG: MS:": FOR K1 = Q TO Q2: HTAB 1: VTAB Q5 +H +K1: PRINT  MID$ (N$,K1 *Q4 +Q1,4);
  134. 2315 Z = A(K1) *( RND(1) +.5): IF A(Q3) >Q  THEN  PRINT  INT(Z/A(Q3))
  135. 2316  NEXT K1
  136. 2320  GOSUB 43: HTAB 21: VTAB 13: PRINT "TRANSPORTS:";R1
  137. 2330  RETURN 
  138. 3030 V = H *C3: HTAB 1: VTAB V +1: PRINT "PLANET #";H +Q1
  139. 3060  HTAB 15: VTAB V +1: PRINT "OWNER:";:W = W2: GOSUB 28: HTAB 11: VTAB V +Q2
  140. 3072  IF W1 < >W2  THEN W = W1: PRINT "OLD OWNER:";: GOSUB 28
  141. 3075  IF N >Q  THEN  HTAB 11: VTAB V +Q3: PRINT "INVADING ARMIES:";N;
  142. 3102  HTAB 3: VTAB V +Q5: PRINT "AG:"; PEEK(PA +Q1): HTAB 2: PRINT "POP:"; PEEK(PA +Q3)
  143. 3112  PRINT "MINE:"; PEEK(PA +Q5)
  144. 3120  HTAB Q2: PRINT "IND:"; PEEK(PA +Q7)
  145. 3130  HTAB 17: VTAB V +Q5: PRINT "GUERILLAS:"; PEEK(PA +C9): HTAB 20: VTAB V +Q6: PRINT "ARMIES:"; PEEK(PA +12)
  146. 3132  HTAB 23: VTAB V +Q7: PRINT "SDF:"; PEEK(PA +C3): HTAB 23: VTAB V +Q8: PRINT "PDF:"; PEEK(PA +CD)
  147. 3142  HTAB Q1: VTAB V +Q3: PRINT "ENVT:"; PEEK(PA): HTAB Q1: VTAB V +Q4: PRINT "RSRC:"; PEEK(PA +Q4)
  148. 3150  RETURN 
  149. 3160  POKE M1,Q: POKE M +Q2,Q1 -TM: CALL UR:Z3 =  PEEK(M -Q3) + PEEK(M -Q2) *B8: RETURN 
  150. 3165  POKE M1,Q1
  151. 3170  POKE M +Q2,TM: CALL UR:Z2 =  PEEK(M -Q3) + PEEK(M -Q2) *B8:TR =  PEEK(M6): RETURN 
  152. 3180  IF TM = Q  THEN AP = Q: GOTO 3190
  153. 3185 DP = Q
  154. 3190  GOSUB 21: PRINT "TARGET THE ENEMY TRANSPORTS (Y OR N)?"
  155. 3195  GOSUB 25: IF KY < >89  AND KY < >78  THEN 3195
  156. 3200  IF KY = 89  THEN  POKE M2 +TM,Q1
  157. 3205  RETURN 
  158. 3210 PP = Q: GOSUB 21: PRINT "(E)NGAGE ENEMY,": IF P(Q1) <C7  THEN  PRINT N$;" PLANET #(1),"
  159. 3215  IF P(Q2) <C7  THEN  PRINT N$;" PLANET #(2),"
  160. 3220  PRINT "OR (L)OOK AT PLANETS?";
  161. 3225  GOSUB 25: IF KY = 69  THEN 3260
  162. 3230  IF KY = 49  OR KY = 50  THEN  IF P(KY -48) <C7  THEN PP = KY -48: GOTO 3260
  163. 3240  IF KY < >76  THEN 3225
  164. 3245  GOSUB 3261
  165. 3255  GOSUB 21: GOSUB 24: GOTO 3210
  166. 3260  RETURN 
  167. 3261 TP = Q1: HOME :H = Q
  168. 3262  IF P(TP) <C7  THEN P = P(TP): GOSUB 122: GOSUB 3030:H = H +Q1
  169. 3265  IF TP = Q1  THEN TP = Q2: GOTO 3262
  170. 3270  RETURN 
  171. 3900  FOR I = Q TO Q3:W =  PEEK(DD +I): POKE DD +I,Q4: IF W = Q4  THEN 3910
  172. 3905 K = DC +B5 *W: FOR I1 = Q TO 31: POKE K +I1,B5: NEXT I1: POKE DB +Q6 +W,Q
  173. 3910  NEXT I: POKE M +Q1,Q: RETURN 
  174. 3920  POKE M +Q2,Q: POKE M1,B7 -127 *DS: CALL UR:Z6 =  PEEK(M -Q3) + PEEK(M -Q2) *B8: IF Z6 = Q  THEN 3960
  175. 3925 N$ = "BOMBING": GOSUB 64
  176. 3930  IF  RND(1) >.25  AND  PEEK(PA +Q7) >Q  THEN  POKE PA +Q7, PEEK(PA +Q7) -Q1: GOTO 3950
  177. 3935  IF  RND(1) <.25  AND  PEEK(PA +Q5) >Q  THEN  POKE PA +Q5, PEEK(PA +Q5) -Q1: GOTO 3950
  178. 3940  IF  RND(1) <.07  AND  PEEK(PA +Q1) >Q  THEN  POKE PA +Q1, PEEK(PA +Q1) -Q1: GOTO 3950
  179. 3945  IF  RND(1) <.25  AND  PEEK(PA +12) >Q  THEN  POKE PA +12, PEEK(PA +12) -Q1
  180. 3950  IF  RND(1) <.5  AND  PEEK(PA +Q3) >Q  THEN  POKE PA +Q3, PEEK(PA +Q3) -Q1
  181. 3955 Z6 = Z6 -Q1: IF Z6 >Q  THEN 3930
  182. 3956  IF  PEEK(PA +Q3) = Q  THEN  POKE PA +Q1,Q: POKE PA +Q9,Q: POKE PA +12,Q: POKE PA +C9,Q
  183. 3960  RETURN 
  184. 3961  GOSUB 3966
  185. 3962  IF PP = Q  THEN TP = D +P(Q1) *C:PP = Q1: IF  PEEK(D +P(Q2) *C +C3) + PEEK(D +P(Q2) *C +CD) > PEEK(TP +C3) + PEEK(TP +CD)  THEN PP = Q2
  186. 3965  RETURN 
  187. 3966 PP = Q2 *(P(Q1) = C7) +(P(Q2) = C7): RETURN 
  188. 3970  GOSUB 3966
  189. 3980  IF PP = Q  THEN TP = D +P(Q1) *C:PP = Q1: IF  PEEK(D +P(Q2) *C +C3) + PEEK(D +P(Q2) *C +CD) < PEEK(TP +C3) + PEEK(TP +CD)  THEN PP = Q2
  190. 3985  RETURN 
  191. 3990 PA = D +P(PP) *C: RETURN 
  192. 4000 PP = Q: POKE M3 +CB,Q: POKE M3 +30,Q1: IF MI = Q2  THEN 4060
  193. 4010  IF DP = Q  AND AP = Q  THEN  POKE M3 +CA,Q: GOTO 4130
  194. 4020  IF AP >Q  AND DP >Q  AND AP < >DP  THEN  GOSUB 3900:PP = AP: GOTO 4050
  195. 4030  IF AP >Q  THEN PP = AP: GOTO 4050
  196. 4040 PP = DP
  197. 4050  GOSUB 3990: POKE M3 +CA, PEEK(PA +C3): GOTO 4130
  198. 4060 PP = AP: GOSUB 3990
  199. 4070  IF  PEEK(PA +C3) >Q  OR  PEEK(PA +CD) >Q  THEN 4100
  200. 4080  IF  PEEK(M2) = Q1  THEN 4086
  201. 4082  IF DP = Q1  THEN  GOSUB 3920
  202. 4084  GOTO 4140
  203. 4086 N$ = "PURGING": GOSUB 64
  204. 4088  GOSUB 1300
  205. 4090  POKE PA +Q1,Q: POKE PA +Q3,Q: POKE PA +Q5,Q: FOR K = Q7 TO 19: POKE PA +K,Q: NEXT K:N = Q: POKE PA +C4,S: GOTO 4315
  206. 4100  POKE M3 +CA, PEEK(PA +C3): IF DS = Q  THEN  POKE M3 +CB, PEEK(PA +CD) +B7
  207. 4110  ON DP +Q1 GOTO 4140,4130
  208. 4120  POKE M3 +30,Q
  209. 4130  POKE DA +B4,(CT >Q): CALL U8: IF PP  THEN  POKE PA +C3, PEEK(M3 +CA)
  210. 4132  IF PP  AND  PEEK(M3 +CB) > = B7  THEN  POKE PA +CD, PEEK(M3 +CB) -B7
  211. 4140  IF MI = Q2  THEN 4170
  212. 4150  IF AP >Q  THEN  GOSUB 3920
  213. 4160  GOTO 4320
  214. 4170  IF DP = Q1  AND  PEEK(M2) = Q1  THEN  GOSUB 3920
  215. 4190  IF DP < >Q2  OR N >Q  THEN 4250
  216. 4200  FOR I = Q TO Q2:W =  PEEK(DB +I): IF W = Q4  THEN I = Q2: GOTO 4240
  217. 4210 K = DC +B5 *W: FOR I1 = Q TO 31: IF  PEEK(K +I1) = B5  THEN I1 = 31: GOTO 4230
  218. 4220 TA = D2 +W *B8 +Q8 * PEEK(K +I1):N = N + PEEK(TA +Q1): POKE TA +Q1,Q
  219. 4230  NEXT I1
  220. 4240  NEXT I
  221. 4250  IF N = Q  THEN 4320
  222. 4260 Z = Q: IF DP = Q2  THEN  POKE M +Q2,Q: POKE M1,B7 -127 *DS:Z =  PEEK(M -Q3) + PEEK(M -Q2) *B8: IF Z >N  THEN Z = N
  223. 4270 AM = PA +12:IN = N +Z:Z =  PEEK(PA +C3) + PEEK(PA +CD): IF Z > PEEK(AM)  THEN Z =  PEEK(AM)
  224. 4280 IC = (Z + PEEK(AM)) *Q3/Q2
  225. 4285 IN = IN - INT(( INT( RND(1) *4) +Q5) *IN/C3): IF IN > PEEK(AM)  THEN IN =  PEEK(AM)
  226. 4290 IC = IC - INT(( INT( RND(1) *4) +Q5) *IC/C3): IF IC >N  THEN IC = N
  227. 4295 N = N -IC: POKE AM, PEEK(AM) -IN
  228. 4300  IF N = Q  OR  PEEK(AM) >Q  THEN 4320
  229. 4305  GOSUB 21: PRINT "PLANET #";PP;" OF ";: GOSUB 128: PRINT " CAPTURED!": GOSUB 32: IF N >255  THEN N = 255
  230. 4306  POKE AM,N:N = Q:W =  INT( PEEK(PA +Q9)/B5):W1 =  PEEK(PA +Q9) -W *B5: IF W1 = MP  THEN  POKE PA +Q9,MP *B5 +B5: GOTO 4315
  231. 4310  POKE PA +C9, PEEK(PA +Q1): POKE PA +Q9,MP *B5 +B5 +W
  232. 4315  IF PA = D +P(Q1) *C  THEN P(Q1) = C7
  233. 4316  IF PA = D +P(Q2) *C  THEN P(Q2) = C7
  234. 4317  IF P(Q1) = C7  AND P(Q2) = C7  THEN P1 = Q1
  235. 4318  GOSUB 1300
  236. 4320  IF N >Q  AND (( PEEK(PA +C3) = Q  AND  PEEK(PA +CD) = Q)  OR  PEEK(DB) = Q4)  THEN 4305
  237. 4325 CT = CT +Q1: RETURN 
  238. 4350  FOR TM = Q TO Q1: FOR I = Q TO Q2: GOSUB 74: IF W = Q4  THEN I = Q2: GOTO 5100
  239. 4360  IF  PEEK(D5 +B4 +W) = Q2  THEN 4720
  240. 4365  IF CT = Q  THEN 5100
  241. 4370  POKE M4,W: POKE DA +C3,TM: POKE DA +11,(MI >Q5) +B7: CALL UA
  242. 4380  GOSUB 3160: GOSUB 3170: IF TM = Q1  OR P1 < >Q  THEN 4385
  243. 4382  GOSUB 3961: IF MI = Q2  THEN  GOSUB 3970
  244. 4383  GOSUB 3990:Z3 = Z3 + PEEK(PA +C3)
  245. 4385  IF P1 = Q  THEN Z2 = Z2 *Q5: IF TM = Q  THEN Z3 = Z3 *Q4
  246. 4390  IF Z2 > = Z3  THEN 5100
  247. 4420  GOSUB 48: GOTO 5100
  248. 4720  GOSUB 214
  249. 4725  GOSUB 74: GOSUB 2040
  250. 4730  GOSUB 21: PRINT "EXAMINE (F)RIENDLY ";T$;",";: IF MI < >Q2  THEN  PRINT "(E)NEMY";
  251. 4735  PRINT : IF MI < >Q2  THEN  PRINT "FLEET,";
  252. 4736  PRINT "(L)OOK AT TARGETABLE PLANETS,"
  253. 4737  IF CT >Q  THEN  PRINT "RETREAT (1) OR (A)LL YOUR ";T$;","
  254. 4739  PRINT "OR E(X)IT?";
  255. 4740  GOSUB 25: IF KY = 88  THEN 5100
  256. 4742  IF KY = 65  AND CT >Q  THEN  GOSUB 48: GOTO 5100
  257. 4744  IF KY = 70  THEN 4800
  258. 4746  IF KY = 69  THEN 4770
  259. 4747  IF KY = 76  THEN  HOME : GOSUB 3261: HTAB 1: VTAB 21: GOSUB 24: GOTO 4725
  260. 4748  IF KY < >49  OR CT = Q  THEN 4740
  261. 4750  ONERR  GOTO 4750
  262. 4751  GOSUB 21: PRINT "WITHDRAW WHICH ";T$;: INPUT N$
  263. 4752 TF =  VAL(N$) -Q1: IF TF <Q  OR TF > = B5  THEN 4750
  264. 4754  GOSUB 20:K = Q
  265. 4756  IF  PEEK(K1 +K) = B5  THEN 4762
  266. 4758  IF  PEEK(K1 +K) = TF  THEN  POKE K1 +K,TF +B6: POKE D2 +W *B8 +TF *Q8 +Q7,Q9 *(MI >Q5  OR (  NOT TM  AND MI < >Q2)): GOTO 4725
  267. 4760 K = K +Q1: IF K <B5  THEN 4756
  268. 4762  GOTO 4730
  269. 4770 W1 = W: FOR I1 = Q TO Q2:W =  PEEK(DB +Q3 *(Q1 -TM) +I1): IF W = Q4  THEN I1 = Q2: GOTO 4790
  270. 4780  GOSUB 2240: GOSUB 21: GOSUB 24
  271. 4790  NEXT I1:W = W1: GOTO 4725
  272. 4800  ONERR  GOTO 4800
  273. 4805  GOSUB 21: PRINT "EXAMINE ";T$;: INPUT N$: IF N$ = ""  THEN 4730
  274. 4810 TF =  VAL(N$) -Q1: IF TF <Q  OR TF > = B5  THEN 4800
  275. 4812  GOSUB 20
  276. 4814  IF  PEEK(K1 +K) = B5  THEN 4730
  277. 4816  IF  PEEK(K1 +K) < >TF  AND  PEEK(K1 +K) < >TF +B6  THEN K = K +Q1: GOTO 4814
  278. 4820 TA = D2 +B8 *W +TF *Q8: GOSUB 2140
  279. 4830  GOSUB 21: PRINT "(J)OIN OR (S)PLIT THE ";T$;","
  280. 4840  PRINT "(N)EXT SCREEN OR E(X)IT?"
  281. 4842  GOSUB 25: IF KY = 88  THEN 4725
  282. 4844  IF KY = 83  THEN 4860
  283. 4846  IF KY = 74  THEN 4890
  284. 4848  IF KY < >78  THEN 4842
  285. 4850 S2 = S2 +Q1: GOSUB 2180: GOTO 4830
  286. 4860  POKE M4,W: POKE DA +C3,TM: POKE DA +11,C3: POKE DB +46,C2: CALL UB:T2 =  PEEK(M1)
  287. 4870  GOSUB 21: IF T2 = B7  THEN  PRINT "NO MORE ";T$;"S AVAILABLE.": GOSUB 24: GOTO 4830
  288. 4880  PRINT "NEW ";T$;"=";T2 +Q1: GOSUB 32: POKE DA +11, PEEK(TA +Q7): GOTO 4910
  289. 4890  ONERR  GOTO 4890
  290. 4891  GOSUB 21: PRINT "TRANSFER TO WHICH ";T$;: INPUT N$: IF N$ = ""  THEN 4830
  291. 4892 T2 =  VAL(N$) -Q1: IF T2 <Q  OR T2 > = B5  THEN 4890
  292. 4894  GOSUB 20
  293. 4896  IF  PEEK(K1) = B5  THEN  PRINT T$;" NOT ENGAGED": GOSUB 32: GOTO 4890
  294. 4898  IF  PEEK(K1) < >T2  AND  PEEK(K1) < >T2 +B6  THEN K1 = K1 +Q1: GOTO 4896
  295. 4899  IF  PEEK(D2 +W *256 +T2 *8 +7) = 2  THEN  PRINT T$;" ON REPAIR": GOSUB 32: GOTO 4890
  296. 4900  POKE M4,W: POKE M6,Q: POKE DA +C3,TM
  297. 4910  GOSUB 21: PRINT "TRANSFER (T)RANSPORTS,WARSHIPS BY"
  298. 4915  PRINT "(E)FFICIENCY OR (I)D, OR E(X)IT?"
  299. 4920  GOSUB 25: IF KY = 88  THEN S2 = S3: GOSUB 2180: GOTO 4830
  300. 4930  ON KY = 84 GOTO 5070: ON KY = 69 GOTO 5030: ON KY < >73 GOTO 4920
  301. 4960  ONERR  GOTO 4960
  302. 4965  GOSUB 21: PRINT "WHICH SHIPS?";:H = 13
  303. 4970  GOSUB 20000: IF N$ = ""  THEN 4910
  304. 4980  ON K >255 GOTO 4970: POKE M3,K: POKE M3 +1,K:H =  PEEK(36) +1: IF B$ < >","  THEN 5020
  305. 4990  GOSUB 20000: IF B$ = ","  THEN 4990
  306. 5000  ON K >255 GOTO 4990: POKE M3 +1,K
  307. 5020  POKE DB +46,26: GOTO 5060
  308. 5030  POKE M3,Q: POKE M3 +Q1,C2
  309. 5040  GOSUB 21: PRINT "TRANSFER SHIPS AT EFFICIENCY"
  310. 5045  ONERR  GOTO 5040
  311. 5047  PRINT "BELOW (1-100)";: INPUT K: IF K <Q1  OR K >C6  THEN 5040
  312. 5050  POKE DB +46, INT((K +Q3)/Q4)
  313. 5060  POKE M1,T2: POKE M7,TF: CALL UE: GOTO 4910
  314. 5070  POKE M1,T2: POKE M7,TF: POKE M3, PEEK(TA): CALL UF:TN =  PEEK(M1): IF TN = B7  THEN S2 = S3: GOSUB 2180: GOTO 4830
  315. 5080  IF  PEEK(TA +Q6)  THEN 4910
  316. 5090  GOTO 4725
  317. 5100  NEXT I: NEXT TM: GOTO 7000
  318. 5180  HOME : IF TM  THEN  PRINT "DEFENDERS ";
  319. 5190  IF   NOT TM  THEN  PRINT A$;"ERS ";
  320. 5200  PRINT "DEAD OR FLED.": GOSUB 32
  321. 5210  FOR I = Q TO 127: POKE DC +I,B5: NEXT I
  322. 5220  CALL 2054
  323. 5230  FOR I = Q TO Q3: POKE DB +Q6 +I,Q: POKE M +I,Q: NEXT I: RETURN 
  324. 6000  POKE M2 +TM,Q:W =  PEEK(DB +Q3 *TM): IF  PEEK(D5 +W +B4) = Q2  THEN 6190
  325. 6010  IF MI = Q3  OR P1  THEN 6080
  326. 6020  IF MI = Q2  THEN 6100
  327. 6030  IF TM = Q1  THEN  GOSUB 3961:DP = PP: GOTO 6900
  328. 6080  IF TM = Q  THEN AP = Q: GOTO 6900
  329. 6090 DP = Q: GOTO 6900
  330. 6100  GOSUB 3970:AP = PP:PP = P(AP)
  331. 6110 PA = D +C *PP: IF  PEEK(PA +CD) >Q  OR  PEEK(PA +C3) >Q  THEN 6160
  332. 6120  IF  PEEK(PA +Q7) <Q1  THEN DP = Q1: POKE M2,Q1: GOTO 6900
  333. 6130  GOSUB 3165: IF TR *Q2 > PEEK(PA +Q1) *Q5  THEN DP = Q2:DS = Q: GOTO 6900
  334. 6135  IF  PEEK(PA +Q9) <160  THEN DP = Q1: POKE M2,Q1: GOTO 6900
  335. 6140 AP = Q: GOTO 6900
  336. 6160 DS = Q:DP = Q1: POKE M1,Q
  337. 6170  GOSUB 3170: IF Z2 <Q4 *( PEEK(PA +C3) + PEEK(PA +CD))/Q5  THEN AP = Q
  338. 6180  GOTO 6900
  339. 6190  GOSUB 214: IF MI = Q3  OR P1  THEN  GOSUB 3180: GOTO 6900
  340. 6220  IF MI = Q2  THEN 6270
  341. 6230 N$ = A$: IF TM = Q1  THEN N$ = "DEFEND"
  342. 6240  GOSUB 3210: IF PP = Q  THEN  GOSUB 3180: GOTO 6900
  343. 6250  IF TM = Q  THEN AP = PP: POKE M2 +TM,Q1: GOTO 6900
  344. 6260 DP = PP: GOTO 6900
  345. 6270  IF N >Q  THEN 6330
  346. 6280 AP = Q: IF P(Q1) = C7  THEN AP = Q2: GOTO 6330
  347. 6290  IF P(Q2) = C7  THEN AP = Q1: GOTO 6330
  348. 6300  GOSUB 21: PRINT A$;" WHICH PLANET (1 OR 2)?"
  349. 6310  GOSUB 25: IF KY < >50  AND KY < >49  THEN 6310
  350. 6320 AP = KY -48
  351. 6330 PA = D +C *P(AP)
  352. 6340  IF  PEEK(PA +C3) >Q  OR  PEEK(PA +CD) >Q  THEN 6400
  353. 6350 DS = Q: GOSUB 21: PRINT "(B)OMB,(P)URGE, (C)APTURE THE PLANET, OR(G)ARRISON?"
  354. 6360  GOSUB 25: IF KY = 67  THEN DP = Q2: GOTO 6900
  355. 6365  IF KY = 71  THEN AP = Q: GOTO 6910
  356. 6370  IF KY < >66  AND KY < >80  THEN 6360
  357. 6380 DP = Q1: IF KY = 80  THEN  POKE M2,Q1
  358. 6390  GOTO 6900
  359. 6400  GOSUB 21: IF N >Q  THEN  PRINT "(A)RMY ";A$;",";
  360. 6410  PRINT "(F)LEET AND ARMY ";A$: PRINT A$;" THE PLANET'S (D)EFENSES, (B)OMB  EXTRA (NON-MILITARY) TARGETS, OR"
  361. 6411  PRINT "(G)ARRISON?";
  362. 6420  GOSUB 25: IF KY = 65  AND N >Q  THEN DP = Q: GOTO 6900
  363. 6425  IF KY = 71  THEN AP = Q: GOTO 6910
  364. 6430  IF KY = 70  THEN DP = Q2: GOTO 6600
  365. 6440  IF KY < >68  AND KY < >66  THEN 6420
  366. 6450 DP = Q1: IF KY = 66  THEN  POKE M2,Q1
  367. 6460  GOSUB 21: PRINT A$;" FROM (S)PACE OR (A)TMOSPHERE?"
  368. 6470  GOSUB 25: IF KY = 83  THEN DS = Q1: GOTO 6900
  369. 6480  IF KY < >65  THEN 6470
  370. 6490 DS = Q: GOTO 6900
  371. 6600  IF N = Q  THEN DS = Q: GOTO 6900
  372. 6610  GOTO 6460
  373. 6900  IF AP = Q  AND DP = Q  THEN DS = Q1
  374. 6910  RETURN 
  375. 7000  POKE DA +2,S: POKE 795,TU: POKE 22283,MI: CALL 2048
  376. 7010  IF  PEEK(DB) <Q4  THEN 7020
  377. 7012  IF N = Q  THEN TM = Q: GOTO 5180
  378. 7014  GOSUB 4260:TM = Q: GOTO 5180
  379. 7020  IF  PEEK(DD) <Q4  THEN 7050
  380. 7030  IF TU = C3  OR P1  THEN TM = Q1: GOTO 5180
  381. 7040 MI = Q2: GOTO 7170
  382. 7050  IF  PEEK(M) = Q  AND CT  THEN TM = Q: GOSUB 8000: GOTO 5180
  383. 7060  IF  PEEK(M +Q1) >Q  THEN 7170
  384. 7070 TM = Q1: ON CT = Q GOTO 7170: GOSUB 8000: IF P1  THEN 5180
  385. 7080 MI = Q2
  386. 7170  IF MI >Q2  THEN TM = Q1: GOSUB 6000
  387. 7180 TM = Q: GOSUB 6000: IF MI = Q2  AND AP = Q  THEN  GOSUB 8000: GOTO 5180
  388. 7190  GOSUB 4000
  389. 7200 CT = CT +Q1: IF MI = Q6  AND AP >Q  THEN TM = Q: GOSUB 8000: GOTO 5180
  390. 7210  IF  PEEK(DB) = Q4  THEN TM = Q: GOTO 5180
  391. 7220  IF  PEEK(DD) <Q4  THEN 7250
  392. 7230  IF TU = C3  OR P1  THEN TM = Q1: GOTO 5180
  393. 7240 MI = Q2: GOTO 4350
  394. 7250  IF  PEEK(M) = Q  THEN TM = Q: GOSUB 8000: GOTO 5180
  395. 7260  IF  PEEK(M +Q1) >Q  THEN 4350
  396. 7270 TM = Q1: GOSUB 8000: IF P1  THEN 5180
  397. 7280 MI = Q2: GOTO 4350
  398. 8000  FOR I = Q TO Q2: GOSUB 74: IF W = Q4  THEN I = Q2: GOTO 8020
  399. 8010  GOSUB 48
  400. 8020  NEXT I: RETURN 
  401. 8100  FOR I = 0 TO 2: GOSUB 74:TF =  -1: IF W = 4  THEN I = 2: GOTO 8120
  402. 8110  GOSUB 2020: IF TF < >B5  THEN  POKE TA +7,9: GOTO 8110
  403. 8120  NEXT I: RETURN 
  404. 10000 TU =  PEEK(DA +98): TEXT : HOME 
  405. 10900  ON TU +Q1 GOTO 10902,10903
  406. 10901  PRINT "POST NEGOTIATION ";: GOTO 10904
  407. 10902  PRINT "FIRST ";: GOTO 10904
  408. 10903  PRINT "SECOND ";
  409. 10904  PRINT "COMBAT PHASE": FOR S = Q TO 49:SA = D1 +C4 *S
  410. 10905  GOSUB 100: IF PP = Q  THEN 11100
  411. 10910  IF S2 <Q2  THEN 11050
  412. 10915  FOR I = 0 TO 3: POKE 22284 +I,S(I): NEXT I
  413. 10920 HM = Q: CALL 2054: POKE 22278,HM: CALL 2057:MI = 6
  414. 10930 HM =  PEEK(22278):MX =  PEEK(22279): IF HM = Q3  AND MX = Q3  AND  PEEK(DB) = Q4  THEN 10960
  415. 10940  POKE 22283,134: POKE DA +2,S: POKE 795,TU: CALL 2048: IF TU = C3  OR ( PEEK(DB) < >Q4  AND  PEEK(DD) < >Q4)  THEN 10945
  416. 10943  CALL 2054: GOSUB 375: GOTO 10930
  417. 10945  IF TU = C3  AND ( PEEK(M) = Q  OR  PEEK(DD) = Q4)  THEN  CALL 2054: GOSUB 375: GOTO 10930
  418. 10950  GOTO 11000
  419. 10960 HM = Q: CALL 2054: POKE 22278,HM: CALL 2057:MI = 3
  420. 10970 HM =  PEEK(22278):MX =  PEEK(22279): IF HM = Q3  AND MX = Q3  AND  PEEK(DB) = Q4  THEN 11050
  421. 10980  POKE 22283,131: POKE DA +2,S: POKE 795,TU: CALL 2048: IF TU < >C3  AND ( PEEK(DB) = Q4  OR  PEEK(DD) = Q4)  THEN  CALL 2054: GOSUB 375: GOTO 10970
  422. 10985  IF TU = C3  AND ( PEEK(M) >Q  AND  PEEK(DD) < >Q4)  THEN 11000
  423. 10990  IF TU = C3  THEN  HOME : POKE DB,HM: PRINT "FLEET WITHDRAWS FROM ";:SA = D1 +C4 *S: GOSUB 128:TM = Q: GOSUB 8100: GOTO 10905
  424. 11000  HOME : PRINT "FLEET ENGAGEMENT AT ";:SA = D1 +C4 *S: GOSUB 128: PRINT 
  425. 11005  GOSUB 1000: GOSUB 1070: GOSUB 60:CT = Q:MP =  PEEK(DB):N = Q: IF TU = C3  THEN MI = Q6
  426. 11010  PRINT A$: HTAB C: VTAB 2: PRINT "DEFENDERS"
  427. 11020  FOR TM = Q TO Q1: FOR I = Q TO Q2: GOSUB 74: IF W = Q4  THEN I = Q2: GOTO 11040
  428. 11030  HTAB TM *19 +Q1: VTAB I +Q3: GOSUB 28
  429. 11040  NEXT I: NEXT TM: GOSUB 32: GOSUB 4350: GOTO 10905
  430. 11050  POKE DA +2,S: CALL 25603
  431. 11100  NEXT S: ON TU = C3 GOTO 12001: FOR S = Q TO 49:SA = D1 +C4 *S
  432. 11105  GOSUB 100: IF PP = Q  THEN 11500
  433. 11110 HM =  INT( RND(1) *4):MP = HM
  434. 11120  IF S(MP) = Q  THEN 11490
  435. 11121  POKE DA +2,S: POKE DA +4,MP: POKE 795,TU: FOR I = 0 TO 3: POKE 22284 +I,S(I): NEXT I: CALL 25600
  436. 11130 P(1) =  PEEK(22278):P(2) =  PEEK(22279)
  437. 11135  IF P(1) = C7  AND P(2) = C7  THEN 11490
  438. 11140 TM = Q: POKE M1,Q: GOSUB 3170: IF TR = Q  AND Z2 <Q1  THEN 11490
  439. 11310 P1 = 0: GOSUB 1080: POKE DB +Q4,Q4: POKE DD,Q4:MI = Q2
  440. 11325  GOSUB 21: FOR I = Q TO Q3:W =  PEEK(DB +I): IF W = Q4  THEN I = Q3: GOTO 11345
  441. 11330  IF I  THEN  PRINT ", ";
  442. 11335  GOSUB 28: IF  PEEK(36) >19  THEN  PRINT 
  443. 11345  NEXT I
  444. 11350  PRINT " ";A$;"ING ";: GOSUB 128: GOSUB 32:CT = Q1:N = Q: GOSUB 4350
  445. 11490 MP = MP +Q1: IF MP >Q3  THEN MP = Q
  446. 11495  IF MP < >HM  THEN 11120
  447. 11500 P1 = Q1
  448. 11510 P =  PEEK(SA +P1) - INT( PEEK(SA +P1)/B7) *B7: IF P = C7  THEN 11630
  449. 11520 PA = P *C +D:W =  INT( PEEK(PA +Q9)/B5): IF  PEEK(PA +Q9) -W *B5 = W  THEN 11630
  450. 11530 Z =  PEEK(PA +12):TK =  PEEK(PA +C9):S1 = Z:S2 = TK:S3 =  PEEK(PA +Q3)
  451. 11540  IF Z = Q  OR TK = Q  THEN 11600
  452. 11550  IF S1 >Q  AND  RND(1) <.25  THEN TK = TK -Q1
  453. 11560  IF S1 >Q  THEN S1 = S1 -Q1: IF  RND(1) <.12  AND S3 >Q  THEN S3 = S3 -Q1
  454. 11565  IF S3 = Q  THEN  POKE PA +Q3,Q: GOSUB 3956: GOTO 11600
  455. 11570  IF S2 >Q  THEN S2 = S2 -Q1: IF  RND(1) <.12  THEN Z = Z -Q1
  456. 11580  IF S1 >Q  OR S2 >Q  THEN 11540
  457. 11590  POKE PA +Q3,S3: POKE PA +C9,TK: POKE PA +12,Z: GOTO 11630
  458. 11600  IF TK = Q  THEN  POKE PA +Q9,W *33: POKE PA +C9,Q: GOTO 11630
  459. 11610 W =  PEEK(PA +Q9) -W *B5: POKE PA +Q9,W *33: POKE PA +C9,Q: POKE PA +12,Q: POKE PA +17,C2: POKE PA +B4,Q:W = W -Q1
  460. 11620  GOSUB 21: GOSUB 28: PRINT " RECAPTURES ";: GOSUB 128: GOSUB 32
  461. 11630  IF P1 = Q1  THEN P1 = Q2: GOTO 11510
  462. 12000  NEXT S
  463. 12001  GOSUB 21: PRINT "DO YOU WISH TO SAVE THE GAME (Y OR N)?"
  464. 12002  GOSUB 25: IF KY < >78  AND KY < >89  THEN 12002
  465. 12003  IF KY = 78  THEN 12010
  466. 12004  ONERR  GOTO 12004
  467. 12005  POKE DA +98,TU: &  RUN "GSAVE  
  468. 12010  ON TU +Q1 GOTO 12040,12060
  469. 12020  POKE DA +98,Q: GOTO 12050
  470. 12040  POKE DA +98,Q1
  471. 12050  ONERR  GOTO 12050
  472. 12055  POKE 22288,3: &  RUN "VECTOR",44800
  473. 12060  ONERR  GOTO 12060
  474. 12065  POKE 22288,0: &  RUN "VECTOR",44800
  475. 20000 N$ = "": HTAB H: PRINT "    ";: HTAB H
  476. 20010  GET B$: IF B$ =  CHR$(13)  OR B$ = ","  THEN 20070
  477. 20020  IF B$ =  CHR$(8)  THEN 20050
  478. 20025  IF  LEN(N$) >2  THEN 20000
  479. 20030  IF  ASC(B$) <48  OR  ASC(B$) >57  THEN 20010
  480. 20040 N$ = N$ +B$: PRINT B$;: GOTO 20010
  481. 20050  ON  LEN(N$) +1 GOTO 20010,20000
  482. 20060 N$ =  LEFT$(N$, LEN(N$) -1): HTAB  PEEK(36): PRINT " ";: HTAB  PEEK(36): GOTO 20010
  483. 20070  IF B$ = ","  THEN  PRINT B$;
  484. 20080 K =  VAL(N$): RETURN