Hello,
I was trying to repair an HP 16C calculator which my father gave me a long time ago as a gift.
Its logic works., but some areas of the display work only if you push really hard near it, I guess it has to do with deteriorated connections to the display. (Image on the bottom, they are all 8s in hex mode)
I decided to open it by removing the rubber feet and unscrewing where needed.
I encountered a roadblock, though. According to
Opening a Voyager I have to remove some black nubs (the guide calls them heat stakes).
Is there a less destructive alternative to it?
If there isn't, can I replace those black nubs with some screws instead of melting them on?
Thanks in advance.
P.S. is there any way to do some SIN COS TAN on it?
(10-27-2022 05:38 PM)fraxvo Wrote: [ -> ]P.S. is there any way to do some SIN COS TAN on it?
For the inverse functions,
this 7-page PDF article features a 100-step
HP-16C program which includes routines to compute
arcsin(x),
arccos(x),
arctan(x),
arcsinh(x),
arccosh(x),
arctanh(x) and
ln(x), still leaving 103 bytes free for other uses (additional programs and/or storage registers).
V.
(10-28-2022 12:35 AM)BobVA Wrote: [ -> ]Trig: Well, here's a start :-)
https://www.hpmuseum.org/cgi-sys/cgiwrap...i?read=350
Thanks for the link.
This is a verbatim translation of the program for the
HP-42S:
Code:
00 { 53-Byte Prgm }
01▸LBL "S-T-C"
02 ENTER
03 ENTER
04 STO 00
05 1/X
06 ENTER
07▸LBL 00
08 XEQ 02
09 R↑
10 XEQ 02
11 R↓
12 -
13 RCL 00
14 X=Y?
15 GTO 01
16 R↓
17 STO 00
18 LASTX
19 +/-
20 R↓
21 R↓
22 GTO 00
23▸LBL 02
24 +
25 LASTX
26 R↓
27 ÷
28 LASTX
29 RTN
30▸LBL 01
31 ENTER
32 ÷
33 LASTX
34 ENTER
35 ×
36 -
37 SQRT
38 ÷
39 LASTX
40 END
Example
0.1
XEQ "S-T-C"
z: 0.09983
y: 0.10033
x: 0.99500
Using RCL- and STO-arithmetic we can inline subroutine 2:
Code:
00 { 48-Byte Prgm }
01▸LBL "S-T-C"
02 ENTER
03 ENTER
04 STO 00
05 1/X
06 ENTER
07 R↓
08▸LBL 00
09 RCL+ ST T
10 STO÷ ST Y
11 RCL+ ST T
12 STO÷ ST Y
13 R↓
14 -
15 RCL 00
16 X=Y?
17 GTO 01
18 R↓
19 STO 00
20 LASTX
21 +/-
22 R↑
23 GTO 00
24▸LBL 01
25 1
26 RCL 00
27 X↑2
28 -
29 SQRT
30 ÷
31 LASTX
32 END
Hopefully this makes it not only shorter but also easier to understand.
We can shorten the original program by using an additional register:
Code:
00 { 50-Byte Prgm }
01▸LBL "S-T-C"
02 ENTER
03 ENTER
04 STO 00
05 1/X
06 STO 01
07▸LBL 00
08 XEQ 02
09 XEQ 02
10 R↓
11 -
12 RCL 00
13 X=Y?
14 GTO 01
15 R↓
16 STO 00
17 LASTX
18 +/-
19 R↑
20 GTO 00
21▸LBL 02
22 RCL 01
23 +
24 ÷
25 LASTX
26 RTN
27▸LBL 01
28 1
29 RCL 00
30 ENTER
31 ×
32 -
33 SQRT
34 ÷
35 LASTX
36 END
This leaves us with the following program for the
HP-16C:
Code:
001 - 43,22, F LBL F
002 - 36 ENTER
003 - 36 ENTER
004 - 44 0 STO 0
005 - 43 26 1/x
006 - 44 1 STO 1
007 - 43,22, 0 LBL 0
008 - 21 2 GSB 2
009 - 21 2 GSB 2
010 - 33 Rv
011 - 30 -
012 - 45 0 RCL 0
013 - 43 49 x=y
014 - 22 1 GTO 1
015 - 33 Rv
016 - 44 0 STO 0
017 - 43 36 LSTx
018 - 49 CHS
019 - 43 33 R^
020 - 22 0 GTO 0
021 - 43,22, 2 LBL 2
022 - 45 1 RCL 1
023 - 40 +
024 - 10 /
025 - 43 36 LSTx
026 - 43 21 RTN
027 - 43,22, 1 LBL 1
028 - 1 1
029 - 45 0 RCL 0
030 - 36 ENTER
031 - 20 x
032 - 30 -
033 - 43 25 SQRT
034 - 10 /
035 - 43 36 LSTx
036 - 43 21 RTN
Example
355 ENTER 113 / 6 /
GSB F
0.86603
R↓
0.57735
R↓
0.50000