Menu
Home Explore People Places Arts History Plants & Animals Science Life & Culture Technology
On this page
Hardware code page
Code page supported natively by a hardware device

In computing, a hardware code page (HWCP) refers to a code page supported natively by a hardware device such as a display adapter or printer. The glyphs to present the characters are stored in the alphanumeric character generator's resident read-only memory (like ROM or flash) and are thus not user-changeable. They are available for use by the system without having to load any font definitions into the device first. Startup messages issued by a PC's System BIOS or displayed by an operating system before initializing its own code page switching logic and font management and before switching to graphics mode are displayed in a computer's default hardware code page.

We don't have any images related to Hardware code page yet.
We don't have any YouTube videos related to Hardware code page yet.
We don't have any PDF documents related to Hardware code page yet.
We don't have any Books related to Hardware code page yet.
We don't have any archived web articles related to Hardware code page yet.

Code page assignments

In North American IBM-compatible PCs, the hardware code page of the display adapter is typically code page 437.4 However, various portable machines567 as well as (Eastern) European, Arabic, Middle Eastern and Asian PCs used a number of other code pages as their hardware code page,8 including code page 100 ("Hebrew"),9 151 ("Nafitha Arabic"),10 667 ("Mazovia"),1112 737 ("Greek"), 850 ("Multilingual"),1314 encodings like "Roman-8",1516 "Kamenický",171819 "KOI-8", "MIK",20 and others. Most display adapters support a single 8-bit hardware code page only.21 The bitmaps were often stored in an EPROM222324 in a DIP socket.25 At most, the hardware code page to be activated was user-selectable via jumpers,26 configuration EEPROMs2728 or CMOS setup.29 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,30 selectable via I/O ports31 or additional BIOS functions.3233

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"34), sometimes also a couple of 8-bit code pages like code page 437,353637 850,383940 851,41 852,4243 853,44 855,4546 857,47 860,484950 861,51 863,525354 865,555657 and 866.58596061 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 switches or configuration menus on the printer, or via specific escape sequences.6263

Support in operating systems

When operating systems initialize their code page switching logic, they need to know but have no means to determine the previously active hardware code page by themselves. Therefore, for code page switching to work correctly, the hardware code page needs to be specified.64656667

Under DOS and Windows 9x this is accomplished by specifying the hardware code page as a parameter (hwcp) to the device drivers DISPLAY.SYS and PRINTER.SYS in CONFIG.SYS:

DEVICE=…\DISPLAY.SYS CON=(type,hwcp,n|(n,m))68697071727374 DEVICE=…\PRINTER.SYS PRN=(type,hwcp,n)757677787980

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:

DEVICE=…\DISPLAY.SYS CON=(type,(hwcp1,hwcp2,…),n|(n,m))81 DEVICE=…\PRINTER.SYS PRN=(type,(hwcp1,hwcp2,…),n)82

If no hardware code page(s) are specified, these drivers default either to a dummy code page number 999838485 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 country86 with the country code either specified in the CONFIG.SYS COUNTRY directive or assumed to be the operating system's internal default, usually 1 (US) in Western issues of DOS).87 In many English-speaking countries, the primary code page is either 437 (f.e. in the US) or 850 (f.e. in the UK, Ireland and Canada),8889 so that, without specifying a different code page, the system would often assume one of these to be the corresponding device's default hardware code page as well.90

If a hardware code page does not match one of those with official code page assignments, an arbitrary number from the range 57344–61439 (E000h–EFFFh) for user-definable code pages or 65280–65533 (FF00h–FFFDh) for private use code pages could be specified per IBM CDRA to give the operating system a non-conflictive "handle" to select that code page.

Arabic and Hebrew MS-DOS do not use DISPLAY.SYS and PRINTER.SYS, but provide similar facilities using ARABIC.COM, HEBREW.COM, and SK_HGC.COM.91

OEM code pages

Hardware code pages are also OEM code pages. The designation "OEM", for "original equipment manufacturer", indicates that the character set could be changed by the manufacturer to meet different markets.9293

