home *** CD-ROM | disk | FTP | other *** search
- 10 REM PHASE1 Version 5.0
- 20 REM Simple Orbit Tracking Program
- 30 REM By Joe Kasser G3ZCZ
- 40 DIM I$(32),M9$(36)
- 50 M9$ = "JanFebMarAprMayJunJunAugSepOctNovDec"
- 60 GOTO 380
- 70 L9 = L9 - 1 \ IF L9 > 0 THEN 80 ELSE GOSUB 320 \ L9 = 60
- 80 D8 = D9
- 90 RESTORE 220 \ GOSUB 230
- 100 PRINT#P5,%5I,N9,%7I,D6,M8$,%10F4,T9,%10F2,W
- 110 RETURN
- 120 T9 = INT (S9 + M9*100 + H9*10000) / 1000000
- 130 RETURN
- 140 W = W + W2 \ IF W > 360 THEN W = W - 360
- 150 S9 = S9 + (P - INT(P9))/100*60
- 160 IF S9 < 60 THEN 170 ELSE S9 = S9 - 60 \ M9 = M9 + 1 \ GOTO 160
- 170 M9 = M9 + INT(P)
- 180 IF M9 < 60 THEN 190 ELSE M9 = M9 - 60 \ H9 = H9 + 1 \ GOTO 180
- 190 IF H9 < 24 THEN 200 ELSE H9 = H9 - 24 \ D9 = D9 + 1 \ GOTO 190
- 200 IF D9 > 365 THEN D9 = D9 - 365 \ REM NOT LEAP YEAR
- 210 RETURN
- 220 DATA 0,31,59,90,120,151,181,212,243,273,304,334
- 230 FOR I = 0 TO 11
- 240 READ Z1
- 250 IF Z1 >= D9 THEN EXIT 280
- 260 Z2 = Z1
- 270 NEXT
- 280 D6 = D9 - Z2
- 290 M8$ = " "+M9$((I-1)*3+1,((I-1)*3)+3)
- 300 RETURN
- 310 REM
- 320 PRINT#P5
- 330 PRINT#P5, "Equatorial crossing times for the ",I$," spacecraft"
- 340 PRINT#P5,M$," Orbits"
- 350 PRINT#P5
- 360 PRINT#P5,"ORBIT DATE TIME XSING (W)"
- 370 RETURN
- 380 PRINTCHR$(12),"AMATEUR SATELLITE ORBIT PROGRAM"
- 390 PRINT
- 400 PRINT "Satellite selection menu "
- 410 PRINT "AMSAT - OSCAR 7 0"
- 420 PRINT "AMSAT - OSCAR 8 1"
- 430 PRINT "UoSAT - OSCAR 9 2"
- 440 PRINT "RS 3 3"
- 450 PRINT "RS 4 4"
- 460 PRINT "RS 5 5"
- 470 PRINT "RS 6 6"
- 480 PRINT "RS 7 7"
- 490 PRINT "RS 8 8"
- 500 INPUT "Which satellite ? ", S \ IF S<0 OR S >8 THEN 400
- 510 ON S+1 GOTO 520,530,540,550,560,570,580,590,600
- 520 RESTORE 900 \ GOTO 620
- 530 RESTORE 930 \ GOTO 620
- 540 RESTORE 960 \ GOTO 620
- 550 RESTORE 990 \ GOTO 620
- 560 RESTORE 1020 \ GOTO 620
- 570 RESTORE 1050 \ GOTO 620
- 580 RESTORE 1080 \ GOTO 620
- 590 RESTORE 1110 \ GOTO 620
- 600 RESTORE 1140 \ GOTO 620
- 610 REM OTHER S/C CAN BE ADDED HERE
- 620 READ I$,N0,D9,H9,M9,S9,W,P,W2
- 630 RESTORE 220 \ GOSUB 230
- 640 PRINT\ PRINT I$," Reference orbit is",N0," on",D6,M8$,
- 650 GOSUB 120
- 660 PRINT " at",%6F4,T9,
- 670 PRINT " crossing at",W," W"
- 680 INPUT "What is the first orbit ? ",N1 \ IF N1 >= N0 THEN 700
- 690 PRINT" Reference orbit is",N0 \ GOTO 680
- 700 INPUT "What is the last orbit to be printed ? ",N2
- 710 IF N2<N1 THEN N2=N1
- 720 INPUT "All orbits or just Reference orbits ? ",A$ \ IF A$="" THEN 720
- 730 IFA$(1,1)="A"THENM$="all"ELSEIFA$(1,1)="R"THENM$="reference"ELSE720
- 740 INPUT "Which output device (0-7) ? ",P5
- 750 IF N1 = N0 THEN 770
- 760 FOR N9 = N0 TO N1-1 \ GOSUB 140 \ NEXT
- 770 N9 = N1
- 780 GOSUB 120
- 790 GOSUB 70
- 800 REM MAIN LOOP
- 810 FOR N9 = N1+1 TO N2
- 820 GOSUB 140
- 830 GOSUB 120
- 840 IF A$(1,1) = "R" THEN IF D8 = D9 THEN 860
- 850 GOSUB 70
- 860 NEXT
- 870 REM FORMAT OF DATA = SPACECRAFT NAME
- 880 REM ORBIT (#), DAY , EQR XSING TIME (HH,MM,SS), LONG ( DEG W)
- 890 REM PERIOD (MIN), LONGITUDE INCREMENT / ORBIT
- 900 DATA "AMSAT OSCAR 7"
- 910 DATA 16804,200,00,36,52,67.5
- 920 DATA 114.945199,28.736297
- 930 DATA "AMSAT OSCAR 8"
- 940 DATA 19370,357,01,08,10,83.77
- 950 DATA 103.179480,25.79703
- 960 DATA "UoSAT OSCAR 9"
- 970 DATA 01171,357,00,16,58,138.2
- 980 DATA 95.31353,23.82.897
- 990 DATA " R S 3 "
- 1000 DATA 0 ,018,01,05,60,231.9
- 1010 DATA 118.46293,29.756498
- 1020 DATA " R S - 4"
- 1030 DATA 0 ,018,00,43,23,225.9
- 1040 DATA 119.33912,29.97578
- 1050 DATA "R S - 5 "
- 1060 DATA 0 ,018,01,43,59,241.9
- 1070 DATA 119.49842,30.01562
- 1080 DATA " R S - 6 "
- 1090 DATA 0 ,018,00,23,17,221.2
- 1100 DATA 118.66154,29.80622
- 1110 DATA " R S - 7 "
- 1120 DATA 0 ,018,01,26,59,231.1
- 1130 DATA 119.14014,29.92596
- 1140 DATA " R S - 8 "
- 1150 DATA 0 ,018,01,04,18,231.1
- 1160 DATA 119.70890,30.06830