Karoshi MSX Community

Desarrollo MSX => Desarrollo (Español/Spanish) => Mensaje iniciado por: DRomero en 18 de Mayo de 2011, 05:22:15 pm



Título: Ayudita con las rutinas de decodificacion del teclado please.
Publicado por: DRomero en 18 de Mayo de 2011, 05:22:15 pm
Hola a todos, tengo una pregunta un poquillo rara pero a ver si alguien me puede ayudar u orientar un poco :)

¿Sabeis si sería posible reemplazar las funciones de decodificación del teclado de un MSX2+ las cuales vienen preparadas para teclado japonés, por digamos las equivalentes a un MSX2 con teclado español? ¿Sería algo viable? ¿Se ha echo ya con anterioridad?

He estado investigando un poco la RST #38 pero no consigo localizar exactamente cuales son las  funciones de lectura de la matriz del teclado y que funciones son las que asocian cada tecla a sus respectivos carácteres ASCII.

Es que me gustaría añadir soporte para teclado español al OneChipMSX, bueno la verdad es que casi lo he conseguido, tan sólo me falta una tecla, la dichosa eñe, en su lugar me sale la 'Ç'  ;D

He estado preguntando por msx.org pero por allí nadie me ha contestado en semanas, a ver si por aquí tengo más suerte :)

De echo con averiguar cómo cambiar la Ç por la Ñ ya tendría suficiente, he pensado en reemplazar los bitmaps de las fuentes directamente pero creo que no sería la mejor opción jejeje.

Puedo subir los fuentes y el pof por si alguien se anima a probarlo en la placa Altera DE1.

Venga, muchas gracias de antemano, un saludo.


Título: Re: Ayudita con las rutinas de decodificacion del teclado please.
Publicado por: aorante en 18 de Mayo de 2011, 07:09:16 pm
has mirado en la MSX Assembly Page?

No se si te puede ayudar, pero creo que esta bastante bien documentado el tema del teclado
http://map.grauw.nl/articles/keymatrix.php

A ver si hay suerte  ;)

Saludos!


Título: Re: Ayudita con las rutinas de decodificacion del teclado please.
Publicado por: MsxKun en 18 de Mayo de 2011, 07:44:46 pm
Ains...
Me da que necesitas Nestor Acentos: http://www.konamiman.com/msx/msx-s.html

"NestorAcentos 1.1. Programa residente que permite generar vocales acentuadas y otros carácteres como ñ ¡ ¿ y carácteres gráficos usando la tecla KANA en ordenadores MSX japoneses." (seccion miscelanea)


Título: Re: Ayudita con las rutinas de decodificacion del teclado please.
Publicado por: DRomero en 18 de Mayo de 2011, 09:53:11 pm
Gracias por la ayuda.

El NestorAcentos ya lo conocía, pero lo que yo ando buscando es más bien en implementar de forma nativa en la ROM-BIOS el soporte para teclados en español.

Voy a tratar de explicarme un poquillo mejor.

El OneChipMSX (versíon de caro para placas Altera DE1) viene con las ROMs de un MSX2+ Panasonic FS-A1WSX, son exactamente las mismas ROMs que podemos encontrar en el emulador blueMSX. La BIOS de este MSX, el Panasonic, viene ya configurada con el Japanese Key Matrix.

Mi intención es reemplazar este Key Matrix japonés por el español, el cual es exactamente igual al internacional exceptuando las filas Y1 y Y2.

Que yo sepa, teniendo exactamente el mismo hardware son las rutinas de la BIOS las que deciden la disposición de las teclas y dependiendo de la región la BIOS tendrá un decodificador distinto.

Tengo dos opciones, localizar y modificar el decodificador del teclado de la BIOS del Panasonic, cosa que queda fuera de mi alcance por mis casi nulos conocimientos en ensamblador. O bién encontrar otro MSX2+ que soporte teclado español de forma nativa e intercambiar sus ROMs.

