Hardware code page: Difference between revisions

Content deleted Content added
Added note on OB300
References: recovered two dead links from archive
Line 53:
<ref name="Paul_1997_NWDOSTIP">{{cite book |title=NWDOS-TIPs &mdash; Tips &amp; Tricks rund um Novell DOS 7, mit Blick auf undokumentierte Details, Bugs und Workarounds |work=MPDOSTIP |author-first=Matthias |author-last=Paul |date=1997-07-30 |edition=edition 3, release 157 |language=German |type=e-book |url=http://www.antonis.de/dos/dos-tuts/mpdostip/html/nwdostip.htm |access-date=2012-01-11 |dead-url=no |archive-url=https://web.archive.org/web/20160522014302/http://www.antonis.de/dos/dos-tuts/mpdostip/html/nwdostip.htm |archive-date=2016-05-22}} 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.</ref>
<ref name="Paul_2001_NWDOSTIP">{{cite book |title=NWDOS-TIPs &mdash; Tips &amp; Tricks rund um Novell DOS 7, mit Blick auf undokumentierte Details, Bugs und Workarounds |work=MPDOSTIP |author-first=Matthias |author-last=Paul |date=2001-04-09 |edition=edition 3, release 183 |language=German |type=e-book}}</ref>
<ref name="Paul_2001_CPSwitchFD">{{cite web |title=Changing codepages in FreeDOS |author-first=Matthias |author-last=Paul |date=2001-08-15 |access-date=2016-06-06 |url=http://www.freedos.org/technotes/technote/txt/141.txt |type=Technical design specification based on fd-dev post [http://marc.info/?l=freedos-dev&m=99788711909602&w=2] |dead-url=noyes |archive-url=https://web.archive.org/web/20160606182501/http://www.freedos.org/technotes/technote/txt/141.txt |archive-date=2016-06-06 |quote=[…] 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 (DOS command)|MODE]]). Further, in dealing with [[National Language Support|NLS]] issues, it is important to distinguish between the currently active, the hardware, and the [[primary code page|primary codepage]]s 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 [[Code page 437|437]] for the console, but some European clones have [[Code page 850|850]] stored in the video font ROMs, and I have been told that some Czech [[Color Graphics Adapter|CGA]] and [[Monochrome Display Adapter|MDA]] cards had [[Kamenický encoding|Kamenicky]] codepage 867 (aka [[Wordperfect]] codepage 895) stored in their ROMs. Most printers default to [[Code page 367|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 (CONFIG.SYS directive)|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 [[Hercules Graphics Card|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 MS-DOS|Arabic]] and [[Hebrew MS-DOS|Hebrew]] issues there can be up to 8 codepages for one country […]) […] When you specify a line like: [[DEVICE (CONFIG.SYS directive)|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 code page|prepared codepage]]s 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. […]}}</ref>
<ref name="Paul_2002-09-05">{{citation |title=Technical info on undocumented DOS country info for LCASE, ARAMODE and CCTORC records |author-first=Matthias |author-last=Paul |date=2002-09-05 |publisher=FreeDOS development list fd-dev at Topica |url=http://permalink.gmane.org/gmane.os.freedos.devel/364 |access-date=2016-05-26 |dead-url=noyes |archive-url=https://web.archive.org/web/20160527142512/http://permalink.gmane.org/gmane.os.freedos.devel/364 |archive-date=2016-05-27 }}</ref>
<ref name="Paul_2002-12-04">{{cite web |title=DISPLAY CON: |author-first=Matthias |author-last=Paul |date=2002-12-04 |publisher=FreeDOS development list freedos-dev |url=https://marc.info/?l=freedos-dev&m=103902610816421&w=2 |dead-url=no |access-date=2016-06-07}}</ref>
<ref name="Prosise_1990">{{cite journal |author-first=Jeff |author-last=Prosise |author-link=Jeff Prosise |title=Tutor: Using code pages |journal=[[PC Magazine]] |date=1990-05-15 |pages=327–328 |url=https://books.google.com/books?id=GNYH0lLwKgAC&pg=PT334&lpg=PT334 |access-date=2016-06-09}}</ref>