However, OEM code pages do not necessarily reside in ROM, but include so called prepared code pages,9495 (aka downloadable character sets or downloadable fonts), character sets loaded as raster fonts into the font RAM of suitable display adapters (like Sirius 1/Victor 9000,96 NEC APC,97 HP 100LX/200LX/700LX,98 Persyst's BoB Color Adapter,99 Hercules' HGC+,100101102 InColor103104 and Network Plus105106 with RAMFONT, and IBM's MCGA,107108109 EGA,110111 VGA,112113 etc.) and printers as well.114115116117118 Hence, the group of OEM code pages is a superset of hardware code pages.

See also

Notes

References

  1. Paul, Matthias R. (2001-08-15). "Changing codepages in FreeDOS" (Technical design specification). Archived from the original on 2016-06-06. Retrieved 2016-06-06. […] The […] active system codepage […] sometimes also called global codepage […] is the codepage currently in use for the DOS kernel, for example the collating order and other I18N tables depend on this codepage. While in most cases the system codepage reflects the codepage used for devices such as console (DISPLAY.SYS), printers (PRINTER.SYS), and keyboard (KEYB.COM), this is not a requirement as there are means to switch the individual device codepages without changing the system codepage (for example using MODE). Further, in dealing with NLS issues, it is important to distinguish between the currently active, the hardware, and the primary codepages for any device and/or the system. The hardware codepage is the default codepage supported by a device after initialization of the hardware. It normally defaults to 437 for the console, but some European clones have 850 stored in the video font ROMs, and I have been told that some Czech CGA and MDA cards had Kamenicky codepage 867 (aka Wordperfect codepage 895) stored in their ROMs. Most printers default to 367 (ISO-646-US 7-bit) or 437 on power up, and the default system, or global, codepage for the system is always 437 under DR-DOS […] but under MS-DOS/PC DOS it reflects the codepage entry in COUNTRY=country,codepage,filespec where it must be one of the codepages valid for the given country as per COUNTRY.SYS filespec - this is 437 (or 850 on newer systems) in most cases, but not necessarily. The default country is 1 (USA), the default filespec is "\COUNTRY.SYS", and if no filespec is found the system will work with the statically pre-initialized data in the kernel which is the data for the USA in most cases. If no codepage is given with COUNTRY, the DOS BIOS will search for the first codepage entry for a given country (or 1), this is called the primary codepage. The codepage value of 0 is used internally to retrieve this codepage, and for the COUNTRY.SYS file parsers in the DOS BIOS and NLSFUNC, a codepage value of zero means "match any codepage, whatever comes first for the given country code". So, it depends on the order of codepage entries in the COUNTRY.SYS file if the system will default to 437, 850, or something else. […] However, some Arabic and Hebrew HGC and CGA cards have multiple hardware fonts, so called fontpages, […] so that a device may support multiple hardware codepages at the same time. The corresponding fontpage functions are INT 2Fh/AD41h and INT 2Fh/AD42h. […] COUNTRY.SYS and KEYBOARD.SYS contain only two codepage entries for a given country in Western issues of DOS. (In Arabic and Hebrew issues there can be up to 8 codepages for one country […]) […] When you specify a line like: DEVICE=…\display.sys con=(ega,437,1) […] DISPLAY.SYS is told that 437 should be assumed to be the hardware codepage of the display adapter. This is necessary to be known by DISPLAY.SYS because it will use different mechanisms to switch to the software prepared codepages and the hardware codepage, and there is no way to retrieve the info about the hardware codepage by itself. When the requested codepage is equal to the hardware codepage declared here, DISPLAY.SYS will use the method to switch to the hardware codepage, otherwise it will attempt to look up the font info in its internal buffer. […] (NB. Based on fd-dev post [1].) https://web.archive.org/web/20160606182501/http://www.freedos.org/technotes/technote/txt/141.txt

  2. "Changing code pages". XyWrite III, XyWrite III Plus and Signature. 2009-04-25 [2002-09-04]. Application Note #111. Archived from the original on 2016-06-12. Retrieved 2016-06-12. http://www.xywrite.com/ttg/appnotes/app111.txt

  3. Phoenix Technologies, Ltd. (June 1991). System BIOS for IBM PCs, Compatibles, and EISA Computers — The Complete Guide to ROM-Based System Software. Phoenix Technical Reference Series (2 ed.). Amsterdam: Addison Wesley Publishing Company, Inc. pp. 140–141. ISBN 0-201-57760-7. 0-201-57760-7

  4. Elliott, John C. (2020-06-08). "Monochrome Display Adapter: Notes". Seasip.info. Archived from the original on 2023-09-20. Retrieved 2016-11-23. […] Reading from port 03BAh returns vertical sync in bit 7, and a card ID in bits 6-4: 000: Hercules, 001: Hercules Plus, 101: Hercules InColor, 111: Unknown clone […] One card […] which appears to be a Hercules clone of Eastern European origin, has a further capability - two ROM fonts, selectable in software. These options are controlled in a similar manner to other extended features in the Hercules: Bit 2 of port 3BFh must be set to enable the feature, and then Bit 4 of port 3B8h selects which font to use. The card ID in bits 6-4 of port 03BAh has all three bits set. […] http://www.seasip.info/VintagePC/mda.html

  5. Hewlett-Packard - Technical Reference Manual - Portable PLUS (1 ed.). Corvallis, OR, USA: Hewlett-Packard Company, Portable Computer Division. August 1985. 45559-90001. Retrieved 2016-11-27. https://archive.org/details/bitsavers_hpportableblePLUSTechnicalReferenceManualAug1985_25919880

  6. Hewlett-Packard - Technical Reference Manual - Portable PLUS (PDF) (2 ed.). Portable Computer Division, Corvallis, OR, USA: Hewlett-Packard Company. December 1986 [August 1985]. 45559-90006. Archived (PDF) from the original on 2016-11-28. Retrieved 2016-11-27. http://www.jeffcalc.hp41.eu/hpplus/files/techrefman.pdf

  7. HP 95LX User's Guide (PDF) (2 ed.). Corvallis, OR, USA: Hewlett-Packard Company, Corvallis Division. June 1991 [March 1991]. pp. E-1 – E-3, F-1 – F-7. F0001-90003. Archived (PDF) from the original on 2016-11-28. Retrieved 2016-11-27. The HP 95LX character set is equivalent to code page 850, the IBM PC multilingual character set. (Note that your HP 95LX contains MS-DOS 3.22, which does not support code-page switching.) All the HP 95LX applications use this set except 1-2-3, which uses LICS, the Lotus International Character Set. Most LICS characters are included in code page 850; the few that are not will not display […] If your HP 95LX cannot display […] or if your printer cannot print a LICS character, the HP 95LX uses a fallback presentation for that character […] if you use the © symbol and your printer cannot print it, the HP 95LX might display (c) or c as the fallback presentation (depending on the capabilities of your printer). http://www.retroisle.com/others/hp95lx/OriginalDocs/95LX_UsersGuide_F1000-90001_826pages_Jun91.pdf

  8. Paul, Matthias R. (2001-08-15). "Changing codepages in FreeDOS" (Technical design specification). Archived from the original on 2016-06-06. Retrieved 2016-06-06. […] The […] active system codepage […] sometimes also called global codepage […] is the codepage currently in use for the DOS kernel, for example the collating order and other I18N tables depend on this codepage. While in most cases the system codepage reflects the codepage used for devices such as console (DISPLAY.SYS), printers (PRINTER.SYS), and keyboard (KEYB.COM), this is not a requirement as there are means to switch the individual device codepages without changing the system codepage (for example using MODE). Further, in dealing with NLS issues, it is important to distinguish between the currently active, the hardware, and the primary codepages for any device and/or the system. The hardware codepage is the default codepage supported by a device after initialization of the hardware. It normally defaults to 437 for the console, but some European clones have 850 stored in the video font ROMs, and I have been told that some Czech CGA and MDA cards had Kamenicky codepage 867 (aka Wordperfect codepage 895) stored in their ROMs. Most printers default to 367 (ISO-646-US 7-bit) or 437 on power up, and the default system, or global, codepage for the system is always 437 under DR-DOS […] but under MS-DOS/PC DOS it reflects the codepage entry in COUNTRY=country,codepage,filespec where it must be one of the codepages valid for the given country as per COUNTRY.SYS filespec - this is 437 (or 850 on newer systems) in most cases, but not necessarily. The default country is 1 (USA), the default filespec is "\COUNTRY.SYS", and if no filespec is found the system will work with the statically pre-initialized data in the kernel which is the data for the USA in most cases. If no codepage is given with COUNTRY, the DOS BIOS will search for the first codepage entry for a given country (or 1), this is called the primary codepage. The codepage value of 0 is used internally to retrieve this codepage, and for the COUNTRY.SYS file parsers in the DOS BIOS and NLSFUNC, a codepage value of zero means "match any codepage, whatever comes first for the given country code". So, it depends on the order of codepage entries in the COUNTRY.SYS file if the system will default to 437, 850, or something else. […] However, some Arabic and Hebrew HGC and CGA cards have multiple hardware fonts, so called fontpages, […] so that a device may support multiple hardware codepages at the same time. The corresponding fontpage functions are INT 2Fh/AD41h and INT 2Fh/AD42h. […] COUNTRY.SYS and KEYBOARD.SYS contain only two codepage entries for a given country in Western issues of DOS. (In Arabic and Hebrew issues there can be up to 8 codepages for one country […]) […] When you specify a line like: DEVICE=…\display.sys con=(ega,437,1) […] DISPLAY.SYS is told that 437 should be assumed to be the hardware codepage of the display adapter. This is necessary to be known by DISPLAY.SYS because it will use different mechanisms to switch to the software prepared codepages and the hardware codepage, and there is no way to retrieve the info about the hardware codepage by itself. When the requested codepage is equal to the hardware codepage declared here, DISPLAY.SYS will use the method to switch to the hardware codepage, otherwise it will attempt to look up the font info in its internal buffer. […] (NB. Based on fd-dev post [1].) https://web.archive.org/web/20160606182501/http://www.freedos.org/technotes/technote/txt/141.txt

  9. Paul, Matthias R. (2002-09-05). "Technical info on undocumented DOS country info for LCASE, ARAMODE and CCTORC records". FreeDOS development list fd-dev at Topica. Archived from the original on 2016-05-27. Retrieved 2016-05-26. https://web.archive.org/web/20160527142512/http://permalink.gmane.org/gmane.os.freedos.devel/364

  10. Paul, Matthias R. (2002-12-04). "DISPLAY CON". FreeDOS development list freedos-dev. Archived from the original on 2017-09-09. Retrieved 2016-06-07. https://marc.info/?l=freedos-dev&m=103902610816421&w=2

  11. Paul, Matthias R. (2001-08-15). "Changing codepages in FreeDOS" (Technical design specification). Archived from the original on 2016-06-06. Retrieved 2016-06-06. […] The […] active system codepage […] sometimes also called global codepage […] is the codepage currently in use for the DOS kernel, for example the collating order and other I18N tables depend on this codepage. While in most cases the system codepage reflects the codepage used for devices such as console (DISPLAY.SYS), printers (PRINTER.SYS), and keyboard (KEYB.COM), this is not a requirement as there are means to switch the individual device codepages without changing the system codepage (for example using MODE). Further, in dealing with NLS issues, it is important to distinguish between the currently active, the hardware, and the primary codepages for any device and/or the system. The hardware codepage is the default codepage supported by a device after initialization of the hardware. It normally defaults to 437 for the console, but some European clones have 850 stored in the video font ROMs, and I have been told that some Czech CGA and MDA cards had Kamenicky codepage 867 (aka Wordperfect codepage 895) stored in their ROMs. Most printers default to 367 (ISO-646-US 7-bit) or 437 on power up, and the default system, or global, codepage for the system is always 437 under DR-DOS […] but under MS-DOS/PC DOS it reflects the codepage entry in COUNTRY=country,codepage,filespec where it must be one of the codepages valid for the given country as per COUNTRY.SYS filespec - this is 437 (or 850 on newer systems) in most cases, but not necessarily. The default country is 1 (USA), the default filespec is "\COUNTRY.SYS", and if no filespec is found the system will work with the statically pre-initialized data in the kernel which is the data for the USA in most cases. If no codepage is given with COUNTRY, the DOS BIOS will search for the first codepage entry for a given country (or 1), this is called the primary codepage. The codepage value of 0 is used internally to retrieve this codepage, and for the COUNTRY.SYS file parsers in the DOS BIOS and NLSFUNC, a codepage value of zero means "match any codepage, whatever comes first for the given country code". So, it depends on the order of codepage entries in the COUNTRY.SYS file if the system will default to 437, 850, or something else. […] However, some Arabic and Hebrew HGC and CGA cards have multiple hardware fonts, so called fontpages, […] so that a device may support multiple hardware codepages at the same time. The corresponding fontpage functions are INT 2Fh/AD41h and INT 2Fh/AD42h. […] COUNTRY.SYS and KEYBOARD.SYS contain only two codepage entries for a given country in Western issues of DOS. (In Arabic and Hebrew issues there can be up to 8 codepages for one country […]) […] When you specify a line like: DEVICE=…\display.sys con=(ega,437,1) […] DISPLAY.SYS is told that 437 should be assumed to be the hardware codepage of the display adapter. This is necessary to be known by DISPLAY.SYS because it will use different mechanisms to switch to the software prepared codepages and the hardware codepage, and there is no way to retrieve the info about the hardware codepage by itself. When the requested codepage is equal to the hardware codepage declared here, DISPLAY.SYS will use the method to switch to the hardware codepage, otherwise it will attempt to look up the font info in its internal buffer. […] (NB. Based on fd-dev post [1].) https://web.archive.org/web/20160606182501/http://www.freedos.org/technotes/technote/txt/141.txt

  12. Fujitsu DL6400/DL6600 Dot Matrix Printer User's Manual (PDF). Fujitsu Limited. April 1994. C147-E015-01EN. Archived (PDF) from the original on 2016-06-14. Retrieved 2016-06-14. http://www.fujitsu.com/downloads/COMP/fcpa/printers/dl6400_user-manual.pdf

  13. HP 95LX User's Guide (PDF) (2 ed.). Corvallis, OR, USA: Hewlett-Packard Company, Corvallis Division. June 1991 [March 1991]. pp. E-1 – E-3, F-1 – F-7. F0001-90003. Archived (PDF) from the original on 2016-11-28. Retrieved 2016-11-27. The HP 95LX character set is equivalent to code page 850, the IBM PC multilingual character set. (Note that your HP 95LX contains MS-DOS 3.22, which does not support code-page switching.) All the HP 95LX applications use this set except 1-2-3, which uses LICS, the Lotus International Character Set. Most LICS characters are included in code page 850; the few that are not will not display […] If your HP 95LX cannot display […] or if your printer cannot print a LICS character, the HP 95LX uses a fallback presentation for that character […] if you use the © symbol and your printer cannot print it, the HP 95LX might display (c) or c as the fallback presentation (depending on the capabilities of your printer). http://www.retroisle.com/others/hp95lx/OriginalDocs/95LX_UsersGuide_F1000-90001_826pages_Jun91.pdf

  14. The "International English" version of the HP OmniBook 300 uses code page 850 (rather than the more common code page 437) as hardware code page. /wiki/HP_OmniBook_300

  15. Hewlett-Packard - Technical Reference Manual - Portable PLUS (1 ed.). Corvallis, OR, USA: Hewlett-Packard Company, Portable Computer Division. August 1985. 45559-90001. Retrieved 2016-11-27. https://archive.org/details/bitsavers_hpportableblePLUSTechnicalReferenceManualAug1985_25919880

  16. Hewlett-Packard - Technical Reference Manual - Portable PLUS (PDF) (2 ed.). Portable Computer Division, Corvallis, OR, USA: Hewlett-Packard Company. December 1986 [August 1985]. 45559-90006. Archived (PDF) from the original on 2016-11-28. Retrieved 2016-11-27. http://www.jeffcalc.hp41.eu/hpplus/files/techrefman.pdf

  17. Paul, Matthias R. (2001-08-15). "Changing codepages in FreeDOS" (Technical design specification). Archived from the original on 2016-06-06. Retrieved 2016-06-06. […] The […] active system codepage […] sometimes also called global codepage […] is the codepage currently in use for the DOS kernel, for example the collating order and other I18N tables depend on this codepage. While in most cases the system codepage reflects the codepage used for devices such as console (DISPLAY.SYS), printers (PRINTER.SYS), and keyboard (KEYB.COM), this is not a requirement as there are means to switch the individual device codepages without changing the system codepage (for example using MODE). Further, in dealing with NLS issues, it is important to distinguish between the currently active, the hardware, and the primary codepages for any device and/or the system. The hardware codepage is the default codepage supported by a device after initialization of the hardware. It normally defaults to 437 for the console, but some European clones have 850 stored in the video font ROMs, and I have been told that some Czech CGA and MDA cards had Kamenicky codepage 867 (aka Wordperfect codepage 895) stored in their ROMs. Most printers default to 367 (ISO-646-US 7-bit) or 437 on power up, and the default system, or global, codepage for the system is always 437 under DR-DOS […] but under MS-DOS/PC DOS it reflects the codepage entry in COUNTRY=country,codepage,filespec where it must be one of the codepages valid for the given country as per COUNTRY.SYS filespec - this is 437 (or 850 on newer systems) in most cases, but not necessarily. The default country is 1 (USA), the default filespec is "\COUNTRY.SYS", and if no filespec is found the system will work with the statically pre-initialized data in the kernel which is the data for the USA in most cases. If no codepage is given with COUNTRY, the DOS BIOS will search for the first codepage entry for a given country (or 1), this is called the primary codepage. The codepage value of 0 is used internally to retrieve this codepage, and for the COUNTRY.SYS file parsers in the DOS BIOS and NLSFUNC, a codepage value of zero means "match any codepage, whatever comes first for the given country code". So, it depends on the order of codepage entries in the COUNTRY.SYS file if the system will default to 437, 850, or something else. […] However, some Arabic and Hebrew HGC and CGA cards have multiple hardware fonts, so called fontpages, […] so that a device may support multiple hardware codepages at the same time. The corresponding fontpage functions are INT 2Fh/AD41h and INT 2Fh/AD42h. […] COUNTRY.SYS and KEYBOARD.SYS contain only two codepage entries for a given country in Western issues of DOS. (In Arabic and Hebrew issues there can be up to 8 codepages for one country […]) […] When you specify a line like: DEVICE=…\display.sys con=(ega,437,1) […] DISPLAY.SYS is told that 437 should be assumed to be the hardware codepage of the display adapter. This is necessary to be known by DISPLAY.SYS because it will use different mechanisms to switch to the software prepared codepages and the hardware codepage, and there is no way to retrieve the info about the hardware codepage by itself. When the requested codepage is equal to the hardware codepage declared here, DISPLAY.SYS will use the method to switch to the hardware codepage, otherwise it will attempt to look up the font info in its internal buffer. […] (NB. Based on fd-dev post [1].) https://web.archive.org/web/20160606182501/http://www.freedos.org/technotes/technote/txt/141.txt

  18. Fujitsu DL6400/DL6600 Dot Matrix Printer User's Manual (PDF). Fujitsu Limited. April 1994. C147-E015-01EN. Archived (PDF) from the original on 2016-06-14. Retrieved 2016-06-14. http://www.fujitsu.com/downloads/COMP/fcpa/printers/dl6400_user-manual.pdf

  19. NEC Pinwriter. Ein Maßstab in der Profiklasse. (Printed 11-page color flyer about NEC Pinwriters P20/P30, P60/P70 and P90) (in German) (P-EAM-D-5/92 ed.), NEC Deutschland GmbH, May 1992 /wiki/NEC_Deutschland_GmbH

  20. Fujitsu DL6400/DL6600 Dot Matrix Printer User's Manual (PDF). Fujitsu Limited. April 1994. C147-E015-01EN. Archived (PDF) from the original on 2016-06-14. Retrieved 2016-06-14. http://www.fujitsu.com/downloads/COMP/fcpa/printers/dl6400_user-manual.pdf

  21. Paul, Matthias R. (2001-08-15). "Changing codepages in FreeDOS" (Technical design specification). Archived from the original on 2016-06-06. Retrieved 2016-06-06. […] The […] active system codepage […] sometimes also called global codepage […] is the codepage currently in use for the DOS kernel, for example the collating order and other I18N tables depend on this codepage. While in most cases the system codepage reflects the codepage used for devices such as console (DISPLAY.SYS), printers (PRINTER.SYS), and keyboard (KEYB.COM), this is not a requirement as there are means to switch the individual device codepages without changing the system codepage (for example using MODE). Further, in dealing with NLS issues, it is important to distinguish between the currently active, the hardware, and the primary codepages for any device and/or the system. The hardware codepage is the default codepage supported by a device after initialization of the hardware. It normally defaults to 437 for the console, but some European clones have 850 stored in the video font ROMs, and I have been told that some Czech CGA and MDA cards had Kamenicky codepage 867 (aka Wordperfect codepage 895) stored in their ROMs. Most printers default to 367 (ISO-646-US 7-bit) or 437 on power up, and the default system, or global, codepage for the system is always 437 under DR-DOS […] but under MS-DOS/PC DOS it reflects the codepage entry in COUNTRY=country,codepage,filespec where it must be one of the codepages valid for the given country as per COUNTRY.SYS filespec - this is 437 (or 850 on newer systems) in most cases, but not necessarily. The default country is 1 (USA), the default filespec is "\COUNTRY.SYS", and if no filespec is found the system will work with the statically pre-initialized data in the kernel which is the data for the USA in most cases. If no codepage is given with COUNTRY, the DOS BIOS will search for the first codepage entry for a given country (or 1), this is called the primary codepage. The codepage value of 0 is used internally to retrieve this codepage, and for the COUNTRY.SYS file parsers in the DOS BIOS and NLSFUNC, a codepage value of zero means "match any codepage, whatever comes first for the given country code". So, it depends on the order of codepage entries in the COUNTRY.SYS file if the system will default to 437, 850, or something else. […] However, some Arabic and Hebrew HGC and CGA cards have multiple hardware fonts, so called fontpages, […] so that a device may support multiple hardware codepages at the same time. The corresponding fontpage functions are INT 2Fh/AD41h and INT 2Fh/AD42h. […] COUNTRY.SYS and KEYBOARD.SYS contain only two codepage entries for a given country in Western issues of DOS. (In Arabic and Hebrew issues there can be up to 8 codepages for one country […]) […] When you specify a line like: DEVICE=…\display.sys con=(ega,437,1) […] DISPLAY.SYS is told that 437 should be assumed to be the hardware codepage of the display adapter. This is necessary to be known by DISPLAY.SYS because it will use different mechanisms to switch to the software prepared codepages and the hardware codepage, and there is no way to retrieve the info about the hardware codepage by itself. When the requested codepage is equal to the hardware codepage declared here, DISPLAY.SYS will use the method to switch to the hardware codepage, otherwise it will attempt to look up the font info in its internal buffer. […] (NB. Based on fd-dev post [1].) https://web.archive.org/web/20160606182501/http://www.freedos.org/technotes/technote/txt/141.txt

  22. Paul, Matthias R. (2000). Brown, Ralf D. (ed.). "INT 15h/AX=67C3h - Arabic/Hebrew MS-DOS 5.0+ - HGC & HGC/RAMFont support". RBIL 61. DJ Delorie. Archived from the original on 2016-06-09. Retrieved 2016-06-09. /wiki/Ralf_D._Brown

  23. Brown, Ralf D. (2012-01-21) [2000-07-16]. "Public Files on FTP.CS.CMU.EDU - The x86 Interrupt List aka "Ralf Brown's Interrupt List" (RBIL)". Archived from the original on 2016-06-16. Retrieved 2016-06-16. /wiki/Ralf_D._Brown

  24. Elliott, John C. (2020-06-08). "Monochrome Display Adapter: Notes". Seasip.info. Archived from the original on 2023-09-20. Retrieved 2016-11-23. […] Reading from port 03BAh returns vertical sync in bit 7, and a card ID in bits 6-4: 000: Hercules, 001: Hercules Plus, 101: Hercules InColor, 111: Unknown clone […] One card […] which appears to be a Hercules clone of Eastern European origin, has a further capability - two ROM fonts, selectable in software. These options are controlled in a similar manner to other extended features in the Hercules: Bit 2 of port 3BFh must be set to enable the feature, and then Bit 4 of port 3B8h selects which font to use. The card ID in bits 6-4 of port 03BAh has all three bits set. […] http://www.seasip.info/VintagePC/mda.html

  25. Elliott, John C. (2020-06-08). "Monochrome Display Adapter: Notes". Seasip.info. Archived from the original on 2023-09-20. Retrieved 2016-11-23. […] Reading from port 03BAh returns vertical sync in bit 7, and a card ID in bits 6-4: 000: Hercules, 001: Hercules Plus, 101: Hercules InColor, 111: Unknown clone […] One card […] which appears to be a Hercules clone of Eastern European origin, has a further capability - two ROM fonts, selectable in software. These options are controlled in a similar manner to other extended features in the Hercules: Bit 2 of port 3BFh must be set to enable the feature, and then Bit 4 of port 3B8h selects which font to use. The card ID in bits 6-4 of port 03BAh has all three bits set. […] http://www.seasip.info/VintagePC/mda.html

  26. Derfler, Jr., Frank J. (1985-10-29). "Expansion Options: Persyst Color Combo: Fit for an XT". PC Magazine. Ziff Davis, Inc.: 196–199. Retrieved 2017-08-12. https://books.google.com/books?id=jBnPebByBGkC&pg=PA195

  27. Hewlett-Packard - Technical Reference Manual - Portable PLUS (1 ed.). Corvallis, OR, USA: Hewlett-Packard Company, Portable Computer Division. August 1985. 45559-90001. Retrieved 2016-11-27. https://archive.org/details/bitsavers_hpportableblePLUSTechnicalReferenceManualAug1985_25919880

  28. Hewlett-Packard - Technical Reference Manual - Portable PLUS (PDF) (2 ed.). Portable Computer Division, Corvallis, OR, USA: Hewlett-Packard Company. December 1986 [August 1985]. 45559-90006. Archived (PDF) from the original on 2016-11-28. Retrieved 2016-11-27. http://www.jeffcalc.hp41.eu/hpplus/files/techrefman.pdf

  29. HP 200LX User's Guide (PDF) (1 ed.). Singapore: Hewlett-Packard Singapore (Private) Limited, Asia-Pacific Personal Computer Division. October 1996. pp. 21-6 – 21-7, 25-9 – 25-13, 26-14 – 26-18, C-1 – C-4, D-1 – D-10. 1216-90001. Archived (PDF) from the original on 2016-11-30. Retrieved 2016-11-29. Your palmtop supports code pages 850 and 437. The built-in applications (except 1-2-3) and System Manager-compliant applications […] use code page 850. […] Any DOS application you load and run will by default use code page 437. If an application requires code page 850, you can select it using the Setup utility. http://h10032.www1.hp.com/ctg/Manual/bpia5259.pdf

  30. Paul, Matthias R. (2001-08-15). "Changing codepages in FreeDOS" (Technical design specification). Archived from the original on 2016-06-06. Retrieved 2016-06-06. […] The […] active system codepage […] sometimes also called global codepage […] is the codepage currently in use for the DOS kernel, for example the collating order and other I18N tables depend on this codepage. While in most cases the system codepage reflects the codepage used for devices such as console (DISPLAY.SYS), printers (PRINTER.SYS), and keyboard (KEYB.COM), this is not a requirement as there are means to switch the individual device codepages without changing the system codepage (for example using MODE). Further, in dealing with NLS issues, it is important to distinguish between the currently active, the hardware, and the primary codepages for any device and/or the system. The hardware codepage is the default codepage supported by a device after initialization of the hardware. It normally defaults to 437 for the console, but some European clones have 850 stored in the video font ROMs, and I have been told that some Czech CGA and MDA cards had Kamenicky codepage 867 (aka Wordperfect codepage 895) stored in their ROMs. Most printers default to 367 (ISO-646-US 7-bit) or 437 on power up, and the default system, or global, codepage for the system is always 437 under DR-DOS […] but under MS-DOS/PC DOS it reflects the codepage entry in COUNTRY=country,codepage,filespec where it must be one of the codepages valid for the given country as per COUNTRY.SYS filespec - this is 437 (or 850 on newer systems) in most cases, but not necessarily. The default country is 1 (USA), the default filespec is "\COUNTRY.SYS", and if no filespec is found the system will work with the statically pre-initialized data in the kernel which is the data for the USA in most cases. If no codepage is given with COUNTRY, the DOS BIOS will search for the first codepage entry for a given country (or 1), this is called the primary codepage. The codepage value of 0 is used internally to retrieve this codepage, and for the COUNTRY.SYS file parsers in the DOS BIOS and NLSFUNC, a codepage value of zero means "match any codepage, whatever comes first for the given country code". So, it depends on the order of codepage entries in the COUNTRY.SYS file if the system will default to 437, 850, or something else. […] However, some Arabic and Hebrew HGC and CGA cards have multiple hardware fonts, so called fontpages, […] so that a device may support multiple hardware codepages at the same time. The corresponding fontpage functions are INT 2Fh/AD41h and INT 2Fh/AD42h. […] COUNTRY.SYS and KEYBOARD.SYS contain only two codepage entries for a given country in Western issues of DOS. (In Arabic and Hebrew issues there can be up to 8 codepages for one country […]) […] When you specify a line like: DEVICE=…\display.sys con=(ega,437,1) […] DISPLAY.SYS is told that 437 should be assumed to be the hardware codepage of the display adapter. This is necessary to be known by DISPLAY.SYS because it will use different mechanisms to switch to the software prepared codepages and the hardware codepage, and there is no way to retrieve the info about the hardware codepage by itself. When the requested codepage is equal to the hardware codepage declared here, DISPLAY.SYS will use the method to switch to the hardware codepage, otherwise it will attempt to look up the font info in its internal buffer. […] (NB. Based on fd-dev post [1].) https://web.archive.org/web/20160606182501/http://www.freedos.org/technotes/technote/txt/141.txt

  31. Elliott, John C. (2020-06-08). "Monochrome Display Adapter: Notes". Seasip.info. Archived from the original on 2023-09-20. Retrieved 2016-11-23. […] Reading from port 03BAh returns vertical sync in bit 7, and a card ID in bits 6-4: 000: Hercules, 001: Hercules Plus, 101: Hercules InColor, 111: Unknown clone […] One card […] which appears to be a Hercules clone of Eastern European origin, has a further capability - two ROM fonts, selectable in software. These options are controlled in a similar manner to other extended features in the Hercules: Bit 2 of port 3BFh must be set to enable the feature, and then Bit 4 of port 3B8h selects which font to use. The card ID in bits 6-4 of port 03BAh has all three bits set. […] http://www.seasip.info/VintagePC/mda.html

  32. Paul, Matthias R. (2000). Brown, Ralf D. (ed.). "INT 15h/AX=67C3h - Arabic/Hebrew MS-DOS 5.0+ - HGC & HGC/RAMFont support". RBIL 61. DJ Delorie. Archived from the original on 2016-06-09. Retrieved 2016-06-09. /wiki/Ralf_D._Brown

  33. Brown, Ralf D. (2012-01-21) [2000-07-16]. "Public Files on FTP.CS.CMU.EDU - The x86 Interrupt List aka "Ralf Brown's Interrupt List" (RBIL)". Archived from the original on 2016-06-16. Retrieved 2016-06-16. /wiki/Ralf_D._Brown

  34. Paul, Matthias R. (2001-08-15). "Changing codepages in FreeDOS" (Technical design specification). Archived from the original on 2016-06-06. Retrieved 2016-06-06. […] The […] active system codepage […] sometimes also called global codepage […] is the codepage currently in use for the DOS kernel, for example the collating order and other I18N tables depend on this codepage. While in most cases the system codepage reflects the codepage used for devices such as console (DISPLAY.SYS), printers (PRINTER.SYS), and keyboard (KEYB.COM), this is not a requirement as there are means to switch the individual device codepages without changing the system codepage (for example using MODE). Further, in dealing with NLS issues, it is important to distinguish between the currently active, the hardware, and the primary codepages for any device and/or the system. The hardware codepage is the default codepage supported by a device after initialization of the hardware. It normally defaults to 437 for the console, but some European clones have 850 stored in the video font ROMs, and I have been told that some Czech CGA and MDA cards had Kamenicky codepage 867 (aka Wordperfect codepage 895) stored in their ROMs. Most printers default to 367 (ISO-646-US 7-bit) or 437 on power up, and the default system, or global, codepage for the system is always 437 under DR-DOS […] but under MS-DOS/PC DOS it reflects the codepage entry in COUNTRY=country,codepage,filespec where it must be one of the codepages valid for the given country as per COUNTRY.SYS filespec - this is 437 (or 850 on newer systems) in most cases, but not necessarily. The default country is 1 (USA), the default filespec is "\COUNTRY.SYS", and if no filespec is found the system will work with the statically pre-initialized data in the kernel which is the data for the USA in most cases. If no codepage is given with COUNTRY, the DOS BIOS will search for the first codepage entry for a given country (or 1), this is called the primary codepage. The codepage value of 0 is used internally to retrieve this codepage, and for the COUNTRY.SYS file parsers in the DOS BIOS and NLSFUNC, a codepage value of zero means "match any codepage, whatever comes first for the given country code". So, it depends on the order of codepage entries in the COUNTRY.SYS file if the system will default to 437, 850, or something else. […] However, some Arabic and Hebrew HGC and CGA cards have multiple hardware fonts, so called fontpages, […] so that a device may support multiple hardware codepages at the same time. The corresponding fontpage functions are INT 2Fh/AD41h and INT 2Fh/AD42h. […] COUNTRY.SYS and KEYBOARD.SYS contain only two codepage entries for a given country in Western issues of DOS. (In Arabic and Hebrew issues there can be up to 8 codepages for one country […]) […] When you specify a line like: DEVICE=…\display.sys con=(ega,437,1) […] DISPLAY.SYS is told that 437 should be assumed to be the hardware codepage of the display adapter. This is necessary to be known by DISPLAY.SYS because it will use different mechanisms to switch to the software prepared codepages and the hardware codepage, and there is no way to retrieve the info about the hardware codepage by itself. When the requested codepage is equal to the hardware codepage declared here, DISPLAY.SYS will use the method to switch to the hardware codepage, otherwise it will attempt to look up the font info in its internal buffer. […] (NB. Based on fd-dev post [1].) https://web.archive.org/web/20160606182501/http://www.freedos.org/technotes/technote/txt/141.txt

  35. Fujitsu DL6400/DL6600 Dot Matrix Printer User's Manual (PDF). Fujitsu Limited. April 1994. C147-E015-01EN. Archived (PDF) from the original on 2016-06-14. Retrieved 2016-06-14. http://www.fujitsu.com/downloads/COMP/fcpa/printers/dl6400_user-manual.pdf

  36. Pinwriter P90 Bedienungshandbuch (Printed manual) (in German) (00 11/90 ed.). NEC Deutschland GmbH. November 1990. /wiki/NEC_Deutschland_GmbH

  37. Programmierung des GQ-Modus für Epson-Seitendrucker (Printed manual) (in German) (2 ed.). Epson Deutschland GmbH. 1991. /wiki/Epson_Deutschland_GmbH

  38. Fujitsu DL6400/DL6600 Dot Matrix Printer User's Manual (PDF). Fujitsu Limited. April 1994. C147-E015-01EN. Archived (PDF) from the original on 2016-06-14. Retrieved 2016-06-14. http://www.fujitsu.com/downloads/COMP/fcpa/printers/dl6400_user-manual.pdf

  39. Pinwriter P90 Bedienungshandbuch (Printed manual) (in German) (00 11/90 ed.). NEC Deutschland GmbH. November 1990. /wiki/NEC_Deutschland_GmbH

  40. Programmierung des GQ-Modus für Epson-Seitendrucker (Printed manual) (in German) (2 ed.). Epson Deutschland GmbH. 1991. /wiki/Epson_Deutschland_GmbH

  41. Fujitsu DL6400/DL6600 Dot Matrix Printer User's Manual (PDF). Fujitsu Limited. April 1994. C147-E015-01EN. Archived (PDF) from the original on 2016-06-14. Retrieved 2016-06-14. http://www.fujitsu.com/downloads/COMP/fcpa/printers/dl6400_user-manual.pdf

  42. Fujitsu DL6400/DL6600 Dot Matrix Printer User's Manual (PDF). Fujitsu Limited. April 1994. C147-E015-01EN. Archived (PDF) from the original on 2016-06-14. Retrieved 2016-06-14. http://www.fujitsu.com/downloads/COMP/fcpa/printers/dl6400_user-manual.pdf

  43. Pinwriter Familie - Pinwriter - Epromsockel - Zusätzliche Zeichensätze / Schriftarten (Printed reference manual for optional font and code page EPROMs for NEC Pinwriters, including custom variants) (in German) (00 3/93 ed.). NEC Deutschland GmbH. March 1993. /wiki/EPROM

  44. Epson EPL-4300 Bedienungs-Handbuch (Printed manual) (in German) (1 ed.). Epson Deutschland GmbH. 1992. /wiki/Epson_Deutschland_GmbH

  45. Fujitsu DL6400/DL6600 Dot Matrix Printer User's Manual (PDF). Fujitsu Limited. April 1994. C147-E015-01EN. Archived (PDF) from the original on 2016-06-14. Retrieved 2016-06-14. http://www.fujitsu.com/downloads/COMP/fcpa/printers/dl6400_user-manual.pdf

  46. Pinwriter Familie - Pinwriter - Epromsockel - Zusätzliche Zeichensätze / Schriftarten (Printed reference manual for optional font and code page EPROMs for NEC Pinwriters, including custom variants) (in German) (00 3/93 ed.). NEC Deutschland GmbH. March 1993. /wiki/EPROM

  47. Epson EPL-4300 Bedienungs-Handbuch (Printed manual) (in German) (1 ed.). Epson Deutschland GmbH. 1992. /wiki/Epson_Deutschland_GmbH

  48. Fujitsu DL6400/DL6600 Dot Matrix Printer User's Manual (PDF). Fujitsu Limited. April 1994. C147-E015-01EN. Archived (PDF) from the original on 2016-06-14. Retrieved 2016-06-14. http://www.fujitsu.com/downloads/COMP/fcpa/printers/dl6400_user-manual.pdf

  49. Pinwriter P90 Bedienungshandbuch (Printed manual) (in German) (00 11/90 ed.). NEC Deutschland GmbH. November 1990. /wiki/NEC_Deutschland_GmbH

  50. Programmierung des GQ-Modus für Epson-Seitendrucker (Printed manual) (in German) (2 ed.). Epson Deutschland GmbH. 1991. /wiki/Epson_Deutschland_GmbH

  51. Programmierung des GQ-Modus für Epson-Seitendrucker (Printed manual) (in German) (2 ed.). Epson Deutschland GmbH. 1991. /wiki/Epson_Deutschland_GmbH

  52. Fujitsu DL6400/DL6600 Dot Matrix Printer User's Manual (PDF). Fujitsu Limited. April 1994. C147-E015-01EN. Archived (PDF) from the original on 2016-06-14. Retrieved 2016-06-14. http://www.fujitsu.com/downloads/COMP/fcpa/printers/dl6400_user-manual.pdf

  53. Pinwriter P90 Bedienungshandbuch (Printed manual) (in German) (00 11/90 ed.). NEC Deutschland GmbH. November 1990. /wiki/NEC_Deutschland_GmbH

  54. Programmierung des GQ-Modus für Epson-Seitendrucker (Printed manual) (in German) (2 ed.). Epson Deutschland GmbH. 1991. /wiki/Epson_Deutschland_GmbH

  55. Fujitsu DL6400/DL6600 Dot Matrix Printer User's Manual (PDF). Fujitsu Limited. April 1994. C147-E015-01EN. Archived (PDF) from the original on 2016-06-14. Retrieved 2016-06-14. http://www.fujitsu.com/downloads/COMP/fcpa/printers/dl6400_user-manual.pdf

  56. Pinwriter P90 Bedienungshandbuch (Printed manual) (in German) (00 11/90 ed.). NEC Deutschland GmbH. November 1990. /wiki/NEC_Deutschland_GmbH

  57. Programmierung des GQ-Modus für Epson-Seitendrucker (Printed manual) (in German) (2 ed.). Epson Deutschland GmbH. 1991. /wiki/Epson_Deutschland_GmbH

  58. Fujitsu DL6400/DL6600 Dot Matrix Printer User's Manual (PDF). Fujitsu Limited. April 1994. C147-E015-01EN. Archived (PDF) from the original on 2016-06-14. Retrieved 2016-06-14. http://www.fujitsu.com/downloads/COMP/fcpa/printers/dl6400_user-manual.pdf

  59. Pinwriter Familie - Pinwriter - Epromsockel - Zusätzliche Zeichensätze / Schriftarten (Printed reference manual for optional font and code page EPROMs for NEC Pinwriters, including custom variants) (in German) (00 3/93 ed.). NEC Deutschland GmbH. March 1993. /wiki/EPROM

  60. bhd (2016-06-04) [1995]. "FreeBSD Handbook". The FreeBSD Documentation Project. 48895. Chernov, Andrey. 22.4.1. Localization - i18n/L10n Usage and Setup: Locale Configuration for Specific Languages: Russian Language (KOI8-R Encoding). Archived from the original on 2016-06-12. Retrieved 2016-06-12. https://www.freebsd.org/doc/handbook/lang-setup.html

  61. bhd (2016-06-04) [1995]. "FreeBSD Handbook". The FreeBSD Documentation Project. 48895. Chernov, Andrey. 22.5.1.3 Localization - i18n/L10n Usage and Setup: Localizing FreeBSD to Specific Languages: Russian Language (KOI8-R Encoding): Printer Setup. Archived from the original on 2016-06-12. Retrieved 2016-06-12. http://freebsd.therek.net/handbook/lang-setup.html

  62. Paul, Matthias R. (2001-08-15). "Changing codepages in FreeDOS" (Technical design specification). Archived from the original on 2016-06-06. Retrieved 2016-06-06. […] The […] active system codepage […] sometimes also called global codepage […] is the codepage currently in use for the DOS kernel, for example the collating order and other I18N tables depend on this codepage. While in most cases the system codepage reflects the codepage used for devices such as console (DISPLAY.SYS), printers (PRINTER.SYS), and keyboard (KEYB.COM), this is not a requirement as there are means to switch the individual device codepages without changing the system codepage (for example using MODE). Further, in dealing with NLS issues, it is important to distinguish between the currently active, the hardware, and the primary codepages for any device and/or the system. The hardware codepage is the default codepage supported by a device after initialization of the hardware. It normally defaults to 437 for the console, but some European clones have 850 stored in the video font ROMs, and I have been told that some Czech CGA and MDA cards had Kamenicky codepage 867 (aka Wordperfect codepage 895) stored in their ROMs. Most printers default to 367 (ISO-646-US 7-bit) or 437 on power up, and the default system, or global, codepage for the system is always 437 under DR-DOS […] but under MS-DOS/PC DOS it reflects the codepage entry in COUNTRY=country,codepage,filespec where it must be one of the codepages valid for the given country as per COUNTRY.SYS filespec - this is 437 (or 850 on newer systems) in most cases, but not necessarily. The default country is 1 (USA), the default filespec is "\COUNTRY.SYS", and if no filespec is found the system will work with the statically pre-initialized data in the kernel which is the data for the USA in most cases. If no codepage is given with COUNTRY, the DOS BIOS will search for the first codepage entry for a given country (or 1), this is called the primary codepage. The codepage value of 0 is used internally to retrieve this codepage, and for the COUNTRY.SYS file parsers in the DOS BIOS and NLSFUNC, a codepage value of zero means "match any codepage, whatever comes first for the given country code". So, it depends on the order of codepage entries in the COUNTRY.SYS file if the system will default to 437, 850, or something else. […] However, some Arabic and Hebrew HGC and CGA cards have multiple hardware fonts, so called fontpages, […] so that a device may support multiple hardware codepages at the same time. The corresponding fontpage functions are INT 2Fh/AD41h and INT 2Fh/AD42h. […] COUNTRY.SYS and KEYBOARD.SYS contain only two codepage entries for a given country in Western issues of DOS. (In Arabic and Hebrew issues there can be up to 8 codepages for one country […]) […] When you specify a line like: DEVICE=…\display.sys con=(ega,437,1) […] DISPLAY.SYS is told that 437 should be assumed to be the hardware codepage of the display adapter. This is necessary to be known by DISPLAY.SYS because it will use different mechanisms to switch to the software prepared codepages and the hardware codepage, and there is no way to retrieve the info about the hardware codepage by itself. When the requested codepage is equal to the hardware codepage declared here, DISPLAY.SYS will use the method to switch to the hardware codepage, otherwise it will attempt to look up the font info in its internal buffer. […] (NB. Based on fd-dev post [1].) https://web.archive.org/web/20160606182501/http://www.freedos.org/technotes/technote/txt/141.txt

  63. On Epson, NEC and Fujitsu ESC/P compatible printers, the escape sequence to switch to various hardware code pages is ESC R (n) with (n) = 0..254 being a code associated with specific character sets. The range of supported codes depends on the printer model and installed font options. /wiki/Epson

  64. Paul, Matthias R. (2001-08-15). "Changing codepages in FreeDOS" (Technical design specification). Archived from the original on 2016-06-06. Retrieved 2016-06-06. […] The […] active system codepage […] sometimes also called global codepage […] is the codepage currently in use for the DOS kernel, for example the collating order and other I18N tables depend on this codepage. While in most cases the system codepage reflects the codepage used for devices such as console (DISPLAY.SYS), printers (PRINTER.SYS), and keyboard (KEYB.COM), this is not a requirement as there are means to switch the individual device codepages without changing the system codepage (for example using MODE). Further, in dealing with NLS issues, it is important to distinguish between the currently active, the hardware, and the primary codepages for any device and/or the system. The hardware codepage is the default codepage supported by a device after initialization of the hardware. It normally defaults to 437 for the console, but some European clones have 850 stored in the video font ROMs, and I have been told that some Czech CGA and MDA cards had Kamenicky codepage 867 (aka Wordperfect codepage 895) stored in their ROMs. Most printers default to 367 (ISO-646-US 7-bit) or 437 on power up, and the default system, or global, codepage for the system is always 437 under DR-DOS […] but under MS-DOS/PC DOS it reflects the codepage entry in COUNTRY=country,codepage,filespec where it must be one of the codepages valid for the given country as per COUNTRY.SYS filespec - this is 437 (or 850 on newer systems) in most cases, but not necessarily. The default country is 1 (USA), the default filespec is "\COUNTRY.SYS", and if no filespec is found the system will work with the statically pre-initialized data in the kernel which is the data for the USA in most cases. If no codepage is given with COUNTRY, the DOS BIOS will search for the first codepage entry for a given country (or 1), this is called the primary codepage. The codepage value of 0 is used internally to retrieve this codepage, and for the COUNTRY.SYS file parsers in the DOS BIOS and NLSFUNC, a codepage value of zero means "match any codepage, whatever comes first for the given country code". So, it depends on the order of codepage entries in the COUNTRY.SYS file if the system will default to 437, 850, or something else. […] However, some Arabic and Hebrew HGC and CGA cards have multiple hardware fonts, so called fontpages, […] so that a device may support multiple hardware codepages at the same time. The corresponding fontpage functions are INT 2Fh/AD41h and INT 2Fh/AD42h. […] COUNTRY.SYS and KEYBOARD.SYS contain only two codepage entries for a given country in Western issues of DOS. (In Arabic and Hebrew issues there can be up to 8 codepages for one country […]) […] When you specify a line like: DEVICE=…\display.sys con=(ega,437,1) […] DISPLAY.SYS is told that 437 should be assumed to be the hardware codepage of the display adapter. This is necessary to be known by DISPLAY.SYS because it will use different mechanisms to switch to the software prepared codepages and the hardware codepage, and there is no way to retrieve the info about the hardware codepage by itself. When the requested codepage is equal to the hardware codepage declared here, DISPLAY.SYS will use the method to switch to the hardware codepage, otherwise it will attempt to look up the font info in its internal buffer. […] (NB. Based on fd-dev post [1].) https://web.archive.org/web/20160606182501/http://www.freedos.org/technotes/technote/txt/141.txt

  65. "Chapter 9: Configuring the System". Caldera DR-DOS 7.02 User Guide. Caldera, Inc. 1998 [1993, 1997]. Archived from the original on 2016-06-07. https://web.archive.org/web/20160607164317/http://www.drdos.net/documentation/usergeng/09ugch9.htm#807

  66. Paul, Matthias R. (1997-07-30). NWDOS-TIPs — Tips & Tricks rund um Novell DOS 7, mit Blick auf undokumentierte Details, Bugs und Workarounds. Release 157 (in German) (3 ed.). MPDOSTIP. Archived from the original on 2016-05-22. Retrieved 2012-01-11. (NB. NWDOSTIP.TXT is a comprehensive work on Novell DOS 7 and OpenDOS 7.01, including the description of many undocumented features and internals. It is part of the author's yet larger MPDOSTIP.ZIP collection maintained up to 2001 and distributed on many sites at the time. The provided link points to a HTML-converted older version of the NWDOSTIP.TXT file.) http://www.antonis.de/dos/dos-tuts/mpdostip/html/nwdostip.htm

  67. Paul, Matthias R. (2001-04-09). NWDOS-TIPs — Tips & Tricks rund um Novell DOS 7, mit Blick auf undokumentierte Details, Bugs und Workarounds. Release 183 (in German) (3 ed.). MPDOSTIP.

  68. Paul, Matthias R. (2001-08-15). "Changing codepages in FreeDOS" (Technical design specification). Archived from the original on 2016-06-06. Retrieved 2016-06-06. […] The […] active system codepage […] sometimes also called global codepage […] is the codepage currently in use for the DOS kernel, for example the collating order and other I18N tables depend on this codepage. While in most cases the system codepage reflects the codepage used for devices such as console (DISPLAY.SYS), printers (PRINTER.SYS), and keyboard (KEYB.COM), this is not a requirement as there are means to switch the individual device codepages without changing the system codepage (for example using MODE). Further, in dealing with NLS issues, it is important to distinguish between the currently active, the hardware, and the primary codepages for any device and/or the system. The hardware codepage is the default codepage supported by a device after initialization of the hardware. It normally defaults to 437 for the console, but some European clones have 850 stored in the video font ROMs, and I have been told that some Czech CGA and MDA cards had Kamenicky codepage 867 (aka Wordperfect codepage 895) stored in their ROMs. Most printers default to 367 (ISO-646-US 7-bit) or 437 on power up, and the default system, or global, codepage for the system is always 437 under DR-DOS […] but under MS-DOS/PC DOS it reflects the codepage entry in COUNTRY=country,codepage,filespec where it must be one of the codepages valid for the given country as per COUNTRY.SYS filespec - this is 437 (or 850 on newer systems) in most cases, but not necessarily. The default country is 1 (USA), the default filespec is "\COUNTRY.SYS", and if no filespec is found the system will work with the statically pre-initialized data in the kernel which is the data for the USA in most cases. If no codepage is given with COUNTRY, the DOS BIOS will search for the first codepage entry for a given country (or 1), this is called the primary codepage. The codepage value of 0 is used internally to retrieve this codepage, and for the COUNTRY.SYS file parsers in the DOS BIOS and NLSFUNC, a codepage value of zero means "match any codepage, whatever comes first for the given country code". So, it depends on the order of codepage entries in the COUNTRY.SYS file if the system will default to 437, 850, or something else. […] However, some Arabic and Hebrew HGC and CGA cards have multiple hardware fonts, so called fontpages, […] so that a device may support multiple hardware codepages at the same time. The corresponding fontpage functions are INT 2Fh/AD41h and INT 2Fh/AD42h. […] COUNTRY.SYS and KEYBOARD.SYS contain only two codepage entries for a given country in Western issues of DOS. (In Arabic and Hebrew issues there can be up to 8 codepages for one country […]) […] When you specify a line like: DEVICE=…\display.sys con=(ega,437,1) […] DISPLAY.SYS is told that 437 should be assumed to be the hardware codepage of the display adapter. This is necessary to be known by DISPLAY.SYS because it will use different mechanisms to switch to the software prepared codepages and the hardware codepage, and there is no way to retrieve the info about the hardware codepage by itself. When the requested codepage is equal to the hardware codepage declared here, DISPLAY.SYS will use the method to switch to the hardware codepage, otherwise it will attempt to look up the font info in its internal buffer. […] (NB. Based on fd-dev post [1].) https://web.archive.org/web/20160606182501/http://www.freedos.org/technotes/technote/txt/141.txt

  69. "Changing code pages". XyWrite III, XyWrite III Plus and Signature. 2009-04-25 [2002-09-04]. Application Note #111. Archived from the original on 2016-06-12. Retrieved 2016-06-12. http://www.xywrite.com/ttg/appnotes/app111.txt

  70. "Chapter 9: Configuring the System". Caldera DR-DOS 7.02 User Guide. Caldera, Inc. 1998 [1993, 1997]. Archived from the original on 2016-06-07. https://web.archive.org/web/20160607164317/http://www.drdos.net/documentation/usergeng/09ugch9.htm#807

  71. Paul, Matthias R. (1997-07-30). NWDOS-TIPs — Tips & Tricks rund um Novell DOS 7, mit Blick auf undokumentierte Details, Bugs und Workarounds. Release 157 (in German) (3 ed.). MPDOSTIP. Archived from the original on 2016-05-22. Retrieved 2012-01-11. (NB. NWDOSTIP.TXT is a comprehensive work on Novell DOS 7 and OpenDOS 7.01, including the description of many undocumented features and internals. It is part of the author's yet larger MPDOSTIP.ZIP collection maintained up to 2001 and distributed on many sites at the time. The provided link points to a HTML-converted older version of the NWDOSTIP.TXT file.) http://www.antonis.de/dos/dos-tuts/mpdostip/html/nwdostip.htm

  72. Paul, Matthias R. (2001-04-09). NWDOS-TIPs — Tips & Tricks rund um Novell DOS 7, mit Blick auf undokumentierte Details, Bugs und Workarounds. Release 183 (in German) (3 ed.). MPDOSTIP.

  73. "Chapter 17: Setting Up Code Page Switching". Caldera DR-DOS 7.02 User Guide. Caldera, Inc. 1998 [1993, 1997]. Archived from the original on 2016-06-09. https://web.archive.org/web/20160609203350/http://www.drdos.net/documentation/usergeng/17ugch17.htm

  74. Prosise, Jeff (1990-05-15). "Tutor: Using code pages". PC Magazine: 327–328. Retrieved 2016-06-09. /wiki/Jeff_Prosise

  75. Paul, Matthias R. (2001-08-15). "Changing codepages in FreeDOS" (Technical design specification). Archived from the original on 2016-06-06. Retrieved 2016-06-06. […] The […] active system codepage […] sometimes also called global codepage […] is the codepage currently in use for the DOS kernel, for example the collating order and other I18N tables depend on this codepage. While in most cases the system codepage reflects the codepage used for devices such as console (DISPLAY.SYS), printers (PRINTER.SYS), and keyboard (KEYB.COM), this is not a requirement as there are means to switch the individual device codepages without changing the system codepage (for example using MODE). Further, in dealing with NLS issues, it is important to distinguish between the currently active, the hardware, and the primary codepages for any device and/or the system. The hardware codepage is the default codepage supported by a device after initialization of the hardware. It normally defaults to 437 for the console, but some European clones have 850 stored in the video font ROMs, and I have been told that some Czech CGA and MDA cards had Kamenicky codepage 867 (aka Wordperfect codepage 895) stored in their ROMs. Most printers default to 367 (ISO-646-US 7-bit) or 437 on power up, and the default system, or global, codepage for the system is always 437 under DR-DOS […] but under MS-DOS/PC DOS it reflects the codepage entry in COUNTRY=country,codepage,filespec where it must be one of the codepages valid for the given country as per COUNTRY.SYS filespec - this is 437 (or 850 on newer systems) in most cases, but not necessarily. The default country is 1 (USA), the default filespec is "\COUNTRY.SYS", and if no filespec is found the system will work with the statically pre-initialized data in the kernel which is the data for the USA in most cases. If no codepage is given with COUNTRY, the DOS BIOS will search for the first codepage entry for a given country (or 1), this is called the primary codepage. The codepage value of 0 is used internally to retrieve this codepage, and for the COUNTRY.SYS file parsers in the DOS BIOS and NLSFUNC, a codepage value of zero means "match any codepage, whatever comes first for the given country code". So, it depends on the order of codepage entries in the COUNTRY.SYS file if the system will default to 437, 850, or something else. […] However, some Arabic and Hebrew HGC and CGA cards have multiple hardware fonts, so called fontpages, […] so that a device may support multiple hardware codepages at the same time. The corresponding fontpage functions are INT 2Fh/AD41h and INT 2Fh/AD42h. […] COUNTRY.SYS and KEYBOARD.SYS contain only two codepage entries for a given country in Western issues of DOS. (In Arabic and Hebrew issues there can be up to 8 codepages for one country […]) […] When you specify a line like: DEVICE=…\display.sys con=(ega,437,1) […] DISPLAY.SYS is told that 437 should be assumed to be the hardware codepage of the display adapter. This is necessary to be known by DISPLAY.SYS because it will use different mechanisms to switch to the software prepared codepages and the hardware codepage, and there is no way to retrieve the info about the hardware codepage by itself. When the requested codepage is equal to the hardware codepage declared here, DISPLAY.SYS will use the method to switch to the hardware codepage, otherwise it will attempt to look up the font info in its internal buffer. […] (NB. Based on fd-dev post [1].) https://web.archive.org/web/20160606182501/http://www.freedos.org/technotes/technote/txt/141.txt

  76. "Chapter 9: Configuring the System". Caldera DR-DOS 7.02 User Guide. Caldera, Inc. 1998 [1993, 1997]. Archived from the original on 2016-06-07. https://web.archive.org/web/20160607164317/http://www.drdos.net/documentation/usergeng/09ugch9.htm#807

  77. Paul, Matthias R. (1997-07-30). NWDOS-TIPs — Tips & Tricks rund um Novell DOS 7, mit Blick auf undokumentierte Details, Bugs und Workarounds. Release 157 (in German) (3 ed.). MPDOSTIP. Archived from the original on 2016-05-22. Retrieved 2012-01-11. (NB. NWDOSTIP.TXT is a comprehensive work on Novell DOS 7 and OpenDOS 7.01, including the description of many undocumented features and internals. It is part of the author's yet larger MPDOSTIP.ZIP collection maintained up to 2001 and distributed on many sites at the time. The provided link points to a HTML-converted older version of the NWDOSTIP.TXT file.) http://www.antonis.de/dos/dos-tuts/mpdostip/html/nwdostip.htm

  78. Paul, Matthias R. (2001-04-09). NWDOS-TIPs — Tips & Tricks rund um Novell DOS 7, mit Blick auf undokumentierte Details, Bugs und Workarounds. Release 183 (in German) (3 ed.). MPDOSTIP.

  79. "Chapter 17: Setting Up Code Page Switching". Caldera DR-DOS 7.02 User Guide. Caldera, Inc. 1998 [1993, 1997]. Archived from the original on 2016-06-09. https://web.archive.org/web/20160609203350/http://www.drdos.net/documentation/usergeng/17ugch17.htm

  80. Prosise, Jeff (1990-05-15). "Tutor: Using code pages". PC Magazine: 327–328. Retrieved 2016-06-09. /wiki/Jeff_Prosise

  81. Paul, Matthias R. (2002-12-04). "DISPLAY CON". FreeDOS development list freedos-dev. Archived from the original on 2017-09-09. Retrieved 2016-06-07. https://marc.info/?l=freedos-dev&m=103902610816421&w=2

  82. Paul, Matthias R. (2002-12-04). "DISPLAY CON". FreeDOS development list freedos-dev. Archived from the original on 2017-09-09. Retrieved 2016-06-07. https://marc.info/?l=freedos-dev&m=103902610816421&w=2

  83. Paul, Matthias R. (2001-08-15). "Changing codepages in FreeDOS" (Technical design specification). Archived from the original on 2016-06-06. Retrieved 2016-06-06. […] The […] active system codepage […] sometimes also called global codepage […] is the codepage currently in use for the DOS kernel, for example the collating order and other I18N tables depend on this codepage. While in most cases the system codepage reflects the codepage used for devices such as console (DISPLAY.SYS), printers (PRINTER.SYS), and keyboard (KEYB.COM), this is not a requirement as there are means to switch the individual device codepages without changing the system codepage (for example using MODE). Further, in dealing with NLS issues, it is important to distinguish between the currently active, the hardware, and the primary codepages for any device and/or the system. The hardware codepage is the default codepage supported by a device after initialization of the hardware. It normally defaults to 437 for the console, but some European clones have 850 stored in the video font ROMs, and I have been told that some Czech CGA and MDA cards had Kamenicky codepage 867 (aka Wordperfect codepage 895) stored in their ROMs. Most printers default to 367 (ISO-646-US 7-bit) or 437 on power up, and the default system, or global, codepage for the system is always 437 under DR-DOS […] but under MS-DOS/PC DOS it reflects the codepage entry in COUNTRY=country,codepage,filespec where it must be one of the codepages valid for the given country as per COUNTRY.SYS filespec - this is 437 (or 850 on newer systems) in most cases, but not necessarily. The default country is 1 (USA), the default filespec is "\COUNTRY.SYS", and if no filespec is found the system will work with the statically pre-initialized data in the kernel which is the data for the USA in most cases. If no codepage is given with COUNTRY, the DOS BIOS will search for the first codepage entry for a given country (or 1), this is called the primary codepage. The codepage value of 0 is used internally to retrieve this codepage, and for the COUNTRY.SYS file parsers in the DOS BIOS and NLSFUNC, a codepage value of zero means "match any codepage, whatever comes first for the given country code". So, it depends on the order of codepage entries in the COUNTRY.SYS file if the system will default to 437, 850, or something else. […] However, some Arabic and Hebrew HGC and CGA cards have multiple hardware fonts, so called fontpages, […] so that a device may support multiple hardware codepages at the same time. The corresponding fontpage functions are INT 2Fh/AD41h and INT 2Fh/AD42h. […] COUNTRY.SYS and KEYBOARD.SYS contain only two codepage entries for a given country in Western issues of DOS. (In Arabic and Hebrew issues there can be up to 8 codepages for one country […]) […] When you specify a line like: DEVICE=…\display.sys con=(ega,437,1) […] DISPLAY.SYS is told that 437 should be assumed to be the hardware codepage of the display adapter. This is necessary to be known by DISPLAY.SYS because it will use different mechanisms to switch to the software prepared codepages and the hardware codepage, and there is no way to retrieve the info about the hardware codepage by itself. When the requested codepage is equal to the hardware codepage declared here, DISPLAY.SYS will use the method to switch to the hardware codepage, otherwise it will attempt to look up the font info in its internal buffer. […] (NB. Based on fd-dev post [1].) https://web.archive.org/web/20160606182501/http://www.freedos.org/technotes/technote/txt/141.txt

  84. Paul, Matthias R. (1997-07-30). NWDOS-TIPs — Tips & Tricks rund um Novell DOS 7, mit Blick auf undokumentierte Details, Bugs und Workarounds. Release 157 (in German) (3 ed.). MPDOSTIP. Archived from the original on 2016-05-22. Retrieved 2012-01-11. (NB. NWDOSTIP.TXT is a comprehensive work on Novell DOS 7 and OpenDOS 7.01, including the description of many undocumented features and internals. It is part of the author's yet larger MPDOSTIP.ZIP collection maintained up to 2001 and distributed on many sites at the time. The provided link points to a HTML-converted older version of the NWDOSTIP.TXT file.) http://www.antonis.de/dos/dos-tuts/mpdostip/html/nwdostip.htm

  85. Paul, Matthias R. (2001-04-09). NWDOS-TIPs — Tips & Tricks rund um Novell DOS 7, mit Blick auf undokumentierte Details, Bugs und Workarounds. Release 183 (in German) (3 ed.). MPDOSTIP.

  86. Paul, Matthias R. (2001-06-10) [1995]. "DOS COUNTRY.SYS file format" (COUNTRY.LST file) (1.44 ed.). Archived from the original on 2016-04-20. Retrieved 2016-08-20. http://www.columbia.edu/~em36/wpdos/MatthiasPaulCPI.zip

  87. Paul, Matthias R. (2001-08-15). "Changing codepages in FreeDOS" (Technical design specification). Archived from the original on 2016-06-06. Retrieved 2016-06-06. […] The […] active system codepage […] sometimes also called global codepage […] is the codepage currently in use for the DOS kernel, for example the collating order and other I18N tables depend on this codepage. While in most cases the system codepage reflects the codepage used for devices such as console (DISPLAY.SYS), printers (PRINTER.SYS), and keyboard (KEYB.COM), this is not a requirement as there are means to switch the individual device codepages without changing the system codepage (for example using MODE). Further, in dealing with NLS issues, it is important to distinguish between the currently active, the hardware, and the primary codepages for any device and/or the system. The hardware codepage is the default codepage supported by a device after initialization of the hardware. It normally defaults to 437 for the console, but some European clones have 850 stored in the video font ROMs, and I have been told that some Czech CGA and MDA cards had Kamenicky codepage 867 (aka Wordperfect codepage 895) stored in their ROMs. Most printers default to 367 (ISO-646-US 7-bit) or 437 on power up, and the default system, or global, codepage for the system is always 437 under DR-DOS […] but under MS-DOS/PC DOS it reflects the codepage entry in COUNTRY=country,codepage,filespec where it must be one of the codepages valid for the given country as per COUNTRY.SYS filespec - this is 437 (or 850 on newer systems) in most cases, but not necessarily. The default country is 1 (USA), the default filespec is "\COUNTRY.SYS", and if no filespec is found the system will work with the statically pre-initialized data in the kernel which is the data for the USA in most cases. If no codepage is given with COUNTRY, the DOS BIOS will search for the first codepage entry for a given country (or 1), this is called the primary codepage. The codepage value of 0 is used internally to retrieve this codepage, and for the COUNTRY.SYS file parsers in the DOS BIOS and NLSFUNC, a codepage value of zero means "match any codepage, whatever comes first for the given country code". So, it depends on the order of codepage entries in the COUNTRY.SYS file if the system will default to 437, 850, or something else. […] However, some Arabic and Hebrew HGC and CGA cards have multiple hardware fonts, so called fontpages, […] so that a device may support multiple hardware codepages at the same time. The corresponding fontpage functions are INT 2Fh/AD41h and INT 2Fh/AD42h. […] COUNTRY.SYS and KEYBOARD.SYS contain only two codepage entries for a given country in Western issues of DOS. (In Arabic and Hebrew issues there can be up to 8 codepages for one country […]) […] When you specify a line like: DEVICE=…\display.sys con=(ega,437,1) […] DISPLAY.SYS is told that 437 should be assumed to be the hardware codepage of the display adapter. This is necessary to be known by DISPLAY.SYS because it will use different mechanisms to switch to the software prepared codepages and the hardware codepage, and there is no way to retrieve the info about the hardware codepage by itself. When the requested codepage is equal to the hardware codepage declared here, DISPLAY.SYS will use the method to switch to the hardware codepage, otherwise it will attempt to look up the font info in its internal buffer. […] (NB. Based on fd-dev post [1].) https://web.archive.org/web/20160606182501/http://www.freedos.org/technotes/technote/txt/141.txt

  88. Paul, Matthias R. (1997-07-30). NWDOS-TIPs — Tips & Tricks rund um Novell DOS 7, mit Blick auf undokumentierte Details, Bugs und Workarounds. Release 157 (in German) (3 ed.). MPDOSTIP. Archived from the original on 2016-05-22. Retrieved 2012-01-11. (NB. NWDOSTIP.TXT is a comprehensive work on Novell DOS 7 and OpenDOS 7.01, including the description of many undocumented features and internals. It is part of the author's yet larger MPDOSTIP.ZIP collection maintained up to 2001 and distributed on many sites at the time. The provided link points to a HTML-converted older version of the NWDOSTIP.TXT file.) http://www.antonis.de/dos/dos-tuts/mpdostip/html/nwdostip.htm

  89. Paul, Matthias R. (2001-04-09). NWDOS-TIPs — Tips & Tricks rund um Novell DOS 7, mit Blick auf undokumentierte Details, Bugs und Workarounds. Release 183 (in German) (3 ed.). MPDOSTIP.

  90. Paul, Matthias R. (2001-08-15). "Changing codepages in FreeDOS" (Technical design specification). Archived from the original on 2016-06-06. Retrieved 2016-06-06. […] The […] active system codepage […] sometimes also called global codepage […] is the codepage currently in use for the DOS kernel, for example the collating order and other I18N tables depend on this codepage. While in most cases the system codepage reflects the codepage used for devices such as console (DISPLAY.SYS), printers (PRINTER.SYS), and keyboard (KEYB.COM), this is not a requirement as there are means to switch the individual device codepages without changing the system codepage (for example using MODE). Further, in dealing with NLS issues, it is important to distinguish between the currently active, the hardware, and the primary codepages for any device and/or the system. The hardware codepage is the default codepage supported by a device after initialization of the hardware. It normally defaults to 437 for the console, but some European clones have 850 stored in the video font ROMs, and I have been told that some Czech CGA and MDA cards had Kamenicky codepage 867 (aka Wordperfect codepage 895) stored in their ROMs. Most printers default to 367 (ISO-646-US 7-bit) or 437 on power up, and the default system, or global, codepage for the system is always 437 under DR-DOS […] but under MS-DOS/PC DOS it reflects the codepage entry in COUNTRY=country,codepage,filespec where it must be one of the codepages valid for the given country as per COUNTRY.SYS filespec - this is 437 (or 850 on newer systems) in most cases, but not necessarily. The default country is 1 (USA), the default filespec is "\COUNTRY.SYS", and if no filespec is found the system will work with the statically pre-initialized data in the kernel which is the data for the USA in most cases. If no codepage is given with COUNTRY, the DOS BIOS will search for the first codepage entry for a given country (or 1), this is called the primary codepage. The codepage value of 0 is used internally to retrieve this codepage, and for the COUNTRY.SYS file parsers in the DOS BIOS and NLSFUNC, a codepage value of zero means "match any codepage, whatever comes first for the given country code". So, it depends on the order of codepage entries in the COUNTRY.SYS file if the system will default to 437, 850, or something else. […] However, some Arabic and Hebrew HGC and CGA cards have multiple hardware fonts, so called fontpages, […] so that a device may support multiple hardware codepages at the same time. The corresponding fontpage functions are INT 2Fh/AD41h and INT 2Fh/AD42h. […] COUNTRY.SYS and KEYBOARD.SYS contain only two codepage entries for a given country in Western issues of DOS. (In Arabic and Hebrew issues there can be up to 8 codepages for one country […]) […] When you specify a line like: DEVICE=…\display.sys con=(ega,437,1) […] DISPLAY.SYS is told that 437 should be assumed to be the hardware codepage of the display adapter. This is necessary to be known by DISPLAY.SYS because it will use different mechanisms to switch to the software prepared codepages and the hardware codepage, and there is no way to retrieve the info about the hardware codepage by itself. When the requested codepage is equal to the hardware codepage declared here, DISPLAY.SYS will use the method to switch to the hardware codepage, otherwise it will attempt to look up the font info in its internal buffer. […] (NB. Based on fd-dev post [1].) https://web.archive.org/web/20160606182501/http://www.freedos.org/technotes/technote/txt/141.txt

  91. Paul, Matthias R. (2002-12-04). "DISPLAY CON". FreeDOS development list freedos-dev. Archived from the original on 2017-09-09. Retrieved 2016-06-07. https://marc.info/?l=freedos-dev&m=103902610816421&w=2

  92. Chen, Raymond (2005-03-08). "Keep your eye on the code page". The Old New Thing. Microsoft. Archived from the original on 2016-06-12. Retrieved 2016-06-12. /wiki/Raymond_Chen_(Microsoft)

  93. Chen, Raymond (2005-08-29). "Why is the default console codepage called "OEM"?". The Old New Thing. Microsoft. Archived from the original on 2016-06-12. Retrieved 2016-06-12. /wiki/Raymond_Chen_(Microsoft)

  94. "Changing code pages". XyWrite III, XyWrite III Plus and Signature. 2009-04-25 [2002-09-04]. Application Note #111. Archived from the original on 2016-06-12. Retrieved 2016-06-12. http://www.xywrite.com/ttg/appnotes/app111.txt

  95. "Chapter 17: Setting Up Code Page Switching". Caldera DR-DOS 7.02 User Guide. Caldera, Inc. 1998 [1993, 1997]. Archived from the original on 2016-06-09. https://web.archive.org/web/20160609203350/http://www.drdos.net/documentation/usergeng/17ugch17.htm

  96. Sargent III., Murray; Shoemaker, Richard L.; Stelzer, Ernst H. K. (1988). Assemblersprache und Hardware des IBM PC/XT/AT (in German) (1 ed.). Addison-Wesley Verlag (Deutschland) GmbH / Addison-Wesley Publishing Company. ISBN 3-89319-110-0. VVA-Nr. 563-00110-4. 3-89319-110-0

  97. NEC Information Systems, Inc. (November 1983). Advanced Personal Computer - MS-DOS System Programmer's Guide (PDF) (REV 00 ed.). NEC Corporation. part number 819-000104-3001. Archived (PDF) from the original on 2016-11-25. Retrieved 2016-11-25. /wiki/NEC_Information_Systems,_Inc.

  98. HP 200LX User's Guide (PDF) (1 ed.). Singapore: Hewlett-Packard Singapore (Private) Limited, Asia-Pacific Personal Computer Division. October 1996. pp. 21-6 – 21-7, 25-9 – 25-13, 26-14 – 26-18, C-1 – C-4, D-1 – D-10. 1216-90001. Archived (PDF) from the original on 2016-11-30. Retrieved 2016-11-29. Your palmtop supports code pages 850 and 437. The built-in applications (except 1-2-3) and System Manager-compliant applications […] use code page 850. […] Any DOS application you load and run will by default use code page 437. If an application requires code page 850, you can select it using the Setup utility. http://h10032.www1.hp.com/ctg/Manual/bpia5259.pdf

  99. Hart, Glenn A.; Forney, Jim (1985-02-19). "Video Board Reviews: Persyst BoB Color Adapter". PC Magazine. Ziff Davis, Inc.: 121–133. https://books.google.com/books?id=Q2ad61ZUYQMC&pg=PA132

  100. Wilton, Richard (1987). Programmer's guide to the PC & PS/2 video systems (1 ed.). Microsoft Press. ISBN 1-55615-103-9. (NB. The second edition does no longer discuss the InColor and MCGA cards at detail level.) 1-55615-103-9

  101. Brown, Ralf D. (2012-01-21) [2000-07-16]. "Public Files on FTP.CS.CMU.EDU - The x86 Interrupt List aka "Ralf Brown's Interrupt List" (RBIL)". Archived from the original on 2016-06-16. Retrieved 2016-06-16. /wiki/Ralf_D._Brown

  102. Elliott, John C. (2012-08-09). "Hercules Graphics Card Plus: Notes". Seasip.info. Archived from the original on 2016-11-23. Retrieved 2016-11-23. http://www.seasip.info/VintagePC/hercplus.html

  103. Wilton, Richard (1987). Programmer's guide to the PC & PS/2 video systems (1 ed.). Microsoft Press. ISBN 1-55615-103-9. (NB. The second edition does no longer discuss the InColor and MCGA cards at detail level.) 1-55615-103-9

  104. Elliott, John C. (2012-08-05). "Hercules InColor Card: Notes". Seasip.info. Archived from the original on 2016-11-23. Retrieved 2016-11-23. http://www.seasip.info/VintagePC/incolor.html

  105. CW (1988-04-22). "Hercules bringt neues PC-Board mit Ramfont: Grafik und Netzwerk auf einer Karte". Computerwoche (in German). Archived from the original on 2017-09-09. Retrieved 2016-11-24. http://www.computerwoche.de/a/grafik-und-netzwerk-auf-einer-karte,1154889

  106. "Hercules Network Card Plus". PC Magazine. Ziff Davis, Inc. 1988-05-31. Retrieved 2016-11-24. https://books.google.com/books?id=voPUUGTC56UC&pg=PA262

  107. Wilton, Richard (1987). Programmer's guide to the PC & PS/2 video systems (1 ed.). Microsoft Press. ISBN 1-55615-103-9. (NB. The second edition does no longer discuss the InColor and MCGA cards at detail level.) 1-55615-103-9

  108. Ferraro, Richard F. (August 1994). Programmer's Guide to the EGA, VGA and Super VGA Cards (3 ed.). Addison-Wesley Publishing Company, Inc. ISBN 0-201-62490-7. EAN 9780201624908. 0-201-62490-7

  109. Brown, Ralf D. (2012-01-21) [2000-07-16]. "Public Files on FTP.CS.CMU.EDU - The x86 Interrupt List aka "Ralf Brown's Interrupt List" (RBIL)". Archived from the original on 2016-06-16. Retrieved 2016-06-16. /wiki/Ralf_D._Brown

  110. Ferraro, Richard F. (August 1994). Programmer's Guide to the EGA, VGA and Super VGA Cards (3 ed.). Addison-Wesley Publishing Company, Inc. ISBN 0-201-62490-7. EAN 9780201624908. 0-201-62490-7

  111. Brown, Ralf D. (2012-01-21) [2000-07-16]. "Public Files on FTP.CS.CMU.EDU - The x86 Interrupt List aka "Ralf Brown's Interrupt List" (RBIL)". Archived from the original on 2016-06-16. Retrieved 2016-06-16. /wiki/Ralf_D._Brown

  112. Ferraro, Richard F. (August 1994). Programmer's Guide to the EGA, VGA and Super VGA Cards (3 ed.). Addison-Wesley Publishing Company, Inc. ISBN 0-201-62490-7. EAN 9780201624908. 0-201-62490-7

  113. Brown, Ralf D. (2012-01-21) [2000-07-16]. "Public Files on FTP.CS.CMU.EDU - The x86 Interrupt List aka "Ralf Brown's Interrupt List" (RBIL)". Archived from the original on 2016-06-16. Retrieved 2016-06-16. /wiki/Ralf_D._Brown

  114. Paul, Matthias R. (2001-06-10) [1995]. "Format description of DOS, OS/2, and Windows NT .CPI, and Linux .CP files" (CPI.LST file) (1.30 ed.). Archived from the original on 2016-04-20. Retrieved 2016-08-20. http://www.columbia.edu/~em36/wpdos/MatthiasPaulCPI.zip

  115. Elliott, John C. (2006-10-14). "CPI file format". Seasip.info. Archived from the original on 2016-09-22. Retrieved 2016-09-22. http://www.seasip.info/DOS/CPI/cpi.html

  116. Brouwer, Andries Evert (2001-02-10). "CPI fonts". 0.2. Archived from the original on 2016-09-22. Retrieved 2016-09-22. /wiki/Andries_Evert_Brouwer

  117. Haralambous, Yannis (September 2007). Fonts & Encodings. Translated by Horne, P. Scott (1 ed.). Sebastopol, California, USA: O'Reilly Media, Inc. pp. 601–602, 611. ISBN 978-0-596-10242-5. 978-0-596-10242-5

  118. MS-DOS Programmer's Reference. Microsoft Press. 1991. ISBN 1-55615-329-5. 1-55615-329-5