FOCAL character set

In computing FOCAL character set refers to a group of 8-bit single byte character sets introduced by Hewlett-Packard since 1979. It was used in several RPN calculators supporting the FOCAL programming language, like the HP-41C/CV/CX as well as the later HP-42S,[1][2] which was introduced in 1988[1][2] and produced up to 1995. As such, it is also used by SwissMicros' DM41/L, both introduced in 2015, and is implicitly supported by the DM42, introduced in 2017 (although the later calculator utilizes Free42, which is based on Unicode internally).

Character set

The character set is derived from ASCII, but with the control code range and some high bit characters replaced by various special characters.

  Letter   Number   Punctuation   Symbol   Other   undefined

FOCAL character set (HP-41C/CV/CX / HP 82143A)[3][4]
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F
0_ ¯ ()/
203E (203E)/ 2666
0
?
221D?
1
() (ā)
0078+0305 (0101)
2
()
2190
3
α
03B1
4
β
03B2
5
Γ
0393
6
()
2193
7
(Δ)
0394
8
(σ)
03C3
9
()
2666
10
(λ)
03BB
11
µ (μ)
00B5 (03BC)
12
()
2221 (2220)
13
(τ)
03C4
14
(Φ)
03A6
15
1_ (θ)
03B8
16
(Ω)
03A9
17
&?
0026?
18
(Å)
00C5
19
(å)
00E5
20
(Ä)
00C4
21
(ä)
00E4
22
(Ö)
00D6
23
(ö)
00F6
24
(Ü)
00DC
25
(ü)
00FC
26
(Æ)
00C6
27
(æ)
00E6
28

2260
29
(£) ()
00A3 (20A4)
30

2592
31
2_ SP
0020
32
!
0021
33
"
0022
34
#
0023
35
$
0024
36
%
0025
37
&
0026
38
'
0027
39
(
0028
40
)
0029
41
*
002A
42
+
002B
43
,
002C
44
-
002D
45
.
002E
46
/
002F
47
3_ 0
0030
48
1
0031
49
2
0032
50
3
0033
51
4
0034
52
5
0035
53
6
0036
54
7
0037
55
8
0038
56
9
0039
57
:
003A
58
;
003B
59
<
003C
60
=
003D
61
>
003E
62
?
003F
63
4_ @
0040
64
A
0041
65
B
0042
66
C
0043
67
D
0044
68
E
0045
69
F
0046
70
G
0047
71
H
0048
72
I
0049
73
J
004A
74
K
004B
75
L
004C
76
M
004D
77
N
004E
78
O
004F
79
5_ P
0050
80
Q
0051
81
R
0052
82
S
0053
83
T
0054
84
U
0055
85
V
0056
86
W
0057
87
X
0058
88
Y
0059
89
Z
005A
90
[
005B
91
\
005C
92
]
005D
93
(^)
2191 (005E)
94
_
005F
95
6_ ` ()
0060 (22A4)
96
a
0061
97
b
0062
98
c
0063
99
d
0064
100
e
0065
101
(f)
0066
102
(g)
0067
103
(h)
0068
104
(i)
0069
105
(j)
006A
106
(k)
006B
107
(l)
006C
108
(m)
006D
109
(n)
006E
110
(o)
006F
111
7_ (p)
0070
112
(q)
0071
113
(r)
0072
114
(s)
0073
115
(t)
0074
116
(u)
0075
117
(v)
0076
118
(w)
0077
119
(x)
0078
120
(y)
0079
121
(z)
007A
122
(π)
03C0
123
(|)
007C
124
()
2192
125
Σ
03A3
126
[nb 1]
22A6?
127
8_–F_ ...
_0_1_2_3_4_5_6_7_8_9_A_B_C_D_E_F

When Hewlett-Packard introduced the HP-42S in 1988, the FOCAL character set was revised to include more characters, including a number of characters already provided by the HP 82240A infrared thermo printer, which had been introduced in 1986,[5] as part of its extended variant of the 1985 revision of the HP Roman-8 character set,[6][7] although at completely different code points.

There is no code point definition for the euro sign in this character set.

  Letter   Number   Punctuation   Symbol   Other   undefined

Revised FOCAL character set (HP-42S)[1]
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F
0_ ÷
00F7
0
×
00D7
1

221A
2

222B
3

2591
4
Σ
03A3
5
[nb 2]
25B6
6
π
03C0
7
¿
00BF
8

2264
9
LF (EOT)
000A (0004)
10

2265
11

2260
12

21B5
13

2193
14

2192
15
1_
2190
16
µ (μ)
00B5 (03BC)
17
£ ()
00A3 (20A4)
18
°
00B0
19
Å
00C5
20
Ñ
00D1
21
Ä
00C4
22
()
2221 (2220)
23
()
1D07 (23E8)
24
Æ
00C6
25
()
2026 (2025)
26

241B
27
Ö
00D6
28
Ü
00DC
29

2592
30
(·)
25A0 (00B7)
31
2_ SP
0020
32
!
0021
33
"
0022
34
#
0023
35
$
0024
36
%
0025
37
&
0026
38
'
0027
39
(
0028
40
)
0029
41
*
002A
42
+
002B
43
,
002C
44
-
002D
45
.
002E
46
/
002F
47
3_ 0
0030
48
1
0031
49
2
0032
50
3
0033
51
4
0034
52
5
0035
53
6
0036
54
7
0037
55
8
0038
56
9
0039
57
:
003A
58
;
003B
59
<
003C
60
=
003D
61
>
003E
62
?
003F
63
4_ @
0040
64
A
0041
65
B
0042
66
C
0043
67
D
0044
68
E
0045
69
F
0046
70
G
0047
71
H
0048
72
I
0049
73
J
004A
74
K
004B
75
L
004C
76
M
004D
77
N
004E
78
O
004F
79
5_ P
0050
80
Q
0051
81
R
0052
82
S
0053
83
T
0054
84
U
0055
85
V
0056
86
W
0057
87
X
0058
88
Y
0059
89
Z
005A
90
[
005B
91
\
005C
92
]
005D
93
(^)
2191 (005E)
94
_
005F
95
6_ `
0060
96
a
0061
97
b
0062
98
c
0063
99
d
0064
100
e
0065
101
f
0066
102
g
0067
103
h
0068
104
i
0069
105
j
006A
106
k
006B
107
l
006C
108
m
006D
109
n
006E
110
o
006F
111
7_ p
0070
112
q
0071
113
r
0072
114
s
0073
115
t
0074
116
u
0075
117
v
0076
118
w
0077
119
x
0078
120
y
0079
121
z
007A
122
{
007B
123
|
007C
124
}
007D
125
~
007E
126
[nb 1]
22A6?
127
8_ ¦?
00A6?
128
¥?
00A5?
129
?
2593?
130
 

