Commodore 16 pantalla blanca

Moderador: Fundadores

Avatar de Usuario
cacharreo !Sinclair 1
Moderador
Moderador
Mensajes: 5897
Registrado: 09 Ago 2019, 10:17
Ubicación: /home/cacharreo/
Has thanked: 1213 times
Been thanked: 2839 times
Contactar:

Re: Commodore 16 pantalla blanca

Mensaje por cacharreo »

Quickie escribió: 16 Dic 2023, 11:49Si te refieres a la altura de la CPU de reemplazo, si que es cierto que entre el zócalo y la PCB es algo mas alta que la original de MOS, pero no me supuso un problema en la caja de un C16:
Gracias, me refería a la CPU de reemplazo.
Quickie escribió: 16 Dic 2023, 11:49Aun así, no he conseguido que funcionara porqué las GAL eran 16V8D remarcadas a 16V8D y el código debe modificarse.
¿Quisiste decir "las GAL eran GAL16V8D remarcadas a GAL16V8B"? Comparando los diagramas de las 16V8B, 16V8D y ATF16V8 parecen idénticos, hay diferencias en cuanto a la velocidad (y a que las últimas están disponibles en SOIC-20 y/o TSSOP-20) pero, así a primera vista parece que el código debería funcionar en las tres sin modificaciones.
© cacharreo
Avatar de Usuario
Quickie
Aspirante a demonio
Aspirante a demonio
Mensajes: 389
Registrado: 21 Sep 2017, 19:58
Has thanked: 25 times
Been thanked: 21 times

Re: Commodore 16 pantalla blanca

Mensaje por Quickie »

Perdón, lo comenté de memoria y además el teclado del móvil no ayuda demasiado. Quise decir que estaban remarcadas a 18B cuando en realidad son 18C.

En este caso si que hay una diferencia:
Daniël Mantione escribió: There are two differences between ATF16V8B and ATF16V8C:
- Pin-keeper instead of pull-up resistor on the inputs
- Pin 4 can be a power-down pin instead of an input.

The power-down pin is most likely your problem: If the power-down pin is
activated, the PLA won't function. This means you cannot blindly flash
a .jed file designed for a GAL16V8 into a ATF16V8C (while the ATF16V8B
is a perfect clone). The power-down pin is controller by a bit in the .jed
file, but Atmel do not document which one, so would have to do some
research here, I have never attempted this.

Once the power-down pin is disabled in the .jed file, you should be able
to flash the .jed file and then I see no problems why an ATF16V8C cannot
work.
Así que toca reescribir el jed y yo no lo tengo claro. Por eso qudó en punto muerto.
Imagen
Avatar de Usuario
cacharreo !Sinclair 1
Moderador
Moderador
Mensajes: 5897
Registrado: 09 Ago 2019, 10:17
Ubicación: /home/cacharreo/
Has thanked: 1213 times
Been thanked: 2839 times
Contactar:

Re: Commodore 16 pantalla blanca

Mensaje por cacharreo »

Quickie escribió: 16 Dic 2023, 12:14Perdón, lo comenté de memoria y además el teclado del móvil no ayuda demasiado. Quise decir que estaban remarcadas a 18B cuando en realidad son 18C.
No pasa nada. Por mi parte al ver las siglas GAL me centré en las especificaciones de los modelos de Lattice y solo mencioné el de Atmel de pasada (en su web, Daniël solo especifica el ATF16V8).
Daniël Mantione escribió:- Pin-keeper instead of pull-up resistor on the inputs
Basta con revisar el esquema y si las entradas desde el C16 que originalmente iban a la 82S100 provienen todas de señales TTL (de circuitos lógicos sin salidas en colector abierto) no nos afectarían pero por otro lado hay que tener en cuenta que se definirían a un valor concreto nada más alimentar la ATF16V8C.
Daniël Mantione escribió:- Pin 4 can be a power-down pin instead of an input.
La ATF16V8C tiene 32 filas de 64 bits + 82 bits de configuración + 64 bits (UES ó User Electronic Signature)=2194 fuses en total. La modificación para desactivar la selección del modo de bajo consumo con el pin 4 (I3) implica poner a cero el bit 0 (fila 59) de los fuses de configuración.

