Buenas!
Pues quería exponer un caso rarillo que me he encontrado con un clónico 286, que tiene todo incorporado en placa.
Resulta que debió de derramarse ácido de la pila por la placa y quedó un poco maltrecha, pero tras limpiarlo todo y comprobar las pistas, parece que están bien (salvo una que no tenía continuidad entre dos puntos y lo arreglé con un puente).
El caso es que al encenderlo, parece que funciona. Se oye ese "clik-clik-clik" de cuando testea la RAM y el pitido de después y lee disquetes bien.
Lleva una gráfica CGA incorporada, y ningún slot de ningún tipo (ni ISA ni nada). Y el problema viene cuando sale la imagen por pantalla. Tras analizarla se ve perfectamente que el mapa de caracteres está "loco", digamos que se cambian unos por otros, aunque esto no afecte a su funcionamiento, ya que yendo "a ciegas" se puede arrancar desde un disquete, ejecutando comandos a ciegas se ve como cambia de una cosa a otra... En fin, este es el patrón que muestra mientras arranca:
Tal como indico en la imagen, se ve cómo ciertos caracteres o grupos de catacteres deberían ser en realidad otros. El carácter de "sin caracter" de fondo, son todo letras "í", los números parecen ser los caracteres de relleno con tramado, etc. Los colores van bien. Si arrancas un disquete con el EDIT de MSDOS por ejemplo, se reconoce perfectamente, con el fondo azul, los menús en gris, etc.
Si quito de la placa lo que creo que es la ROM de la CGA (TM2307A), el ordenador sigue funcionando perfectamente, pero sólo se ve el cursor parpadeando, en la posición que le toque, no se imprime ningún caracter en pantalla. El resto va bien. Es más, he sustituido esa ROM por la de una CGA ISA que tenía por aquí y funciona, sale el mismo patrón que en la imagen, solo que con un tipo de letra ligeramente distinto. Vamos, que más o menos ya se ve lo que ocurre.
Creo que podría quedar alguna pista mal, alguna "via" de las que van de lado a lado de la placa que esté rota, etc, de las que van a la ROM de la gráfica, o a la RAM de la gráfica o a algún integrado relacionado. Lo que pasa es que tras un par de repasos no lo he encontrado.
Algún consejo sobre qué mirar? alguna línea de datos, de dirección, etc... en concreto?
Gracias!
Problema con imagen (ROM caracteres?) en un 286 clónico
- zup
- Amiga 2500
- Mensajes: 3013
- Registrado: 04 Sep 2009, 20:07
- Sistema Favorito: Spectrum 16Kb/48Kb
- primer_sistema: Spectrum 16Kb/48Kb
- consola_favorita: Nintendo DS/3DS
- Primera consola: Nintendo GameBoy
- Ubicación: Navarra
- Gracias dadas: 86 veces
- Gracias recibidas: 360 veces
- Contactar:
Re: Problema con imagen (ROM caracteres?) en un 286 clónico
Teoría loca del día...
¿Seguro que es la ROM de caracteres? Si fuera la ROM de la CGA, entonces no solo estaría corrupto el juego de caracteres sino también la BIOS (a menos que lo que falle sean los bytes de algún puntero en la BIOS) y eso creo que debería provocar algún otro tipo de fallo al arrancar o usar llamadas a la BIOS (cuelgues).
¿Podría ser la RAM de la CGA? ¿Es posible que al escribir sobre la RAM de la CGA haya alguna línea "atascada" o al leer se lean datos erróneos? Si los datos que se leen de la VRAM son incorrectos, entonces el 6845 generará caracteres incorrectos.
PRUEBA 1: Haz un disco de arranque que escriba el juego de caracteres completo a pantalla, y mira los resultados. Esto no debería funcionar.
PRUEBA 2: Haz un disco de arranque que escriba bytes a la VRAM y luego los lea... para ver si lo que lee la CPU es lo mismo que lo que escribe.
PRUEBA 3: Haz un disco de arranque que pase a modo gráfico, vacíe la pantalla y luego la intente llenar. ¿Hay patrones repetitivos en pantalla? Si los hay, la VRAM está "tocada" y eso es lo que hace que los caracteres sean erróneos.
¿Seguro que es la ROM de caracteres? Si fuera la ROM de la CGA, entonces no solo estaría corrupto el juego de caracteres sino también la BIOS (a menos que lo que falle sean los bytes de algún puntero en la BIOS) y eso creo que debería provocar algún otro tipo de fallo al arrancar o usar llamadas a la BIOS (cuelgues).
¿Podría ser la RAM de la CGA? ¿Es posible que al escribir sobre la RAM de la CGA haya alguna línea "atascada" o al leer se lean datos erróneos? Si los datos que se leen de la VRAM son incorrectos, entonces el 6845 generará caracteres incorrectos.
PRUEBA 1: Haz un disco de arranque que escriba el juego de caracteres completo a pantalla, y mira los resultados. Esto no debería funcionar.
PRUEBA 2: Haz un disco de arranque que escriba bytes a la VRAM y luego los lea... para ver si lo que lee la CPU es lo mismo que lo que escribe.
PRUEBA 3: Haz un disco de arranque que pase a modo gráfico, vacíe la pantalla y luego la intente llenar. ¿Hay patrones repetitivos en pantalla? Si los hay, la VRAM está "tocada" y eso es lo que hace que los caracteres sean erróneos.
I have traveled across the universe and through the years to find Her. Sometimes going all the way is just a start.
Además vendo cosas!
Además vendo cosas!
Re: Problema con imagen (ROM caracteres?) en un 286 clónico
Mi commodore 8032 presentaba un problema parecido y era la memoria de video.
- jltursan
- Amiga 2500
- Mensajes: 4028
- Registrado: 13 Oct 2006, 19:45
- Sistema Favorito: MSX
- primer_sistema: Dragon
- Ubicación: Serracines, Madrid, España
- Gracias dadas: 57 veces
- Gracias recibidas: 157 veces
- Contactar:
Re: Problema con imagen (ROM caracteres?) en un 286 clónico
Trata de buscar algún patrón de reemplazo en los carácteres. Si veo bien, el blanco se está sustituyendo por una "i acentuada" de algún tipo, eso tiene pinta de que algún bit alto está atascado a uno. A ver si encuentras algún otro reemplazo que cumpla lo mismo...
- na_th_an
- Amiga 1200
- Mensajes: 1273
- Registrado: 10 Oct 2012, 11:17
- Sistema Favorito: (Otro)
- primer_sistema: Spectrum +2
- consola_favorita: Sony PlayStation 1
- Primera consola: Sega Master System
- Gracias dadas: 18 veces
- Gracias recibidas: 15 veces
Re: Problema con imagen (ROM caracteres?) en un 286 clónico
Sí, es un bit alto.
Si te fijas, has dicho que los patrones de tramas representan a los números, tal y como los has tecleado. El código de uno de ellos es 176, en binario 10110000. Si le quitas el 1 más significativo, se queda en 00110000, que es 48, el código del "0". Parece como si el bit 7 de los datos siempre estuviese a 1.
Puede que haya más bits chungos... La í tiene código 161 en la CP 437. Para transformar un espacio en una í hay que sumarle al código 161 - 32 = 129, o sea, el bit 7 y el bit 0 a 1. Eso significa que el patrón 177 en realidad es el que representa al 0.
Esto no parece afectar a los atributos, que están intercalados en memoria con los caracteres, porque el atributo activo es el 7, o sea, 00000111. El bit 0 se queda igual, y el bit 7 creo que es ignorado por la CGA (no lo recuerdo, en la VGA sirve para parpadear o para la intensidad del segundo plano)
Mirando la CP 437 y con un poco de prueba (escribe letas ABCDE y comprueba lo que sale) podrás encontrar el patrón de bits chungos, que creo que es 129. http://es.wikipedia.org/wiki/P%C3%A1gin ... 3digos_437
Si te fijas, has dicho que los patrones de tramas representan a los números, tal y como los has tecleado. El código de uno de ellos es 176, en binario 10110000. Si le quitas el 1 más significativo, se queda en 00110000, que es 48, el código del "0". Parece como si el bit 7 de los datos siempre estuviese a 1.
Puede que haya más bits chungos... La í tiene código 161 en la CP 437. Para transformar un espacio en una í hay que sumarle al código 161 - 32 = 129, o sea, el bit 7 y el bit 0 a 1. Eso significa que el patrón 177 en realidad es el que representa al 0.
Esto no parece afectar a los atributos, que están intercalados en memoria con los caracteres, porque el atributo activo es el 7, o sea, 00000111. El bit 0 se queda igual, y el bit 7 creo que es ignorado por la CGA (no lo recuerdo, en la VGA sirve para parpadear o para la intensidad del segundo plano)
Mirando la CP 437 y con un poco de prueba (escribe letas ABCDE y comprueba lo que sale) podrás encontrar el patrón de bits chungos, que creo que es 129. http://es.wikipedia.org/wiki/P%C3%A1gin ... 3digos_437
Última edición por na_th_an el 21 Feb 2014, 21:33, editado 1 vez en total.
- JoJo
- Amiga 1200
- Mensajes: 1067
- Registrado: 03 Feb 2008, 22:45
- Sistema Favorito: PC
- primer_sistema: PC
- consola_favorita: Nintendo SNES
- Primera consola: (Otro)
- Gracias dadas: 29 veces
- Gracias recibidas: 87 veces
Re: Problema con imagen (ROM caracteres?) en un 286 clónico
Sep, suena a memoria de video o sus buses asociados...
- Quest
- Atari 1040 STf
- Mensajes: 900
- Registrado: 18 Jul 2013, 22:20
- Sistema Favorito: Commodore Amiga
- primer_sistema: Spectrum 16Kb/48Kb
- consola_favorita: Nintendo SNES
- Primera consola: Nintendo NES/Clónica
- Gracias dadas: 9 veces
- Gracias recibidas: 16 veces
Re: Problema con imagen (ROM caracteres?) en un 286 clónico
Muchas gracias por la ayuda! 
He hecho pruebas según los comentarios que me habéis hecho. El patrón creo que ya lo tengo.
Seguí la sugerencia de hacerme un disquete de arranque que imprimiera la tabla ASCII en pantalla. Aquí están las capturas. Primero la de la tabla ejecutada en un ordenador que va bien (bueno, una ventana de DOSBOX
):
Aquí la misma tabla ejecutada en el 286 averiado:
Como se puede ver, ya de forma más clara, hay efectivamente varios bits mal. Según las pruebas de muestra que he hecho:
El patrón parece ser: 1xxxx001
Parece que hay 4 bits siempre fijados, independientemente de lo que valgan en realidad.
Ahora toca ver qué mirar en placa. Ya se que normalmente no indica nada, pero por probar si variaba algo, he montado en "mochila" chips de VRAM 41464 iguales a los que hay en la placa, encima. Nada varía. No es que signifique nada, pero me esperaba ver algún cambio...
Qué me recomendáis probar primero? En esta placa he visto que no es nada fácil seguir la ruta de algunas pistas...

