10 '************************************************************************* 20 '* Filename: MENU.BAS * 30 '* * 40 '* Associated Files: See list in Program Selection Menu * 50 '* * 60 '* Purpose: Simple menu interface for astronomy programs in * 70 '* associated files. * 80 '* * 90 '* Programmer: Martin E. Morrison * 100 '* * 110 '* Versions: 1.0 85-11-17 * 120 '* * 130 '* Copyright: None (public-domain software). * 140 '************************************************************************* 150 ' 160 '========================== INITIALIZATION ================================ 170 ' 180 REM: KEY OFF:WIDTH 80:SCREEN 0,0,0:COLOR 7,0:CLS 190 REM:CLS 200 ' 210 '=======================PROGRAM SELECTION MENU ============================ 220 ' 230 PRINT " PROGRAM SELECTION MENU" 240 PRINT 250 PRINT " (1) HALLEY.BAS: Computes ephemeris of Comet Halley for any date" 260 PRINT " (2) SUNNY .BAS: Computes time of sunrise, sunset, and twilight" 270 PRINT " (3) PRECES.BAS: Computes rigorous precession of any coordinates" 280 PRINT " (4) ADDMAG.BAS: Computes the combined magnitude of two bodies" 290 PRINT " (5) INTERP.BAS: Interpolates values in an ephemeris" 300 PRINT " (6) CALJD .BAS: Converts between civil date and Julian date" 310 PRINT " (7) JDCAL .BAS: Converts between Julian date and civil date" 320 PRINT " (8) GMST .BAS: Calculates sidereal time for Greenwich meridian" 330 PRINT " (9) ALTAZ .BAS: Calculates altitude and aximuth of a star" 340 PRINT "(10) LENGTH.BAS: Computes length of stay within 1 AU for any comet" 350 PRINT "(11) ANGULR.BAS: Computes angular separation of two objects" 360 PRINT "(12) SUNSHI.BAS: Computes the hours of sunshine for a place" 370 PRINT "(13) LENS .BAS: Computes the curves on an aplanatic lens" 380 PRINT "(14) LUNAR .BAS: Determines heights of lunar features from photos" 390 PRINT "(15) PHOTOM.BAS: Reduces photometric observations of an object" 400 PRINT "(16) MOONS .BAS: Calculates the times of new and full moons" 410 PRINT "(17) SHUTTR.BAS: Computes shutter speeds for astrophotographs" 420 PRINT "(18) WAVEL .BAS: Calculates wavelengths of lines in a spectrum" 430 PRINT "(19) GREGOR.BAS: Generates a perpetual Gregorian calendar" 440 PRINT "(20) KEPLER.BAS: Solves Kepler's equation in orbit computation" 450 PRINT 460 INPUT "PRESS WHEN READY... ",CONTINUE$ : REM: CLS 470 PRINT "(21) HELIAC.BAS: Calculates heliacal risings and settings" 480 PRINT "(22) SAROS .BAS: Computes the saros number for solar eclipses" 490 PRINT "(23) XYZ .BAS: Computes the X, Y, and Z coordinates of the Sun" 500 PRINT "(98) RETURN TO TOP OF PROGRAM SELECTION MENU" 510 PRINT "(99) EXIT FROM PROGRAM SELECTION MENU" 520 PRINT 530 PRINT 540 ' 550 '============================INPUT ROUTINE================================= 560 ' 570 INPUT "INPUT SELECTION NUMBER... ",SELECTION% 580 IF SELECTION%=98 THEN GOTO 230 'Return to Program Selection Menu 590 IF SELECTION%=99 THEN END 'Exit 600 ON SELECTION% GOSUB 650,660,670,680,690,700,710,720,730,740,750,760,770,780,790,800,810,820,830,840,850,860,870 610 GOTO 230 'Input exceeds number of selections 620 ' 630 '=========================CHAIN TO PROGRAMS================================ 640 ' 650 CHAIN "HALLEY.BAS" 660 CHAIN "SUNNY .BAS" 670 CHAIN "PRECES.BAS" 680 CHAIN "ADDMAG.BAS" 690 CHAIN "INTERP.BAS" 700 CHAIN "CALJD .BAS" 710 CHAIN "JDCAL .BAS" 720 CHAIN "GMST .BAS" 730 CHAIN "ALTAZ .BAS" 740 CHAIN "LENGTH.BAS" 750 CHAIN "ANGULR.BAS" 760 CHAIN "SUNSHI.BAS" 770 CHAIN "LENS .BAS" 780 CHAIN "LUNAR .BAS" 790 CHAIN "PHOTOM.BAS" 800 CHAIN "MOONS .BAS" 810 CHAIN "SHUTTR.BAS" 820 CHAIN "WAVEL .BAS" 830 CHAIN "GREGOR.BAS" 840 CHAIN "KEPLER.BAS" 850 CHAIN "HELIAC.BAS" 860 CHAIN "SAROS .BAS" 870 CHAIN "XYZ .BAS" 880 END