Si esta modalidad no está explícitamente desactivada, el pin 4 (I3) funcionaría como power-down pin, es decir como pin de selección del modo de bajo consumo, estaría activado así por defecto y nunca funcionaría como pin de entrada. A propósito de este tema, si tenéis programadores Xeltek ni lo intentéis, usad otros porque dan problemas con el modo de bajo consumo de las ATF16V8C porque no programan estos fuses de configuración.

Otra opción más directa sería recompilar el JED con WinCUPL (opción Device Dependent Compile).
Atmel WinCUPL v5.216 release notes escribió:If you want to disable pin-controlled power down feature select "g16v8a" device type.
Esto equivale a modificar en el fichero PLD la línea device. Para desactivar el power-down pin quedaría (el JED con el power-down pin desactivado escribirá 2194 fuses):

Código: Seleccionar todo

Device    g16v8ma
y para activarlo (el JED con el power-down pin activado escribirá 2195 fuses):

Código: Seleccionar todo

Device    g16v8cpma
pero tened en cuenta que en este último caso el código actual no compilaría y daría un error invalid usage porque intenta utilizar el pin 4 como entrada.

Análogamente, con Afterburner tampoco habría problema si se selecciona como dispositivo la GAL16V8B.

Por último, si quisiéramos evitar estos líos (compilar con WinCUPL con ciertas opciones (-e) y/o cambiar los fuses directamente en el JED o en el buffer del software del programador) pero además tener la seguridad de que funcione independientemente del modo de bajo consumo se puede modificar de forma trivial el código para utilizar en vez del pin 4 (I3) el pin 15 (IO5) que está libre. Esto implica rutar la placa teniendo en cuenta esta modificación y, además, conectar a tierra el pin 4 (I3) para desactivar permanentemente el modo de bajo consumo. Dicho sea de paso, puestos a modificar el código y la placa posiblemente interese renumberar las entradas en el código y reflejar los cambios en el rutado de las pistas.
Daniël Mantione escribió:The power-down pin is controller by a bit in the .jed file, but Atmel do not document which one,
Es cierto que Atmel no facilita concretamente qué bit es pero en la página 1-29 de la revisión 0425C de la hoja de datos de la ATF16V8C explica cómo habilitar o deshabilitar este (power-down) pin para siete aplicaciones diferentes (ABEL, CUPL, LOG/iC, OrCAD-PLD,...)
© cacharreo
Avatar de Usuario
cacharreo !Sinclair 1
Moderador
Moderador
Mensajes: 5897
Registrado: 09 Ago 2019, 10:17
Ubicación: /home/cacharreo/
Has thanked: 1213 times
Been thanked: 2839 times
Contactar:

Re: Commodore 16 pantalla blanca

Mensaje por cacharreo »

retrolab escribió: 15 Dic 2023, 22:26Las ram y los 74HCT257 están probados y estan bien. Quizás se me ha escapado algo de la cpu o la TED...
De entrada probaría con el osciloscopio los tres pines de reloj de la CPU y el TED.

Espero que el debate sobre la PLA te sea útil si necesitaras un reemplazo. ;)
© cacharreo
Avatar de Usuario
retrolab Andorra
Demonio segundo orden
Demonio segundo orden
Mensajes: 1170
Registrado: 17 Feb 2014, 09:52
Has thanked: 73 times
Been thanked: 121 times

Re: Commodore 16 pantalla blanca

Mensaje por retrolab »