Que yo sepa nunca se fabricó un ordenador así, aunque he localizado uno en blueMSX, se trata del Sony HB-F9S+. Que yo sepa esta máquina no es más que un MSX2 español HB-F9S upgradeado a 2+. Por lo tanto, el decodificador del teclado de esta máquina se supone que es para teclados españoles.

He echo una prueba y he reemplazados la BIOS del OneChipMSX (Panasonic) por las de esta nueva máquina. Y después de hacer las modificaciones pertinentes en los sources del OCM, he conseguido que la disposición del teclado quede de forma nativa y sin necesidad de programas residentes tal que así:

(http://img35.imageshack.us/img35/8124/spanishkeymap.png)

Como veis, ahora el OCM funciona de forma nativa para teclados españoles, peeeero, la único carácter que no está en el Key Matrix de esta BIOS es la eñe, en su lugar viene la Ç.

Mi pregunta o más bién petición de ayuda para vosotros que seguro sabéis mil veces mucho más que yo, es referente a este dichoso carácter Ñ.

¿Hay algua forma de reemplazar en el Key Matrix de esta BIOS la Ç por la Ñ? ¿Existe alguna BIOS que implemente de forma perfecta la decodificación para teclado español? Quizás alguien lo haya echo ya con anterioridad, en una máquina real, upgradear un MSX2 a 2+ y que funcionen las teclas españolas, supongo que añadiendo esas ROMs al OCM el problema quedaría resuelto.

Aunque de momento lo único que he encontrado ha sido el HB-F9S+ y el resultado no es del todo perfecto como podeis ver.

Aquí os dejo el archivo pof por si alguien se anima a probarlo en la Altera DE1 y la BIOS modificada también. Es necesario copiar el archivo BIOS_ES.ROM en la tarjeta de memoria SD para que funcione, porque de momento tampoco he averiguado como editar el HEX del proyecto: http://www.megaupload.com/?d=EJIIER0M

Bueno eso es todo, perdón por el tostón, no se si ahora me habréis entendido mejor, ojalá alguien me pueda orientar un poco.

Muchas gracias por vuestro tiempo.


Título: Re: Ayudita con las rutinas de decodificacion del teclado please.
Publicado por: MsxKun en 18 de Mayo de 2011, 10:10:51 pm
Ya veo.
Valdria con redefinir (en la BIOS) el caracter Ç con el grafico de la Ñ? Parece lo mas simple...
Y digo, para que quieres la Ñ? Vas a escribir libros o chatear con el? :) Curiosidad...


Título: Re: Ayudita con las rutinas de decodificacion del teclado please.
Publicado por: DRomero en 18 de Mayo de 2011, 10:18:48 pm
¿Cambiar el bitmap directamente? Ya se me había ocurrido jejeje, pero no creo que sea la mejor solución, no se, uno espera que al hacer un print chr$(65) le salga una 'A' y no una 'Z' por ejemplo :)

Y bueno, la verdad es que la Ñ no la necesito para nada, más que nada es porque ya que me pongo pues hacer las cosas bien, aunque me imagino que si lo veo muy complicado lo acabaré dejando así tal y como está.

Un saludo :)


Título: Re: Ayudita con las rutinas de decodificacion del teclado please.
Publicado por: SapphiRe_MSX en 18 de Mayo de 2011, 10:30:20 pm
Pero si en el código del firmware del 1chip se puede cambiar directamente la disposición del teclado, no haría falta meterse a nivel de BIOS...


Título: Re: Ayudita con las rutinas de decodificacion del teclado please.
Publicado por: DRomero en 18 de Mayo de 2011, 10:54:02 pm
Me temo que no se puede cambiar la disposición del teclado directamente en los sources, porque eso no existe como tal. Es como en la máquina real, el MSX tiene conectadas 11 filas de 8 teclas, el PPI8255 se encargada de escanear las filas 60 veces por segundo y son las rutinas/funciones de la ROM-BIOS las encargadas de traducir cada tecla a su correspondiente símbolo dependiendo de la región.