131
 

132
 

133
 

134
 

135
 

136
 

137

240A
138
 

139
 

140
 

141
 

142
 

143
9_–F_ ...
_0_1_2_3_4_5_6_7_8_9_A_B_C_D_E_F

Translation from HP-42S character set to the modified HP Roman-8 (supported by HP 82240A etc.) character set:

HP translation vector
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F
0_ 0x81 0x82 0x83 0x84 0x04 0x85 0x86 0x87 0x08 0x89 0x04 0x8A 0x8B 0x0D 0x0E 0x8D
1_ 0x8E 0x8F 0xAF 0xB3 0xA2 0xB6 0xD8 0xA0 0x18 0xD3 0x9B 0x1B 0xDA 0xDB 0x7F 0xF2
2_ 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2A 0x2B 0x2C 0x2D 0x2E 0x2F
3..6_ ...
7_ 0x70 0x71 0x72 0x73 0x74 0x75 0x76 0x77 0x78 0x79 0x7A 0x7B 0x7C 0x7D 0x7E 0x94
8_ 0x80 0x81 0x82 0x83 0x84 0x85 0x86 0x87 0x88 0x89 0x90 0x8B 0x8C 0x8D 0x8E 0x8F
9..F_ ...
HP translation vector
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F

See also

Notes

  1. 1 2 The glyph at code point 127 () is called APPEND character in Hewlett-Packard terminology. In the HP-41C/CV/CX and HP-42S series of calculators, it is used to indicate that the following characters will be appended to the alpha register rather than replacing the existing contents of the register.
  2. The glyph at code point 6 is called GOOSE character in Hewlett-Packard terminology. While U+25B6 () is the preferred Unicode character for maximum cross-compatibility with established RPL character set mappings, Free42 since release 2.0.1 (2017-04-23) maps to U+25B8 () instead.

References

  1. 1 2 3 RPN Scientific Calculator - Owner's Manual - HP-42S (PDF) (1 ed.). Hewlett-Packard. June 1988. 00042-90001, 00042-90002. Archived (PDF) from the original on 2018-01-04. Retrieved 2018-01-04.
  2. 1 2 HP-42S RPN Scientific - Programming Examples and Techniques (PDF) (1 ed.). Corvallis, OR, USA: Hewlett-Packard Company, Corvallis Division. July 1988. 00042-90020, 00042-90019. Archived (PDF) from the original on 2018-01-04. Retrieved 2018-01-04.
  3. Hicks, David G. (2017) [1998]. "HP-41C Synthetic Programming". The Museum of HP Calculators (MoHPC). Archived from the original on 2018-01-06. Retrieved 2018-01-06.
  4. Hicks, David G. (1997). "Graphic byte code table". The Museum of HP Calculators (MoHPC). Archived from the original on 2018-01-06. Retrieved 2018-01-06.
  5. Nelson, Richard J. (May 2010). "HP 82240B IR Printer" (PDF). HP Solve (18). Archived from the original (PDF) on 2016-09-21. Retrieved 2016-09-21.
  6. HP 82240A Infrared Printer (PDF) (2 ed.). Corvallis, OR, USA: Hewlett Packard, Portable Computer Division. October 1986. HP reorder number 82240-90001 (82240-90008). Archived (PDF) from the original on 2016-08-06. Retrieved 2016-08-06.
  7. HP 82240B Infrared Printer (1 ed.). Corvallis, OR, USA: Hewlett Packard. August 1989. pp. 17–18. HP reorder number 82240-90014. Retrieved 2016-08-01.

Further reading

  • HP-41C Operating Manual - A Guide for the Experienced User (PDF). Hewlett-Packard Company. June 1980. 00041-90259. Archived (PDF) from the original on 2018-01-04. Retrieved 2018-01-04.
  • Oerttel, Burkhard; Hümpfner, Reinhold; Meier, Bernhard; Schilli, Michael; Weber, Andreas; Leissner, Frank; Kaiser, Axel; Strewinski, Reinhard; von Borries, Sebastian; Dalkowski, Heinz; Fegert, Stefan (2014) [1989]. Fegert, Stefan; Dalkowski, Heinz, eds. Programmsammlung für den HP-41 (PDF) (in German). Berlin, Germany: Heldermann Verlag. ISBN 3-88538-809-X. Archived (PDF) from the original on 2018-01-04. Retrieved 2018-01-04.
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.