home *** CD-ROM | disk | FTP | other *** search
/ RBBS in a Box Volume 1 #3.1 / RBBSIABOX31.cdr / gprt / geosyc.bas < prev    next >
BASIC Source File  |  1990-09-29  |  12KB  |  384 lines

  1. 10 FG=0
  2. 20 GOTO 1150
  3. 30 T=M2-M1
  4. 40 TA=ABS(T)
  5. 50 IF TA<= 180 THEN GOTO 80
  6. 60 TS= SGN(T)
  7. 70 T= -1*((TS*360)-T)
  8. 80 EP=T
  9. 90 T= T/RD: L1= L1/RD: EP= EP/RD
  10. 100 X= SQR(1-.5*(COS(L1)+COS(EP)))
  11. 110 ML= 2* FN ARCSYN(X)
  12. 120 EL= (PI/2)-(ML+ATN (R*SIN(ML)/(R*(1-COS(ML)*H))))
  13. 130 IF EP=0 THEN YA=PI: GOTO 170
  14. 140 ZA= 1/TAN(EP/2)
  15. 150 ZB= TAN(L1/2)
  16. 160 YA= ATN(ZA*ZB)+ ATN(ZA*(1/ZB))
  17. 170 YA= YA*RD: EL= INT(EL*RD): L1= L1*RD
  18. 180 ZF=360
  19. 190 IF L1<0 THEN GOTO 230
  20. 200 YA= 360+YA
  21. 210 Y=YA MOD 360
  22. 220 RETURN
  23. 230 Y= INT(180+YA)
  24. 240 RETURN
  25. 250 PRINT CHR$(12);
  26. 260 INPUT"WHAT IS THE NAME OF THE CITY ";  NC$
  27. 270 PRINT:PRINT
  28. 280 INPUT"ENTER THE CITY LATITUDE USING SPACES TO SEPERATE DEGREES MINUTES AND N(ORTH) OR S(OUTH).  "; DL$
  29. 290 LE= LEN(DL$)
  30. 300 I=1
  31. 310 IF MID$(DL$,I,1)=" " THEN GOTO 360
  32. 320 IF (I=LE) THEN GOTO 340
  33. 330 I= I+1: GOTO 310
  34. 340 PRINT"WHEN YOU ENTER THE LATITUDE, BE SURE TO USE SPACES TO SEPERATE THE ENTRIES. ":PRINT"PRESS ANY KEY TO CONTINUE";:K$=INPUT$(1)
  35. 350 PRINT CHR$(12);: GOTO 280
  36. 360 J=I-1
  37. 370 DG= VAL(MID$(DL$,1,J))
  38. 380 MN=0: KK=0
  39. 390 I=I+1
  40. 400 IF MID$(DL$,I,1)=" " THEN GOTO 430
  41. 410 IF (I=LE) THEN 340
  42. 420 I= I+1: KK=1: GOTO 400
  43. 430 JK= I-1
  44. 440 IF KK<> 0 THEN MN= VAL(MID$(DL$,J+1,JK))
  45. 450 IF NOT (DG>90 OR DG<0 OR MN>60 OR MN<0) THEN 480
  46. 460 PRINT"DEGREES ARE BETWEEN 0 AND 90 AND MINUTES ARE BETWEEN 0 AND 60.":PRINT"PRESS ANY KEY TO CONTINUE ";:K$=INPUT$(1)
  47. 470 PRINT CHR$(12);: GOTO 280
  48. 480 L1= DG+(MN/60)
  49. 490 I=I+1
  50. 500 NS$= MID$(DL$,I,1)
  51. 510 IF NS$="N" OR NS$="S" THEN GOTO 540
  52. 520 PRINT"ENTER EITHER N FOR NORTH OR S FOR SOUTH. PRESS ANY KEY TO CONTINUE ";:K$=INPUT$(1)
  53. 530 PRINT CHR$(12);: GOTO 280
  54. 540 IF NS$= "S" THEN L1=-L1
  55. 550 PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT:PRINT
  56. 560 INPUT"ENTER THE CITY LONGITUDE USING SPACES TO SEPARATE DEGREES MINUTES AND E(AST OR W(EST). ";DL$
  57. 570 LE= LEN(DL$)
  58. 580 I=1
  59. 590 IF MID$(DL$,I,1)=" " THEN GOTO 640
  60. 600 IF (I=LE) THEN GOTO 620
  61. 610 I= I+1: GOTO 590
  62. 620 INPUT"WHEN YOU ENTER THE LONGITUDE, BE SURE TO USE SPACES TO SEPERATE THE ENTRIES.    PRESS ANY KEY TO CONTINUE";K$
  63. 630 PRINT CHR$(12);: GOTO 550
  64. 640 J= I-1
  65. 650 DG= VAL(MID$(DL$,1,J))
  66. 660 MN=0: KK=0
  67. 670 I=I+1
  68. 680 IF MID$(DL$,I,1)=" " THEN GOTO 710
  69. 690 IF (I=LE) THEN GOTO 620
  70. 700 I= I+1:KK=1: GOTO 680
  71. 710 JK=I-1
  72. 720 IF KK<> 0 THEN MN= VAL(MID$(DL$,J+1,JK))
  73. 730 IF NOT (DG> 180 OR DG< 0 OR MN> 60 OR MN < 0) THEN GOTO 760
  74. 740 PRINT"DEGREES ARE BETWEEN 0 AND 180 AND MINUTES ARE BETWEEN 0 AND 60.":PRINT"PRESS ANY KEY TO CONTINUE ";:K$=INPUT$(1)
  75. 750 PRINT CHR$(12);: GOTO 1750
  76. 760 M1= DG+(MN/60)
  77. 770 I= I+1
  78. 780 EW$= MID$(DL$,I,1)
  79. 790 IF EW$= "E" OR EW$= "W" THEN GOTO 820
  80. 800 PRINT"ENTER EITHER E FOR EAST OR W FOR WEST. PRESS ANY KEY TO CONTINUE ";:K$=INPUT$(1)
  81. 810 PRINT CHR$(12);: GOTO 550
  82. 820 IF EW$= "W" THEN M1= -M1
  83. 830 RETURN
  84. 840 PRINT CHR$(12)
  85. 850 INPUT"WHAT IS THE NAME OF THE SATELLITE ";NS$
  86. 860 PRINT:PRINT
  87. 870 INPUT"ENTER THE SATELITE LONGITUDE USING SPACES TO SEPERATE DEGREES MINUTES AND E(AST) OR W(EST) ";SL$
  88. 880 LE= LEN(SL$)
  89. 890 I=1
  90. 900 IF MID$(SL$,I,1)=" " THEN GOTO 950
  91. 910 IF (I=LE) THEN GOTO 930
  92. 920 I=I+1: GOTO 900
  93. 930 PRINT"WHEN YOU ENTER THE LONGITUDE, BE SURE TO USE SPACES TO SEPARATE THE ENTRIES. ":PRINT"PRESS ANY KEY TO CONTINUE ";:K$=INPUT$(1)
  94. 940 PRINT CHR$(12);: GOTO 550
  95. 950 J=I-1
  96. 960 DG= VAL(MID$(SL$,I,J))
  97. 970 MN= 0: KK=0
  98. 980 I= I+1
  99. 990 IF MID$(SL$,I,1)=" " THEN GOTO 1020
  100. 1000 IF (I=LE) THEN GOTO 2010
  101. 1010 I= I+1: KK=1: GOTO 990
  102. 1020 JK=I-1
  103. 1030 IF KK<> 0 THEN MN= VAL(MID$(SL$,J+1,JK))
  104. 1040 IF NOT (DG>180 OR DG<0 OR MN>60 OR MN<0) THEN GOTO 1070
  105. 1050 PRINT"DEGREES ARE BETWEEN 0 AND 180 AND MINUTES ARE BETWEEN 0 AND 60.":PRINT"PRESS ANY KEY TO CONTINUE ";: K$=INPUT$(1)
  106. 1060 PRINT CHR$(12);: GOTO 870
  107. 1070 M2= DG+(MN/60)
  108. 1080 I= I+1
  109. 1090 EW$= MID$(SL$,I,1)
  110. 1100 IF EW$="E" OR EW$= "W" THEN GOTO 1130
  111. 1110 PRINT"ENTER EITHER E FOR EAST OR W FOR WEST. PRESS ANY KEY TO CONTINUE. ";:K$=INPUT$(1)
  112. 1120 PRINT CHR$(12);: GOTO 550
  113. 1130 IF EW$= "W" THEN M2= -M2
  114. 1140 RETURN
  115. 1150 PRINT CHR$(12);:
  116. 1160 PRINT TAB(34);"G E O S A T"
  117. 1170 PRINT:PRINT:PRINT:PRINT TAB(29);"LOOK ANGLE CALCULATOR"
  118. 1180 FOR I= 1 TO 2000:NEXT I
  119. 1190 PRINT CHR$(12);
  120. 1200 PRINT:PRINT TAB(21);
  121. 1210 PRINT"THIS PROGRAM WILL ALLOW YOU TO"
  122. 1220 PRINT TAB(21)"DETERMINE WHERE YOU HAVE TO POINT"
  123. 1230 PRINT TAB(21)"AN ANTENNA TO PERMIT RECEPTION OF"
  124. 1240 PRINT TAB(21)"SIGNALS TRANSMITTED FROM A"
  125. 1250 PRINT TAB(21)"GEOSYNCHRONOUS SATELLITE."
  126. 1260 PRINT:PRINT
  127. 1270 PRINT"IF YOU NEED INSTRUCTIONS ON THE OPERATION OF THIS PROGRAM,"
  128. 1280 PRINT"PRESS THE <ESC> KEY. OTHERWISE ANY OTHER KEY WILL START THE PROGRAM."
  129. 1290 PRINT
  130. 1300 PRINT
  131. 1310 PRINT
  132. 1320 PRINT"  THE INSTRUCTIONS ARE CONTAINED ON SEVERAL PAGES. TO SEE THE VARIOUS PAGES, USE <RTN> TO CHANGE THE DISPLAY."
  133. 1330 PRINT
  134. 1340 PRINT"<ESC> TO GET INSTRUCTIONS";
  135. 1350 PRINT"   ANY OTHER KEY TO START ";
  136. 1360 KB$=INPUT$(1)
  137. 1370 IF KB$< CHR$(12) THEN 1360
  138. 1380 IF KB$<> CHR$(27) THEN GOTO 2080
  139. 1390 PRINT CHR$(12);:
  140. 1400 PRINT:PRINT
  141. 1410 PRINT"WHEREVER THERE ARE PARENTHESES AROUND WORDS OR GROUPS OF LETTERS IN THE"
  142. 1420 PRINT
  143. 1430 PRINT"INSTRUCTIONS, THIS MEANS THAT THE THINGS INSIDE THE PARENTHESES ARE OPTIONAL."
  144. 1440 PRINT
  145. 1450 PRINT
  146. 1460 PRINT"ITEMS INSIDE THE SYMBOLS < > ARE REQUIRED OPERATIONS OR ENTRIES."
  147. 1470 PRINT
  148. 1480 PRINT
  149. 1490 PRINT" <SP>     IS THE SPACE KEY."
  150. 1500 PRINT" <RTN>    IS THE RETURN KEY."
  151. 1510 PRINT" <ESC>    IS THE ESCAPE KEY."
  152. 1520 PRINT:INPUT"<RTN> TO CONTINUE";KB$
  153. 1530 PRINT CHR$(12);:
  154. 1540 PRINT
  155. 1550 PRINT" AS A PART OF THIS PROGRAM, THERE ARE 2 DATA SETS. ONE CONSISTS OF A NUMBER OF"
  156. 1560 PRINT
  157. 1570 PRINT"SATELLITES AND THEIR LONGITUDES. THE OTHER IS A NUMBER OF CITIES AND THEIR"
  158. 1580 PRINT
  159. 1590 PRINT"LATITUDES AND LONGITUDES."
  160. 1600 PRINT
  161. 1610 PRINT"FOR EACH DATA SET, YOU WIL BE ASKED WHETHER YOU WISH TO USE THE INFORMATION"
  162. 1620 PRINT
  163. 1630 PRINT"ALREADY IN THE PROGRAM OR WISH TO ENTER NEW INFORMATION."
  164. 1640 PRINT
  165. 1650 PRINT
  166. 1660 PRINT"IF YOU CHOOSE TO USE THE INFORMATION ALREADY IN THE PROGRAM, SIMPLY ENTER"
  167. 1670 PRINT
  168. 1680 PRINT"THE NUMBER THAT CORRESPONDS TO THE CITY OR SATELLITE YOU DESIRE AND PRESS"
  169. 1690 PRINT
  170. 1700 PRINT"THE <RTN> KEY."
  171. 1710 PRINT
  172. 1720 PRINT"IF YOU WISH TO ENTER YOUR OWN CITY OR SATELLITE, PRESS ANY KEY THAT DOES NOT"
  173. 1730 PRINT
  174. 1740 PRINT"CORRESPOND TO A CITY OR SATELLITE AND PRESS <RTN>."
  175. 1750 PRINT
  176. 1760 INPUT "<RTN> TO CONTINUE";KB$
  177. 1770 PRINT CHR$(12)
  178. 1780 PRINT
  179. 1790 PRINT"YOU WILL BE ASKED SEVERAL QUESTIONS."
  180. 1800 PRINT
  181. 1810 PRINT"FOR THE NAMES OF CITIES OR SATELLITES ENTER WHATEVER YOU WISH."
  182. 1820 PRINT
  183. 1830 PRINT"USE SPACES AND NOT COMMAS AS SEPERATORS IF NEEDED."
  184. 1840 PRINT
  185. 1850 PRINT"WHEN LATITUDE INFORMATION IS REQUESTED, ENTER THE DATA IN THE FORMAT: "
  186. 1860 PRINT
  187. 1870 PRINT"DEGREES <SP> MINUTES <SP> N OR S <RTN>"
  188. 1880 PRINT
  189. 1890 PRINT
  190. 1900 PRINT"N(ORTH) OR S(OUTH) MUST BE ENTERED, BUT IF YOU WISH TO SKIP THE DEGREE OR"
  191. 1910 PRINT
  192. 1920 PRINT"MINUTE ENTRY JUST ENTER A SPACE INSTEAD OF THE NUMBER. COMPLETE THE ENTRY BY"
  193. 1930 PRINT
  194. 1940 PRINT"PRESSING THE RETURN KEY."
  195. 1950 PRINT
  196. 1960 PRINT"THE IDENTICAL FORMAT IS USED FOR LONGITUDE DATA. JUST REPLACE N OR S BY"
  197. 1970 PRINT
  198. 1980 PRINT"E(AST) OR W(EST)"
  199. 1990 PRINT
  200. 2000 INPUT "<RTN> TO CONTINUE ";KB$
  201. 2010 PRINT CHR$(12);    
  202. 2020 PRINT:PRINT:PRINT
  203. 2030 PRINT"IF YOU NEED TO SEE THE INSTRUCTIONS AGAIN, PRESS <ESC>. OTHERWISE, USE ANY"
  204. 2040 PRINT
  205. 2050 PRINT"OTHER KEY TO START THE PROGRAM."
  206. 2060 KB$=INPUT$(1)
  207. 2070 IF KB$= CHR$(27) THEN GOTO 1390
  208. 2080 PRINT CHR$(12);: R=6378: H=35500!: PI= 3.14159
  209. 2090 RD= 360/(2*PI)
  210. 2100 DEF FN ARCSYN(X)= ATN(X/SQR(-X*X+1))
  211. 2110 RESTORE
  212. 2120 READ N
  213. 2130 IF FG=1 THEN GOTO 2150
  214. 2140 DIM SN$(N),SN(N),DS$(N),DS(N),P(24)
  215. 2150 FOR I= 1 TO N
  216. 2160 READ SN$(I)
  217. 2170 READ SN(I)
  218. 2180 NEXT I
  219. 2190 SN(0)=N
  220. 2200 IF FG=1 THEN GOTO 2220
  221. 2210 DIM A(N),E(N)
  222. 2220 READ M
  223. 2230 IF FG=1 THEN GOTO 2250
  224. 2240 DIM CN$(M),CL(M),CM(M)
  225. 2250 FOR I= 1 TO M
  226. 2260 READ CN$(I)
  227. 2270 READ CL(I)
  228. 2280 READ CM(I)
  229. 2290 NEXT I
  230. 2300 CL(0)= M
  231. 2310 PRINT CHR$(12);
  232. 2320 PRINT"THESE CITIES ARE AVAILABLE: "
  233. 2330 M= CL(0)
  234. 2340 IF M>30 THEN M=30
  235. 2350 M1= M/2: M2= INT(M1): MP= M1-M2
  236. 2360 HL= 3: HR=23
  237. 2370 FOR I= 1 TO M2
  238. 2380 J= I+ M2
  239. 2390 IF MP < > 0 THEN J= J+1
  240. 2400 GOSUB 3600
  241. 2410 PRINT TAB( HL-H1);I;TAB(HL+2);CN$(I);TAB(HR-H2);J;TAB(HR+2);CN$(J)
  242. 2420 NEXT I
  243. 2430 IF MP <> 0 THEN GOSUB 3600:PRINT TAB(HL-H1);I; TAB(HL+2);CN$(I)
  244. 2440 PRINT"ENTER YOUR CHOICE BY INDICATING: "
  245. 2450 PRINT TAB(2);"A NUMBER BETWEEN 1 AND ";M;" OR USING ";
  246. 2460 PRINT"ANY OTHER KEY FOR A NEW CITY  ";:INPUT KB$
  247. 2470 CK= VAL(KB$)
  248. 2480 IF CK<1 OR CK>M THEN GOSUB 250: CK= M+1
  249. 2490 PRINT CHR$(12);
  250. 2500 PRINT"THESE SATELLITES ARE AVAILABLE; "
  251. 2510 N=SN(0)
  252. 2520 IF N>30 THEN N=30
  253. 2530 N1=N/2: N2= INT(N1): NP=N1-N2
  254. 2540 HL=3: HR=23
  255. 2550 FOR I= 1 TO N2
  256. 2560 J= I+N2
  257. 2570 IF NP <>0 THEN J=J+1
  258. 2580 GOSUB 3600
  259. 2590 PRINT TAB(HL-H1);I;TAB(HL+2);SN$(I);TAB(HR-H2);J;TAB(HR+2);SN$(J)
  260. 2600 NEXT I
  261. 2610 IF NP <> 0 THEN GOSUB 3600:PRINT TAB(HL-H1);I;TAB(HL+2);SN$(I)
  262. 2620 PRINT"ENTER YOUR CHOICE: "
  263. 2630 PRINT TAB(2);"ZERO(0) TO USE ALL OR ANY NUMBER BETWEN 1 AND ";N;" OR"
  264. 2640 PRINT TAB(2);"ANY OTHER KEY FOR A NEW SATELLITE ";:INPUT KB$
  265. 2650 SQ= ASC(KB$)
  266. 2660 SK= VAL(KB$)
  267. 2670 IF SK=0 AND (SQ<48 OR SQ>57) THEN GOSUB 840:SK=N+1
  268. 2680 IF CK>M THEN DC$=NC$
  269. 2690 IF CK<=M THEN DC$=CN$(CK):L1= CL(CK): M1=CM(CK)
  270. 2700 N=SN(0)
  271. 2710 FOR I= 0 TO N
  272. 2720 DS$(I)= SN$(I)
  273. 2730 DS(I)= SN(I)
  274. 2740 NEXT I
  275. 2750 IF SK=0 THEN GOTO 2830
  276. 2760 DS(0)=1
  277. 2770 IF SK>N THEN GOTO 2810
  278. 2780 DS$(1)=DS$(SK)
  279. 2790 DS(1)=DS(SK)
  280. 2800 GOTO 2830
  281. 2810 DS$(1)=NS$
  282. 2820 DS(1)=M2
  283. 2830 MX=DS(0)
  284. 2840 FOR I= 1 TO MX
  285. 2850 M2= DS(I)
  286. 2860 GOSUB 30
  287. 2870 A(I)= Y: E(I)=EL
  288. 2880 NEXT I
  289. 2890 PRINT CHR$(12);
  290. 2900 PRINT TAB(4);"FROM: ";DC$
  291. 2910 PRINT:PRINT:PRINT TAB(29);"ANTENNA"
  292. 2920 PRINT TAB(4);"TO";TAB(26);"AZIMUTH";TAB(35);"ELEV."
  293. 2930 LP=15: ST=1: SP=LP: HL=31: HR=38
  294. 2940 Z1= INT(N/15)
  295. 2950 ZP=Z1+1
  296. 2960 FOR ZQ=1 TO ZP
  297. 2970 IF DS(0)< SP THEN SP=DS(0)
  298. 2980 FOR ZR= ST TO SP
  299. 2990 I=INT(A(ZR)): J=E(ZR)
  300. 3000 GOSUB 3600
  301. 3010 PRINT TAB(2);DS$(ZR);TAB(HL-H1);I;TAB(HR-H2);J
  302. 3020 NEXT ZR
  303. 3030 PRINT"PRESS <ESC> TO PRINT/ANY KEY TO CONTINUE ";
  304. 3040 KB$=INPUT$(1)
  305. 3050 IF KB$= CHR$(27) THEN GOSUB 3660
  306. 3060 ST=SP+1: SP=SP+LP: PRINT CHR$(12);
  307. 3070 NEXT ZQ
  308. 3080 PRINT:PRINT
  309. 3090 PRINT"USE <ESC> TO USE THE PROGRAM AGAIN."
  310. 3100 PRINT"USE <RTN> TO LEAVE THE PROGRAM."
  311. 3110 KB$=INPUT$(1)
  312. 3120 IF KB$= CHR$(27) THEN FG=1: GOTO 2080
  313. 3130 IF KB$= CHR$(13) THEN GOTO 3150
  314. 3140 GOTO 3110
  315. 3150 PRINT CHR$(12);:END
  316. 3160 DATA 30
  317. 3170 DATA ATS-3,-69
  318. 3180 DATA COMSTAR 3,-87
  319. 3190 DATA GOES-1,-75
  320. 3200 DATA WESTAR 3,-91
  321. 3210 DATA SMS-1,-105
  322. 3220 DATA COMSTAR 2,-95
  323. 3230 DATA WESTAR 4,-99
  324. 3240 DATA WESTAR 1,-79
  325. 3250 DATA WESTAR 5,-123
  326. 3260 DATA ANIK 1,-104
  327. 3270 DATA COMSTAR D-4,-127
  328. 3280 DATA ANIK B,-109
  329. 3290 DATA SATCOM 3R,-127
  330. 3300 DATA ANIK 2 & 3,-114
  331. 3310 DATA SATCOM 5,-139
  332. 3320 DATA SATCOM 2,-119
  333. 3330 DATA SATCOM 3R,-131
  334. 3340 DATA WESTAR 2,-123.5
  335. 3350 DATA SATCOM 4,-83
  336. 3360 DATA COMSTAR 1,-128
  337. 3370 DATA GTS,-116
  338. 3380 DATA SMS-2,-135
  339. 3390 DATA ATS-6,-140
  340. 3400 DATA ATS-1,-149
  341. 3410 DATA SATCOM 3,-132
  342. 3420 DATA STATIONAR 10,-170
  343. 3430 DATA INTELSAT TV F4,-181
  344. 3440 DATA MARISAT 2,-183
  345. 3450 DATA INTELSAT TV F8,-186
  346. 3460 DATA SATCOM 1,-135
  347. 3470 DATA 12
  348. 3480 DATA WASHINGTON D.C.,39,-77
  349. 3490 DATA LOS ANGELES,34,-118
  350. 3500 DATA NEW YORK,40.5,-74
  351. 3510 DATA ATLANTA,33.5,-84.5
  352. 3520 DATA MIAMI,25.75,-80.25
  353. 3530 DATA JACKSONVILLE,30.5,-81.5
  354. 3540 DATA TAMPA,28,-82.75
  355. 3550 DATA ANCHORAGE,60.8,-147
  356. 3560 DATA NOME,65,-165
  357. 3570 DATA PHOENIX,33.5,-112
  358. 3580 DATA LITTLE ROCK,34.75,-92.25
  359. 3590 DATA SUNNYVALE,37.2,-122.3
  360. 3600 H1=3: H2=3
  361. 3610 IF I<100 THEN H1=2
  362. 3620 IF I<10 THEN H1=1
  363. 3630 IF J<100 THEN H2=2
  364. 3640 IF J<10 THEN H2=1
  365. 3650 RETURN
  366. 3660 LPRINT TAB(4);"FROM: ";DC$
  367. 3670 LPRINT TAB(29);"ANTENNA"
  368. 3680 LPRINT TAB(4);"TO";TAB(26);"AZIMUTH";TAB(35);"ELEV."
  369. 3690 LP=30: ST=1: SP=LP: HL=31: HR=38
  370. 3700 Z1= INT(N/15)
  371. 3710 ZP=Z1+1
  372. 3720 IF DS(0)< SP THEN SP=DS(0)
  373. 3730 FOR ZR= ST TO SP
  374. 3740 I=INT(A(ZR)):J=E(ZR)
  375. 3750 GOSUB 3600
  376. 3760 LPRINT TAB(2);DS$(ZR);TAB(HL-H1);I;TAB(HR-H2);J
  377. 3770 NEXT ZR
  378. 3780 RETURN
  379. 
  380. 3740 I=INT(A(ZR)):J=E(ZR)
  381. 3750 GOSUB 3600
  382. 3760 LPRINT TAB(2);DS$(ZR);TAB(HL-H1);I;TAB(HR-H2);J
  383. 3770 NEXT ZR
  384.