Se podría hacer, o incluso añadir otra fila extra Y12 para que incluya algunos carácteres más, pero entonces ya no sería un MSX estándard. Creo que es mucho más fácil y menos problemático modificar la BIOS para que se adapte al hardware, no a la inversa.

Otra preguntilla. ¿Sabeis si existe algún documento escaneado tipo MSX2+ Technical Handbook donde poder buscar las variables del sistema y una descripción de la funciones de la BIOS con sus direcciones y eso? Es que a lo mucho tan solo he encontrado de MSX2, la verdad es que no se si hay mucha variación, me imagino que sí, ya que el 2+ por ejemplo tiene memory mapper de serie y el 2 nope, el 2+ ya no soporta lápiz óptico y el 2 sí, etc. La verdad es que me iría muy bien para intentar moddear yo mismo las ROMs y saber donde poder meter mano.

Muchas gracias.


Título: Re: Ayudita con las rutinas de decodificacion del teclado please.
Publicado por: SapphiRe_MSX en 19 de Mayo de 2011, 12:02:41 am
Me temo que no se puede cambiar la disposición del teclado directamente en los sources, porque eso no existe como tal.

src\peripheral\keymap.vhd

Las tablas hexadecimales que hay en ese fichero son los mapeos de las teclas. Hace un par de años lo miré y acabé descifrando el significado, por lo que sí es posible hacerlo. Si te fijas hay otro fichero con el mapeo para el francés.


Título: Re: Ayudita con las rutinas de decodificacion del teclado please.
Publicado por: SapphiRe_MSX en 19 de Mayo de 2011, 12:51:36 am
Vale, ya lo he vuelto a entender:

Los índices de la tabla se corresponden con los scan codes del teclado PS/2 que se pueden encontrar en http://www.computer-engineering.org/ps2keyboard/scancodes2.html mientras que los valores indican el bit y la línea del teclado del MSX. Por ejemplo, si queremos cambiar la A de sitio, tendríamos que buscar su índice, que es $1C, así que miramos en la tabla y vemos que en esa posición tenemos $62, que se refiere al sexto bit de la línea 2, que es, precisamente la A.

De esta forma, cambiando esas tablas podemos cambiar la disposición del teclado sin necesidad de meternos con la BIOS. Es una solución mucho mejor, ya que así cualquier programa que lea el teclado directamente sin pasar por la BIOS funcionará a la perfección. Si te fijas hay 4 tablas, según el estado de las teclas SHIFT y CTRL. La primera es con las dos teclas sin pulsar, la segunda con CTRL pulsado, la tercera con SHIFT pulsado y la cuarta con CTRL+SHIFT.

Espero que con estas indicaciones puedas crear una versión del firmware para teclados en español, yo es que no tengo el compilador ni experiencia con VHDL.


Título: Re: Ayudita con las rutinas de decodificacion del teclado please.
Publicado por: DRomero en 19 de Mayo de 2011, 04:48:05 am
Si SapphiRe, es como dices, precisamente el array del archivo keymap.vhd es lo único que he modificado :)

El problema está en que aunque ponga el código equivalente a la eñe en esa tabla el OCM me va a poner la Ç en su lugar, ya que es el decodificador de la BIOS el que hace la conversión. Dependiendo de la región de la BIOS cada byte representa un símbolo u otro, los únicos que no suelen variar son los comunes 'A-Z', 'a-z', '0-9', etc, el resto cambia de significado dependiendo de la versión. Esta es la tabla de bytes que entiende el OCM con la BIOS que usa:

