--- title: "OSCAR-TEN" id: 64553 type: "computer_media" slug: "oscar-ten" url: "http://localhost/computer_media/oscar-ten/" markdown_url: "http://localhost/computer_media/oscar-ten.md" published_at: "2026-03-02T02:36:43+00:00" modified_at: "2026-03-30T21:44:23+00:00" author: "David Anderson" featured_image: url: "http://localhost/wp-content/uploads/2026/03/SCR-20260301-sqwl.png" excerpt: "A complete OSCAR-10 satellite tracker that plots world maps, calculates Doppler shifts, and displays live azimuth/elevation for 18 cities worldwide." category: - name: "Archived Media" slug: "archived-media" taxonomy: "category" url: "http://localhost/category/archived-media/" post_tag: - name: "Downloadable" slug: "downloadable" taxonomy: "post_tag" url: "http://localhost/tag/downloadable/" - name: "TS 2068" slug: "ts2068" taxonomy: "post_tag" url: "http://localhost/tag/ts2068/" model: - name: "Timex/Sinclair 2068" slug: "ts-2068" taxonomy: "model" url: "http://localhost/model/ts-2068/" indiv: - name: "Frank Bouldin (W5GAA)" slug: "frank-bouldin" taxonomy: "indiv" url: "http://localhost/indiv/frank-bouldin/" genre: - name: "Ham Radio" slug: "ham-radio" taxonomy: "genre" url: "http://localhost/type/ham-radio/" media_contents: - id: 60550 title: "Fort Worth TS2068 Club Library Tape" type: "computer_media" url: "http://localhost/computer_media/fort-worth-ts2068-club-library-tape/" media_type: "Program" programmers: - name: "Frank Bouldin (W5GAA)" slug: "frank-bouldin" taxonomy: "indiv" url: "http://localhost/indiv/frank-bouldin/" download_url: "https://archive.org/download/timex-sinclair-software-archive/Oscar-Ten%20%28198x%29%28Bouldin%2C%20Frank%29%28TS2068%29%28US%29%28Program%29.zip" mediadate: "198x" images: - url: "http://localhost/wp-content/uploads/2026/03/SCR-20260301-sqwl.png" - url: "http://localhost/wp-content/uploads/2026/03/SCR-20260301-sqrz.png" media_type_tags: "Ham Radio" --- # OSCAR-TEN This program is an [OSCAR-10 (AO-10) amateur radio satellite](https://en.wikipedia.org/wiki/AMSAT-OSCAR_10) tracking and display system. It computes orbital positions using Keplerian elements stored in lines 9112–9915, applies nodal precession and apsidal rotation corrections, and solves Kepler’s equation iteratively for the eccentric anomaly. Four display modes are offered: a world map with DRAW-based continental outlines, seven selectable regional maps with DX footprint circles, a DX capability scanner listing 18 world cities, and a tabular orbital tracking data view. The program also calculates uplink/downlink Doppler-shifted frequencies for the Mode B and Mode L transponders and implements a transponder schedule based on mean anomaly ranges. *** ## Program Structure The program is organized into well-defined functional blocks: 1. **Lines 10–20:** Initialisation — draws title screen (GO SUB 8700), sets system variables via POKE, and calls the customisation display (GO SUB 4300). 2. **Lines 80–110:** Julian Day Number calculation subroutine, used to convert a Gregorian date to a day number `DN`. 3. **Lines 120–240:** City DX visibility subroutine; computes great-circle angular distance `DZ1` between the satellite sub-point and each city, then prints pass status. 4. **Lines 300–500:** City coordinate table (18 cities) — each entry sets latitude `ALT`, longitude `LO`, screen row `N`, and name `P$`, then calls line 120. 5. **Lines 1030–1090:** UTC time formatting subroutine — converts numeric time `T4` to a zero-padded 4-character string `T$`. 6. **Lines 1200–1450:** Main menu and date/time input, including re-use of previous date/time. 7. **Lines 1640–3600:** Core orbital propagation loop — computes satellite position, converts to geographic coordinates, and dispatches to the selected display mode. 8. **Lines 4000–4800:** Utility subroutines: beeps, borders, screen headers, key-polling loops, printer support. 9. **Lines 5010–5200:** World map drawing using long sequences of `DRAW` commands. 10. **Lines 5350–5410:** World map satellite marker and range display. 11. **Lines 5715–6270:** Continental map display with Doppler frequency readout and azimuth/elevation compass rose drawn with `CIRCLE` and `DRAW`. 12. **Lines 6800–6900:** Continental area map selector menu. 13. **Lines 7010–8400:** Regional map display dispatcher and footprint-circle drawing engine. 14. **Lines 7560–7960:** Individual continental map outlines (North America, SE Asia, Australia, South Pacific, South America, Europe, South Africa) each as sequences of `PLOT`/`DRAW` commands. 15. **Lines 8000–8320:** Footprint corner-visibility tester and local-time overlay for the selected map region. 16. **Lines 8700–8760:** Animated title/splash screen with block-graphic artwork and a 6-second `PAUSE`. 17. **Lines 9112–9975:** Orbital element set 196 (epoch 85/230, OSCAR-10) and observer QTH (Fort Worth TX, 32.78°N 97.25°W, 183 m). ## Orbital Mechanics The propagator implements a simplified SGP-style algorithm for a high-eccentricity orbit: - **Nodal precession** (line 2040): `O = O0 - (T-T0)*K2*C1` where `K2 = 9.95*(R0/A0)^3.5 / E2^2` is the J₂ perturbation rate. - **Apsidal rotation** (line 2100): `W = W0 + (T-T0)*K2*(2.5*C1²-0.5)`. - **Kepler equation solver** (lines 2300–2370): iterative Newton–Raphson with first-order seed `E = M + E0*sinM + 0.5*E0²*sin2M`, converging when |ΔE| < 1×10⁻⁶. - **Sidereal time** (lines 2660–2680): computed from the epoch reference `SE` derived at line 1308 using Newcomb’s formula for Greenwich Sidereal Time. - **Observer position** (lines 2840–2880): accounts for Earth oblateness (`F = 1/298.25`) and observer altitude `H9` in metres. ## Key BASIC Idioms The program uses several characteristic Sinclair-family BASIC techniques: - **`VAL "number"` in GO TO / GO SUB**: Used pervasively throughout (e.g. `GO TO VAL "2040"`) as a tokenisation-saving optimisation — the number is stored as a string rather than as a floating-point constant in the token stream. - **`VAL "expression"` for arithmetic**: Lines such as `LET T5=VAL "1/96"` and `LET P0=VAL "P1/180"` evaluate string expressions at runtime to save program space. - **Boolean arithmetic**: Lines 7110–7330 use expressions like `(W5>360)*(-360)` to conditionally add or subtract 360° without IF statements. - **INKEY$ polling loops**: Lines 1370–1390 and 4090–4150 use tight `GO TO` loops on `INKEY$` for menu selection without blocking INPUT. - **DIM for string re-initialisation**: Line 1080 uses `DIM E$(4)` to create a 4-space padding string, a common idiom for fixed-width string formatting. ## Display and Graphics All seven continental maps and the world map are drawn entirely with `PLOT` and `DRAW` commands encoded as literal coordinate pairs. The `DRAW dx,dy,arc` form with arc parameter is used for coastline curves (e.g. lines 5070, 7140, 8820). The title screen at line 8705 uses a mix of block-graphic characters (▛▌▙▝▜ etc.) to render a decorative OSCAR-10 satellite image. The azimuth/elevation compass display (lines 6050–6270) draws a clock-face-style dial using a `FOR` loop with `PLOT`/`DRAW` at angular increments of π/6 and π/18 respectively. ## Transponder Schedule Logic Lines 4700–4720 implement the OSCAR-10 transponder mode schedule as a function of mean anomaly byte `M9` (0–255, computed at line 2250 as `INT((Q-INT Q)*256)`): | M9 Range | Mode | Colour | Label | | --- | --- | --- | --- | | 40–189, 207–220 | Mode B (linear) | INK 5, PAPER 0 | B | | 190–206 | Mode L | INK 1, PAPER 7 | L | | All others | Off | INK 3, PAPER 7 | x | ## Doppler Frequency Calculation Lines 5810–5920 implement a two-pass range-rate measurement: on the first pass (`FA=3`) the range `SR1` is stored, the time is advanced by 1/96 day (15 minutes), and on the second pass (`FA=4`) the Doppler shift is derived from `V = -(INT((SR2-SR1)/90))/10` km/s. The uplink (145 MHz) and downlink (435 MHz) frequencies are then corrected by the passband offset `RA` and the shift `DS`. ## Orbital Element Set | Variable | Parameter | Value | | --- | --- | --- | | `Y2` | Epoch year (19xx) | 85 | | `T0` | Epoch day of year | 230.19430632 | | `I0` | Inclination (°) | 26.3229 | | `K0` | Epoch orbit number | 1641 | | `M0` | Mean anomaly at epoch (°) | 351.9467 | | `N0` | Mean motion (rev/day) | 2.05858136 | | `E0` | Eccentricity | 0.5966563 | | `W0` | Argument of perigee (°) | 37.7476 | | `O0` | RAAN (°) | 123.8106 | ## Source Code ``` 10 CLS : GO SUB VAL "8700": POKE VAL "23658",VAL "8": GO SUB VAL "4300" 20 CLS : POKE VAL "23609",VAL "100": GO SUB VAL "4010": BORDER VAL "5": PAPER VAL "7": INK VAL "0": LET ink=VAL "0": LET MN=VAL "1": LET DM=VAL "0": GO SUB VAL "9112": LET T0=T0+DN: LET tc=VAL "0": LET nt=VAL "0": LET FX=VAL "0": GO TO VAL "1200" 80 LET TT1=YN: LET TT2=MN: IF TT2>VAL "2.5" THEN GO TO VAL "100" 90 LET TT1=TT1-1: LET TT2=TT2+VAL "12" 100 LET DN=INT (365.25*(TT1-80))-INT ((1900+TT1)/100)+INT ((1900+TT1)/400)-VAL "16" 110 LET DN=DN+DM+30*TT2+INT (.6*TT2-.3): RETURN 120 IF CH2=VAL "3" THEN GO SUB VAL "4650": GO SUB VAL "4605" 130 LET DIF=ABS (W5-LO): IF DIF>VAL "180" THEN LET DIF=360-DIF 140 LET DZ1=((SIN (ALT*P0))*(SIN (L5*P0))+(COS (ALT*P0))*(COS (L5*P0))*(COS (DIF*P0))) 150 LET DZ1=57.3*(-ATN (DZ1/SQR (-DZ1*DZ1+1))+P1/2) 160 IF CH2=VAL "1" THEN GO TO VAL "210" 170 IF E9>=VAL "0" AND DZ>=DZ1 THEN PRINT PAPER VAL "4"; INK VAL "7";AT N,VAL "1";" In ";P$;" " 175 IF E9=DZ1 THEN PRINT PAPER VAL "6";AT N,VAL "1";" .. ";P$;" " 180 IF DZ"; INVERSE VAL "0";AT n-1,VAL "0";" ": GO SUB VAL "4020": RETURN 210 LET SLO=46-INT (LO/12+.5): IF LO<180 THEN LET SLO=15-INT (LO/12-.5) 230 LET SLA=INT (12.5-ALT/8): IF DZ>DZ1 THEN PRINT PAPER VAL "4"; INK VAL "7";AT SLA,SLO;"*" 240 RETURN 300 LET ALT=VAL "37.62": LET LO=VAL "122.39": LET N=VAL "4": LET P$="S Francisco": GO SUB VAL "120" 310 LET ALT=VAL "40.66": LET LO=VAL "73.79": LET N=VAL "5": LET P$="New York NY": GO SUB VAL "120" 320 LET ALT=VAL "51.47": LET LO=VAL "00.46": LET N=VAL "6": LET P$="London UK": GO SUB VAL "120" 330 LET ALT=VAL "41.86": LET LO=VAL "347.44": LET n=VAL "7": LET P$="Rome Italy": GO SUB VAL "120" 340 LET ALT=VAL "52.52": LET LO=VAL "346.64": LET N=VAL "8": LET P$="Berlin Ger": GO SUB VAL "120" 350 LET ALT=VAL "55.75": LET LO=VAL "322.43": LET n=VAL "9": LET P$="Moscow USSR": GO SUB VAL "120" 360 LET ALT=VAL "64.82": LET LO=VAL "147.85": LET N=VAL "10": LET P$="Fairbanks A": GO SUB VAL "120" 370 LET ALT=VAL "21.32": LET LO=VAL "157.92": LET N=VAL "11": LET P$="Honolulu Hw": GO SUB VAL "120" 380 LET ALT=VAL "19.42": LET LO=VAL "99.17": LET n=VAL "12": LET P$="Mexico City": GO SUB VAL "120" 390 LET ALT=VAL "-23": LET LO=VAL "43.2": LET N=VAL "13": LET P$="Rio de J'ro": GO SUB VAL "120" 400 LET ALT=VAL "-34.35": LET LO=VAL "341.51": LET N=VAL "14": LET P$="Capetown SA": GO SUB VAL "120" 410 LET ALT=VAL "1.29": LET LO=VAL "256.15": LET N=VAL "15": LET P$="Singapore ": GO SUB VAL "120" 420 LET ALT=VAL "22.33": LET LO=VAL "245.81": LET N=VAL "16": LET P$="Hong Kong ": GO SUB VAL "120" 430 LET ALT=VAL "35.54": LET LO=VAL "220.23": LET N=VAL "17": LET P$="Tokyo Japan": GO SUB VAL "120" 431 LET ALT=VAL "43.18": LET LO=VAL "228.2": LET N=VAL "18": LET P$="Vladivostok": GO SUB VAL "120" 440 LET ALT=VAL "-41.28": LET LO=VAL "185.23": LET N=VAL "19": LET P$="Wellington ": GO SUB VAL "120" 450 LET ALT=VAL "-33.95": LET LO=VAL "208.84": LET N=VAL "20": LET P$="Sydney Aus": GO SUB VAL "120" 470 LET ALT=VAL "-31.95": LET LO=VAL "244.17": LET N=VAL "21": LET P$="Perth Aus": GO SUB VAL "120" 480 IF CH2=VAL "3" THEN GO SUB VAL "4005": GO SUB VAL "4700": RETURN 500 RETURN 1030 LET D$=STR$ (T4): IF D$=STR$ 2400 THEN LET D$=STR$ 0000 1080 DIM E$(4): LET E$="0000": DIM T$(4): LET U=4-LEN D$: LET T$=E$(1 TO U)+D$ 1090 RETURN 1200 GO SUB 4015 1210 PRINT AT VAL "4",VAL "1";"Present Operational Year=19";AT VAL "4",VAL "28";Y2;AT VAL "6",VAL "1";"Enter Month Number(1-12)= "; INK VAL "1"; FLASH VAL "1";"?"; FLASH VAL "0": INPUT MN: IF MNVAL "12" THEN GO TO VAL "1210" 1218 PRINT AT VAL "6",VAL "27";MN;AT VAL "8",VAL "1";"Enter Day of Month(1-31)= "; INK VAL "1"; FLASH VAL "1";"?": INPUT DM: IF DMVAL "31" THEN GO TO VAL "1218" 1220 PRINT AT VAL "8",VAL "27";DM 1306 GO SUB VAL "80": LET nn=VAL "4": LET T1=YN-VAL "1": LET DE=INT (365.25*(T1-80))-INT (T1/100)+INT (T1/400+.75)+VAL "366" 1308 LET T1=(DE+29218.5)/36525: LET T1=6.6460656+T1*(2400.051262+T1*2.581E-5): LET SE=T1/24-YN 1310 PRINT INVERSE VAL "1"; INK VAL "3";AT VAL "10",VAL "5";" MAIN MENU SELECTION " 1320 PRINT AT VAL "11",VAL 25";"---------------------" 1330 PRINT PAPER VAL "5";AT VAL "12",VAL "1";" SELECT AND ENTER MENU NUMBER " 1340 PRINT AT VAL "14",VAL "1";"MENU 1. Oscar-10 on World Map";AT VAL "15",VAL "1";"MENU 2. Continental Area Maps";AT VAL "16",VAL "1";"MENU 3. DX Capability Scanner";AT VAL "17",VAL "1";"MENU 4. Orbital Tracking Data" 1370 IF INKEY$="1" THEN LET CH2=VAL "1": GO TO VAL "1400" 1375 IF INKEY$="2" THEN LET CH2=VAL "2": LET FA=VAL "3": LET RA=VAL "0": GO TO VAL "1400" 1380 IF INKEY$="3" THEN LET CH2=VAL "3": GO TO VAL "1400" 1385 IF INKEY$="4" THEN LET CH2=VAL "4": GO TO VAL "1400" 1390 GO TO VAL "1370" 1400 PRINT PAPER VAL "5";AT VAL "19",VAL "2";" SELECTED ";CH2;" " 1410 GO SUB VAL "4010": IF nt<>VAL "1" THEN GO SUB VAL "4200" 1434 IF nt=VAL "1" THEN GO TO VAL "1440" 1435 INPUT A$: IF A$CHR$ VAL "57" THEN GO TO VAL "1435" 1436 IF VAL A$VAL "2400" OR LEN A$<>VAL "4" THEN GO TO VAL "1435" 1440 PRINT PAPER VAL "5";AT VAL "19",VAL "18";" ";A$;" UTC ": PAUSE VAL "180" 1450 IF CH2=VAL "1" OR CH2=VAL "2" THEN GO TO VAL "1640" 1500 CLS : GO SUB VAL "4250": PRINT INVERSE VAL "1"; PAPER VAL "0"; INK VAL "6";AT VAL "8",VAL "2";" SELECT TIME INCREMENT MODE ": PRINT INK VAL "0";" ----------------------------";''" 15 Minute Steps?.......A";''" 5 Minute Steps?.......B";''" 1 Minute Steps?.......C": GO SUB VAL "4400" 1510 IF INKEY$="A" THEN LET t5=VAL "1/96": LET t6=VAL ".18": LET t7=VAL "15": GO TO VAL "1640" 1520 IF INKEY$="B" THEN LET t5=VAL "1/288": LET t6=VAL ".06": LET t7=VAL "5": GO TO VAL "1640" 1530 IF INKEY$="C" THEN LET t5=VAL "1/1440": LET t6=VAL ".012": LET t7=VAL "1": GO TO VAL "1640" 1540 GO TO VAL "1510" 1640 GO SUB VAL "4010": CLS : IF CH2=VAL "1" THEN GO SUB VAL "4500" 1642 IF CH2=VAL "2" THEN GO SUB VAL "6800": GO SUB VAL "4010": CLS : LET CH5=CH4: GO SUB VAL "4500" 1645 GO SUB VAL "4250": LET T1=VAL A$: LET G0=VAL "7.5369793E13" 1650 LET G1=VAL "1.0027379093" 1740 LET P1=VAL "3.14159265": LET P2=VAL "2"*P1: LET P0=VAL "P1/180" 1770 LET T2=(INT (T1/100))/24+(T1-(INT (T1/100))*100)/(60*24)+DN 1775 IF CH2=VAL "2" THEN LET T2=VAL "T2-1/96" 1780 LET T=VAL "T2": LET R0=VAL "6378.16": LET F=VAL "1/298.25" 1850 IF N0>VAL ".1" THEN LET A0=((G0/(N0^2))^(1/3)) 1860 IF N0<=.1 THEN LET N0=SQR (G0/(A0^3)) 1890 LET E2=1-E0^2: LET E1=VAL "SQR (E2)" 1910 IF CH2<>VAL "2" THEN LET FA=VAL "0" 1920 LET Q0=VAL "M0/360+K0" 1930 IF CH2=VAL "1" OR CH2=VAL "2" THEN GO TO VAL "2010" 1945 LET pp=VAL "0": IF CH2=VAL "4" THEN GO SUB VAL "4070": PRINT PAPER VAL "4"; INK VAL "7";TAB VAL "0";"HEIGHT";TAB VAL "7";"MA";TAB VAL "10";"LAT";TAB VAL "14";"LON";TAB VAL "17";" UTC";TAB VAL "22";"TM";TAB VAL "25";"AZ";TAB VAL "29";"EL " 1948 IF CH2=VAL "4" THEN GO SUB VAL "4020": GO TO VAL "2010" 2000 GO SUB VAL "4070": PRINT INVERSE VAL "1"; PAPER VAL "7"; INK VAL "4";AT VAL "2 ",VAL "0";" UTC ";TAB VAL "22";"TM";TAB VAL "25";"AZ";TAB VAL "29";"EL ": PRINT TAB VAL "18";: GO SUB VAL "4020" 2010 LET K2=VAL "9.95"*((R0/A0)^3.5)/(E2^2) 2020 LET S1=VAL "SIN (I0*P0)": LET C1=VAL "COS (I0*P0)" 2040 LET O=O0-(T-T0)*K2*C1: LET S0=SIN (O*P0): LET C0=COS (O*P0) 2100 LET W=W0+(T-T0)*K2*(2.5*(C1^2)-.5): LET S2=SIN (W*P0): LET C2=COS (W*P0): DIM C(3,2) 2140 LET C(1,1)=(C2*C0)-(S2*S0*C1) 2150 LET C(1,2)=-(S2*C0)-(C2*S0*C1) 2160 LET C(2,1)=(C2*S0)+(S2*C0*C1) 2200 LET C(2,2)=-(S2*S0)+(C2*C0*C1) 2210 LET C(3,1)=(S2*S1): LET C(3,2)=(C2*S1) 2230 LET Q=N0*(T-T0)+Q0: LET K=INT Q 2250 LET M9=INT ((Q-K)*256): LET M=(Q-K)*P2 2300 GO SUB VAL "4650": LET E=M+E0*SIN M+.5*(E0^2)*SIN (2*M) 2310 LET S3=SIN E: LET C3=COS E: LET R3=VAL "1-E0*C3": LET M1=VAL "E-E0*S3": LET M5=M1-M 2360 IF ABS (M5)<1E-6 THEN GO TO VAL "2410" 2370 LET E=E-M5/R3: GO TO VAL "2310" 2410 LET X0=A0*(C3-E0) 2420 LET Y0=A0*E1*S3: LET R=A0*R3 2440 LET X1=X0*C(1,1)+Y0*C(1,2) 2450 LET Y1=X0*C(2,1)+Y0*C(2,2) 2460 LET Z1=X0*C(3,1)+Y0*C(3,2) 2660 LET G7=(T-DE)*G1+SE 2670 LET G7=(G7-(INT G7))*P2 2680 LET S7=-SIN G7: LET C7=COS G7 2700 LET X=(X1*C7)-(Y1*S7) 2740 LET Y=(X1*S7)+(Y1*C7): LET Z=Z1: LET L8=L9*P0: LET S9=SIN (L8): LET C9=COS (L8) 2790 LET S8=SIN (-W9*P0) 2800 GO SUB VAL "4650": LET C8=COS (W9*P0) 2840 LET R9=R0*(1-(F/2)+(F/2)*COS (2*L8))+H9/1000 2850 LET L8=ATN ((1-F)^2*S9/C9) 2860 LET Z9=R9*SIN (L8) 2870 LET X9=R9*COS (L8)*C8 2880 LET Y9=R9*COS (L8)*S8 2890 LET X5=(X-X9): LET Y5=(Y-Y9): LET Z5=(Z-Z9) 2950 LET R5=SQR (X5*X5+Y5*Y5+Z5*Z5) 2970 LET DZ=6378/R: LET DZ=57.3*(-ATN (DZ/SQR (-DZ*DZ+1))+P1/2) 2980 LET Z8=(X5*C8*C9)+(Y5*S8*C9)+(Z5*S9) 2990 LET X8=-(X5*C8*S9)-(Y5*S8*S9)+(Z5*C9) 3000 LET Y8=(Y5*C8)-(X5*S8): LET S5=Z8/R5 3040 LET C5=SQR (1-S5*S5) 3050 GO SUB VAL "4650": LET E9=(ATN (S5/C5))/P0 3080 LET A9=(ATN (Y8/X8))/P0: LET B5=Z/R 3100 LET L5=(ATN (B5/(SQR (1-B5*B5))))*VAL "57.3" 3140 LET W5=(ATN (Y/X))*VAL "57.3" 3150 IF XVAL "0" AND YVAL "0" AND Y>VAL "0" THEN LET W5=VAL "360"-W5 3180 IF X=VAL "0" AND Y>=VAL "0" THEN LET W5=VAL "270" 3190 IF X=VAL "0" AND YVAL "0" AND Y8=VAL "0" THEN LET A9=VAL "90" 3250 GO SUB VAL "4650": IF X8=VAL "0" AND Y8=VAL "0" AND VAL T$=VAL "0" AND VAL T$=VAL "0" THEN GO SUB VAL "4700": LET inv=VAL "1" 3348 LET inr=ink: IF INT E9=0 THEN PRINT INK ink;TAB VAL "18";T$;TAB VAL "23"; INK inx; PAPER pc; INVERSE inv;l$; INK ink; PAPER VAL "7"; INVERSE VAL "0";TAB VAL "25";INT A9;TAB VAL "29";INT E9 3352 IF CH2=VAL "3" AND INT E9<0 THEN PRINT INK ink;TAB VAL "18";T$;TAB VAL "25";INT A9; INK VAL "2";TAB VAL "29";INT E9 3356 LET T=VAL "T+t5": IF CH2=VAL "4" THEN GO TO VAL "2040" 3368 IF (T-T2)>t6 THEN GO TO VAL "3380" 3370 GO TO VAL "2040" 3372 IF VAL T$>=0 AND VAL T$=0 AND VAL T$=0 THEN GO SUB VAL "4700" 3470 PRINT AT VAL "21",VAL "17";" ";AT nn-1,VAL "17";" "; INK VAL "1"; FLASH VAL "1"; INVERSE VAL "1";AT nn,VAL "17";">": LET nn=nn+VAL "1": IF nn=VAL "22" THEN LET nn=VAL "4" 3475 GO SUB VAL "4020": GO SUB VAL "4010": GO SUB VAL "250" 3590 LET T=T+t5: IF (T-T2)>t6 THEN GO TO VAL "3380" 3600 GO TO VAL "2040" 4005 BEEP VAL ".06",VAL "28" 4010 BEEP VAL ".06",VAL "34": RETURN 4015 GO SUB VAL "4400": PRINT INVERSE VAL "1"; INK VAL "1";"OSCAR-TEN POSITION/TRACKING DATA": RETURN 4020 PRINT AT VAL "3",VAL "0";"----------------- --------------": IF CH2=VAL "4" THEN PRINT AT VAL "3",VAL "17";"-" 4030 RETURN 4065 GO SUB VAL "4010": PRINT PAPER VAL "6";AT VAL "1",VAL "0";" Print?=P "; PAPER VAL "5";" Continue?=C "; PAPER VAL "3"; INK VAL "7";" Menu?=M ": RETURN 4070 PRINT INVERSE VAL "1"; INK VAL "6"; PAPER VAL "0";AT VAL "1",VAL "0";" Transponder Modes: "; INK VAL "5";"B"; INK VAL "6";" "; INK VAL "1"; PAPER VAL "7";"L"; INK VAL "6"; PAPER VAL "0";" "; INK VAL "3"; PAPER VAL "7";"X"; INK VAL "6"; PAPER VAL "0";"=OFF ": RETURN 4080 GO SUB VAL "4010": CLS : GO SUB VAL "4400": PRINT INVERSE VAL "1"; INK VAL "1";AT VAL "0",VAL "0";" DATE AND TIME ALREADY ENTERED: "; INVERSE VAL "0"; INK VAL "0";AT VAL "4",VAL "3";"> Operational Year=19";YN;AT VAL "5",VAL "3";"> Month Number=";MN;AT VAL "6",VAL "3";"> Day of the Month Nr=";DM;AT VAL "7",VAL "3";"> TIME="; PAPER VAL "4"; INK VAL "7";" ";A$;" UTC ": INK VAL "0" 4085 PRINT PAPER VAL "6";AT VAL "21",VAL "1";" Use Same Date & Time?....Y/N " 4090 IF INKEY$="Y" THEN LET nt=VAL "1": GO SUB VAL "4160": GO TO VAL "1306" 4100 IF INKEY$="N" THEN GO SUB VAL "4010": LET nt=VAL "0": GO TO VAL "4120" 4110 GO TO VAL "4090" 4120 PRINT PAPER VAL "6";AT VAL "21",VAL "1";" Same Date but NEW Time?..Y/N " 4130 IF INKEY$="Y" THEN GO SUB VAL "4160": GO TO VAL "1306" 4140 IF INKEY$="N" THEN GO TO VAL "20" 4150 GO TO VAL "4130" 4160 GO SUB VAL "4010": PRINT AT VAL "21",VAL "1";" ": PLOT VAL "8",VAL "0": DRAW VAL "238",VAL "0": RETURN 4200 PRINT PAPER VAL "6";AT VAL "21",VAL "1";"Enter UTC Time (HHMM) to Start": RETURN 4250 PRINT INVERSE 1; INK VAL "1";AT VAL "0",VAL "30";" ";AT VAL "0",VAL "0";" OSCAR-10 AT ";A$;" ON ";MN;"/";DM;"/";YN;" ": RETURN 4300 CLS : GO SUB VAL "4400": GO SUB VAL "4015": PRINT INVERSE VAL "1"; INK VAL "3"; PAPER VAL "7";AT VAL "1",VAL "1";" CUSTOMIZED DATA NOW ENTERED: " 4310 PRINT INK VAL "1";AT VAL "3",VAL "1";"> QTH: W5GAA,"; INK VAL "0";AT VAL "3",VAL "15";"Fort Worth, TX";AT VAL "4",VAL "3";"(Lines 4310 & 9955-9975)" 4320 PRINT INK VAL "1";AT VAL "6",VAL "1";"> ELEMENT SET 196"; INK VAL "0";AT VAL "6",VAL "18";" (8/18/85)";AT VAL "7",VAL "3";"(Lines 4320 & 9112-9915)" 4330 PRINT INK VAL "1";AT VAL "9",VAL "1";"> TRANSPONDER"; INK VAL "0";AT VAL "9",VAL "15";"Sched (9/3/85)";AT 10,3;"(Lines 4330, 4340, 4700 &";AT VAL "11",VAL "4";"4710):"; INK VAL "1";AT VAL "13",VAL "6";"MODE MEAN ANOMOLY";AT VAL "14",VAL "6";"---- ------------" 4340 PRINT AT VAL "15",VAL "7";"B On 40 thru 189";AT VAL "16",VAL "7";"L On 190 thru 206";AT VAL "17",VAL "7";"B On 207 thru 220";AT VAL "18",VAL "6";"Both Off 221 thru 39" 4350 PRINT INVERSE VAL "1"; PAPER VAL "7"; INK VAL "3";;AT VAL "20",VAL "1";"To Customize, see Instructions"; INVERSE VAL "0": LET G=VAL "1": GO SUB VAL "4450": CLS : RETURN 4400 PLOT VAL "0",VAL "0": DRAW VAL "0",VAL "175": DRAW VAL "255",VAL "0": DRAW VAL "0",VAL "-175": DRAW VAL "-255",VAL "0": RETURN 4450 GO SUB VAL "4010" 4455 PRINT PAPER VAL "6"; INK 0;AT VAL "21",VAL "1";" Print?......P "; PAPER VAL "4"; INK VAL "7";" Menu?.......M " 4460 IF INKEY$="P" THEN GO SUB VAL "4160": COPY : LPRINT ''': GO SUB VAL "4010" 4465 IF INKEY$="M" AND G=VAL "1" THEN LET G=VAL "0": RETURN 4470 IF INKEY$="M" THEN GO TO VAL "4080" 4480 GO TO VAL "4455" 4500 CLS : GO SUB VAL "4400": PRINT AT VAL "8",VAL "2";"Now computing----"; INK VAL "3"; FLASH VAL "1";AT VAL "11",VAL "11";" STANDBY " 4510 PRINT AT VAL "14",VAL "11";"--for a few seconds": RETURN 4605 GO SUB VAL "4650": PRINT PAPER VAL "6";AT VAL "1",VAL "0";"StopScan=X"; PAPER VAL "5";"Print=P "; PAPER VAL "7";"Start=S"; PAPER VAL "3"; INK VAL "7";" Menu=M": RETURN 4610 IF INKEY$<>"X" THEN GO TO VAL "4637" 4620 IF INKEY$="S" THEN GO SUB VAL "4010": GO TO VAL "4637" 4630 IF INKEY$="P" THEN GO SUB VAL "4070": COPY : LPRINT ''': GO SUB VAL "4605" 4635 IF INKEY$="M" THEN GO TO VAL "4080" 4636 GO TO VAL "4620" 4637 IF INKEY$="P" THEN COPY : LPRINT ''': GO SUB VAL "4650" 4638 IF INKEY$="M" THEN GO TO VAL "4080" 4640 RETURN 4650 IF INKEY$="X" THEN GO SUB VAL "4010": GO TO VAL "4620" 4660 RETURN 4700 IF M9>39 AND M9<190 OR M9>206 AND M9<221 THEN LET inx=VAL "5": LET pc=VAL "0": LET inz=VAL "4": LET l$="B": RETURN 4710 IF M9>189 AND M9<207 THEN LET inx=VAL "1": LET pc=VAL "7": LET l$="L": LET inz=VAL "1": RETURN 4720 LET inx=VAL "3": LET l$="x": LET pc=VAL "7": LET inz=VAL "3": RETURN 4800 GO SUB VAL "4010": PRINT AT VAL "21",VAL "3";" ": PLOT VAL "24",VAL "0": DRAW VAL "128",VAL "0": RETURN 5010 CLS : GO SUB VAL "4250": GO SUB VAL "4400": GO SUB VAL "4250": PLOT VAL "67",VAL "107": INK VAL "2": FOR n=VAL "0" TO VAL "255" STEP VAL "5": PLOT n,VAL "77": NEXT n 5040 INK VAL "1": PLOT VAL "139",VAL "136": DRAW VAL "-4",VAL "0": DRAW VAL "0",VAL "2": DRAW VAL "13",VAL "9": DRAW VAL "12",VAL "-4": DRAW VAL "38",VAL "11": DRAW VAL "22",VAL "-7": DRAW VAL "35",VAL "-4": DRAW VAL "-19",VAL "-16": DRAW VAL "2",VAL "9": DRAW VAL "-16",VAL "-5": DRAW VAL "4",VAL "-1": DRAW VAL "-14",VAL "-18",P1*VAL ".4": DRAW VAL "-9",VAL "-15",P1: DRAW VAL "1",VAL "-10": DRAW VAL "-2",VAL "-2": DRAW VAL "-4",VAL "4": DRAW VAL "4",VAL "-13" 5045 DRAW VAL "-10",VAL "22": DRAW VAL "-8",VAL "-13": DRAW VAL "-8",VAL "16": DRAW VAL "-16",VAL "-13": DRAW VAL "-6",VAL "20": DRAW VAL "1",VAL "5": DRAW VAL "-8",VAL "0": DRAW VAL "-5",VAL "9": DRAW VAL "-2",VAL "0": DRAW VAL "3",VAL "-6": DRAW VAL "-1",VAL "-2": DRAW VAL "-5",VAL "6": DRAW VAL "-5",VAL "-4": DRAW VAL "-1",VAL "-2": DRAW VAL "-3",VAL "-1": DRAW VAL "-2",VAL "1": DRAW VAL "0",VAL "1": DRAW VAL "-1",VAL "1": DRAW VAL "1",VAL "3": DRAW VAL "5",VAL "0": DRAW VAL "-2",VAL "5": DRAW VAL "4",VAL "2": DRAW VAL "2",VAL "3": DRAW VAL "3",VAL "1": DRAW VAL "1",VAL "4" 5050 PLOT VAL "25",VAL "147": DRAW VAL "17",VAL "-3": DRAW VAL "5",VAL "3": DRAW VAL "10",VAL "-3": DRAW VAL "5",VAL "1": DRAW VAL "6",VAL "-1": DRAW VAL "0",VAL "2": DRAW VAL "1",VAL "2": DRAW VAL "2",VAL "0": DRAW VAL "1",VAL "-3": DRAW VAL "2",VAL "-1": DRAW VAL "2",VAL "2": DRAW VAL "2",VAL "-1": DRAW VAL "0",VAL "-2": DRAW VAL "-4",VAL "-3": DRAW VAL "-2",VAL "-5": DRAW VAL "5",VAL "-4": DRAW VAL "2",VAL "-3" 5060 PLOT VAL "80",VAL "129": DRAW VAL "-1",VAL "2": DRAW VAL "1",VAL "3": DRAW VAL "0",VAL "5": DRAW VAL "6",VAL "-2": DRAW VAL "2",VAL "-3": DRAW VAL "1",VAL "2": DRAW VAL "6",VAL "-8": DRAW VAL "-3",VAL "-2": DRAW VAL "-5",VAL "-1" 5070 PLOT VAL "88",VAL "125": DRAW VAL "2",VAL "-1",P1: DRAW VAL "2",VAL "-1",P1: DRAW VAL "1",VAL "-1": DRAW VAL "-5",VAL "-3" 5080 PLOT VAL "130",VAL "135": DRAW VAL "-1",VAL "0": DRAW VAL "-1",VAL "-3": DRAW VAL "1",VAL "-1": DRAW VAL "1",VAL "0": DRAW VAL "0",VAL "-2": DRAW VAL "-1",VAL "0": DRAW VAL "0",VAL "-1": DRAW VAL "1",VAL "-1": DRAW VAL "-2",VAL "-1": DRAW VAL "4",VAL "1": DRAW VAL "0",VAL "2": DRAW VAL "-2",VAL "3": DRAW VAL "1",VAL "2": DRAW VAL "-1",VAL "0": DRAW VAL "0",VAL "1": PLOT VAL "126",VAL "127": DRAW VAL "1",VAL "3" 5090 PLOT VAL "25",VAL "147": DRAW VAL "-4",VAL "-3": DRAW VAL "3",VAL "-1": DRAW VAL "-4",VAL "-1": DRAW VAL "1",VAL "-2": DRAW VAL "4",VAL "0": DRAW VAL "0",VAL "-1": DRAW VAL "-4",VAL "-3": DRAW VAL "6",VAL "-2": DRAW VAL "-5",VAL "-4": DRAW VAL "14",VAL "6": DRAW VAL "12",VAL "-8": DRAW VAL "-1",VAL "0": DRAW VAL "2",VAL "-4": DRAW VAL "1",VAL "-8" 5100 PLOT VAL "50",VAL "116": DRAW VAL "4",VAL "-7",P1*.4: DRAW 5,-10: PLOT 56,108: DRAW 6,-11: DRAW 0,-2: DRAW 6,-3: DRAW 2,0: DRAW 8,-13: DRAW 1,2: DRAW -1,-5,-P1*.4: DRAW 8,-19,P1*.25: DRAW -2,-19: DRAW 0,-15: DRAW 5,-1: DRAW -1,6,-P1/2: DRAW 3,9: DRAW 3,1: DRAW 10,16: DRAW 4,14: DRAW 0,3: DRAW -9,5: DRAW -3,6: DRAW -2,1: DRAW -10,5: DRAW -3,-3: DRAW -4,0: DRAW 0,6: DRAW -4,1: DRAW 1,5: DRAW -2,0: DRAW -5,1,-P1/2: DRAW 1,4: DRAW 1,3,-P1/4: DRAW 8,1: DRAW 2,-5: DRAW -1,7: DRAW 4,3: DRAW 1,6: DRAW 2,1 5110 PLOT VAL "103",VAL "136": DRAW VAL "15",VAL "10": DRAW VAL "6",VAL "12": DRAW VAL "-12",VAL "1": DRAW VAL "-28",VAL "-6": DRAW VAL "3",VAL "-1": DRAW VAL "7",VAL "-1": DRAW VAL "3",VAL "-10": DRAW VAL "5",VAL "-5" 5120 PLOT VAL "83",VAL "116": DRAW VAL "2",VAL "2": DRAW VAL "1",VAL "2": DRAW VAL "3",VAL "2" 5130 PLOT VAL "120",VAL "139": DRAW VAL "3",VAL "1": DRAW VAL "-1",VAL "3": DRAW VAL "-4",VAL "-1": DRAW VAL "-1",VAL "1": DRAW VAL "-1",VAL "-1": DRAW VAL "2",VAL "0": DRAW VAL "-2",VAL "-1": DRAW VAL "2",VAL "-2": DRAW VAL "-1",VAL "0": DRAW VAL "3",VAL "0" 5140 PLOT VAL "166",VAL "88": DRAW VAL "-6",VAL "-2": DRAW VAL "-8",VAL "21": DRAW VAL "-8",VAL "1": DRAW VAL "1",VAL "-2": DRAW VAL "-6",VAL "4": DRAW VAL "0",VAL "3": DRAW VAL "-11",VAL "-1": DRAW VAL "-2",VAL "-6": DRAW VAL "1",VAL "-26",P1: DRAW VAL "11",VAL "0": DRAW VAL "0",VAL "-4": DRAW VAL "2",VAL "-18",-P1/3: DRAW VAL "4",VAL "-16": DRAW VAL "2",VAL "1": DRAW VAL "8",VAL "8",P1/2: DRAW VAL "2",VAL "1": DRAW VAL "1",VAL "4": DRAW VAL "4",VAL "4": DRAW VAL "-1",VAL "12": DRAW VAL "8",VAL "16" 5160 PLOT VAL "130",VAL "135": DRAW VAL "-1",VAL "0": DRAW VAL "-1",VAL "-3": DRAW VAL "1",VAL "-1": DRAW VAL "1",VAL "0": DRAW VAL "0",VAL "-2": DRAW VAL "-1",VAL "0": DRAW VAL "0",VAL "-1": DRAW VAL "1",VAL "-1": DRAW VAL "-2",VAL "-1": DRAW VAL "4",VAL "1": DRAW VAL "0",VAL "2": DRAW VAL "-2",VAL "3": DRAW VAL "1",VAL "2": DRAW VAL "-1",VAL "0": DRAW VAL "0",VAL "1": PLOT VAL "126",VAL "127": DRAW VAL "1",VAL "3" 5170 PLOT VAL "226",VAL "121": DRAW VAL "-8",VAL "-12",-P1/3: DRAW VAL "0",VAL "-2": DRAW VAL "10",VAL "12",P1/3: DRAW VAL "-2",VAL "2": PLOT VAL "195",VAL "81": DRAW VAL "22",VAL "-13",P1/2: DRAW VAL "2",VAL "0": DRAW VAL "-23",VAL "13",-P1/2 5180 PLOT VAL "205",VAL "78": DRAW VAL "0",VAL "-5": DRAW VAL "5",VAL "-1": DRAW VAL "1",VAL "10": DRAW VAL "-6",VAL "-4": PLOT VAL "217",VAL "74": DRAW VAL "10",VAL "-7": DRAW VAL "5",VAL "-1": DRAW VAL "-4",VAL "4": DRAW VAL "-11",VAL "4" 5190 PLOT VAL "232",VAL "39": DRAW VAL "-7",VAL "-1": DRAW VAL "-16",VAL "3",P1/3: DRAW VAL "-1",VAL "13": DRAW VAL "14",VAL "8": DRAW VAL "0",VAL "-3": DRAW VAL "4",VAL "-1": DRAW VAL "0",VAL "5": DRAW VAL "8",VAL "-13": DRAW VAL "-2",VAL "-10": PLOT VAL "247",VAL "41": DRAW VAL "1",VAL "-5": DRAW VAL "2",VAL "1": DRAW VAL "0",VAL "3": DRAW VAL "-3",VAL "3": PLOT VAL "246",VAL "35": DRAW VAL "-3",VAL "-5": DRAW VAL "2",VAL "0": DRAW VAL "3",VAL "5": DRAW VAL "-2",VAL "0" 5200 PLOT VAL "27",VAL "98": PLOT VAL "28",VAL "97": PLOT VAL "29",VAL "95": GO SUB VAL "250" 5350 LET SLO=46-INT (W5/12+.5) 5360 IF W5<180 THEN LET SLO=16-INT (W5/12-.5) 5370 LET SLA=INT (12.5-(L5/8)) 5380 PRINT INK VAL "2"; FLASH VAL "1";AT SLA,SLO;"S" 5390 IF E9>=VAL "0" THEN PRINT AT VAL "20",VAL "1";"OSCAR-10 IN RANGE AZ ";INT A9;" EL ";INT E9; 5400 IF E9=VAL "0" THEN PRINT INVERSE VAL "1";AT VAL "0",VAL "26"; PAPER VAL "7"; INK VAL "1";FB+145000;AT VAL "0",VAL "25";"145.";AT VAL "1",VAL "26"; INK VAL "4";FR+435000;AT VAL "1",VAL "25";"435." 5752 GO SUB VAL "6050" 5755 IF E90 THEN LET DS=(289204.7+2*RA)/(300000/V-1) 5910 IF FX=VAL "0" THEN LET FR=INT (104-RA): LET FB=INT (900-DS+RA): LET FX=VAL "1": GO TO VAL "5715" 5920 LET FB=INT (900+RA): LET FR=INT (104-DS-RA): GO TO VAL "5715" 5970 PRINT AT VAL "21",VAL "3"; PAPER VAL "6";"Freq (in Khz)= ?" 5990 INPUT F5: IF F5<500 THEN LET RA=104-F5: LET FX=VAL "0" 6000 IF F5>=VAL "500" THEN LET RA=F5-900: LET Fx=VAL "1" 6010 LET T=T-1/96: GO SUB VAL "4500": GO TO VAL "2040" 6050 LET AZ=A9*P1/180: CIRCLE VAL "207",VAL "106",VAL "2": PLOT VAL "231",VAL "64": DRAW VAL "-48",VAL "84",PI: DRAW VAL "24",VAL "-90",.85*PI: PLOT VAL "207",VAL "106" 6060 DRAW (32*SIN AZ),(32*COS AZ) 6080 FOR N=VAL "0" TO VAL "2"*PI STEP PI/6 6090 PLOT (207+40*SIN N),(106+40*COS N) 6100 DRAW (8*SIN N),(8*COS N): NEXT N 6130 LET AZ=INT (57.3*AZ): IF AZ<90 OR AZ>270 THEN PRINT AT VAL "10",VAL "23";"AZ ";AZ 6140 IF AZ>=VAL "90" AND AZ<=VAL "270" THEN PRINT AT VAL "5",VAL "23";"AZ ";AZ 6170 LET EL=E9*PI/180: IF SGN EL=VAL "-1" THEN GO TO VAL "6250" 6175 PLOT VAL "255",VAL "18": DRAW VAL "-48",48,.56*PI 6180 CIRCLE VAL "207",VAL "18",VAL "2": PLOT VAL "207",VAL "18" 6190 DRAW (32*COS EL),(32*SIN EL) 6210 FOR N=VAL "0" TO PI/1.9 STEP PI/18 6220 PLOT (207+40*SIN N),(18+40*COS N) 6230 DRAW (8*SIN N),(8*COS N): NEXT N 6244 PRINT AT VAL "16",VAL "23";"EL";AT VAL "18",VAL "23";INT (EL/P0): GO TO VAL "6270" 6250 PRINT PAPER VAL "3"; INK VAL "7"; FLASH VAL "1";AT VAL "16",VAL "23";"EL";AT VAL "18",VAL "23";INT (EL/P0) 6270 RETURN 6800 GO SUB VAL "4400": GO SUB VAL "4015": PRINT INVERSE VAL "1"; INK VAL "3"; PAPER VAL "7";AT VAL "2",VAL "2";" SELECT CONTINENTAL AREA MAP " 6810 PRINT AT VAL "5",VAL "3";"1 = North America";AT VAL "7",VAL "3";"2 = Europe and North Africa";AT VAL "9",VAL "3";"3 = Southeast Asia";AT VAL "11",VAL "3"; "4 = S Pacific & New Zealand" 6820 PRINT AT VAL "13",VAL "3";"5 = Australia";AT VAL "15",VAL "3";"6 = South America";AT VAL "17",VAL "3";"7 = South Africa" 6830 IF INKEY$="1" THEN LET CH4=VAL "3": RETURN 6840 IF INKEY$="2" THEN LET CH4=VAL "4": RETURN 6850 IF INKEY$="3" THEN LET CH4=VAL "5": RETURN 6860 IF INKEY$="4" THEN LET CH4=VAL "6": RETURN 6870 IF INKEY$="5" THEN LET CH4=VAL "7": RETURN 6880 IF INKEY$="6" THEN LET CH4=VAL "8": RETURN 6890 IF INKEY$="7" THEN LET CH4=VAL "9": RETURN 6900 GO TO VAL "6830" 7010 LET GA=165-(W9-LO1)*3: IF GA>255 OR GA<0 THEN GO TO VAL "7060" 7030 LET LA=(L9-LA1)*3: IF LA<0 OR LA>175 THEN GO TO VAL "7060" 7050 PLOT PAPER VAL "4"; INK VAL "7"; FLASH VAL "1";GA,LA 7110 LET W5=W5-(W5>360)*360+(W5<0)*VAL "360" 7140 LET SLA=(L5-LA1)*3: LET SLO=165-(W5-LO1)*VAL "3" 7150 IF SLA>VAL "175" OR SLA254 OR SLO<2 THEN GO TO VAL "7171" 7160 PRINT INK VAL "2"; FLASH 1;AT 21-INT (SLA/8),INT (SLO/8);"S" 7166 IF SLO>168 OR SLO<2 THEN GO TO VAL "7171" 7170 IF (SLA-(3*DZ))>2 AND (SLA-(3*DZ))<174 THEN CIRCLE INK VAL "2";SLO,(SLA-(3*DZ)),VAL "2" 7171 LET DZ2=L5+DZ: IF DZ2<=90 THEN GO TO VAL "7180" 7173 LET DZ3=180-DZ2: LET WA5=W5+180-(W5>=180)*VAL "360" 7174 LET SLO=165+(LO1-WA5)*VAL "3" 7175 IF SLO>168 OR SLO<2 THEN GO TO VAL "7185" 7178 IF DZ2>90 AND (3*(DZ3-LA1))>2 AND (3*(DZ3-LA1))<174 THEN CIRCLE INK VAL "2";SLO,(3*(DZ3-LA1)),VAL "2" 7180 IF SLO>168 OR SLO<2 THEN GO TO VAL "7185" 7181 IF (SLA+(3*DZ))<174 AND (SLA+(3*DZ))>2 THEN CIRCLE INK VAL "2";SLO,(SLA+(3*DZ)),VAL "2" 7185 IF FM=VAL "0" OR FM=VAL "4" THEN GO TO VAL "7460" 7190 LET LA=(LA1+1)*P0 7200 LET Q=((COS (DZ*P0)-SIN LA*SIN (L5*P0))/(COS LA*COS (L5*P0))) 7210 IF ABS Q>.9999 THEN GO TO VAL "7442" 7220 LET ZA=57.3*(ACS ((COS (DZ*P0)-SIN LA*SIN (L5*P0))/(COS LA*COS (L5*P0)))) 7310 LET CA2=INT (W5+ZA): LET CA2=CA2+(CA2>360)*(-360)+(CA2<0)*VAL "360" 7315 IF LO2360)*VAL "360"+(CA3<0)*VAL "360" 7335 IF LO2(LO1+54) OR CA2<(LO1+1) THEN GO TO VAL "7400" 7380 CIRCLE INK VAL "2";CLOL,CLA,VAL "2" 7400 LET CLOR=(LO1+55-CA3)*VAL "3" 7410 IF CA3>(LO1+54) OR CA3<(LO1+1) THEN GO TO VAL "7442" 7430 CIRCLE INK VAL "2";CLOR,CLA,VAL "2" 7442 LET LA=LA+2*P0: IF L5>LA1 AND L5LA1 AND L5(W5+20) AND LO1<(W5+110) OR (LO1+160)>W5 AND (LO1+70)LA1 AND L5180 THEN LET DIF=360-DIF 8110 LET DZ1=((SIN (LA3*P0))*(SIN (L5*P0))+(COS (LA3*P0))*(COS (L5*P0))*(COS (DIF*P0))) 8120 LET DZ1=57.3*(-ATN (DZ1/SQR (-DZ1*DZ1+1))+P1/2) 8130 IF DZ1=DZ) THEN PRINT AT VAL "21",VAL "20"; PAPER VAL "3"; INK VAL "7";"No" 8180 IF FL=VAL "2" AND DZ1=DZ THEN PRINT AT VAL "21",VAL "0"; PAPER VAL "3"; INK VAL "7";"No" 8220 IF FL=VAL "3" AND DZ1=DZ THEN PRINT AT VAL "0",VAL "0"; PAPER VAL "3"; INK VAL "7";"No" 8260 IF FL=VAL "4" AND DZ1=DZ THEN PRINT AT VAL "0",VAL "20"; PAPER VAL "3"; INK VAL "7";"No" 8275 LET FL=FL+1: IF FL24)*24+(TZ1<0)*24 8300 IF TZ1>=1 AND TZ1<=5 THEN PRINT AT VAL "20",(19-N*6); PAPER VAL "2"; INK VAL "7";TZ1 8310 IF TZ1<1 OR TZ1>5 THEN PRINT AT VAL "20",(19-N*6); PAPER VAL "4"; INK VAL "7";TZ1 8320 NEXT N: RETURN 8410 INVERSE VAL "1": PAPER VAL "7": INK VAL "1": PRINT AT VAL "10",VAL "21";" ENTER Nr? ";AT VAL "11",VAL "21";"-----------";AT VAL "13",VAL "21";"2 New Dplr ";AT VAL "12",VAL "21";"1 New Mode ";AT VAL "19",VAL "21";"8 S America";AT VAL "20",VAL "21";"9 S Africa ";AT VAL "14",VAL "21";"3 N America";AT VAL "16",VAL "21";"5 SE Asia ";AT VAL "18",VAL "21";"7 Australia";AT VAL "17",VAL "21";"6 S Pacific";AT VAL "15",VAL "21";"4 Europe ";AT VAL "21",VAL "21";"10 +15 Min ": INVERSE VAL "0": PAPER VAL "7": INK VAL "0" 8610 INPUT CH5: IF CH5VAL "10" THEN GO TO VAL "8610" 8620 IF CH5=VAL "2" THEN GO TO VAL "5970" 8630 IF CH5>VAL "2" AND CH5