Ayuda para despertar el Dragon

Avatar de Usuario
llopis
Mensajes: 171
Registrado: 21 Ago 2018 15:27
Ubicación: Asturias
Agradecido : 71 veces
Agradecimiento recibido: 90 veces
Contactar:

Ayuda para despertar el Dragon

Mensajepor llopis » 21 May 2019 16:57

Hola a todos,

Tengo un Dragon 64 (español, PAL) que me compré hace tiempo como sin probar, y efectivamente no funciona. Como yo no entiendo mucho sobre Dragones, a lo mejor alguno de vosotros me puede echar un cable para arreglarlo. Os cuento.

El ordenador estaba impecable. Con su sello de garantía y como nuevo. No me extrañaría si nunca se hubiera usado.

Al encenderlo, saca la pantalla verde y el borde negro normal, pero no llega a salir ninguna letra y prompt del BASIC ni nada.
2019-05-21 16.45.34.jpg
2019-05-21 16.45.34.jpg (125.98 KiB) Visto 1765 veces

(lo de la esquina inferior derecha es solo la foto, de verdad es un rectángulo completo).

  • Las tensiones están revisadas y están todas bien.
  • Las señales de reloj parecen que están todas bien también.
  • Dout parece normal en todo el bus, y las señales de /CAS y /RAS parecen normales.
  • Parece como si se inicializase todo pero le fallase la ROM, pero hemos comprobado que las dos ROMs están bien (a base de volver a grabarlas en EPROM e incluso de probarlas en el Dragon de Ron).
  • Las memorias están probadas todas en un Amstrad y pasan todos los tests.
  • El SAM se calentaba un poco, pero me parece que es normal. Puse uno nuevo, y seguimos igual.
  • Probé un CPU nuevo por probar, y no cambió nada.
  • Cambié los condensadores electrolíticos por si acaso... nada.
  • Apretando teclas o haciendo MOTOR ON o MOTOR OFF no hace nada de ruido.

Como cosa interesante, cuanto estaba cambiando la RAM, al quitar un chip y encender el ordenador, en vez de salir la pantalla verde sin más, se llena de caracteres, dependiendo del chip que quite.
2018-08-14 22.21.25.jpg
2018-08-14 22.21.25.jpg (85.57 KiB) Visto 1765 veces

2018-08-14 22.05.44.jpg
2018-08-14 22.05.44.jpg (74.41 KiB) Visto 1765 veces

Con eso vemos que funcionan muchas cosas ya que es una imagen de vídeo bien formada.

Pues hasta ahí he llegado. ¿A alguien se le ocurre algo que pueda comprobar o cambiar, o alguna prueba que se pueda hacer?

Gracias!

Avatar de Usuario
Nandove
Mensajes: 1167
Registrado: 10 Ene 2011 12:16
Agradecido : 319 veces
Agradecimiento recibido: 202 veces

Re: Ayuda para despertar el Dragon

Mensajepor Nandove » 21 May 2019 17:03

Eso apesta a ram o rom pero si estan probadas tiraria por cambiar el sam...

Avatar de Usuario
llopis
Mensajes: 171
Registrado: 21 Ago 2018 15:27
Ubicación: Asturias
Agradecido : 71 veces
Agradecimiento recibido: 90 veces
Contactar:

Re: Ayuda para despertar el Dragon

Mensajepor llopis » 21 May 2019 17:14

Nandove escribió:Eso apesta a ram o rom pero si estan probadas tiraria por cambiar el sam...

Ya, ya lo sé que apesta a ROM que tira para atrás. Pero ya ves, probadas con EPROM, y luego incluso las pasé al Dragon de Ron y arrancó con ellas puestas. O sea que de eso nada.

El SAM también lo cambié por otro y nada (está por ahí, por el medio de esa lista).

jltursan
Mensajes: 2608
Registrado: 20 Sep 2011 13:59
Agradecido : 183 veces
Agradecimiento recibido: 509 veces

Re: Ayuda para despertar el Dragon

Mensajepor jltursan » 21 May 2019 20:22

¿Has probado a comprobar si alguna de las líneas del bus de direcciones o datos está pillada?, las RAM pueden estar bien; pero no la lógica por la que están enrutados estos buses...

Avatar de Usuario
llopis
Mensajes: 171
Registrado: 21 Ago 2018 15:27
Ubicación: Asturias
Agradecido : 71 veces
Agradecimiento recibido: 90 veces
Contactar:

Re: Ayuda para despertar el Dragon

Mensajepor llopis » 21 May 2019 20:40

jltursan escribió:¿Has probado a comprobar si alguna de las líneas del bus de direcciones o datos está pillada?, las RAM pueden estar bien; pero no la lógica por la que están enrutados estos buses...