He hecho pruebas según los comentarios que me habéis hecho. El patrón creo que ya lo tengo.
Seguí la sugerencia de hacerme un disquete de arranque que imprimiera la tabla ASCII en pantalla. Aquí están las capturas. Primero la de la tabla ejecutada en un ordenador que va bien (bueno, una ventana de DOSBOX

Aquí la misma tabla ejecutada en el 286 averiado:
Como se puede ver, ya de forma más clara, hay efectivamente varios bits mal. Según las pruebas de muestra que he hecho:
El patrón parece ser: 1xxxx001
Parece que hay 4 bits siempre fijados, independientemente de lo que valgan en realidad.
Ahora toca ver qué mirar en placa. Ya se que normalmente no indica nada, pero por probar si variaba algo, he montado en "mochila" chips de VRAM 41464 iguales a los que hay en la placa, encima. Nada varía. No es que signifique nada, pero me esperaba ver algún cambio...
Qué me recomendáis probar primero? En esta placa he visto que no es nada fácil seguir la ruta de algunas pistas...
- zup
- Amiga 2500
- Mensajes: 3013
- Registrado: 04 Sep 2009, 20:07
- Sistema Favorito: Spectrum 16Kb/48Kb
- primer_sistema: Spectrum 16Kb/48Kb
- consola_favorita: Nintendo DS/3DS
- Primera consola: Nintendo GameBoy
- Ubicación: Navarra
- Gracias dadas: 86 veces
- Gracias recibidas: 360 veces
- Contactar:
Re: Problema con imagen (ROM caracteres?) en un 286 clónico
Intenta escribir y leer bytes. Así podrás saber si el problema está entre la CPU y la RAM o la RAM y el CRTC.
I have traveled across the universe and through the years to find Her. Sometimes going all the way is just a start.
Además vendo cosas!
Además vendo cosas!
- Quest
- Atari 1040 STf
- Mensajes: 900
- Registrado: 18 Jul 2013, 22:20
- Sistema Favorito: Commodore Amiga
- primer_sistema: Spectrum 16Kb/48Kb
- consola_favorita: Nintendo SNES
- Primera consola: Nintendo NES/Clónica
- Gracias dadas: 9 veces
- Gracias recibidas: 16 veces
Re: Problema con imagen (ROM caracteres?) en un 286 clónico
Por lo pronto estaba pasandole el Checkit "medio a ciegas", sabiendo las posiciones de los menús. Y tras pasar el test de vídeo, y ver los errores en los primeros tests con caracteres.. aparece esto:
Así que parece que la memoria funciona, no..?
He ejecutado de paso Goody y alley cat
Eso sí, se ve como algúnas líneas verticales son algo "inestables". Parpadean un poco.
Y en el modo de texto, aunque no se puede apreciar en las fotos y se me olvidó comentarlo, algunos de los caracteres "vibran" un poco, cambian ligeramente de forma con un parpadeo. Parece que a veces cuando la disquetera está leyendo vibran un poco más...
A seguir investigando...
Así que parece que la memoria funciona, no..?
He ejecutado de paso Goody y alley cat

Eso sí, se ve como algúnas líneas verticales son algo "inestables". Parpadean un poco.
Y en el modo de texto, aunque no se puede apreciar en las fotos y se me olvidó comentarlo, algunos de los caracteres "vibran" un poco, cambian ligeramente de forma con un parpadeo. Parece que a veces cuando la disquetera está leyendo vibran un poco más...
A seguir investigando...
- jltursan
- Amiga 2500
- Mensajes: 4028
- Registrado: 13 Oct 2006, 19:45
- Sistema Favorito: MSX
- primer_sistema: Dragon
- Ubicación: Serracines, Madrid, España
- Gracias dadas: 57 veces
- Gracias recibidas: 157 veces
- Contactar:
Re: Problema con imagen (ROM caracteres?) en un 286 clónico
Mi conocimiento de la arquitectura de un XT se queda ahí; pero parece evidente que la memoria de video está bien y que debe tratarse de alguna parte de la lógica que se activa únicamente en modo texto. O bien, ¿definitivamente no tiene una ROM de caracteres exclusiva para modo texto?, lo digo porque eso justificaría que se viera mal el juego de caracteres.
El único "XT" que he zarandeado ha sido el PCjr. Desde su MS-DOS se puede cambiar entre los modos de 40 y 80 columnas mediante "mode 40" y "mode 80" respectivamente. Si se soportan de forma estandar, se puede probar a ciegas a ver si se ven más cambios.
El único "XT" que he zarandeado ha sido el PCjr. Desde su MS-DOS se puede cambiar entre los modos de 40 y 80 columnas mediante "mode 40" y "mode 80" respectivamente. Si se soportan de forma estandar, se puede probar a ciegas a ver si se ven más cambios.
¿Quién está conectado?
Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 8 invitados