ZX-Uno prototipo 2: seguimos dándole caña

Sinclair QL, ZX81, +2, +3, 128K ...
Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5316
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 12 veces
Gracias recibidas: 53 veces
Contactar:

Re: ZX-Uno prototipo 2: seguimos dándole caña

Mensajepor mcleod_ideafix » 20 Jun 2015, 12:55

Quest escribió:
mcleod_ideafix escribió:Muy sencillo: el comando es F8. Esto deshabiita el typematic para todas las teclas, y sólo se permite el envío de Make/Break. No obstante, si lo pruebas verás que no se elimina el bug porque el código Verilog que lo implementa lo tengo todavía a medio hacer.


Cierto, olvidé mencionar F8, que hace lo mismo que FC pero para todas las teclas, pero el problema sigue siendo que sólo funciona con el scancode set 3, que yo sepa.

Mmmmm.... tendría que comprobarlo, pero juraría que funciona con el scan code 2 también. Al menos no he visto en la documentación que ese comando necesite del scan code 3.

Oh! Shit!

Código: Seleccionar todo

F8  PS/2 Set All Keys to Make/Break, keyboard responds by sending an
       ACK, clearing its output buffer and setting the key type to
       Make/Break.  Scanning continues if scanning was enabled.  This
       command may be sent while using any Scan Code Set but only has
       effect when Scan Code Set 3 is in use.

Vía http://stanislavs.org/helppc/keyboard_commands.html

Pues nada, tendré que buscar otro método para arreglar esto... :(
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

Avatar de Usuario
celestinox
Commodore 128
Commodore 128
Mensajes: 97
Registrado: 07 Dic 2012, 17:04
Sistema Favorito: Commodore Amiga
primer_sistema: Spectrum 16Kb/48Kb
Primera consola: Sony PlayStation 2
Gracias recibidas: 9 veces

Re: ZX-Uno prototipo 2: seguimos dándole caña

Mensajepor celestinox » 21 Jun 2015, 10:10

antoniovillena escribió:Lo intentaré. Pero estoy muy verde en Altium. He conseguido exportarlo a Eagle, pero tiene el inconveniente de que los cambios no se trasladan al esquemático (porque el esquemático no se puede exportar). Así que haré primero todos lo cambios que pueda en Altium y lo que no sepa lo haré en Eagle.

Hecho. He sustituido el J13 de 3 pines que no servía para nada por uno de 2 pines. En la versión final, J12 vendrá sin montar y J13 montado con un jumper colocado. Así evitamos el problema de que alguien ponga el jumper donde no debe. J12 es el conector backup de alimentación: si en un futuro se os rompe el conector micro-USB siempre podéis poner 2 pines en J12 y alimentar por ahí. Eso sí, recomiendo pines hembra para evitar poner el jumper ahí.


Hola, ya estoy pensando en mi próximo proyecto, lo de reducir un poco mas la placa; veo que Antonio está editando la placa, mi pregunta es si va a haber algún cambio en el esquemático; para no fastidiarla usando una versión incorrecta como me pasó con el engendro , que usé la 0.13 en lugar de la 0.12. Creo que la versión actual es la 0.15,¿ que modificaciones está teniendo?

Quest escribió:Para los que tenéis algún teclado PS/2 que no os funcione con el ZX-UNO o uno USB híbrido con adaptador USB->PS/2 que no os funcione:

He modificado la BIOS para intentar "inicializar" estos teclados problemáticos y parece que funciona. Más abajo la adjunto, para ver si lo podéis probar y saber si funcionan. En mi caso, con esta modificación, mis 2 teclados problemáticos (un USB/PS/2 con adaptador y un PS/2 moderno) funcionan ahora perfectamente. (Imprescindible tener instalado el último core!!! Test16)

El tema es que yo de ensamblador "ni idea", y sólo he metido una ñapa en el código asm de la BIOS (que a saber si peta alguna otra cosa :mrgreen: ) para este fin. La idea es únicamente comprobar con este envío de datos al teclado, si son capaces de funcionar más modelos. La implementación correcta, ya la harán los gurús del proyecto :D

El único detalle a tener en cuenta es que para estos teclados problemáticos, la primera vez que enciendes el ZX-UNO (de la corriente) no puedes entrar a la BIOS, pero sí después de un master reset. Esto es debido a que estos teclados (al menos en el caso de los míos) tardan aproximadamente 1 segundo en autocheckearse antes de aceptar comandos del host, así que no admite nada antes de que cargue la ROM que tengamos seleccionada en el ZX-UNO. El comando se lo envío justo después de que desaparezca el mensaje "Press <Edit> to Setup <Break> Boot Menu", dado que enviarlo antes, no funciona por lo que ya he mencionado, estos teclados no admiten comandos antes de ese tiempo. Pero no hay problema, una vez arrancado, un master reset (ctrl+alt+backspace) y ya podemos entrar a BIOS o sacar el menú de ROMs.

Ah, a pesar de que las pruebas que he hecho han ido bien, por si acaso, los que no tenéis cable Xilinx, no actualicéis esta BIOS.

Aquí adjunto el .tap y .rom para el que lo quiera probar. Sería interesante que comentárais los resultados para ampliar la cantidad de teclados soportados en el futuro:
El adjunto firmwareQ2.zip ya no está disponible


Importante insistir: Sólo funcionará si tenéis instalado el último core disponible en el SVN, el test16 ultimísimo que hay para descargar.



Ya he comprobado lo de cambiar el conector PS2 por un USB, parece funcionar; habría que estudiar la "ñapa" de Quest.



Un saludo.
Adjuntos
prueba USB.jpg
Prueba para comprobar conexionado usb
prueba USB.jpg (344.59 KiB) Visto 6018 veces

Avatar de Usuario
antoniovillena
Amiga 1200
Amiga 1200
Mensajes: 2013
Registrado: 16 Abr 2012, 21:22
Gracias recibidas: 8 veces

Re: ZX-Uno prototipo 2: seguimos dándole caña

Mensajepor antoniovillena » 21 Jun 2015, 11:38

celestinox escribió:Hola, ya estoy pensando en mi próximo proyecto, lo de reducir un poco mas la placa; veo que Antonio está editando la placa, mi pregunta es si va a haber algún cambio en el esquemático; para no fastidiarla usando una versión incorrecta como me pasó con el engendro , que usé la 0.13 en lugar de la 0.12. Creo que la versión actual es la 0.15,¿ que modificaciones está teniendo?


El esquemático no cambia. Los cambios que habrá serán:
-J13 cambia de función: antes era un switch manual NTSC/PAL (un poco inútil porque se puede conmutar por software) y ahora son 2 pines para un interruptor de encendido opcional (vendrá montado con un jumper en la versión final).
-Algunas resistencias cambian de valor para simplificar el BOM y que haya menos valores disponibles.
-El conector JTAG/RGB se sube un poco para que no sobresalga mucho y será hembra en vez de macho.
-Los cristales de video y el condensador electrolítico será SMD para reducir mano de obra en el montaje.

Avatar de Usuario
Mejias3D
Commodore 128
Commodore 128
Mensajes: 97
Registrado: 07 Dic 2014, 20:05
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Videopac
Primera consola: Videopac
Ubicación: Palma de Mallorca
Contactar:

Re: ZX-Uno prototipo 2: seguimos dándole caña

Mensajepor Mejias3D » 22 Jun 2015, 11:37

antoniovillena escribió:El esquemático no cambia. Los cambios que habrá serán:
[...]
-El conector JTAG/RGB se sube un poco para que no sobresalga mucho y será hembra en vez de macho.
[...]


Sugiero que, por la misma razón que argumentas para el JTAG/RGB, se debería "bajar" un poco el conector de expansión para que no sobresalga más de lo necesario :)

