OSCAR-TEN

Developer(s): Frank Bouldin (W5GAA)
Date: 198x
Type: Program
Platform(s): TS 2068

This program is an OSCAR-10 (AO-10) amateur radio satellite 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 RangeModeColourLabel
40–189, 207–220Mode B (linear)INK 5, PAPER 0B
190–206Mode LINK 1, PAPER 7L
All othersOffINK 3, PAPER 7x

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

VariableParameterValue
Y2Epoch year (19xx)85
T0Epoch day of year230.19430632
I0Inclination (°)26.3229
K0Epoch orbit number1641
M0Mean anomaly at epoch (°)351.9467
N0Mean motion (rev/day)2.05858136
E0Eccentricity0.5966563
W0Argument of perigee (°)37.7476
O0RAAN (°)123.8106

Content

Appears On

This tape is a compilation of programs from user group members (Robert Burton, David Baulch, Frank Bouldin, Chuck Dawson, Ryan

Related Products

Related Articles

Related Content

Image Gallery

OSCAR-TEN

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<VAL "0" AND DZ>=DZ1 THEN PRINT PAPER VAL "6";AT N,VAL "1";" .. ";P$;" "
  180 IF DZ<DZ1 THEN PRINT PAPER VAL "2"; INK VAL "7";AT N,VAL "1";" No ";P$;" "
  185 PRINT AT VAL "21",VAL "0";" "; INK VAL "1"; INVERSE VAL "1";AT n,VAL "0";">"; 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 MN<VAL "1" OR MN>VAL "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 DM<VAL "1" OR DM>VAL "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 "48" OR A$>CHR$ VAL "57" THEN GO TO VAL "1435"
 1436 IF VAL A$<VAL "0" OR 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 X<VAL "0" THEN LET W5=VAL "180"-W5
 3160 IF X>VAL "0" AND Y<VAL "0" THEN LET W5=-W5
 3170 IF X>VAL "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 Y<VAL "0" THEN LET W5=VAL "90"
 3220 IF X8<VAL "0" THEN LET A9=VAL "A9"+VAL "180"
 3230 IF X8>VAL "0" AND Y8<VAL "0" THEN LET A9=VAL "360"+A9
 3240 IF X8=VAL "0" AND Y8>=VAL "0" THEN LET A9=VAL "90"
 3250 GO SUB VAL "4650": IF X8=VAL "0" AND Y8<VAL "0" THEN LET A9=VAL "270"
 3260 IF CH2=VAL "1" THEN GO TO VAL "5010"
 3270 LET T4=(INT ((T-INT T)*2400+.5))/100
 3280 LET T4=INT ((100*((T4-INT T4)*.6+INT T4))+.5): GO SUB VAL "1030"
 3300 IF FA=VAL "1" THEN GO TO VAL "3460"
 3310 IF FA=VAL "3" THEN GO TO VAL "5810"
 3320 IF FA=VAL "4" THEN GO TO VAL "5880"
 3332 LET pp=pp+VAL "1": IF pp=VAL "1" THEN PRINT INVERSE VAL "1"; INK VAL "1";AT VAL "0",VAL "14";T$: PRINT : PRINT : PRINT 
 3334 IF ink=VAL "0" AND tc=VAL "0" THEN LET tc=VAL "1": GO TO VAL "3338"
 3336 IF tc=VAL "1" AND VAL T$>=VAL "0" AND VAL T$<t7 THEN LET ink=tc: LET tc=VAL "0": GO TO VAL "3338"
 3337 IF tc=VAL "0" AND VAL T$>=VAL "0" AND VAL T$<t7 THEN LET ink=tc: LET tc=VAL "1": GO TO VAL "3338"
 3338 IF pp<VAL "19" THEN GO TO VAL "3347"
 3339 GO SUB VAL "4650": IF CH2=VAL "4" AND pp=VAL "19" THEN GO SUB VAL "4065"
 3341 IF INKEY$="P" THEN GO SUB VAL "4070": COPY : LPRINT ''': GO SUB VAL "4065": GO TO VAL "3341"
 3342 IF INKEY$="C" THEN GO SUB VAL "4010": CLS : GO SUB VAL "4250": GO TO VAL "3372"
 3343 IF INKEY$="M" THEN GO TO VAL "4080"
 3345 GO TO VAL "3341"
 3347 LET inx=ink: LET inv=VAL "0": LET pc=VAL "7": LET l$=" ": IF INT E9>=VAL "0" THEN GO SUB VAL "4700": LET inv=VAL "1"
 3348 LET inr=ink: IF INT E9<VAL "0" THEN LET inr=VAL "2"
 3349 IF CH2=VAL "4" THEN PRINT INK ink;TAB VAL "0";INT R-6378;TAB VAL "6";M9;TAB VAL "10";INT L5;TAB VAL "14";INT W5;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"; INK inr;INT E9
 3350 IF CH2=VAL "3" AND 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$<t7 AND tc=VAL "1" THEN LET tc=VAL "0"
 3374 IF VAL T$>=0 AND VAL T$<t7 AND tc=VAL "0" THEN LET tc=VAL "1"
 3376 GO TO VAL "1945"
 3380 LET FA=VAL "1": LET T=VAL "T2"
 3450 GO SUB VAL "4650": GO TO VAL "2040"
 3460 PRINT INVERSE VAL "1"; PAPER VAL "7"; INK VAL "4";AT VAL "2",VAL "0";" DX STATUS @ ";T$;" "
 3465 LET inz=VAL "2": IF INT E9>=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 INK VAL "2";AT VAL "20",VAL "1";" OSCAR-10 IS NOW OUT OF RANGE "
 5410 GO TO VAL "4450"
 5715 CLS : GO SUB VAL "4400": PRINT INVERSE VAL "1"; PAPER VAL "7"; INK VAL "4";AT VAL "20",VAL "30";"  ";AT VAL "20",VAL "24";MN;"/";DM;"/";YN
 5720 PRINT INVERSE VAL "1"; PAPER VAL "7"; INK VAL "1";AT VAL "21",VAL "24";T$;" UTC"
 5750 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 E9<VAL "0" THEN PRINT INVERSE VAL "1"; FLASH VAL "1"; PAPER VAL "2"; INK VAL "7";AT VAL "0",VAL "23";"OSCAR-TEN";AT VAL "1",VAL "23";" is OUT  ";AT VAL "2",VAL "23";"of RANGE ": GO SUB VAL "4000": GO SUB VAL "4000"
 5761 IF CH4=VAL "8" THEN GO SUB VAL "9050"
 5762 IF CH4=VAL "9" THEN GO SUB VAL "8960"
 5764 IF CH4=VAL "3" THEN GO SUB VAL "7560"
 5765 IF CH4=VAL "5" THEN GO SUB VAL "7810"
 5766 IF CH4=VAL "7" THEN GO SUB VAL "7900"
 5767 IF CH4=VAL "6" THEN GO SUB VAL "7660"
 5768 IF CH4=VAL "4" THEN GO SUB VAL "8810"
 5769 GO TO VAL "7010"
 5810 LET SR1=R5: LET FA=VAL "4": LET T=T+1/96: GO TO VAL "2040"
 5880 LET FA=VAL "3": LET SR2=R5: LET V=-(INT ((SR2-SR1)/90))/10: IF V=VAL "0" THEN LET DS=VAL "0"
 5890 IF V<>0 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 SLA<VAL "0" THEN GO TO VAL "7166"
 7155 IF SLO>254 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 LO2<LO1 AND CA2<=LO2 THEN LET CA2=360+CA2
 7330 LET CA3=INT (W5-ZA): LET CA3=CA3-(CA3>360)*VAL "360"+(CA3<0)*VAL "360"
 7335 IF LO2<LO1 AND CA3<=LO2 THEN LET CA3=VAL "360"+CA3
 7340 LET CLA=(3*(INT (LA/P0-LA1)))
 7350 LET CLOL=(LO1+55-CA2)*VAL "3"
 7360 IF CA2>(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 L5<LA2 THEN LET LA=LA+3*P0
 7443 IF L5>LA1 AND L5<LA2 THEN GO TO VAL "7450"
 7445 IF LO1>(W5+20) AND LO1<(W5+110) OR (LO1+160)>W5 AND (LO1+70)<W5 THEN LET LA=LA+3*P0
 7448 IF L5>LA1 AND L5<LA2 THEN LET LA=LA+4*P0
 7450 IF LA<=((LA2-1)*P0) THEN GO TO VAL "7200"
 7460 GO SUB VAL "4010": PRINT PAPER VAL "6"; INK VAL "0";AT VAL "21",VAL "3";"Print?=P "; PAPER VAL "4"; INK VAL "7";"Menu?=M"
 7461 IF INKEY$="P" THEN GO SUB VAL "4800": COPY : LPRINT ''': GO TO VAL "7460"
 7462 IF INKEY$="M" THEN GO SUB VAL "4800": GO TO VAL "8400"
 7463 GO TO VAL "7461"
 7560 PRINT INK VAL "1";AT VAL "2",VAL "4";"NORTH";AT VAL "3",VAL "2";" AMERICA"; INK VAL "1": PLOT VAL "114",VAL "0": DRAW VAL "-54",VAL "24": DRAW VAL "-24",VAL "36": DRAW VAL "-8",VAL "0": DRAW VAL "18",VAL "-30": DRAW VAL "0",VAL "-8": DRAW VAL "-3",VAL "0": PLOT VAL "42",VAL "22": DRAW VAL "-39",VAL "62": DRAW VAL "-3",VAL "27": FOR n=VAL "0" TO VAL "100" STEP VAL "5": PLOT n,VAL "108": NEXT n: PLOT VAL "0",VAL "174": DRAW VAL "75",VAL "-6": DRAW VAL "15",VAL "6": DRAW VAL "42",VAL "-3": DRAW VAL "-42",VAL "-30": DRAW VAL "39",VAL "-12": DRAW VAL "9",VAL "-9": DRAW VAL "3",VAL "33": DRAW VAL "24",VAL "-3" 
 7570 PLOT VAL "165",VAL "105": DRAW VAL "-39",VAL "-15": DRAW VAL "2",VAL "3": DRAW VAL "-7",VAL "8",P1/4: DRAW VAL "-6",VAL "-6": DRAW VAL "-3",VAL "-6",-P1/2: DRAW VAL "23",VAL "9",-P1: DRAW VAL "-5",VAL "2": DRAW VAL "-2",VAL "-7": PLOT VAL "121",VAL "106": DRAW VAL "-22",VAL "-2": DRAW VAL "13",VAL "7": DRAW VAL "9",VAL "-5": PLOT VAL "129",VAL "93": DRAW VAL "18",VAL "1": DRAW VAL "0",VAL "3"
 7580 PLOT VAL "165",VAL "90": DRAW VAL "-9",VAL "-3": DRAW VAL "-9",VAL "-15": DRAW VAL "-18",VAL "-12": DRAW VAL "6",VAL "-21": DRAW VAL "-6",VAL "0": DRAW VAL "-3",VAL "15": DRAW VAL "-36",VAL "-3": DRAW VAL "-6",VAL "-18": DRAW VAL "21",VAL "-6",P1: DRAW VAL "9",VAL "3": DRAW VAL "-3",VAL "-18": DRAW VAL "15",VAL "0": DRAW VAL "0",VAL "-12"
 7590 PLOT VAL "150",VAL "0": DRAW VAL "15",VAL "3": PLOT VAL "120",VAL "30": DRAW VAL "30",VAL "-6"
 7594 PRINT INK VAL "4";AT VAL "13",VAL "2";"*";AT VAL "12",VAL "0";"*";AT VAL "7",VAL "0";"*";AT VAL "14",VAL "10";"*";AT VAL "10",VAL "13";"*";AT VAL "11",VAL "19";"*";AT VAL "12",VAL "8";"*";AT VAL "19",VAL "19";"*";AT VAL "18",VAL "9";"*"
 7596 PRINT INK VAL "0";AT VAL "13",VAL "3";"LA";AT VAL "12",VAL "1";"SF";AT VAL "7",VAL "1";"Va";AT VAL "14",VAL "11";"FtW";AT VAL "10",VAL "11";"Ch";AT VAL "11",VAL "17";"NY";AT VAL "12",VAL "9";"Den";AT VAL "18",VAL "19";"Hai";AT VAL "17",VAL "7";"MexC"
 7600 LET LO1=VAL "70": LET LO2=VAL "125": LET LA1=VAL "12": LET LA2=VAL "70": LET TZ=VAL "-5": GO SUB VAL "8000": RETURN 
 7660 PRINT INK 1;AT 14,7;"SOUTH PACIFIC";AT 15,8;"& N ZEALAND"; INK 1: PLOT 29,27: DRAW 2,3: DRAW -5,2: DRAW 3,VAL "4": DRAW VAL "-6",VAL "11": DRAW VAL "15",VAL "-11": DRAW VAL "1",VAL "2": DRAW VAL "2",VAL "-1": DRAW VAL "-2",VAL "-4": DRAW VAL "-3",VAL "-1": DRAW VAL "-5",VAL "-6": DRAW VAL "-2",VAL "1": PLOT VAL "28",VAL "25": DRAW VAL "-5",VAL "-6": DRAW VAL "2",VAL "-1": DRAW VAL "-6",VAL "-1": DRAW VAL "-2",VAL "-5": DRAW VAL "-5",VAL "-2": DRAW VAL "-8",VAL "1": DRAW VAL "7",VAL "7": DRAW VAL "7",VAL "3": DRAW VAL "1",VAL "4": DRAW VAL "1",VAL "0": DRAW VAL "3",VAL "3": DRAW VAL "2",VAL "-2": DRAW VAL "2",VAL "2": DRAW VAL "1",VAL "0": DRAW VAL "-3",VAL "-10"
 7670 PLOT VAL "51",VAL "60": PLOT VAL "57",VAL "18": PLOT VAL "9",VAL "66": PLOT VAL "39",VAL "98": PLOT VAL "0",VAL "87": DRAW VAL "6",VAL "-4": PLOT VAL "67",VAL "109": DRAW VAL "2",VAL "-1": PLOT VAL "69",VAL "142": PLOT VAL "60",VAL "87": PLOT VAL "99",VAL "168": PLOT VAL "113",VAL "156": PLOT VAL "165",VAL "122": PLOT VAL "136",VAL "97": PLOT VAL "106",VAL "86"
 7680 FOR N=VAL "0" TO VAL "-63" STEP VAL "-9": PLOT 24-N/5,VAL "162"+N/3: PLOT 3-N/5,VAL "120"+N/2: NEXT N
 7685 PRINT INK VAL "4";AT VAL "9",VAL "6";"*";AT VAL "9",VAL "16";"*";AT VAL "8",VAL "8";"*";AT VAL "10",VAL "7";"*";AT VAL "2",VAL "14";"*": PRINT INK VAL "0";AT VAL "9",VAL "7";"Fiji";AT VAL "9",VAL "12";"Thti";AT VAL "8",VAL "9";"Samoa";AT VAL "10",VAL "8";"Tonga";AT VAL "3",VAL "1";"Truk";AT VAL "18",VAL "4";"NewZ";AT VAL "2",VAL "15";"Xmas"
 7690 LET LA1=VAL "-50": LET LA2=VAL "8": LET LO1=VAL "140": LET LO2=VAL "195": LET TZ=VAL "-9"
 7700 GO SUB VAL "8000": RETURN 
 7810 PRINT INK VAL "1";AT VAL "14",VAL "12";"SE ASIA"; INK 1: PLOT 57,0: DRAW -3,3: DRAW -6,2: DRAW -2,-2: DRAW -13,3: DRAW -2,-3: DRAW 14,-3: PLOT 33,9: DRAW 0,9: DRAW -15,12: DRAW -11,9: DRAW -7,1: DRAW 28,-34: DRAW 5,3: PLOT 63,12: DRAW 9,27: DRAW -8,6: DRAW -22,-15: DRAW 3,-15: DRAW 18,-3
 7820 PLOT VAL "25",VAL "27": DRAW VAL "-7",VAL "9": DRAW VAL "-9",VAL "12": DRAW VAL "-3",VAL "27": DRAW VAL "-6",VAL "-3": PLOT VAL "25",VAL "27": DRAW VAL "-4",VAL "15": DRAW VAL "-9",VAL "12": DRAW VAL "6",VAL "12": DRAW VAL "12",VAL "-17": DRAW VAL "12",VAL "8": DRAW VAL "-3",VAL "15": DRAW VAL "-6",VAL "9": DRAW VAL "12",VAL "7"
 7830 PLOT VAL "45",VAL "84": DRAW VAL "21",VAL "10": DRAW VAL "18",VAL "23": DRAW VAL "-12",VAL "12": DRAW VAL "9",VAL "9": DRAW VAL "-15",VAL "3": DRAW VAL "15",VAL "6": DRAW VAL "-3",VAL "-6": DRAW VAL "14",VAL "2": DRAW VAL "-3",VAL "-5": DRAW VAL "4",VAL "-12",-P1*.75: DRAW VAL "8",VAL "3": DRAW VAL "-3",VAL "14",P1*.75: DRAW VAL "13",VAL "17": DRAW VAL "6",VAL "-3": DRAW VAL "15",VAL "17"
 7840 PLOT VAL "113",VAL "122": DRAW VAL "4",VAL "1": PLOT VAL "107",VAL "118": DRAW VAL "-4",VAL "6": DRAW VAL "5",VAL "2": DRAW VAL "3",VAL "-3": DRAW VAL "-2",VAL "-5": DRAW VAL "-2",0,-P1/2: PLOT VAL "108",VAL "126": DRAW VAL "13",VAL "2": DRAW VAL "0",VAL "-4",P1/3: DRAW VAL "14",VAL "5",-P1/3: DRAW VAL "3",VAL "11",P1/3: DRAW VAL "1",VAL "11",P1/3: DRAW VAL "-4",VAL "-3": DRAW VAL "-9",VAL "-14": PLOT VAL "127",VAL "136": DRAW VAL "-4",VAL "-5": DRAW VAL "-15" ,-5,P1/3
 7850 PLOT VAL "78",VAL "90": DRAW VAL "-3",VAL "3": DRAW VAL "5",VAL "6": DRAW VAL "-2",VAL "-9": PLOT VAL "135",VAL "150": DRAW VAL "0",VAL "6": DRAW VAL "6",VAL "7": DRAW VAL "10",VAL "-7": DRAW VAL "-7",VAL "-3": DRAW VAL "-6",VAL "1": PLOT VAL "141",VAL "166": DRAW VAL "-1",VAL "9"
 7860 PLOT VAL "81",VAL "78": DRAW VAL "-6",VAL "0": DRAW VAL "6",VAL "-33": DRAW VAL "8",VAL "-3": DRAW VAL "-12",VAL "36": PLOT VAL "90",VAL "30": DRAW VAL "-15",VAL "-21",P1/2: PLOT VAL "150",VAL "0": DRAW VAL "-24",VAL "18": DRAW VAL "-21",VAL "6": DRAW VAL "30",VAL "-24"
 7865 PRINT INK VAL "4";AT VAL "18",VAL "3";"*";AT VAL "10",VAL "7";"*";AT VAL "13",VAL "9";"*";AT VAL "5",VAL "16";"*";AT VAL "3",VAL "8";"*";AT VAL "2",VAL "13";"*": PRINT INK VAL "0";AT VAL "18",VAL "4";"Sing";AT VAL "10",VAL "4";"Hng";AT VAL "13",VAL "6";"Mla";AT VAL "5",VAL "17";"Tokyo";AT VAL "3",VAL "3";"Pekin";AT VAL "2",VAL "14";"Vstk"
 7870 LET LO1=VAL "210": LET LO2=VAL "265": LET LA1=VAL "-8": LET LA2=VAL "50": LET TZ=VAL "10": GO SUB VAL "8000": RETURN 
 7900 PRINT INK VAL "1";AT VAL "17",VAL "2";"AUSTRALIA"; INK VAL "1": PLOT VAL "30",VAL "72": DRAW VAL "3",VAL "5": DRAW VAL "-9",VAL "19": DRAW VAL "2",VAL "12": DRAW VAL "21",VAL "6": DRAW VAL "16",VAL "19": DRAW VAL "10",VAL "-4": DRAW VAL "5",VAL "9": DRAW VAL "18",VAL "1": DRAW VAL "-4",VAL "-10": DRAW VAL "16",VAL "-8": DRAW VAL "4",VAL "20": DRAW VAL "3",VAL "-10": DRAW VAL "4",VAL "1": DRAW VAL "25",VAL "-33": DRAW VAL "2",VAL "-12": DRAW VAL "-11",VAL "-26": DRAW VAL "-9",VAL "-3": DRAW VAL "-24",VAL "9",-P1/3: DRAW VAL "-10",VAL "2": DRAW VAL "-35",VAL "3",P1/2: DRAW -VAL "13",VAL "1": DRAW VAL "-5",VAL "-4": DRAW VAL "-9",VAL "3"
 7910 PLOT VAL "119",VAL "52": DRAW VAL "4",VAL "-1": DRAW VAL "7",VAL "1": DRAW VAL "-2",VAL "-7": DRAW VAL "-5",VAL "-2": DRAW VAL "-4",VAL "9"
 7920 PLOT VAL "138",VAL "141": DRAW VAL "-10",VAL "3": DRAW VAL "-11",VAL "7": DRAW VAL "-4",VAL "-5": DRAW VAL "-15",VAL "4": DRAW VAL "-5",VAL "9",P1/2: DRAW VAL "-12",VAL "6": DRAW VAL "-6",VAL "9": DRAW VAL "12",VAL "-3": DRAW VAL "3",VAL "-7": DRAW VAL "8",VAL "5": DRAW VAL "21",VAL "-7": DRAW VAL "10",VAL "-9": DRAW VAL "-2",VAL "0": DRAW VAL "11",VAL "-12" 
 7930 PLOT VAL "3",VAL "165": DRAW VAL "-2",VAL "-9": PLOT VAL "3",VAL "156": DRAW VAL "7",VAL "-1": DRAW VAL "1",VAL "-1": DRAW VAL "2",VAL "-1": DRAW VAL "2",VAL "2": DRAW VAL "9",VAL "-2": DRAW VAL "-4",VAL "-1": DRAW VAL "2",VAL "-1": DRAW VAL "3",VAL "0": DRAW VAL "0",VAL "-3": DRAW VAL "-13",VAL "4": DRAW VAL "-2",VAL "-1": DRAW VAL "-6",VAL "1": DRAW VAL "0",VAL "2":  DRAW VAL "-3",VAL "0": DRAW VAL "2",VAL "2"
 7940 PLOT VAL "12",VAL "174": DRAW VAL "4",VAL "-9": DRAW VAL "4",VAL "0": DRAW VAL "0",VAL "-2": DRAW VAL "8",VAL "0": DRAW VAL "1",VAL "-2": DRAW VAL "5",VAL "7": DRAW VAL "4",VAL "6": PLOT VAL "28",VAL "149": DRAW VAL "4",VAL "0": PLOT VAL "33",VAL "149": DRAW VAL "2",VAL "0": PLOT VAL "36",VAL "148": DRAW VAL "6",VAL "0": PLOT VAL "45",VAL "148": DRAW VAL "15",VAL "1": PLOT VAL "42",VAL "145": DRAW VAL "5",VAL "-2"
 7950 PLOT VAL "54",VAL "141": DRAW VAL "13",VAL "8": DRAW VAL "-7",VAL "-1": DRAW VAL "-4",VAL "-3": DRAW VAL "-2",VAL "-4": PLOT VAL "44",VAL "174": DRAW VAL "-3",VAL "-11": DRAW VAL "2",VAL "0": DRAW VAL "0",VAL "-6": DRAW VAL "3",VAL "0": DRAW VAL "0",VAL "9": DRAW VAL "2",VAL "0": DRAW VAL "3",VAL "-9": DRAW VAL "4",VAL "0": DRAW VAL "0",VAL "5": DRAW VAL "-6",VAL "6": DRAW VAL "7",VAL "4": DRAW VAL "-9",VAL "-2": DRAW VAL "-1",VAL "4"
 7955 PRINT INK VAL "4";AT VAL "12",VAL "4";"*";AT VAL "4",VAL "9";"*";AT VAL "12",VAL "17";"*";AT VAL "10",VAL "17";"*": PRINT INK VAL "0";AT VAL "12",VAL "5";"Pth";AT VAL "4",VAL "6";"Dwn";AT VAL "12",VAL "14";"Syd";AT VAL "10",VAL "13";"Bris"
 7960 LET LA1=VAL "-58": LET LA2=VAL "0": LET LO1=VAL "200": LET LO2=VAL "255": LET TZ=VAL "10": GO SUB VAL "8000": RETURN 
 8000 LET FL=VAL "1": LET FM=VAL "0"
 8010 IF FL=VAL "1" THEN LET LO3=LO1: IF FL=VAL "1" THEN LET LA3=LA1
 8020 IF FL=VAL "2" THEN LET LO3=LO2
 8030 IF FL=VAL "3" THEN LET LA3=LA2
 8040 IF FL=VAL "4" THEN LET LO3=LO1
 8100 LET DIF=ABS (W5-LO3): IF DIF>180 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 LET FM=FM+1
 8140 IF FL=VAL "1" AND DZ1<DZ THEN PRINT AT VAL "21",VAL "20"; PAPER VAL "4"; INK VAL "7";"In"
 8150 IF (FL=1 AND 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 "4"; INK VAL "7";"In"
 8190 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 "4"; INK VAL "7";"In"
 8230 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 "4"; INK VAL "7";"In"
 8270 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 FL<VAL "5" THEN GO TO VAL "8010"
 8280 FOR N=VAL "0" TO VAL "3": LET TZ1=INT ((VAL T$)/100)+TZ-N
 8290 LET TZ1=TZ1-(TZ1>24)*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 CH5<VAL "1" OR CH5>VAL "10" THEN GO TO VAL "8610"
 8620 IF CH5=VAL "2" THEN GO TO VAL "5970"
 8630 IF CH5>VAL "2" AND CH5<VAL "10" THEN LET T=T-1/96
 8640 IF CH5=VAL "10" THEN GO SUB VAL "4500": GO TO VAL "2040"
 8660 IF CH5=VAL "1" THEN PAPER 7: CLS : GO TO VAL "4080"
 8665 LET CH4=CH5: GO SUB VAL "4500": GO TO VAL "2040"
 8700 BORDER VAL "5": 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"
 8705 PRINT INK VAL "2";AT VAL "5",VAL "4";"▛▌";AT VAL "6",VAL "4";"▌▌▐▀";AT VAL "7",VAL "4";"▙▌▝▜ ▛▌";AT VAL "8",VAL "6";"▗▟ ▌ ▝▜";AT VAL "9",VAL "9";"▙▌▐▜ ▜▄" ; AT VAL "10",VAL "11";"▐▟▖▐▝    ▄";AT VAL "11",VAL "14";"▐ ▗▄ ▗▟▄";AT VAL "12",VAL "20";"▐  ▄▖";AT VAL "13",VAL "20";"▐  ▙▌▗▖";AT VAL "14",VAL "20";"▝▘ ▌▖ ▛▌"; AT VAL "15",VAL "23";"▀▘ ▌▌";AT VAL "16",VAL "26";"▘▀"
 8710 PRINT AT VAL "2",VAL "11";"TIMEX-2068"
 8715 PRINT INK VAL "3";AT VAL "6",VAL "17";"Satellite";AT VAL "7 ",VAL "20";"Tracking";AT VAL "8",VAL "23";"Program";AT VAL "14",VAL "2";"Version 3.4"
 8720 PRINT INK 0;AT VAL "21",VAL "4";"©1985  F. Bouldin  W5GAA"
 8725 PRINT INK VAL "6";AT VAL "18",VAL "9";"██"; INK VAL "5";AT VAL "18",VAL "11";"██"; INK VAL "4";AT VAL "18",VAL "13";"██"; INK VAL "3";AT VAL "18",VAL "15";"██"
 8730 PRINT INK VAL "6";AT VAL "19",VAL "9";"██"; INK VAL "5";AT VAL "19",VAL "11";"██"; INK VAL "4";AT VAL "19",VAL "13";"██"; INK VAL "3";AT VAL "19",VAL "15";"██"
 8735 PRINT INK VAL "2";AT VAL "18",VAL "17";"██"; INK VAL "1";AT VAL "18",VAL "19";"██"
 8740 PRINT INK VAL "2";AT VAL "19",VAL "17";"██"; INK VAL "1";AT VAL "19",VAL "19";"██"
 8745 PRINT INK VAL "0";AT VAL "18",VAL "21";"██";AT VAL "18",VAL "23";"▞▞"
 8750 PRINT INK VAL "0";AT VAL "19",VAL "21";"██";AT VAL "19",VAL "23";"▞▞"
 8755 INK VAL "0": PLOT VAL "56",VAL "32": DRAW VAL "144",VAL "0": DRAW VAL "0",VAL "-17": DRAW VAL "-144",VAL "0": DRAW VAL "0",VAL "17": INK VAL "0"
 8760 PAUSE VAL "360": RETURN 
 8810 PRINT INK VAL "1";AT VAL "18",VAL "1";"EUROPE & N AFRICA"; INK VAL "1": PLOT VAL "45",VAL "174": DRAW VAL "2",VAL "-4": DRAW VAL "4",VAL "-2": DRAW VAL "4",VAL "0": DRAW VAL "7",VAL "4": DRAW VAL "7",VAL "-12": DRAW VAL "4",VAL "0": DRAW VAL "5",VAL "2",-P1/2: DRAW VAL "3",VAL "8": DRAW VAL "6",VAL "4",P1/2
 8820 PLOT 120,174: DRAW -23,-3: DRAW -5,-12: DRAW -19,-3: DRAW -3,2: DRAW -7,-2: DRAW -2,7,-P1/2: DRAW 0,4: DRAW -6,-3: DRAW 2,-8: DRAW -13,-3: DRAW -9,-6: DRAW 0,-3: DRAW -9,-2: DRAW 0,1: DRAW -2,0: DRAW 1,-3: DRAW -9,1: DRAW 10,-8: DRAW -1,-9: DRAW -18,1: DRAW -5,-2: DRAW 2,-6: DRAW -2,-7: DRAW 2,-1: DRAW -1,-4: DRAW 7,0,-P1/4: DRAW 3,-3: DRAW 3,2: DRAW 8,0: DRAW 7,6: DRAW 6,8,-P1/2: DRAW 2,2: DRAW 1,4
 8830 PLOT 40,125: DRAW 10,-2: DRAW 8,4: DRAW 3,-4,-P1/4: DRAW 16,-9: DRAW 1,-4: DRAW -1,-2: DRAW 2,0: DRAW 3,4: DRAW -3,1: DRAW 3,2: DRAW 3,-2: DRAW 1,2: DRAW -8,4: DRAW 2,1: DRAW -9,5: DRAW -3,1: DRAW 3,5,-P1/2: DRAW 0,-3: DRAW 17,-8: DRAW 0,-6: DRAW 10,-11: DRAW 6,5: DRAW -6,6: DRAW 12,2: PLOT 108,114: DRAW 12,2,-P1/2: DRAW -10,-1: DRAW -1,-1: DRAW 5,-12
 8840 PLOT VAL "114",VAL "102": DRAW VAL "8",VAL "4": DRAW VAL "0",VAL "-1": DRAW VAL "4",VAL "-3": DRAW VAL "12",VAL "3": DRAW VAL "-5",VAL "-17": DRAW VAL "-40",VAL "4": DRAW VAL "-3",VAL "-7": DRAW VAL "-30",VAL "11": DRAW VAL "3",VAL "10": DRAW VAL "-24",VAL "-2": DRAW VAL "-23",VAL "-4": DRAW VAL "-2",VAL "1": DRAW VAL "-2",VAL "-1": DRAW VAL "-12",VAL "-17"
 8850 PLOT VAL "165",VAL "25": DRAW VAL "-5",VAL "5": DRAW VAL "-12",VAL "12": DRAW VAL "-7",VAL "18": DRAW VAL "-14",VAL "23": DRAW VAL "0",VAL "1": DRAW VAL "6",VAL "-6": DRAW VAL "2",VAL "4": DRAW VAL "-1",VAL "-4": DRAW VAL "27",VAL "-46": DRAW VAL "4",VAL "0"
 8860 PLOT VAL "132",VAL "120": DRAW VAL "-9",VAL "-3": DRAW VAL "-9",VAL "1": DRAW VAL "-2",VAL "3": DRAW VAL "13",VAL "13": DRAW VAL "4",VAL "-2": DRAW VAL "-2",VAL "-2": DRAW VAL "4",VAL "-2": DRAW VAL "11",VAL "1": DRAW VAL "14",VAL "-8": DRAW VAL "-8",VAL "-4": DRAW VAL "-16",VAL "3": CIRCLE VAL "140",VAL "132",VAL "3"
 8870 PLOT VAL "12",VAL "160": DRAW VAL "-7",VAL "0",P1/3: DRAW VAL "-5",VAL "-11": DRAW VAL "11",VAL "2": DRAW VAL "1",VAL "9"
 8880 PLOT VAL "15",VAL "158": DRAW VAL "-4",VAL "6": DRAW VAL "4",VAL "6": DRAW VAL "6",VAL "0": DRAW VAL "-3",VAL "-3": DRAW VAL "6",VAL "0": DRAW VAL "-2",VAL "-5": DRAW VAL "10",VAL "-9": DRAW VAL "2",VAL "-3": DRAW VAL "-2",VAL "-2": DRAW VAL "2",VAL "0": DRAW VAL "-3",VAL "-2": DRAW VAL "-12",VAL "-1": DRAW VAL "-6",VAL "-1": DRAW VAL "7",VAL "4": PLOT VAL "21",VAL "148": DRAW VAL "-7",VAL "1": DRAW VAL "3",VAL "4",P1/2: PLOT VAL "16",VAL "152": DRAW VAL "5",VAL "2": DRAW VAL "-2",VAL "5": DRAW VAL "-4",VAL "-1"
 8885 PRINT INK VAL "4";AT VAL "1",VAL "18";"*";AT VAL "11",VAL "15";"*";AT VAL "3",VAL "8";"*";AT VAL "4",VAL "4";"*";AT VAL "7",VAL "1";"*";AT VAL "10",VAL "0";"*": PRINT INK VAL "0";AT VAL "1",VAL "13";"Mosco";AT VAL "11",VAL "10";"Cairo";AT VAL "3",VAL "9";"Berlin";AT VAL "4",VAL "5";"Paris";AT VAL "7",VAL "2";"Mad";AT VAL "10",VAL "1";"Casab";AT VAL "13",VAL "4";"S a h a r a";AT VAL "15",VAL "4";"D e s e r t"
 8890 LET LA1=VAL "2": LET LA2=VAL "60": LET LO1=VAL "315": LET LO2=VAL "10": LET TZ=VAL "3": GO SUB VAL "8000": RETURN 
 8960 PRINT INK VAL "1";AT VAL "2",VAL "5";"SOUTH AFRICA"; INK 1: PLOT 4,174: DRAW -1,-32: DRAW 27,-24: DRAW 18,1: DRAW 20,5: DRAW 4,-6: DRAW 9,-1: DRAW -1,-14: DRAW 14,-34: DRAW -4,-18: DRAW 18,-49: DRAW 44,25,P1/2: DRAW 8,5: DRAW -2,13: DRAW 7,6
 8965 PRINT INK VAL "4";AT VAL "11",VAL "1";"*";AT VAL "9",VAL "20";"*";AT VAL "15",VAL "18";"*";AT VAL "19",VAL "18";"*";AT VAL "18",VAL "17";"*": PRINT INK VAL "0";AT VAL "11",VAL "2";"Asc";AT VAL "9",VAL "17";"Nai";AT VAL "15",VAL "16";"Ha";AT VAL "19",VAL "15";"Dur";AT VAL "8",VAL "20";"Jbg"
 8970 LET LA1=VAL "-35": LET LA2=VAL "23": LET LO1=VAL "323": LET LO2=VAL "18": LET TZ=VAL "2": GO SUB VAL "8000": RETURN 
 9050 PRINT INK VAL "1";AT VAL "17",VAL "8";"SOUTH AMERICA"; INK 1: PLOT 15,174: DRAW -3,-18: DRAW 15,-26: DRAW 15,-11: DRAW -2,-37: DRAW -6,-20,-P1/3: DRAW -5,-38: DRAW 34,-14,P1/2: DRAW -15,13,-P1/3: DRAW 9,10: DRAW 1,6,-P1: DRAW 4,13: DRAW 5,-1: DRAW 0,7: DRAW 13,13,P1: DRAW 20,7,P1/2: DRAW 9,11: DRAW 21,16,-P1/2: DRAW 8,30,P1/3: DRAW 11,23,P1/3: DRAW -42,16
 9060 PLOT VAL "82",VAL "20": DRAW VAL "-6",VAL "-3": DRAW VAL "2",VAL "3": PLOT VAL "76",VAL "20": DRAW VAL "-2",VAL "-3": DRAW VAL "-2",VAL "1": DRAW VAL "3",VAL "2": PLOT VAL "147",VAL "10": DRAW VAL "-6",VAL "2"
 9065 PRINT INK VAL "4";AT VAL "13",VAL "10";"*";AT VAL "4",VAL "3";"*";AT VAL "6",VAL "6";"*";AT VAL "0",VAL "2";"*";AT VAL "8",VAL "15";"*";AT VAL "12",VAL "5";"*": PRINT INK VAL "0";AT VAL "12",VAL "10";"Bu";AT VAL "4",VAL "4";"Li";AT VAL "6",VAL "7";"LPz";AT VAL "0",VAL "3";"Qui";AT VAL "8",VAL "12";"Rio";AT VAL "12",VAL "6";"Sa"
 9070 LET LA1=VAL "-58": LET LA2=VAL "0": LET LO1=VAL "30": LET LO2=VAL "85": LET TZ=VAL "-2": GO SUB VAL "8000": RETURN 
 9112 LET Y2=85
 9214 LET T0=230.19430632
 9315 LET I0=26.3229
 9415 LET K0=1641
 9515 LET M0=351.9467
 9615 LET N0=2.05858136
 9715 LET E0=0.5966563
 9815 LET W0=37.7476
 9915 LET O0=123.8106
 9920 LET YN=Y2: GO SUB 80
 9955 LET L9=32.78
 9965 LET W9=97.25
 9975 LET H9=183: RETURN 
 9976 CLEAR : SAVE "oscar-ten" LINE 10

Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.

Scroll to Top