Código:
--  bit   7 F   6 E   5 D   4 C   3 B   2 A   1 9   0 8
--       +-----+-----+-----+-----+-----+-----+-----+-----+
-- #FBE5 | 7 & | 6 ^ | 5 % | 4 $ | 3 # | 2 @ | 1 ! | 0 ) |  0
--       +-----+-----+-----+-----+-----+-----+-----+-----+
-- #FBE6 |  Ç  | ] } | [ { | \ | | = + | - _ | 9 ( | 8 * |  1
--       +-----+-----+-----+-----+-----+-----+-----+-----+
-- #FBE7 |  B  |  A  | DEAD| / ? | . > | , < | ; : | ´ " |  2
--       +-----+-----+-----+-----+-----+-----+-----+-----+
-- #FBE8 |  J  |  I  |  H  |  G  |  F  |  E  |  D  |  C  |  3
--       +-----+-----+-----+-----+-----+-----+-----+-----+
-- #FBE9 |  R  |  Q  |  P  |  O  |  N  |  M  |  L  |  K  |  4
--       +-----+-----+-----+-----+-----+-----+-----+-----+
-- #FBEA |  Z  |  Y  |  X  |  W  |  V  |  U  |  T  |  S  |  5
--       +-----+-----+-----+-----+-----+-----+-----+-----+
-- #FBEB |  F3 |  F2 |  F1 | Kana| Caps|Graph| Ctrl|Shift|  6
--       +-----+-----+-----+-----+-----+-----+-----+-----+
-- #FBEC |Enter|Selec|  BS | Stop| Tab | Esc |  F5 |  F4 |  7
--       +-----+-----+-----+-----+-----+-----+-----+-----+
-- #FBED |Right| Down|  Up | Left| Del | Ins | Home|Space|  8
--       +-----+-----+-----+-----+-----+-----+-----+-----+
-- #FBEE | [4] | [3] | [2] | [1] | [0] | [/] | [+] | [*] |  9
--       +-----+-----+-----+-----+-----+-----+-----+-----+
-- #FBEF | [.] | [,] | [-] | [9] | [8] | [7] | [6] | [5] |  A
--       +-----+-----+-----+-----+-----+-----+-----+-----+
-- bit     7 F   6 E   5 D   4 C   3 B   2 A   1 9   0 8




Título: Re: Ayudita con las rutinas de decodificacion del teclado please.
Publicado por: SapphiRe_MSX en 19 de Mayo de 2011, 06:53:23 am
Bueno, si has modificado keymap.vhd entonces con cualquier BIOS te debería leer las teclas que pusiste unos cuantos posts más arriba

(http://img35.imageshack.us/img35/8124/spanishkeymap.png)

¿verdad? Por ejemplo, si la tabla es correcta, ahora sería posible sacar el paréntesis abierto pulsando shift+8 en lugar de shift+9, ¿es así? ¿Con cualquier BIOS?


Título: Re: Ayudita con las rutinas de decodificacion del teclado please.
Publicado por: MsxKun en 19 de Mayo de 2011, 08:53:07 am
LLamadme cazuro, pero sigo pensando que si el MSX que esta emulando no tiene el dibujito de la Ñ en la BIOS para que esta la copie a VRAM, por mas que cambie el codigo VHDL, no va a salirle una Ñ.  ::)


Título: Re: Ayudita con las rutinas de decodificacion del teclado please.
Publicado por: MsxKun en 19 de Mayo de 2011, 09:25:13 am
Ademas, con lo bonito que es decir: Conllo!!


Título: Re: Ayudita con las rutinas de decodificacion del teclado please.
Publicado por: SapphiRe_MSX en 19 de Mayo de 2011, 09:36:40 am
LLamadme cazuro, pero sigo pensando que si el MSX que esta emulando no tiene el dibujito de la Ñ en la BIOS para que esta la copie a VRAM, por mas que cambie el codigo VHDL, no va a salirle una Ñ.  ::)

No, si eso ya lo sé de sobra. A la ñ sólo le veo utilidad si vas a utilizar el msx como un procesador de textos o para conectarte a internet, si no, pues no.

Pero tener el keymap del teclado que le pongamos, eso sí que me interesa bastante :D


Título: Re: Ayudita con las rutinas de decodificacion del teclado please.
Publicado por: aorante en 19 de Mayo de 2011, 11:52:02 am
LLamadme cazuro, pero sigo pensando que si el MSX que esta emulando no tiene el dibujito de la Ñ en la BIOS para que esta la copie a VRAM, por mas que cambie el codigo VHDL, no va a salirle una Ñ.  ::)