¿Existen tiras triples de pines hembra acodadas para cortar al ancho que necesita ZX-Uno?
El mundo cambia con tu ejemplo no con tu opinión (Paulo Coelho)
El premio es el placer de descubrir (Richard Feynman)

Avatar de Usuario
antoniovillena
Amiga 1200
Amiga 1200
Mensajes: 2013
Registrado: 16 Abr 2012, 21:22
Gracias recibidas: 8 veces

Re: ZX-Uno prototipo 2: seguimos dándole caña

Mensajepor antoniovillena » 22 Jun 2015, 15:03

Mejias3D escribió:
antoniovillena escribió:El esquemático no cambia. Los cambios que habrá serán:
[...]
-El conector JTAG/RGB se sube un poco para que no sobresalga mucho y será hembra en vez de macho.
[...]


Sugiero que, por la misma razón que argumentas para el JTAG/RGB, se debería "bajar" un poco el conector de expansión para que no sobresalga más de lo necesario :)

¿Existen tiras triples de pines hembra acodadas para cortar al ancho que necesita ZX-Uno?


No existen tiras triples. Si queréis puedo cambiar el diseño y separar las 2 filas superiores de la tercera fila. De esta forma se puede usar una tira doble acodada en la parte de arriba. También es más cómodo (tener tira doble) a la hora de conectar un cable plano.

Avatar de Usuario
celestinox
Commodore 128
Commodore 128
Mensajes: 97
Registrado: 07 Dic 2012, 17:04
Sistema Favorito: Commodore Amiga
primer_sistema: Spectrum 16Kb/48Kb
Primera consola: Sony PlayStation 2
Gracias recibidas: 9 veces

Re: ZX-Uno prototipo 2: seguimos dándole caña

Mensajepor celestinox » 24 Jun 2015, 18:57

antoniovillena escribió:
El esquemático no cambia. Los cambios que habrá serán:
-J13 cambia de función: antes era un switch manual NTSC/PAL (un poco inútil porque se puede conmutar por software) y ahora son 2 pines para un interruptor de encendido opcional (vendrá montado con un jumper en la versión final).
-Algunas resistencias cambian de valor para simplificar el BOM y que haya menos valores disponibles.
-El conector JTAG/RGB se sube un poco para que no sobresalga mucho y será hembra en vez de macho.
-Los cristales de video y el condensador electrolítico será SMD para reducir mano de obra en el montaje.


