FOCAL character set

Last updated

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).

Contents

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.

FOCAL character set (HP-41C/CV/CX / HP 82143A) [3] [4]
0123456789ABCDEF
0xtitle="U+203E OVERLINEU+2666 BLACK DIAMOND SUIT" style="padding:0px;"}}|/ ?title="U+0078 LATIN SMALL LETTER X 0305U+0101 LATIN SMALL LETTER A WITH MACRON" style="padding:0px;background:#FFD"}}|/ā α β Γ Δ σ λ title="U+00B5 MICRO SIGNU+03BC GREEK SMALL LETTER MU" style="padding:0px;"}}|µ/μ title="U+2221 MEASURED ANGLEU+2220 ANGLE" style="padding:0px;"}}|/ τ Φ
1x θ Ω &? Å å Ä ä Ö ö Ü ü Æ æ title="U+00A3 POUND SIGNU+20A4 LIRA SIGN" style="padding:0px;background:#FFD"}}|£/
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 [ \ ] title="U+2191 UPWARDS ARROWU+005E CIRCUMFLEX ACCENT" style="padding:0px;"}}|/^ _
6xtitle="U+0060 GRAVE ACCENTU+22A4 DOWN TACK" style="padding:0px;"}}|`/ 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]
  Characters not in all versions

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.

Revised FOCAL character set (HP-42S) [1]
0123456789ABCDEF
0x ÷ × Σ [nb 2] π ¿ title="U+000A LINE FEED (LF)U+0004 EOT" style="font-size:75%;padding:0px;font-size:50%"| LF/EOT
1x title="U+00B5 MICRO SIGNU+03BC GREEK SMALL LETTER MU" style="padding:0px;"}}|µ/μ title="U+00A3 POUND SIGNU+20A4 LIRA SIGN" style="padding:0px;"}}|£/ ° Å Ñ Ä title="U+2221 MEASURED ANGLEU+2220 ANGLE" style="padding:0px;"}}|/ title="U+1D07 LATIN LETTER SMALL CAPITAL EU+23E8 DECIMAL EXPONENT SYMBOL" style="padding:0px;"}}|/ Æ title="U+2026 HORIZONTAL ELLIPSISU+2025 TWO DOT LEADER" style="padding:0px;"}}|/ Ö Ü title="U+25A0 BLACK SQUAREU+00B7 MIDDLE DOT" style="padding:0px;"}}|/·
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 [ \ ] title="U+2191 UPWARDS ARROWU+005E CIRCUMFLEX ACCENT" style="padding:0px;"}}|/^ _
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:

HP translation vector
0123456789ABCDEF
0x0x810x820x830x840x040x850x860x870x080x890x040x8A0x8B0x0D0x0E0x8D
1x0x8E0x8F0xAF0xB30xA20xB60xD80xA00x180xD30x9B0x1B0xDA0xDB0x7F0xF2
7x0x700x710x720x730x740x750x760x770x780x790x7A0x7B0x7C0x7D0x7E0x94
8x0x800x810x820x830x840x850x860x870x880x890x900x8B0x8C0x8D0x8E0x8F

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.

Related Research Articles

References

  1. 1 2 3 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.
  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. Archived from the original on 2016-08-14. Retrieved 2016-08-01.

Further reading