Si utiliza la BIOS de un HB-F9S, entiendo que ya incorpora el tileset International, que debería tener la Ñ(164 minus, 165 mayus.) y la Ç (135 minus, 128 mayus.), no?

El problema parece que este más relacionado con la emulación del PPI...


Título: Re: Ayudita con las rutinas de decodificacion del teclado please.
Publicado por: SapphiRe_MSX en 19 de Mayo de 2011, 12:24:36 pm
Si utiliza la BIOS de un HB-F9S, entiendo que ya incorpora el tileset International, que debería tener la Ñ(164 minus, 165 mayus.) y la Ç (135 minus, 128 mayus.), no?

El problema parece que este más relacionado con la emulación del PPI...

No, el problema es que en la matriz de teclado del MSX no existe una tecla que contenga la Ñ de forma explícita, por lo que no hay ninguna forma de sacar la Ñ salvo retocando las rutinas que la BIOS usa para obtener el código ASCII de las teclas pulsadas. Si mal no recuerdo, es con CODE + N como se saca la Ñ en un teclado de MSX no español, ¿no es así? La pena es que no se puede emular la pulsación de varias teclas salvo en el caso de SHIFT o CTRL, si no, sería pan comido.


Título: Re: Ayudita con las rutinas de decodificacion del teclado please.
Publicado por: DRomero en 19 de Mayo de 2011, 03:25:04 pm
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:
(http://img9.imageshack.us/img9/6656/internationald.png)

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:
(http://img46.imageshack.us/img46/5389/spanishargentinian.png)

Y ahora la BIOS del Sony HB-F9S+:
(http://img863.imageshack.us/img863/761/sonyhbf9s.png)

¿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:

(http://img695.imageshack.us/img695/5135/tablaasc.png)

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 :)


Título: Re: Ayudita con las rutinas de decodificacion del teclado please.
Publicado por: SapphiRe_MSX en 19 de Mayo de 2011, 03:32:27 pm
Bien, pero a lo que yo iba es a lo siguiente:

Ahora mismo el paréntesis abierto se consigue pulsando SHIFT + 9, pero los teclados de PC en español tienen el paréntesis en el SHIFT + 8 y eso sí es posible cambiarlo modificando el keymap.vhd.

La idea sería buscar el scan code ps/2 de la tecla 8 y en la tabla donde se pulsa SHIFT cambiar el valor de ese índice (los índices a la tabla son los scan codes de las teclas del PC) para que simule una pulsación de la tecla 9. Con esa idea ya podríamos recolocar la mayoría de los símbolos para adecuarlos al teclado en español de pc y con eso ya tendríamos muchísimo ganado, pues sería independiente de la BIOS.

Obviamente, la Ñ y los acentos son los que nos van a dar problemas y ahí ya habría que entrar en la BIOS, pero hasta ese punto ya tenemos un campo en el que trabajar para usar un teclado en español en el 1chipMSX.


Título: Re: Ayudita con las rutinas de decodificacion del teclado please.
Publicado por: DRomero en 19 de Mayo de 2011, 04:00:52 pm
Efectivamente SapphiRe, es posible arreglar el tema de los paréntesis tan sólo cambiando de lugar un par de bytes en el keymap.vhd, la misma solución es aplicable a unos pocos símbolos más que están descolocados. Todo esto sin necesidad de cambiar de BIOS.

El problema está en que el key matrix internacional (no confundir con la tabla de carácteres o bitmaps) no dispone de la 'Ñ', es necesario una BIOS española para mostrarla.

De echo ya lo tengo todo arreglado y en su lugar, todo funciona, acentos abiertos, acentos cerrados, todos los símbolos están en la posición que deben ocupar, excepto la dichosa Ñ.

Voy a ver si me pongo y le hago un dissasm a la BIOS aunque estoy muy pez con el ensamblador la verdad.


Título: Re: Ayudita con las rutinas de decodificacion del teclado please.
Publicado por: SapphiRe_MSX en 19 de Mayo de 2011, 04:14:57 pm
Efectivamente SapphiRe, es posible arreglar el tema de los paréntesis tan sólo cambiando de lugar un par de bytes en el keymap.vhd, la misma solución es aplicable a unos pocos símbolos más que están descolocados. Todo esto sin necesidad de cambiar de BIOS.

Eso es lo que yo decía que se podía cambiar sin tocar la BIOS.

Citar
El problema está en que el key matrix internacional (no confundir con la tabla de carácteres o bitmaps) no dispone de la 'Ñ', es necesario una BIOS española para mostrarla.

De echo ya lo tengo todo arreglado y en su lugar, todo funciona, acentos abiertos, acentos cerrados, todos los símbolos están en la posición que deben ocupar, excepto la dichosa Ñ.

Bien, pero yo no le daría más vueltas al asunto. La Ñ no la vamos a utilizar salvo si nos conectamos a internet o utilizamos el MSX como un procesador de textos, no le veo suficiente recompensa a todo el esfuerzo que habría que hacer para poder obtener la Ñ.

Pero ese keymap en español sí que resulta interesante, ya que aquí somos unos cuantos con el 1chipMSX. ¿Lo has probado en el original o en la placa DE1?


Título: Re: Ayudita con las rutinas de decodificacion del teclado please.
Publicado por: DRomero en 19 de Mayo de 2011, 04:38:30 pm
No tengo el original, las pruebas son sobre Altera DE1, de echo no se siquiera ni que región usa el OCM original, quizás habría que cambiar algun byte de lugar, no lo sep.

Si me decís que región usa puedo compilarlo yo mismo usando exactamente los mismos parámetros que usa KdL. La verdad es que sin cambiar la BIOS no tiene mucho misterio, cualquiera lo puede hacer, me extraña que nadie lo haya echo antes, más que nada por comodidad a la hora de manejar el teclado en basic o msx-dos por ejemplo :)


Título: Re: Ayudita con las rutinas de decodificacion del teclado please.
Publicado por: SapphiRe_MSX en 19 de Mayo de 2011, 04:42:27 pm
No tengo el original, las pruebas son sobre Altera DE1, de echo no se siquiera ni que región usa el OCM original, quizás habría que cambiar algun byte de lugar, no lo sep.

Si me decís que región usa puedo compilarlo yo mismo usando exactamente los mismos parámetros que usa KdL.

¿Región? ??? ???

Citar
La verdad es que sin cambiar la BIOS no tiene mucho misterio, cualquiera lo puede hacer, me extraña que nadie lo haya echo antes, más que nada por comodidad a la hora de manejar el teclado en basic o msx-dos por ejemplo :)

Yo porque no tengo el compilador de vhdl y jamás he hecho nada con ese lenguaje, pero lo de cambiar el teclado lo llevo años pensando y comentando a gente, pero hasta ahora nadie se había animado.


Título: Re: Ayudita con las rutinas de decodificacion del teclado please.
Publicado por: DRomero en 19 de Mayo de 2011, 04:57:10 pm
Joer me acabo de dar cuenta de que KdL ha actualizado el OCM, ahora es un MSX2+ :)

