Página 1 de 3
ATF22x10C v. GAL22V10x
Publicado: 31 Dic 2023, 18:11
por cacharreo
Recientemente teníamos un debate sobre los PLD de ATMEL, concretamente sobre las ATF22x10C. El compañero @mad3001 decía:
mad3001 escribió: ↑29 Dic 2023, 19:46!ojo! si son para otra cosa vale, pero para el Dandanator no sirven... las ATF22LV10C tienen Keeper en los pines y no dejan HIGH-Z que necesita el Dandanator
y si bien es cierto que estos chips de ATMEL sí tienen
latches (
pin keepers según el fabricante) en los pines para recordar el último estado, también lo es que permiten salidas triestado y para los DD tal vez requieran reescribir el código. En formato GALasm podría quedar algo así,
Código: Seleccionar todo
GAL22V10
ZXVaDeRetrorController
; Pin assignments
;1 2 3 4 5 6 7 8 9 10 11 12
A5 A14 A15 MREQ IORQ RD WR JLEFT JRIGHT JUP JDOWN GND
;13 14 15 16 17 18 19 20 21 22 23 24
JFIRE ROMRD ROMWR D7 D6 D5 D4 D3 D2 D1 D0 VCC
; Joystick
D0.T = /JRIGHT
D0.E = /A5 * /IORQ * /RD
D1.T = /JLEFT
D1.E = /A5 * /IORQ * /RD
D2.T = /JDOWN
D2.E = /A5 * /IORQ * /RD
D3.T = /JUP
D3.E = /A5 * /IORQ * /RD
D4.T = /JFIRE
D4.E = /A5 * /IORQ * /RD
D5.T = GND
D5.E = /A5 * /IORQ * /RD
D6.T = GND
D6.E = /A5 * /IORQ * /RD
D7.T = GND
D7.E = /A5 * /IORQ * /RD
; ROM
ROMRD = A14 + A15 + MREQ + RD
ROMWR = A14 + A15 + MREQ + WR
DESCRIPTION
ZX VaDeRetror Joystick and ROM controller
Tengo pedidas ATF22V10C-7PX en formato DIP para probarlo directamente pero mientras llegan, estaría genial escuchar vuestras propuestas.
Re: ATF22x10C v. GAL22V10x
Publicado: 31 Dic 2023, 21:00
por mad3001
cacharreo escribió: ↑31 Dic 2023, 18:11Recientemente teníamos un debate sobre los PLD de ATMEL, concretamente sobre las ATF22x10C. El compañero @mad3001 decía:
mad3001 escribió: ↑29 Dic 2023, 19:46!ojo! si son para otra cosa vale, pero para el Dandanator no sirven... las ATF22LV10C tienen Keeper en los pines y no dejan HIGH-Z que necesita el Dandanator
y si bien es cierto que estos chips de ATMEL sí tienen
latches (
pin keepers según el fabricante) en los pines para recordar el último estado, también lo es que permiten salidas triestado y para los DD tal vez requieran reescribir el código. En formato GALasm podría quedar algo así,
...
Tengo pedidas ATF22V10C-7PX en formato DIP para probarlo directamente pero mientras llegan, estaría genial escuchar vuestras propuestas.
Espectante de las pruebas... si efectivamente se puede dejar en HIGH-Z podría ser una alternativa a las dichosas GAL
Re: ATF22x10C v. GAL22V10x
Publicado: 31 Dic 2023, 21:10
por cacharreo
Al compilar este código debe obtenerse la configuración para 5892 fuses, cualquier otra cifra posiblemente indique el uso del modo PAL, Power down pin, etc.
mad3001 escribió: ↑31 Dic 2023, 21:00Espectante de las pruebas... si efectivamente se puede dejar en HIGH-Z podría ser una alternativa a las dichosas GAL
He hecho pruebas en
breadboard con ATF22V10C PLCC-28 y van perfectamente con un Spectrum volcando información en su bus de datos cuando se lee un puerto concreto pero, como digo, espero a las ATF22v10C en formato DIP para hacer la prueba en periféricos reales.
Además voy a intentar conseguir otros programadores por si los problemas que parecen haberse encontrado, procedieran del algoritmo común a la familia de los TL866*, T48, T56, etc. que sin duda programan perfectamente las GAL22V10x pero quizás utilicen el mismo para las ATF22x10C y no sea lo más apropiado.
Re: ATF22x10C v. GAL22V10x
Publicado: 31 Dic 2023, 22:08
por cacharreo
mad3001 escribió: ↑31 Dic 2023, 21:00Espectante de las pruebas... si efectivamente se puede dejar en HIGH-Z podría ser una alternativa a las dichosas GAL
Listo y comprobado. El código, el mismo publicado en el mensaje que abre el tema.
He programado el JED en una ATF22V10C en encapsulado PLCC-28 y la he pinchado en un
ZX VaDeRetror! SX 0.02. Tanto el Multiply como el joystick funcionan a la perfección, lo he comprobado además con el test DiagROM.v61 que lo tengo como ROM extra en la EEPROM.
La misma ATF22V10C en encapsulado PLCC-28 la he pinchado en un
adaptador PLCC-28 a DIP-24 (0.00a) y, a su vez, pinchado el conjunto en un
ZX VaDeRetror! 2.1c (compatible DD!) con su correspondiente
ZX VaDeRetror+ 1.02 (compatible Multiply) con idénticos resultados.
Podéis descargaros el código (GALasm) y el JED resultante de
este enlace. Se programa con un TL866II+, un T48, un T56 o un
afterburner 3.1x y a disfrutarlo.
Espero no llegar demasiado tarde para ahorrarle a @merlinkv parte del trabajo y la inversión en una nueva versión de su placa
ZX DD! MTD. Aparte tengo otra alternativa en el horno.
Esto no quita que cuando reciba las ATF22V10C en formato DIP-24 las pruebe pero seguro que no habrá ninguna diferencia porque virtualmente son idénticas a la PLCC-28 con el adaptador DIP-24.
Por último, éste mismo JED es compatible con las ATF22V10C y con las GAL22V10D.
Re: ATF22x10C v. GAL22V10x
Publicado: 01 Ene 2024, 10:05
por Spezzi63
Esta información de Facebook puede ser útil.
Ant Goffart
So I built my Dandanator Mini 2.1 using the AMD PALCE22V10 I had.
Turns out this /4 version has keepers like the ATF. The /5 had pull-ups like the Lattice GAL.
By fitting real physical pull-up resistors I've got it working reliably!
nearly all 22V10 variants can be programmed with the same .JED file.
The differences are typically in the I/O. Some have pull-up resistors, some have weak keepers,
and some have no pull at all.
You would need to read the datasheet for the exact variant you are using.
I believe the original Dandanator used a Lattice GAL but these are hard to find.
I happen to have a few tubes of AMD PALCE22V10 and made one work by fitting external pull-up resistors to the input pins.
Re: ATF22x10C v. GAL22V10x
Publicado: 01 Ene 2024, 11:13
por cacharreo
Spezzi63 escribió: ↑01 Ene 2024, 10:05Esta información de Facebook puede ser útil.
Muchas gracias. El objetivo era poder utilizar las ATV22V10C modificando solo el fichero JED, sin necesidad de añadir componentes adicionales como las 6 resistencias
pull-up. Aún siendo tan débil y, en la mayoría de los casos, no vaya a pasar nada, no me agrada especialmente el
pull-up sobre el pin 1, en A5 del bus de direcciones, porque en el ZX Spectrum es muy delicado y puede tener efectos indeseados cuando se utilicen diferentes combinaciones de periféricos.
A propósito esta AMD PALCE22V10 ¿está completamente obsoleta/descatalogada? No he sido capaz de encontrarla por ningún sitio y hubiera querido probar qué tal va con este nuevo fichero JED.
Re: ATF22x10C v. GAL22V10x
Publicado: 01 Ene 2024, 13:50
por mad3001
cacharreo escribió: ↑01 Ene 2024, 11:13A propósito esta AMD PALCE22V10 ¿está completamente obsoleta/descatalogada? No he sido capaz de encontrarla por ningún sitio y hubiera querido probar qué tal va con este nuevo fichero JED.
Mira aqui
https://es.aliexpress.com/item/1005005888823210.html
Re: ATF22x10C v. GAL22V10x
Publicado: 01 Ene 2024, 14:59
por cacharreo
mad3001 escribió: ↑01 Ene 2024, 13:50Mira aqui
Muchas gracias.
Es curioso que hace unas horas por PALCE22V10 no obtuve ni un solo resultado y eso que lo busqué con un copia y pega para evitar errores tipográficos pero ahora obtengo dos y, además, ninguno de ellos es el que citas.
De cualquier modo supongo que estos PLD van a requerir
pull-ups pero aún así voy a pedir unos pocos por experimentar.
Recentrando el tema, otra alternativa es
esta plaquita que reemplaza la GAL por circuitos integrados lógicos.
Re: ATF22x10C v. GAL22V10x
Publicado: 01 Ene 2024, 23:33
por mad3001
cacharreo escribió: ↑01 Ene 2024, 14:59De cualquier modo supongo que estos PLD van a requerir
pull-ups pero aún así voy a pedir unos pocos por experimentar.
Recentrando el tema, otra alternativa es
esta plaquita que reemplaza la GAL por circuitos integrados lógicos.
A más opciones mejor, aunque esos PALCE lo mismo ya estén bastante obsoletos de ahí la dificultad de encontrarlos.
Re: ATF22x10C v. GAL22V10x
Publicado: 01 Ene 2024, 23:57
por cacharreo
mad3001 escribió: ↑01 Ene 2024, 23:33A más opciones mejor, aunque esos PALCE lo mismo ya estén bastante obsoletos de ahí la dificultad de encontrarlos.
Los voy a pillar con casi completa seguridad de que no van a ir por sí solos (sin componentes adicionales) pero prefiero comprobarlo porque como dices, cuantas más opciones mejor.