Sí. Precisamente esta tarde me comprobé todos los buses, que no haya cortos, y que estén todas las conexiones bien. Por lo que he visto, todo bien.

Avatar de Usuario
Silicebit
Mensajes: 1523
Registrado: 16 May 2011 21:13
Ubicación: La buhardilla del silicio.
Agradecido : 107 veces
Agradecimiento recibido: 226 veces
Contactar:

Re: Ayuda para despertar el Dragon

Mensajepor Silicebit » 21 May 2019 20:57

Hola llopis.

Échales un vistazo a IC25 (74LS244) e IC40 (74LS138), a ver que tal...
El 6809 es el Rolls-Royce de los 8bits, el 6502 es el Mercedes, y el Z80 el SEAT 850. Sorry, but... I think different. :-P -0r1c -m3s3x -t4nd1 -cbmja YouTube

Avatar de Usuario
minter
Mensajes: 2570
Registrado: 22 Jul 2014 18:51
Agradecido : 2458 veces
Agradecimiento recibido: 1076 veces

Re: Ayuda para despertar el Dragon

Mensajepor minter » 21 May 2019 22:05

uy! Muliplexores al canto!
Esos no dan el típico Chessboard?
Las PIAs son iguales? Lleva dos intercambiables?
Es que toy con el movil y no puedo mirar el esquema.

Edito: Acabo de encontrar este post que habla del Blank Green Screen:

https://blog.johannfenech.com/?p=734

Y tira para las memorias. Pero si tienes las memorias bien... pues apunta a lo que dice More Cowbell Walken Professor, los multiplexores o los buffers triestado?.

De esos seguro que tienes por ahí por casa.

Avatar de Usuario
ron
Mensajes: 18494
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 1670 veces
Agradecimiento recibido: 1390 veces

Re: Ayuda para despertar el Dragon

Mensajepor ron » 21 May 2019 23:24

Comprobamos las ROMS en la Cachopos. Ni la IC17 ni la IC18.
Aunque a mi primera impresión y basándome en lo que le pasó en su día al mio, apuntaba a una de las dos PIA. Aunque no descartaría que el fallo se encontrara en el SAM ( Synchronous Address Multiplexer ) [ SN74LS783/MC6883 ] o en una del par de PIA's ( Peripheral Interface Adaptors ) [ MC6821 ]

Estos suelen ser los integrados que más guerra dan, ( todos xD )

MC6883 (74LS783) Synchronous Address Multiplexer (SAM)
SAM-VDG interaction
MC6847 Video Display Generator (VDG)
PIA0: MC6821 Peripheral Interface Adaptor
PIA1: MC6821 Peripheral Interface Adaptor
MC14529 Analogue multiplexer

Avatar de Usuario
Silicebit
Mensajes: 1523
Registrado: 16 May 2011 21:13
Ubicación: La buhardilla del silicio.
Agradecido : 107 veces
Agradecimiento recibido: 226 veces
Contactar:

Re: Ayuda para despertar el Dragon

Mensajepor Silicebit » 22 May 2019 00:22

Mirando la parte de I/O del esquema, también podría ser cualquiera de las dos PIAS.
El 6809 es el Rolls-Royce de los 8bits, el 6502 es el Mercedes, y el Z80 el SEAT 850. Sorry, but... I think different. :-P -0r1c -m3s3x -t4nd1 -cbmja YouTube

Avatar de Usuario
llopis
Mensajes: 171
Registrado: 21 Ago 2018 15:27
Ubicación: Asturias
Agradecido : 71 veces
Agradecimiento recibido: 90 veces
Contactar:

Re: Ayuda para despertar el Dragon

Mensajepor llopis » 22 May 2019 16:56

Silicebit escribió:Échales un vistazo a IC25 (74LS244) e IC40 (74LS138), a ver que tal...

Lo del buffer del 74LS244 ya lo había identificado como algo que podría causar esto y ya lo había cambiado. Por supuesto, nada.

El demux 74LS138 no me lo había mirado, la verdad, pero veo que sí puede causar sus problemillas. No veo nada raro con el osciloscopio, pero no quiere decir que funcione bien del todo. No tengo uno a mano, pero me acabo de pedir un par para probar. No tengo mucha esperanza, pero por probar y 1,50€...

Una cosa que me dijeron por el grupo de Dragon en Facebook es que la ROM inicializa diferentes sistemas y espera a que contesten, por lo que es bastante normal que se quede colgado así en cuanto algo no funciona (me gustaría hablar con el que escribió esas rutinas de inicialización...). Me dijeron que una de las PIAs seguramente está bien porque se encarga de generar el vídeo, pero quizás la otra esté mal. El otro posible problema puede ser el 6551. Como ese también es baratillo, me acabo de pedir uno por si acaso.