Voy a bajar los sources y a ver si puedo hacer algo.


Título: Re: Ayudita con las rutinas de decodificacion del teclado please.
Publicado por: SapphiRe_MSX en 19 de Mayo de 2011, 05:30:35 pm
Joer me acabo de dar cuenta de que KdL ha actualizado el OCM, ahora es un MSX2+ :)

Voy a bajar los sources y a ver si puedo hacer algo.

Los sources del firm 3.0 (MSX2+) no están disponibles aún. Los que sí están disponibles son los de la 2.4 (MSX2). Si puedes recompilarlos con un teclado en español (y de paso enviarles el keymap para que lo incluyan en futuras versiones) podríamos probarlo :D


Título: Re: Ayudita con las rutinas de decodificacion del teclado please.
Publicado por: DRomero en 19 de Mayo de 2011, 05:35:17 pm
Ya están también los sources :)

Voy a hacer primero unas pruebas y luego cuelgo la versión compilada. Respecto a enviarles el keymap yo paso, después de estár pidiendo ayuda u orientación por allí nadie se ha dignado siquiera en contestarme en dos semanas. Si se lo quereis enviar vosotros no tengo problema por eso :)

Tampoco quiero llevarme yo el crédito, total, es cambiar unos cuantos bytes de sitio, que se lo envíe otro jejeje.


