En informática, una página de códigos de hardware ( HWCP ) se refiere a una página de códigos admitida de forma nativa por un dispositivo de hardware, como un adaptador de pantalla o una impresora . Los glifos para presentar los caracteres se almacenan en la memoria de sólo lectura residente del generador de caracteres alfanuméricos (como ROM o flash) y, por lo tanto, el usuario no puede modificarlos. [1] [2] [3] Están disponibles para que los utilice el sistema sin tener que cargar ninguna definición de fuente en el dispositivo primero. Los mensajes de inicio emitidos por el BIOS del sistema de una PC o mostrados por un sistema operativo antes de inicializar su propia lógica de cambio de página de códigos y administración de fuentes y antes de cambiar al modo de gráficos se muestran en la página de códigos de hardware predeterminada de una computadora .
En las PC compatibles con IBM de América del Norte , la página de códigos de hardware del adaptador de pantalla suele ser la página de códigos 437 . [4] Sin embargo, varias máquinas portátiles [5] [6] [7], así como PC de Europa (oriental), árabe, de Medio Oriente y Asia, utilizaron otras páginas de códigos como página de códigos de hardware, [1] incluido el código. página 100 ("hebreo"), [8] 151 ("árabe Nafitha"), [9] 667 (" Mazovia "), [1] [10] 737 ("griego"), 850 ("multilingüe"), [ 7] [nb 1] codificaciones como " Roman-8 ", [5] [6] " Kamenický ", [1] [10] [11] " KOI-8 ", " MIK ", [10] y otras. La mayoría de los adaptadores de pantalla solo admiten una única página de códigos de hardware de 8 bits. [1] Los mapas de bits a menudo se almacenaban en una EPROM [12] [13] [4] en un socket DIP . [4] Como máximo, la página de códigos de hardware que se activaría era seleccionable por el usuario mediante puentes , [14] configuración de EEPROM [5] [6] o configuración de CMOS . [15] Sin embargo, algunos de los adaptadores de pantalla diseñados para PC de Europa del Este, árabes y hebreas admitían múltiples páginas de códigos de hardware conmutables por software , también denominadas páginas de fuentes , [1] seleccionables a través de puertos de E/S [4] o funciones BIOS adicionales. [12] [13]
En contraste con esto, las impresoras frecuentemente admiten varios juegos de caracteres intercambiables por el usuario, que a menudo incluyen varias variantes de los juegos de caracteres ISO/IEC 646 de 7 bits , como la página de códigos 367 (" ISO/IEC 646-US / ASCII " [1] ). , a veces también un par de páginas de códigos de 8 bits como la página de códigos 437 , [10] [16] [17] 850 , [10] [16] [17] 851 , [10] 852 , [10] [18] 853 , [19] 855 , [10] [18] 857 , [19] 860 , [10] [16] [17] 861 , [17] 863 , [10] [16] [17] 865 , [10] [ 16] [17] y 866 . [10] [18] [20] [21] Las impresoras para los mercados de Europa del Este o Medio Oriente a veces admiten otras páginas de códigos de hardware locales específicos para elegir. Se pueden seleccionar mediante interruptores DIP o menús de configuración en la impresora, o mediante secuencias de escape específicas . [1] [nota 2]
Cuando los sistemas operativos inicializan su lógica de cambio de página de códigos, necesitan saberlo, pero no tienen medios para determinar por sí mismos la página de códigos de hardware previamente activa. Por lo tanto, para que el cambio de página de códigos funcione correctamente, es necesario especificar la página de códigos de hardware. [1] [22] [23] [24]
En DOS y Windows 9x, esto se logra especificando la página de códigos de hardware como parámetro (hwcp) para los controladores de dispositivo DISPLAY.SYS e PRINTER.SYS en CONFIG.SYS :
DEVICE=…\DISPLAY.SYS CON=(type,hwcp,n|(n,m))
[1] [2] [22] [23] [24] [25] [26]DEVICE=…\PRINTER.SYS PRN=(type,hwcp,n)
[1] [22] [23] [24] [25] [26]Si se admiten varias páginas de códigos de hardware en ediciones OEM, la primera página de códigos de hardware (hwcp1) de la lista especifica la página de códigos de hardware predeterminada:
DEVICE=…\DISPLAY.SYS CON=(type,(hwcp1,hwcp2,…),n|(n,m))
[9]DEVICE=…\PRINTER.SYS PRN=(type,(hwcp1,hwcp2,…),n)
[9]Si no se especifica ninguna página de códigos de hardware, estos controladores utilizan de forma predeterminada una página de códigos ficticia número 999 [1] [23] [24] o asumen que la página de códigos de hardware es igual a la página de códigos principal (la primera página de códigos enumerados en los archivos COUNTRY.SYS para un país en particular [27] con el código de país especificado en la directiva CONFIG.SYS COUNTRY o que se supone que es el valor predeterminado interno del sistema operativo, generalmente 1 (EE. UU.) en las versiones occidentales de DOS). [1] En muchos países de habla inglesa, la página de códigos principal es 437 (fe en los EE. UU.) o 850 (fe en el Reino Unido, Irlanda y Canadá), [23] [24] de modo que, sin especificar un código diferente página, el sistema a menudo asumiría que una de estas también es la página de códigos de hardware predeterminada del dispositivo correspondiente. [1]
Si una página de códigos de hardware no coincide con una de las que tienen asignaciones de páginas de códigos oficiales, un número arbitrario del rango 57344–61439 (E000h–EFFFh) para páginas de códigos definibles por el usuario o 65280–65533 (FF00h–FFFDh) para códigos de uso privado Las páginas podrían especificarse según IBM CDRA para darle al sistema operativo un "identificador" no conflictivo para seleccionar esa página de códigos.
Los MS-DOS árabe y hebreo no utilizan DISPLAY.SYS ni PRINTER.SYS, pero proporcionan funciones similares utilizando ARABIC.COM, HEBREW.COM y SK_HGC.COM. [9]
Las páginas de códigos de hardware también son páginas de códigos OEM . La designación "OEM", para " fabricante de equipos originales ", indica que el fabricante podría cambiar el conjunto de caracteres para satisfacer diferentes mercados. [28] [29]
Sin embargo, las páginas de códigos OEM no residen necesariamente en la ROM, sino que incluyen las llamadas páginas de códigos preparadas, [2] [25] (también conocidas como juegos de caracteres descargables o fuentes descargables ), juegos de caracteres cargados como fuentes rasterizadas en la RAM de fuentes de los adaptadores de pantalla adecuados. (como Sirius 1 / Victor 9000 , [30] NEC APC , [31] HP 100LX / 200LX / 700LX , [15] Adaptador de color BoB de Persyst , [32] HGC+ de Hercules , [33] [13] [34] InColor [33] [35] y Network Plus [36] [37] con RAMFONT , y MCGA de IBM , [33] [38] [13] EGA , [38] [13] VGA , [38] [13] , etc. ) y también impresoras. [39] [40] [41] [42] [43] Por lo tanto, el grupo de páginas de códigos OEM es un superconjunto de páginas de códigos de hardware.
ESC R (n)
(n) = 0..254 un código asociado con conjuntos de caracteres específicos. La gama de códigos admitidos depende del modelo de impresora y de las opciones de fuentes instaladas.[…] La […] página de códigos activa del sistema […] a veces también llamada página de códigos global […] es la página de códigos actualmente en uso para el kernel de DOS ; por ejemplo, el orden de clasificación y otras tablas I18N dependen de esta página de códigos. Si bien en la mayoría de los casos la página de códigos del sistema refleja la página de códigos utilizada para dispositivos como la consola (DISPLAY.SYS), las impresoras (PRINTER.SYS) y el teclado ( KEYB.COM ), esto no es un requisito ya que existen medios para cambiar la página de códigos individual. páginas de códigos del dispositivo sin cambiar la página de códigos del sistema (por ejemplo, usando MODE ). Además, al abordar problemas de NLS , es importante distinguir entre las páginas de códigos actualmente activas, el hardware y las principales para cualquier dispositivo y/o sistema. La página de códigos de hardware es la página de códigos predeterminada admitida por un dispositivo después de la inicialización del hardware. Normalmente el valor predeterminado es 437 para la consola, pero algunos clones europeos tienen 850 almacenados en las ROM de fuentes de video, y me han dicho que algunas tarjetas checas CGA y MDA tenían la página de códigos Kamenicky 867 (también conocida como página de códigos Wordperfect 895) almacenada en sus ROM. La mayoría de las impresoras tienen el valor predeterminado 367 ( ISO-646-US de 7 bits) o 437 al encenderse, y la página de códigos predeterminada del sistema, o global, para el sistema es siempre 437 en DR-DOS […] pero en MS-DOS / PC. DOS refleja la entrada de la página de códigos en PAÍS = país, página de códigos, especificación de archivo donde debe ser una de las páginas de códigos válidas para el país dado según la especificación del archivo COUNTRY.SYS; esto es 437 (u 850 en sistemas más nuevos) en la mayoría de los casos, pero no necesariamente. El país predeterminado es 1 (EE.UU.), la especificación de archivo predeterminada es "\COUNTRY.SYS" y, si no se encuentra ninguna especificación de archivo, el sistema funcionará con los datos preinicializados estáticamente en el kernel, que son los datos de EE.UU. en la mayoría de los casos. . Si no se proporciona ninguna página de códigos con PAÍS, el BIOS de DOS buscará la primera entrada de página de códigos para un país determinado (o 1), esto se denomina página de códigos primaria. El valor de página de códigos de 0 se utiliza internamente para recuperar esta página de códigos y para los analizadores de archivos COUNTRY.SYS en el BIOS de DOS y NLSFUNC., un valor de página de códigos de cero significa "coincidir con cualquier página de códigos, lo que ocurra primero para el código de país dado". Por lo tanto, depende del orden de las entradas de la página de códigos en el archivo COUNTRY.SYS si el sistema utilizará de forma predeterminada 437, 850 u otra cosa. […] Sin embargo, algunas tarjetas HGC y CGA en árabe y hebreo tienen múltiples fuentes de hardware, las llamadas páginas de fuentes, […] de modo que un dispositivo puede admitir múltiples páginas de códigos de hardware al mismo tiempo. Las funciones de página de fuentes correspondientes son INT 2Fh/AD41h e INT 2Fh/AD42h. […] COUNTRY.SYS y KEYBOARD.SYS contienen sólo dos entradas de página de códigos para un país determinado en las ediciones occidentales de DOS. (En las ediciones árabe y hebrea puede haber hasta 8 páginas de códigos para un país […]) […] Cuando especifica una línea como: DEVICE =…\display.sys con=(ega,437,1) […] DISPLAY Se le dice a .SYS que se debe asumir que 437 es la página de códigos de hardware del adaptador de pantalla. Es necesario que DISPLAY.SYS sepa esto porque utilizará diferentes mecanismos para cambiar a las páginas de códigos preparadas por software y a la página de códigos de hardware, y no hay forma de recuperar la información sobre la página de códigos de hardware por sí sola. Cuando la página de códigos solicitada es igual a la página de códigos de hardware declarada aquí, DISPLAY.SYS utilizará el método para cambiar a la página de códigos de hardware; de lo contrario, intentará buscar la información de la fuente en su búfer interno. […](NB. Basado en la publicación de fd-dev [1].)
[…] La lectura desde el puerto 03BAh devuelve sincronización vertical en el bit 7 y una identificación de tarjeta en los bits 6-4: 000: Hercules, 001: Hercules Plus, 101: Hercules InColor, 111: Clon desconocido […] Una tarjeta […] que parece ser un clon de Hercules de origen de Europa del Este, tiene una capacidad adicional: dos fuentes ROM, seleccionables en el software. Estas opciones se controlan de manera similar a otras funciones extendidas en Hercules: el bit 2 del puerto 3BFh debe configurarse para habilitar la función y luego el bit 4 del puerto 3B8h selecciona qué fuente usar. La identificación de la tarjeta en los bits 6-4 del puerto 03BAh tiene los tres bits configurados. […]
El juego de caracteres
HP 95LX
equivale a
la página de códigos 850
, el
juego de caracteres multilingüe
de IBM PC
. (Tenga en cuenta que su HP 95LX contiene
MS-DOS 3.22
, que no admite
el cambio de página de códigos
). Todas las aplicaciones de HP 95LX usan este conjunto excepto
1-2-3
, que usa
LICS
, el
conjunto de caracteres internacional de Lotus
. La mayoría de los caracteres LICS están incluidos en la página de códigos 850; los pocos que no lo son no se mostrarán […] Si su HP 95LX no puede mostrar […] o si su impresora no puede imprimir un carácter LICS, el HP 95LX usa una presentación alternativa para ese carácter […] si usa el
símbolo
©
y su impresora no puede imprimirlo, la HP 95LX puede mostrar
(c)
o
c
como presentación alternativa (dependiendo de las capacidades de su impresora).
Su computadora de mano admite
las páginas de códigos 850
y
437
. Las aplicaciones integradas (excepto
1-2-3
) y las aplicaciones compatibles con
System Manager
[…] utilizan la página de códigos 850. […] Cualquier aplicación de DOS que cargue y ejecute utilizará de forma predeterminada la página de códigos 437. Si una aplicación requiere código página 850, puede seleccionarlo usando la utilidad de configuración.