Vamos a ver que esta mañana he posteado casi sin tiempo porque tenía que irme al curro y no he podido decir todo lo que quería
Lo primero que quería decir esta mañana es que sí, que lo que hay que modificar es el archivo keymap.vhd, respecto a los índices lo que dices también es correcto SapphiRe. Pero ese array de 1024 bytes que hay en keymap.vhd NO contiene scan codes, el MSX no entiende lo que es un scan code de un teclado PS/2, esos bytes representan códigos Key Matrix del sistema MSX. Ya se que tu no has dicho que sean scan codes pero quería dejarlo claro por si acaso
Otra aclaración es que el juego de carácteres del MSX es de 7 bits, y el octavo bit o más alto es el que indica si estamos pulsando Shift o no. Este byte resultante es el que se coloca en el índice correspondiente a cada tecla.
Ahora bien, ha de haber una tabla de conversión por algún lado, ya que existen diferentes regiones que usan distintos símbolos. Ésta tabla de conversión está codificada en la BIOS del MSX, y dependiendo de la BIOS, ésta hará la conversión partiendo de una tabla u otra, os pongo unos ejemplos.
BIOS internacional:
Que yo sepa sí que hay modelos MSX con su tecla Ñ la cual sale de forma explícita sin tener que pulsar CODE, creo que son todos los modelos españoles y argentinos
BIOS española/argentina, que es exactamente igual que el internacional exceptuando las filas 1 y 2:
Y ahora la BIOS del Sony HB-F9S+:
¿Veis lo que no cuadra ahora? el símbolo 'Ç' debería ser 'Ñ'.
Por supuesto que un MSX2+ en español no existe, este modelo lo saqué del blueMSX, y yo juraría que es un F9S upgradeado a 2+ por los chicos de blueMSX, aunque no estoy seguro. Lo que sí es cierto es que es el modelo que más cercano está de ser un MSX2+ en español, aunque sólo exista en un emulador.
Luego por supuesto también que el bitmap de la 'Ñ' está includído en la bios, si encendeis el blueMSX y probáis la máquina de la que estamos hablando lo veréis:
Para finalizar he de decir que NO con cualquier BIOS se muestran exactamente los mismos carácteres en pantalla, ni aún modificando el keymap.vhd, ojalá fuera tan fácil jejeje.
El source del OCM está bien, la verdad es que no hay que tocar nada ni hacer experimentos extraños, tan sólo hay que cambiar algunos bytes en un array y ya está, eso es lo primero que hice.
Hace unos días estube hablando con caro por mail y me dijo que la única forma de solucionar esto era parcheando la BIOS reemplazando el decodificador del teclado por el de una BIOS española.
Es por eso que os preguntaba en mi primer post si alguien sabía como funcionaba el RST#38 respecto a la decodificación del teclado y si sabíais donde podía localizar exactamente esa rutina para intentar cambiar la 'Ç' por la 'Ñ', que es lo único que de momento me falla. Los sources del ocm no hay que tocarlos, ya he echo todo lo que tenía que hacer ahí, los tiros van por la BIOS
Siento haberme alargado tanto jeje, un saludete y a ver si me pongo y escaneo el segundo libro que me falta por subir que se que hay alguno que lo está esperando
Muchas gracias a todos por vuestro tiempo y ayuda