Título: Re: Ayudita con las rutinas de decodificacion del teclado please.
Publicado por: SapphiRe_MSX en 19 de Mayo de 2011, 05:44:05 pm
¡WOW! Esta mañana aún no estaban... Pues nada, me salto la actualización 2.4 prevista para este finde y voy directamente a por la 3.0 :D


Título: Re: Ayudita con las rutinas de decodificacion del teclado please.
Publicado por: SapphiRe_MSX en 19 de Mayo de 2011, 10:03:51 pm
Me acabo de bajar el Quartus II v11.0, que es con el que se ha compilado el firmware del 1chipMSX. A ver si soy capaz de compilar los sources y obtener el mismo PLD que se distribuye en el paquete y el siguiente paso será cambiar el Keymap (Dromero, si me mandas el archivo que tengas te lo agradezco) y luego a ver qué sucede :D


Título: Re: Ayudita con las rutinas de decodificacion del teclado please.
Publicado por: DRomero en 19 de Mayo de 2011, 10:18:44 pm
Ya está modificado el keymap del ocm de KdL, no he tocado la BIOS y me las he apañado como he podido para relocalizar algunas teclas y que quepa todo el key matrix :)

Cuelgo una fotillo de como quedará la versión final del mapa para si quereis o veis que debería cambiar alguna tecla de lugar me lo digáis antes de compilarlo, a ver que os parece, la verdad es que no se me ha ocurrido forma mejor de hacerlo:

(http://img204.imageshack.us/img204/3063/keymapocmoficial.png)


Título: Re: Ayudita con las rutinas de decodificacion del teclado please.
Publicado por: SapphiRe_MSX en 19 de Mayo de 2011, 10:48:16 pm
Mola mucho el mapa. Creo que están ya todos los símbolos necesarios del teclado de MSX. ¿Vas a compilarlo para el 1chip original o para el DE1?


Título: Re: Ayudita con las rutinas de decodificacion del teclado please.
Publicado por: DRomero en 19 de Mayo de 2011, 10:51:26 pm
Ya está, aquí está el enlace: http://www.megaupload.com/?d=U0OQOUIT

Que conste que no me hago responsable de si se os briquea el OCM, yo no tengo el oficial y no he podido probarlo. De todas formas no creo que pase nada ya que tan sólo he cambiado unos bytes de sitio en un array.

Dentro del archivo están los sources ya modificados, los binarios incluído el pld y también lo que debería ir en la tarjeta de memoria, recordad de copiar antes de nada y después de formatearla el archivo emsx_top.bin. También he incluído una imagen que muestra cómo quedaría el keymap.

Esto es tan sólo para el OCM oficial.

Finalmente no he conseguido reemplazar el símbolo del Yen por el backslah, no he tenido más tiempo de mirarlo mejor pero creo que hay por ahí un hex file que sirve para eso precisamente.

Bueno eso es todo, sigue sin gustarme el sistema, yo preferiría un MSX2+ al 100% en español, seguiré investigando para hacerlo en la DE1 :)

Y bueno, que conste que no tengo mérito alguno por esto, lo de cambiar unos pocos bytes de sitio lo podría haber echo cualquiera :)

Taluego!


Título: Re: Ayudita con las rutinas de decodificacion del teclado please.
Publicado por: SapphiRe_MSX en 19 de Mayo de 2011, 11:21:50 pm
Ya está, aquí está el enlace: http://www.megaupload.com/?d=U0OQOUIT