cacharreo escribió: 16 Dic 2023, 18:03 Espero que el debate sobre la PLA te sea útil si necesitaras un reemplazo. ;)
Gracias, seguro que sí
Avatar de Usuario
Quickie
Aspirante a demonio
Aspirante a demonio
Mensajes: 389
Registrado: 21 Sep 2017, 19:58
Has thanked: 25 times
Been thanked: 21 times

Re: Commodore 16 pantalla blanca

Mensaje por Quickie »

Buenas,

He estado revisando el fichero 251641-02_16V8.pld que facilita su autor para recompilar el .jed teniendo en cuenta lo que comentabas ya que antes de re-enrutar y cambiar la PCB que ya hice prefiero probar a actualizar el código si es posible, aunque hasta la fecha no lo he tenido claro y sigo sin entender cosas.
cacharreo escribió: 16 Dic 2023, 12:21
Otra opción más directa sería recompilar el JED con WinCUPL (opción Device Dependent Compile).
Atmel WinCUPL v5.216 release notes escribió:If you want to disable pin-controlled power down feature select "g16v8a" device type.
Esto equivale a modificar en el fichero PLD la línea device. Para desactivar el power-down pin quedaría (el JED con el power-down pin desactivado escribirá 2194 fuses):

Código: Seleccionar todo

Device    g16v8ma
El device indicado en el PLD sin modificar ya es "16v8ma". Si no entendí mal esto ya debería haber desactivado el power-down pin en la compilación del PLD, ¿no?.
Según el Datasheet que mencionas de Atmel (en mi caso solo pude encontrar el DOC0425G):

"Compiler Mode Selection

CUPL, Atmel-CUPL
* Registered: G16V8MS
* Complex: G16V8MA
* Simple: G16V8AS
* Auto Select: G16V8A"

Aun así compilé el PLD con WinCUPL y obtuve:

Código: Seleccionar todo

Location
*QP20 
*QF2194 
*G0 
*F0 
*L00000 11111111111111111111111111111111
*L00032 11011111111111111111111110111110
*L00256 11111111111111111111111111111111
*L00288 11111111111111111111011111111111
*L00320 11111101111111110111111111111011
*L00512 11111111111111111111111111111111
*L00544 10011001011101110111111110111001
*L00768 11111111111111111111111111111111
*L00800 01010101101101110111111110111001
*L01280 11111111111111111111111111111111
*L01312 11111101111111110111111111111011
*L01536 11111111111111111111111111111111
*L01568 10011001101101110111111110111001
*L01792 11111111111111111111111111111111
*L01824 10011011101110110111111110111001
*L02048 11000100001100100011010100110001
*L02080 00110110001101000011000100101101
*L02112 00110000111111111111111111111111
*L02144 11111111111111111111111111111111
*L02176 111111111111111111
*C43C7
Que curiosamente difiere a lo que programé en su día con Afterburner:

Imagen

Por lo que si tiene sentido, puedo volver a grabarlo y probar...
Imagen
Avatar de Usuario
cacharreo !Sinclair 1
Moderador
Moderador
Mensajes: 5897
Registrado: 09 Ago 2019, 10:17
Ubicación: /home/cacharreo/
Has thanked: 1213 times
Been thanked: 2839 times
Contactar:

Re: Commodore 16 pantalla blanca

Mensaje por cacharreo »

Quickie escribió: 18 Dic 2023, 01:00Que curiosamente difiere a lo que programé en su día con Afterburner:
Si tuviéramos el JED generado con Afterburner podríamos comprobar si es exactamente el mismo. El checksum es idéntico y los fuses que he comprobado arbitrariamente parecen coincidir.
Quickie escribió: 18 Dic 2023, 01:00Por lo que si tiene sentido, puedo volver a grabarlo y probar...
Sería lo adecuado. Y si no funcionara así grabarse una GAL/PLD suelta con ese JED y comprobar en breadboard si responde como debe, bien a mano, bien con un microcontrolador.
© cacharreo
Responder

Volver a “Commodore”