Hardware code page: Difference between revisions

Content deleted Content added
Removing link(s) to deleted page Code page 851
m Support in operating systems: Improve CONFIG.SYS samples
 
(2 intermediate revisions by one other user not shown)
Line 8:
In North American [[IBM-compatible PC]]s, the hardware code page of the display adapter is typically [[code page 437]].<ref name="Elliott_2020_MDA"/> However, various portable machines<ref name="HP_1985_PP"/><ref name="HP_1986_PP"/><ref name="HP_1991_95LXUG"/> as well as (Eastern) European, Arabic, Middle Eastern and Asian PCs used a number of other code pages as their hardware code page,<ref name="Paul_2001_CPSwitchFD"/> including code page 100 ("Hebrew"),<ref name="Paul_2002-09-05"/> 151 ("Nafitha Arabic"),<ref name="Paul_2002-12-04"/> [[code page 667|667]] ("[[Mazovia encoding|Mazovia]]"),<ref name="Paul_2001_CPSwitchFD"/><ref name="Fujitsu_1994_DL6400_DL6600"/> [[code page 737|737]] ("Greek"), [[code page 850|850]] ("Multilingual"),<ref name="HP_1991_95LXUG"/><ref group="nb" name="NB_OmniGo_300"/> encodings like "[[HP Roman-8|Roman-8]]",<ref name="HP_1985_PP"/><ref name="HP_1986_PP"/> "[[Kamenický encoding|Kamenický]]",<ref name="Paul_2001_CPSwitchFD"/><ref name="Fujitsu_1994_DL6400_DL6600"/><ref name="NEC_1992_Flyer"/> "[[KOI-8]]", "[[MIK code page|MIK]]",<ref name="Fujitsu_1994_DL6400_DL6600"/> and others. Most display adapters support a single 8-bit hardware code page only.<ref name="Paul_2001_CPSwitchFD"/> The [[bitmap]]s were often stored in an [[EPROM]]<ref name="RBIL_61_INT15h_AX67C3h"/><ref name="Brown_2000_RBIL"/><ref name="Elliott_2020_MDA"/> in a [[DIP socket]].<ref name="Elliott_2020_MDA"/> At most, the hardware code page to be activated was user-selectable via [[jumper (computing)|jumper]]s,<ref name="Derfler_1985"/> configuration [[EEPROM]]s<ref name="HP_1985_PP"/><ref name="HP_1986_PP"/> or [[CMOS setup]].<ref name="HP_1996_200LXUG"/> However, some of the display adapters designed for Eastern European, Arabic and Hebrew PCs supported multiple software-''switchable'' hardware code pages, also named '''font pages''',<ref name="Paul_2001_CPSwitchFD"/> selectable via I/O ports<ref name="Elliott_2020_MDA"/> or additional BIOS functions.<ref name="RBIL_61_INT15h_AX67C3h"/><ref name="Brown_2000_RBIL"/>
 
In contrast to this, printers frequently support several user-switchable character sets, often including various variants of the 7-bit [[ISO/IEC 646]] character sets such as [[code page 367]] ("[[ISO/IEC 646-US]] / [[ASCII]]"<ref name="Paul_2001_CPSwitchFD"/>), sometimes also a couple of 8-bit code pages like [[code page 437]],<ref name="Fujitsu_1994_DL6400_DL6600"/><ref name="NEC_1990_P90"/><ref name="Epson_1991_GQ"/> [[code page 850|850]],<ref name="Fujitsu_1994_DL6400_DL6600"/><ref name="NEC_1990_P90"/><ref name="Epson_1991_GQ"/> 851,<ref name="Fujitsu_1994_DL6400_DL6600"/> [[code page 852|852]],<ref name="Fujitsu_1994_DL6400_DL6600"/><ref name="NEC_1993_EPROMs"/> 853,<ref name="Epson_1992_EPL-4300"/> [[code page 855|855]],<ref name="Fujitsu_1994_DL6400_DL6600"/><ref name="NEC_1993_EPROMs"/> [[code page 857|857]],<ref name="Epson_1992_EPL-4300"/> [[code page 860|860]],<ref name="Fujitsu_1994_DL6400_DL6600"/><ref name="NEC_1990_P90"/><ref name="Epson_1991_GQ"/> [[code page 861|861]],<ref name="Epson_1991_GQ"/> [[code page 863|863]],<ref name="Fujitsu_1994_DL6400_DL6600"/><ref name="NEC_1990_P90"/><ref name="Epson_1991_GQ"/> [[code page 865|865]],<ref name="Fujitsu_1994_DL6400_DL6600"/><ref name="NEC_1990_P90"/><ref name="Epson_1991_GQ"/> and [[code page 866|866]].<ref name="Fujitsu_1994_DL6400_DL6600"/><ref name="NEC_1993_EPROMs"/><ref name="FreeBSD_2016_1"/><ref name="FreeBSD_2016_2"/> Printers for the Eastern European or Middle Eastern markets sometimes support other locale-specific hardware code pages to choose from. They can be selected via [[DIP switch]]es or configuration menus on the printer, or via specific [[escape sequence]]s.<ref name="Paul_2001_CPSwitchFD"/><ref group="nb" name="Escape_sequence_Epson_NEC"/>
 
==Support in operating systems==
Line 15:
Under [[DOS]] and [[Windows 9x]] this is accomplished by specifying the hardware code page as a parameter (hwcp) to the [[device driver]]s DISPLAY.SYS and PRINTER.SYS in [[CONFIG.SYS]]:
 
: <code> [[DEVICE (CONFIG.SYS directive)|DEVICE]]=…\DISPLAY.SYS CON=(type,hwcp,n|(n,m))</code><ref name="Paul_2001_CPSwitchFD"/><ref name="XyWrite_2009"/><ref name="Caldera_1998_USER-9"/><ref name="Paul_1997_NWDOSTIP"/><ref name="Paul_2001_NWDOSTIP"/><ref name="Caldera_1998_USER-17"/><ref name="Prosise_1990"/>
: <code> DEVICE=…\PRINTER.SYS PRN=(type,hwcp,n)</code><ref name="Paul_2001_CPSwitchFD"/><ref name="Caldera_1998_USER-9"/><ref name="Paul_1997_NWDOSTIP"/><ref name="Paul_2001_NWDOSTIP"/><ref name="Caldera_1998_USER-17"/><ref name="Prosise_1990"/>
 
If multiple hardware code pages are supported in OEM issues, the first hardware code page (hwcp1) in the list specifies the default hardware code page:
 
: <code> DEVICE=…\DISPLAY.SYS CON=(type,(hwcp1,hwcp2,…),n|(n,m))</code><ref name="Paul_2002-12-04"/>
: <code> DEVICE=…\PRINTER.SYS PRN=(type,(hwcp1,hwcp2,…),n)</code><ref name="Paul_2002-12-04"/>
 
If no hardware code page(s) are specified, these drivers default either to a dummy code page number 999<ref name="Paul_2001_CPSwitchFD"/><ref name="Paul_1997_NWDOSTIP"/><ref name="Paul_2001_NWDOSTIP"/> or assume the hardware code page to be equal to the primary code page (the first code page listed in COUNTRY.SYS files for a particular country<ref name="Paul_2001_COUNTRY"/> with the country code either specified in the CONFIG.SYS [[COUNTRY (CONFIG.SYS directive)|COUNTRY]] directive or assumed to be the operating system's internal default, usually 1 (US) in Western issues of DOS).<ref name="Paul_2001_CPSwitchFD"/>