Hola, viendo el reproductor de pzx; me preguntaba si sería ya recomendable sustituir la memoria de 512KB, por una de 1 MB y 35ns ; imagino que se trataría de asignar a una de las líneas del bus de expansión una linea XA19 ; y buscar una memoria rápida y barata;ó como comenta Mcleod el reproductor agotaría los recursos de la FPGA

Es que no sé si implementar en el nuevo engendro que tengo en mente una memoria de 1MB o pasar del tema.

Un saludo.

Avatar de Usuario
antoniovillena
Amiga 1200
Amiga 1200
Mensajes: 2013
Registrado: 16 Abr 2012, 21:22
Gracias recibidas: 8 veces

Re: ZX-Uno prototipo 2: seguimos dándole caña

Mensajepor antoniovillena » 24 Jun 2015, 21:58

celestinox escribió:Hola, viendo el reproductor de pzx; me preguntaba si sería ya recomendable sustituir la memoria de 512KB, por una de 1 MB y 35ns ; imagino que se trataría de asignar a una de las líneas del bus de expansión una linea XA19 ; y buscar una memoria rápida y barata;ó como comenta Mcleod el reproductor agotaría los recursos de la FPGA

Es que no sé si implementar en el nuevo engendro que tengo en mente una memoria de 1MB o pasar del tema.

Un saludo.


Por mí la cambiaba, pero no encuentro ningún sustituto asequible. La que hay de 512Kb cuesta unos 3 euros. La SRAM es que está pensada para abaratar costes. Sin ella habría que emplear una FPGA bastante más tocha como la LX45. Y claro si empleamos una FPGA pequeña y barata y una SRAM grande y cara al final trae más a cuenta comprar una FPGA mayor y no emplear SRAM (la BRAM de la FPGA sería la sustituta).

Si me decís un modelo que creáis asequible, yo la puedo buscar.

Avatar de Usuario
celestinox
Commodore 128
Commodore 128
Mensajes: 97
Registrado: 07 Dic 2012, 17:04
Sistema Favorito: Commodore Amiga
primer_sistema: Spectrum 16Kb/48Kb
Primera consola: Sony PlayStation 2
Gracias recibidas: 9 veces

Re: ZX-Uno prototipo 2: seguimos dándole caña

Mensajepor celestinox » 24 Jun 2015, 23:48

antoniovillena escribió:
Por mí la cambiaba, pero no encuentro ningún sustituto asequible. La que hay de 512Kb cuesta unos 3 euros. La SRAM es que está pensada para abaratar costes. Sin ella habría que emplear una FPGA bastante más tocha como la LX45. Y claro si empleamos una FPGA pequeña y barata y una SRAM grande y cara al final trae más a cuenta comprar una FPGA mayor y no emplear SRAM (la BRAM de la FPGA sería la sustituta).

Si me decís un modelo que creáis asequible, yo la puedo buscar.


Vale, por lo que veo son mas caras, rondan los 15€ y además en formato TSOP2 (creo que es el ancho); creo que como dices no vale la pena. Además si no dejamos de incluir modificaciones, no habrá nunca una versión final del Zxuno.

Un saludo

Avatar de Usuario
antoniovillena
Amiga 1200
Amiga 1200
Mensajes: 2013
Registrado: 16 Abr 2012, 21:22
Gracias recibidas: 8 veces

Re: ZX-Uno prototipo 2: seguimos dándole caña

Mensajepor antoniovillena » 25 Jun 2015, 00:17

Una LX9 cuesta 7 euros, que sumados a los 15 euros de la SRAM salen 22 euros. Por poco más (unos 25 euros) te compras una LX45 que tiene BRAM suficiente como para emular todos los modelos de Spectrum sin necesidad de RAM externa, y además tiene bastante más espacio (casi 5 veces más celdas) para implementar todo lo que se te ocurra.

Avatar de Usuario
mcleod_ideafix
Amiga 2500
Amiga 2500
Mensajes: 5316
Registrado: 06 Oct 2009, 04:12
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Vectrex
Primera consola: TV Games/Pong Clone
Ubicación: Jerez de la Frontera
Gracias dadas: 12 veces
Gracias recibidas: 53 veces
Contactar:

Re: ZX-Uno prototipo 2: seguimos dándole caña

Mensajepor mcleod_ideafix » 25 Jun 2015, 00:19

Yo secundo la moción.... de no cambiar más el diseño: la memoria que tiene hace su trabajo bien, y la FPGA el suyo. Para lo otro tenemos el conector de expansión. Ayer era un Z80 externo, hoy es una memoria extra de hasta 2MB, y mañana... ya veremos ;)
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista


Volver a “Sinclair/Spectrum”

¿Quién está conectado?

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