Wow, talk about barely portable. Just finished restoring this by completely dis-assembling the 4 boards from each other and cleaning all contacts.
The interior looks like a modern day computer with plugs and jumpers attaching the boards together.
Any way, just wrote two programs for it: Great Circle Bearing and Great Circle Distance. Load one on program side 1 and the other on program side 2. You can find the formulae on the web, would have printed them here but the formatting would not accept it.
This is a key and learn programming language with the ability to accept two separate 80 line programs. There are no conditional tests so I have a workaround for that.
The Bearing program may come up with the wrong heading by 180 degrees because one cannot test for a negative sin and work that into the program. What I did was to slip in a subroutine (E and F) at the end of the bearing program to calculate the sin, display, if negative, then press start again and the reciprocal of the bearing is displayed. In other words, you run the conditional test.
All this about 4 years before the HP 65.
Cheers, Geoff
MONROE SCIENTIST 324G
GREAT CIRCLE DISTANCE PROGRAMVARIABLE FORMULA EXAMPLE KEY KEY
• Latitude initial LAT.I N 049.05’ HMS-DEC STO 0
• Longitude initial LON.I W 123.09’ HMS-DEC STO 1
• Latitude final LAT.F S 037.57’ HMS-DEC STO 2
• Longitude final LON.F E 151.11’ HMS-DEC STO 31. SET DISPLAY TO ZERO
2. CONVERT LATITUDES AND LONGITUDES TO DECIMAL BEFORE STORING
3. EAST LATITUDES AND SOUTH LONGITUDES ENTER AS NEGATIVE
4. RUN THIS PROGRAM FIRST, THEN COURSE PROGRAM
PROGRAM LISTINGRCL 3
-
RCL 1
= A
SIN/COS
2ND
STO 4RCL 0
SIN/COS
2ND B
STO * 4RCL 2
SIN/COS
2ND C
STO * 4RCL 0
SIN/COS
* D
RCL 2
SIN/COS
=+
RCL 4
=
SIN-1/COS-1 E
2ND
STO 5*
60 F
=
STOP
PROGRAM SECTION EXPLANATION
A = COS(LON.I – LON.F)
B = COS(LAT.I)
C = COS(LAT.F)
D = SIN(LAT.I) * SIN(LAT.F) +
A * B * C
E = ARCOS(D)
F = DISTANCE NMUSE IN PLACE OF 60
69 FOR SM
111.11 FOR KMVARIABLE REGISTERS
LAT.I 0
LON.I 1
LAT.F 2
LON.F 3
A 4
A * B 4
A * B * C 4
DISTANCE ARC 5
MONROE SCIENTIST 326
GREAT CIRCLE BEARING PROGRAM
1. BEARING PROGRAM USES DATA GENERATED BY GREAT CIRCLE DISTANCE PROGRAM
2. DISTANCE PROGRAM MUST BE RUN FIRST TO SUPPLY GREAT CIRCLE DISTANCE ARC IN STORAGE REGISTER 5.
3. IF SIN (LON.I – LON.F) IS NEGATIVE, TRUE BEARING IS: 360 –- C
4. TO TEST FOR NEGATIVE SIGN RUN SECTION E
5. IF SIGN IS NEGATIVE THEN RUN SECTION F FOR BEARING
PROGRAM LISTING
RCL 0
SIN/COS
2ND
* A
RCL 5
SIN/COS
=
STO 6RCL 0
SIN/COS
*
RCL 5 B
SIN/COS
2ND
=
STO 7RCL 2
SIN/COS C
-
RCL 7/
RCL 6
=
SIN-1/COS-1 D
2ND
STO 8
STOP
RCL 1
-
RCL 3
= E
SIN
STOP360
- F
RCL 8
=
STOPPROGRAM SECTION EXPLANATION
A = cos(LAT.I) * sin(DIST ARC)
B = sin(LAT.I) * cos(DIST ARC)
C = sin(LAT.F) - (sin(LAT.I) * cos(DIST ARC)
D = COURSE
E = TEST FOR NEGATIVE SIGN
F = IF SIGN NEGATIVE EXECUTE F FOR
BEARINGVARIABLE REGISTERS
LAT.I 0
LON.I 1
LAT.F 2
LON.F 3
DISTANCE ARC 5
BEARING FOR SIGN TEST 8
EXAMPLE:ON CALCULATOR LOAD:
• GREAT CIRCLE DISTANCE PROGRAM IN MEMORY 1
• GREAT CIRCLE BEARING PROGRAM IN MEMORY 2• ENTER LAT.I, CONVERT TO DECIMAL, STORE IN REGISTER 0
• ENTER LON.I, CONVERT TO DECIMAL, STORE IN REGISTER 1
• ENTER LAT.F, CONVERT TO DECIMAL, STORE IN REGISTER 2
• ENTER LON.F, CONVERT TO DECIMAL, STORE IN REGISTER 31. SELECT PROGRAM 1 AND START
2. DISTANCE IS SHOWN IN NAUTICAL MILES3. SELECT PROGRAM 2 AND START
4. BEARING IS SHOWN IN DEGREES• PRESS START TO SEE IF THE SINE(LON.I – LON.F) IS NEGATIVE
• IF NOT NEGATIVE THEN PREVIOUS BEARING IS CORRECT
• IF NEGATIVE THEN PRESS START AGAIN TO SEE CORRECTED BEARING
VANCOUVER N 49’05” W 123’09”
SYDNEY S 37’57” E 151’.11”DISTANCE = 6911
BEARING = 240’ TRUE
Edited: 8 Dec 2007, 1:57 p.m.