Avatar de Usuario
llopis
Mensajes: 171
Registrado: 21 Ago 2018 15:27
Ubicación: Asturias
Agradecido : 71 veces
Agradecimiento recibido: 90 veces
Contactar:

Re: Ayuda para despertar el Dragon

Mensajepor llopis » 12 Jun 2019 21:57

Me he vuelto a poner con esto hace unos días. Ya por probar, probé un par de chips que me habían recomendado (el demultiplexor), y también probé a cambiar las PIAs de sitio. Nada.

Entonces me puse a leer el libro de Inside the Dragon (buenísimo por cierto) y describen en detalle el proceso de arranque:
9.1 POWER-UP/RESET ACTIONS
When you switch on your machine a RESET interrupt occurs and this causes a transfer to an initialisation routine in ROM at address B3B4. The first thing that this routine does is to configure the SAM chip as, until this is done, RAM cannot be used. Then the PIAs are configured to their default settings which, in turn, sets up the VDG and I/O devices. The hardware initialisation routine may also be accessed via the direct jump table and a jump to this routine is stored at location 8000. The routine expects the return address to be in register Y as RAM is not available.
Once the hardware is initialised, a software initialisation stage is entered which first sets up a temporary stack for subroutine calling. The next step is to find out whether this is a 'cold-start' or a 'warm-start' reset and this is determined by the contents of the reset flag at address 71 and the secondary reset vector at addresses 72:73. If the reset flag is $55 and the secondary reset vector points to a NOP instruction, a warm-start sequence is initiated otherwise a cold-start takes place.
The software initialisation routine may be accessed via the jump table (8003) and has neither input nor output parameters.
224
9.1.1 Cold-start initialisation
When first switched on, the machine's random access memory contains random bit patterns as the contents of RAM are lost when the power is switched off. Therefore, the first action of the cold-start routine is to clear RAM to zeros so that system variables, etc. have a default value of zero.
The next step is to clear the text screen and this is followed by a RAM-sizing operation which detects the top of the useable RAM on the machine. The size of RAM can be determined by altering consecutive memory locations in turn until an unalterable location is detected. This is the start of ROM so the last RAM address is the address which immediately precedes this.
The final step in the software initialisation is to set up BASIC'S system variables and these are initialised by copying their values from tables in ROM.
When software initialisation is complete, the reset service routine looks for the occurrence of a disk controller cartridge by checking if the characters 'DK' occupy addresses C000:C001. If a controller is present, the disk controller is initialised by jumping to an initialisation routine at address C002.
If there is no disk controller, IRQ and FIRQ interrupts are enabled by clearing the appropriate bits in the condition code register. This allows an auto- starting ROM cartridge to interrupt on FIRQ thereby transferring control to the cartridge software. If no ROM cartridge is present, the secondary reset vector is set to point at the warm-start routine and the reset flag set to $55.
Finally, the BASIC system is initiated and the system is ready for use.


Eso me dio muchas ideas y me ayudó a descartar ciertas cosas. Por ejemplo las ideas de que podía estar colgado esperando la inicialicación de la PIAs no puede ser, porque en mi caso la pantalla se borró con el color correcto, y eso pasa por ahí por el medio.
Y con eso, me cogí la ROM, un buen libro de ensamblador 6809, un desensamblador, y el mapa de la ROM, y me puse a estudiar.

Lo primero que hice fue intentar seguir el proceso de inicialización, y en particular buscar donde se borra la pantalla. Una vez que lo encontré, cambié el código para que rellenase la pantalla con un valor diferente, o solo hiciese al mitad de la pantalla. Lo grabé en una EPROM, lo probé en el Dragon, y todo bien. Hacía lo que tenía que hacer.

A partir de ahí fui modificando el código de la ROM para ver dónde se quedaba colgado. Inicialización de variables, copia de trozos de la ROM a la RAM, escribir el mensaje de inicio... y ahí es donde empiezan las cosas raras. Unas veces llegaba hasta el código que había cambiado allí, y otras veces no. Y de repente no llegaba ni hasta varias subrutinas anteriores. Por lo visto era un problema que iba cambiando, no era siempre igual! Eso huele a problemas de reloj, o a memorias con problemas de timings específicos.

Las memorias ya las había comprobado una a una. Las había sacado, puesto en un CPC, y comprobado que funcionaban bien con el programa de probar memorias. Pero claro, una cosa es que pasen esas pruebas, y otra que funcionen exactamente como tienen que funcionar con los tiempos exactos. O sea que por si acaso las quito todas, pongo otras nuevas y... funciona! :shock:
2019-06-12 19.48.16.jpg
2019-06-12 19.48.16.jpg (81.24 KiB) Visto 1466 veces

