Problema con imagen (ROM caracteres?) en un 286 clónico

Taller de hardware y cacharreo general de aparatos eléctricos y electrónicos que no tengan un sitio propio.
Avatar de Usuario
Quest
Atari 1040 STf
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

Problema con imagen (ROM caracteres?) en un 286 clónico

Mensajepor Quest » 21 Feb 2014, 18:50

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:

patron_Arranque.jpg
patron_Arranque.jpg (198.38 KiB) Visto 6898 veces


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.

placa_286.jpg
placa_286.jpg (293.23 KiB) Visto 6898 veces


Algún consejo sobre qué mirar? alguna línea de datos, de dirección, etc... en concreto?

Gracias!

Avatar de Usuario
zup
Amiga 2500
Amiga 2500
Mensajes: 2967
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: 68 veces
Gracias recibidas: 322 veces
Contactar:

Re: Problema con imagen (ROM caracteres?) en un 286 clónico

Mensajepor zup » 21 Feb 2014, 19:23

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.
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!

Avatar de Usuario
retrolab
MSX Turbo R
MSX Turbo R
Mensajes: 426
Registrado: 17 Jul 2012, 09:23
Ubicación: NCC-1701-D Enterprise

Re: Problema con imagen (ROM caracteres?) en un 286 clónico

Mensajepor retrolab » 21 Feb 2014, 20:24

Mi commodore 8032 presentaba un problema parecido y era la memoria de video.

Avatar de Usuario
jltursan
Amiga 2500
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

Mensajepor jltursan » 21 Feb 2014, 21:02

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...

Avatar de Usuario
na_th_an
Amiga 1200
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

Mensajepor na_th_an » 21 Feb 2014, 21:23

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
Última edición por na_th_an el 21 Feb 2014, 21:33, editado 1 vez en total.

Avatar de Usuario
JoJo
Amiga 1200
Amiga 1200
Mensajes: 1065
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: 78 veces

Re: Problema con imagen (ROM caracteres?) en un 286 clónico

Mensajepor JoJo » 21 Feb 2014, 21:33

Sep, suena a memoria de video o sus buses asociados...
http://www.vieju.net
http://pcp.vieju.net, el Pequeño Computador Personal de 32 bits

Avatar de Usuario
Quest
Atari 1040 STf
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

Mensajepor Quest » 22 Feb 2014, 10:13

Muchas gracias por la ayuda! :D

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

tabla_ASCII_normal.png
tabla_ASCII_normal.png (10.71 KiB) Visto 6857 veces


Aquí la misma tabla ejecutada en el 286 averiado:

tabla_ASCII_286_averiado.jpg
tabla_ASCII_286_averiado.jpg (194.48 KiB) Visto 6857 veces


Como se puede ver, ya de forma más clara, hay efectivamente varios bits mal. Según las pruebas de muestra que he hecho:

pruebas_patron.png
pruebas_patron.png (11.03 KiB) Visto 6857 veces


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...

Avatar de Usuario
zup
Amiga 2500
Amiga 2500
Mensajes: 2967
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: 68 veces
Gracias recibidas: 322 veces
Contactar:

Re: Problema con imagen (ROM caracteres?) en un 286 clónico

Mensajepor zup » 22 Feb 2014, 10:22

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!

Avatar de Usuario
Quest
Atari 1040 STf
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

Mensajepor Quest » 22 Feb 2014, 11:16

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:

286_checkit1.jpg
286_checkit1.jpg (63.78 KiB) Visto 6827 veces


286_checkit2.jpg
286_checkit2.jpg (29.62 KiB) Visto 6827 veces


Así que parece que la memoria funciona, no..?

He ejecutado de paso Goody y alley cat :-ss

286_alleycat.jpg
286_alleycat.jpg (76.56 KiB) Visto 6827 veces


286_goody.jpg
286_goody.jpg (95.3 KiB) Visto 6827 veces



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...

Avatar de Usuario
jltursan
Amiga 2500
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

Mensajepor jltursan » 22 Feb 2014, 11:41

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.


Volver a “Taller general”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 16 invitados