Aún no me deja descargar.

Citar
Que conste que no me hago responsable de si se os briquea el OCM, yo no tengo el oficial y no he podido probarlo. De todas formas no creo que pase nada ya que tan sólo he cambiado unos bytes de sitio en un array.

No creo que pase nada. Primero voy a comparar este fichero con el original, sólo deberían cambiar algunos bytes en la posición de la tabla... En cuanto podamos lo probaremos en el 1chip original...


Título: Re: Ayudita con las rutinas de decodificacion del teclado please.
Publicado por: SapphiRe_MSX en 19 de Mayo de 2011, 11:34:00 pm
Hmmm... la mitad del fichero está lleno de FF, mientras que eso no sucede en los .pld originales...

...es como si faltase la BIOS...


Título: Re: Ayudita con las rutinas de decodificacion del teclado please.
Publicado por: DRomero en 19 de Mayo de 2011, 11:41:00 pm
Ah pues que raro, he sintetizado sin errores y luego he usado el pof2pld para hacer la conversión.

De todas formas si te quieres asegurar tienes los sources listos para compilar (sintetizar) :)

Y si te quieres asegurar aún más, puedes bajarte el archivo original de la web de KDL y reemplazar únicamente el keymap.vhd para ver si sale distinto.

No creo que haya metido la pata pero bueno, tampoco pondría la mano en el fuego, de ahí que avisase antes del riesgo de brick XD

Ya me contarás como te ha ido :)


Título: Re: Ayudita con las rutinas de decodificacion del teclado please.
Publicado por: SapphiRe_MSX en 20 de Mayo de 2011, 12:07:19 am
Boh... tengo el disco duro completamente lleno y no puedo instalarme el Quartus II, a ver si elimino cosas inútiles por aquí...


Título: Re: Ayudita con las rutinas de decodificacion del teclado please.
Publicado por: SapphiRe_MSX en 20 de Mayo de 2011, 08:53:12 am
Desisto. Después de limpiar el disco duro y sufrir una instalación larga y pesada, no consigo hacerme con el Quartus II. Lo mío sigue siendo el ensamblador.


Título: Re: Ayudita con las rutinas de decodificacion del teclado please.
Publicado por: DRomero en 20 de Mayo de 2011, 10:30:04 am
Que problema tienes SapphiRe? Yo tampoco se mucho pero al igual te puedo echar un cable.


Título: Re: Ayudita con las rutinas de decodificacion del teclado please.
Publicado por: SapphiRe_MSX en 20 de Mayo de 2011, 11:40:01 am
Da igual. He encontrado bugs en la versión 3.0 del firmware y ya se los he comunicado a KdL en un correo electrónico. A ver si los arregla y de paso incluye el keymap en español...

-Los cartuchos no se reconocen tras el primer arranque.
-La tecla pausa para el sistema, pero no lo vuelve a la vida.

El primero es pasable, pero el segundo jode mucho...


Título: Re: Ayudita con las rutinas de decodificacion del teclado please.
Publicado por: SapphiRe_MSX en 22 de Mayo de 2011, 11:17:39 am
KdL me ha enviado un pld con el keymap en español, esta tarde toca probarlo y os comento... Los créditos del keymap son de DRomero, eso se lo he dejado claro, asi que ai funciona saldrá en los futuros packs dando crédito a quien lo ha hecho.


Título: Re: Ayudita con las rutinas de decodificacion del teclado please.
Publicado por: DRomero en 22 de Mayo de 2011, 01:01:10 pm
Mola :)

Aunque no hacía falta lo de los créditos hombre, si total, ha sido cambiar de lugar un par de bytes, me da hasta un poquillo de corte y todo XD

Yo sigo encabezonado en lo mío, de momento ya tengo localizada las rutinas de conversión del teclado y las tablas en la BIOS, he encontrado un ebook por ahí que me ha ayudado bastante, el MSX BIOS Book, así que ya mismo tendré mi OCM con sus eñe y acentos :)

Un saludo.