O sea, llevo casi un año matándome a buscar por donde anda el problema, y eran las memorias que estaban "flojas". Argghhhh.....!!!!!
Para celebrarlo, por supuesto, este fue el primer programa que probé :-)
2019-06-12 20.03.31.jpg
2019-06-12 20.03.31.jpg (88.63 KiB) Visto 1466 veces

Por cierto, el modo de alta resolución se ve más bien mal en la tele. De eso que te saca colores casi sin querer y que encima se mueven un poco y marean. ¿Eso es normal al ser el modo PAL? Una pena. Los programas en resolución menor se ven mucho mejor.
2019-06-12 20.01.41.jpg
2019-06-12 20.01.41.jpg (89.23 KiB) Visto 1466 veces

Pues nada, ahora estoy contentísimo. Es que llevaba más de un año detrás de esta avería! Ahora a disfrutarlo y sacarle partido.

Avatar de Usuario
ron
Mensajes: 18494
Registrado: 28 Oct 2010 14:20
Ubicación: retrocrypta
Agradecido : 1670 veces
Agradecimiento recibido: 1390 veces

Re: Ayuda para despertar el Dragon

Mensajepor ron » 12 Jun 2019 22:30

Ostras que BUENO !!!!
Enhorabuena !!!! Ahora a disfrutar de las chuladas de pser1 !!!

Avatar de Usuario
duca750
Mensajes: 1431
Registrado: 19 May 2015 10:52
Ubicación: Olivenza (Badajoz)
Agradecido : 349 veces
Agradecimiento recibido: 81 veces

Re: Ayuda para despertar el Dragon

Mensajepor duca750 » 13 Jun 2019 07:00

Enhorabuena, me alegro de que esté en marcha y de tener a alguien más documentado en dragones jejeje. Yo no me termino de fiar de los test, tengo un CPC 6128 con supuestamente las memorias bien pero sufro algún que otro reinicio y estoy seguro que alguna está malita.
-4mstr4d CPC464(7),472 Y 6128 (2) -sp3zy 16K&48K GOMAS,+2,+2A/2B +3 -cocbm1 64 Y -coam1** -0r1c 1 (2ud) y ATMOS** -m3s3x CANON V20, SPECTRAVIDEO 728,TOSHIBA HX10, PHILIPS VG8020,2 NMS 8250+GOTEK -j4tar1 STFM 800XL -3nt3r 64-ACORN ELECTRON -codrg1 32

Avatar de Usuario
zx4ever
Mensajes: 214
Registrado: 31 Oct 2010 19:44
Agradecimiento recibido: 1 vez

Re: Ayuda para despertar el Dragon

Mensajepor zx4ever » 13 Jun 2019 10:22

Fantástico, ya tienes ese Dragon "echando fuego".
Ahora a darle caña, que hay cantidad de cosas interesantes para esta máquina.

masteries
Mensajes: 268
Registrado: 30 May 2018 11:33
Ubicación: Espaciando
Agradecido : 21 veces
Agradecimiento recibido: 81 veces

Re: Ayuda para despertar el Dragon

Mensajepor masteries » 13 Jun 2019 12:13

Te felicito... ¡la de cosas que has hecho, e incluso muyyyy complicadas como andar haciendo ROMs personalizadas toqueteando el ensamblador!

Para llegar al punto de que era la RAM la culpable... que overclockeadas no aguantan... :) (es broma, no creo que el Dragon overclokee mucho las cosas)
La maestría interior...

Se venden trapdoor de 512 KB para Amiga 500: viewtopic.php?f=71&t=200034052

Se venden trapdoor de 1 MB para Amiga 500 Plus: viewtopic.php?f=71&t=200034115

jltursan
Mensajes: 2608
Registrado: 20 Sep 2011 13:59
Agradecido : 183 veces
Agradecimiento recibido: 509 veces

Re: Ayuda para despertar el Dragon

Mensajepor jltursan » 13 Jun 2019 19:21

¡Absoulatemente fantástico!..y la forma de llegar a las conclusiones finales muy original. Nunca se me habría ocurrido :-)


Yo también me he encontrado esos problemas con la portadora de color, me he planteado en alguna ocasión el añadir un interruptor al LM1889 para eliminar el color a voluntad pero juraría que incluso quitándolo, se seguían viendo esos feos derrames de color.
En relación a esto, uno de mis Dragon, supuestamente un 64 PAL, resulto llevar una placa de Tano, con un par. No me arrepiento; así tengo un modelo con salida NTSC y poder así admirar esos bonitos artefactos en todo su esplendor :-D

Para llegar al punto de que era la RAM la culpable... que overclockeadas no aguantan... :) (es broma, no creo que el Dragon overclokee mucho las cosas)


Bueno, la RAM no mucho; pero la ROM fijo que la overclockea. Con un poke puedes incrementar un pico la velocidad eliminando unos refrescos de más.


Volver a “Dragon”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado