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
[edit]The character set is derived from ASCII, but with the control code range and some high bit characters replaced by various special characters.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
0x | ‾/♦ | ∝? | x̅/ā | ← | α | β | Γ | ↓ | Δ | σ | ♦ | λ | µ/μ | ∡/∠ | τ | Φ |
1x | θ | Ω | &? | Å | å | Ä | ä | Ö | ö | Ü | ü | Æ | æ | ≠ | £/₤ | ▒ |
2x | SP | ! | " | # | $ | % | & | ' | ( | ) | * | + | , | - | . | / |
3x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? |
4x | @ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O |
5x | P | Q | R | S | T | U | V | W | X | Y | Z | [ | \ | ] | ↑/^ | _ |
6x | `/⊤ | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o |
7x | p | q | r | s | t | u | v | w | x | y | z | π | | | → | Σ | ⊦[nb 1] |
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.
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
0x | ÷ | × | √ | ∫ | ░ | Σ | ▶[nb 2] | π | ¿ | ≤ | LF/EOT | ≥ | ≠ | ↵ | ↓ | → |
1x | ← | µ/μ | £/₤ | ° | Å | Ñ | Ä | ∡/∠ | ᴇ/⏨ | Æ | …/‥ | ␛ | Ö | Ü | ▒ | ■/· |
2x | SP | ! | " | # | $ | % | & | ' | ( | ) | * | + | , | - | . | / |
3x | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | : | ; | < | = | > | ? |
4x | @ | A | B | C | D | E | F | G | H | I | J | K | L | M | N | O |
5x | P | Q | R | S | T | U | V | W | X | Y | Z | [ | \ | ] | ↑/^ | _ |
6x | ` | a | b | c | d | e | f | g | h | i | j | k | l | m | n | o |
7x | p | q | r | s | t | u | v | w | x | y | z | { | | | } | ~ | ⊦[nb 1] |
8x | ¦? | ¥? | ▓? | ␊ |
Translation from HP-42S character set to the modified HP Roman-8 (supported by HP 82240A etc.) character set:
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
0x | 0x81 | 0x82 | 0x83 | 0x84 | 0x04 | 0x85 | 0x86 | 0x87 | 0x08 | 0x89 | 0x04 | 0x8A | 0x8B | 0x0D | 0x0E | 0x8D |
1x | 0x8E | 0x8F | 0xAF | 0xB3 | 0xA2 | 0xB6 | 0xD8 | 0xA0 | 0x18 | 0xD3 | 0x9B | 0x1B | 0xDA | 0xDB | 0x7F | 0xF2 |
7x | 0x70 | 0x71 | 0x72 | 0x73 | 0x74 | 0x75 | 0x76 | 0x77 | 0x78 | 0x79 | 0x7A | 0x7B | 0x7C | 0x7D | 0x7E | 0x94 |
8x | 0x80 | 0x81 | 0x82 | 0x83 | 0x84 | 0x85 | 0x86 | 0x87 | 0x88 | 0x89 | 0x90 | 0x8B | 0x8C | 0x8D | 0x8E | 0x8F |
See also
[edit]Notes
[edit]- ^ a b 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.
- ^ 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. [1]
References
[edit]- ^ a b c RPN Scientific Calculator - Owner's Manual - HP-42S (PDF) (1 ed.). Hewlett-Packard. June 1988. pp. 288–291. 00042-90001, 00042-90002. Archived (PDF) from the original on 2018-01-04. Retrieved 2018-01-04.
- ^ a b 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.
- ^ 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.
- ^ 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.
- ^ 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.
- ^ 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.
- ^ HP 82240B Infrared Printer (1 ed.). Corvallis, OR, USA: Hewlett Packard. August 1989. pp. 17–18. HP reorder number 82240-90014.
Further reading
[edit]- 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 978-3-88538-809-8. Archived (PDF) from the original on 2018-01-04. Retrieved 2018-01-04.