Prototipo 2 del ZX-Uno

Sinclair QL, ZX81, +2, +3, 128K ...
Avatar de Usuario
Sinclair
MSX Turbo R
MSX Turbo R
Mensajes: 323
Registrado: 19 Jun 2013, 00:00
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Atari 2600
Primera consola: Sony PlayStation 1
Gracias dadas: 8 veces
Gracias recibidas: 1 vez

Re: Prototipo 2 del ZX-Uno

Mensajepor Sinclair » 19 Oct 2014, 17:32

Me pongo en la cola para kit y componentes por si alguien se echa para atrás, si no, placa solo.

Saludos.
© 1982 Sinclair Research Ltd

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: 54 veces
Contactar:

Re: Prototipo 2 del ZX-Uno

Mensajepor mcleod_ideafix » 20 Oct 2014, 02:49

He sintetizado la última versión del core en esta nueva versión. Con todo lo que tiene el ZX-Uno actualmente implementado, incluyendo el modo radastaniano, ocupamos el 65% de la Spartan 6. En la Spartan 3, estábamos ocupando el 98%

Cosas que quedan aún por implementar y que deberían haber estado en la versión V1:
- El joystick externo (me cargué las pistas que van al joystick, así que no podía probarlo)
- El puerto PS/2 bidireccional para poder inicializar el teclado
- La MMU horizontal del Timex, para completar la especificación Chloe 280SE
- Separar los canales de los dos chips AY para tener estéreo ACB / ABC o del tipo que sea (Andrew Owen sugirió un sistema para hacer esto configurable con idea de elegirlo desde BIOS)
- El bus de expansión trasero del ZX Spectrum

Cosas que se incorporarán a la versión V2 (además de todo lo anterior):
- Scandoubler para salida VGA con opción de elegir la frecuencia de barrido desde BIOS, para soportar la mayor cantidad de monitores posible.
- Ratón Kempston (quizás se pudiera tener emulación AMX, soportada por Art Studio entre otros)
- Modo PAL/NTSC (¿tiene sentido esto en un Spectrum?)

Cosas que podrían implementarse en la versión V2 (después de todo lo anterior)
- Usar la Flash SPI en modo "quad" como ROM XIP (eXecute In Place) para no gastar SRAM en ella
- SpecDrum (para quien no lo conozca, es un periférico muy sencillo, que se vendió comercialmente en la época del Spectrum, que permite reproducir sonidos digializados de 8 bits)
- Soporte para módulo SpectraNET
- Timmings de la ULA seleccionables (timming 48K / timming 128K)
- Coprocesador matemático X80. Es un coprocesador que de momento sólo existe como propuesta, y que vendría a acelerar cualquier operación realizada a través de la RST $28 (el calculador de la ROM), con lo que cualquier programa, BASIC o C/M, que use las rutinas del calculador de la ROM es automáticamente acelerado. La implementación que se me ocurrió sería tan trivial como detectar cuándo se está ejecutando código del calculador, y en ese momento, cambiar la frecuencia de la CPU a la máxima que permita el diseño. No sería un coprocesado real, ya que seguiría siendo el Z80 quien hiciera los cálculos, pero obviamente, el rendimiento percibido será mayor :) (aproximadamente, casi 8 veces más rápido que las rutinas originales)

No sé si se me olvida algo :)
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

Avatar de Usuario
Hark0
Amiga 1200
Amiga 1200
Mensajes: 1695
Registrado: 11 Jul 2012, 23:44
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: (Otro)
Primera consola: (Otro)
Ubicación: Cornellà de Llobregat - Barcelona
Contactar:

Re: Prototipo 2 del ZX-Uno

Mensajepor Hark0 » 20 Oct 2014, 09:27

mcleod_ideafix escribió:He sintetizado la última versión del core en esta nueva versión. Con todo lo que tiene el ZX-Uno actualmente implementado, incluyendo el modo radastaniano, ocupamos el 65% de la Spartan 6. En la Spartan 3, estábamos ocupando el 98%

Cosas que quedan aún por implementar y que deberían haber estado en la versión V1:
- El joystick externo (me cargué las pistas que van al joystick, así que no podía probarlo)
- El puerto PS/2 bidireccional para poder inicializar el teclado
- La MMU horizontal del Timex, para completar la especificación Chloe 280SE
- Separar los canales de los dos chips AY para tener estéreo ACB / ABC o del tipo que sea (Andrew Owen sugirió un sistema para hacer esto configurable con idea de elegirlo desde BIOS)
- El bus de expansión trasero del ZX Spectrum

Cosas que se incorporarán a la versión V2 (además de todo lo anterior):
- Scandoubler para salida VGA con opción de elegir la frecuencia de barrido desde BIOS, para soportar la mayor cantidad de monitores posible.
- Ratón Kempston (quizás se pudiera tener emulación AMX, soportada por Art Studio entre otros)
- Modo PAL/NTSC (¿tiene sentido esto en un Spectrum?)

Cosas que podrían implementarse en la versión V2 (después de todo lo anterior)
- Usar la Flash SPI en modo "quad" como ROM XIP (eXecute In Place) para no gastar SRAM en ella
- SpecDrum (para quien no lo conozca, es un periférico muy sencillo, que se vendió comercialmente en la época del Spectrum, que permite reproducir sonidos digializados de 8 bits)
- Soporte para módulo SpectraNET
- Timmings de la ULA seleccionables (timming 48K / timming 128K)
- Coprocesador matemático X80. Es un coprocesador que de momento sólo existe como propuesta, y que vendría a acelerar cualquier operación realizada a través de la RST $28 (el calculador de la ROM), con lo que cualquier programa, BASIC o C/M, que use las rutinas del calculador de la ROM es automáticamente acelerado. La implementación que se me ocurrió sería tan trivial como detectar cuándo se está ejecutando código del calculador, y en ese momento, cambiar la frecuencia de la CPU a la máxima que permita el diseño. No sería un coprocesado real, ya que seguiría siendo el Z80 quien hiciera los cálculos, pero obviamente, el rendimiento percibido será mayor :) (aproximadamente, casi 8 veces más rápido que las rutinas originales)

No sé si se me olvida algo :)


¿"addons/tonterias" de software, léase Pokeadores, visores memoria, dumpeadores de la misma, snapshots, etc. está soportado?

(igual acabo de preguntar una cosa chorras como una gamba, sorry)
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA.

Avatar de Usuario
TallerSeverino
Amstrad PC 1640
Amstrad PC 1640
Mensajes: 519
Registrado: 12 Abr 2013, 09:55
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Nintendo NES/Clónica
Primera consola: Nintendo NES/Clónica
Ubicación: Cádiz
Gracias dadas: 17 veces
Gracias recibidas: 17 veces

Re: Prototipo 2 del ZX-Uno

Mensajepor TallerSeverino » 20 Oct 2014, 10:27

Hark0 escribió:
¿"addons/tonterias" de software, léase Pokeadores, visores memoria, dumpeadores de la misma, snapshots, etc. está soportado?

(igual acabo de preguntar una cosa chorras como una gamba, sorry)


Yo en mi más completo desconocimiento me pregunto si por ejemplo se podría sintetizar un disciple y usar una unidad de disquette externa aunque haya que usar chips externos como la controladora de disquete WD que lleva el disciple, llamadme anticuado :mrgreen: , sabiendo que tenemos la SD ahí, es un proyecto que tengo desde hace siglos, lo de hacer un "clon" del disciple, incluso tengo las placas hechas (no fabricadas) pero me tiraba "p'atrás" el tamaño de la placa y las historias con las pal.

Avatar de Usuario
gamer80
Atari 1040 STf
Atari 1040 STf
Mensajes: 781
Registrado: 31 Oct 2011, 19:34
Ubicación: ESPARTA
Gracias dadas: 20 veces
Gracias recibidas: 34 veces
Contactar:

Re: Prototipo 2 del ZX-Uno

Mensajepor gamer80 » 20 Oct 2014, 10:34

"Un coprocesador matemático", pues el 80387, pa que flipen éstos cuando jueguen al Sentinel 8-) me parece muy interesante el proyecto :jumper: a ver hasta que límite llega... Bueno, y todo esto... ¿está probado y será compatible con todos los juegos, o veremos resets? Pregunto :shock:
Última edición por gamer80 el 20 Oct 2014, 11:20, editado 1 vez en total.
"Hazlo o no lo hagas, pero no lo intentes" -Maestro Yoda-

Avatar de Usuario
Hark0
Amiga 1200
Amiga 1200
Mensajes: 1695
Registrado: 11 Jul 2012, 23:44
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: (Otro)
Primera consola: (Otro)
Ubicación: Cornellà de Llobregat - Barcelona
Contactar:

Re: Prototipo 2 del ZX-Uno

Mensajepor Hark0 » 20 Oct 2014, 11:16

Actualizada web con las fotos del amigo @Jepalza...

http://zxuno.speccy.org
http://zxuno.speccy.org/media.shtml

8-)
http://www.zxuno.com
ZX-Uno · Clon de ordenador ZX Spectrum basado en FPGA.

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: Prototipo 2 del ZX-Uno

Mensajepor na_th_an » 20 Oct 2014, 11:27

gamer80 escribió:"Un coprocesador matemático", pues el 80387, pa que flipen éstos cuando jueguen al Sentinel 8-) me parece muy interesante el proyecto :jumper: a ver hasta que límite llega... Bueno, y todo esto... ¿está probado y será compatible con todos los juegos, o veremos resets? Pregunto :shock:


Sólo los programas que usen el calculador de la ROM se verán beneficiados. Dudo que Sentinel use este calculador, no creo que se vea afectado en absoluto.

Si no he entendido mal, no es "coprocesador" per se, sino un mecanismo para detectar que se está usando el calculador de la ROM y, cuando se detecte, subir la velocidad de la CPU al máximo.

Avatar de Usuario
gamer80
Atari 1040 STf
Atari 1040 STf
Mensajes: 781
Registrado: 31 Oct 2011, 19:34
Ubicación: ESPARTA
Gracias dadas: 20 veces
Gracias recibidas: 34 veces
Contactar:

Re: Prototipo 2 del ZX-Uno

Mensajepor gamer80 » 20 Oct 2014, 11:41

na_th_an escribió:
gamer80 escribió:"Un coprocesador matemático", pues el 80387, pa que flipen éstos cuando jueguen al Sentinel 8-) me parece muy interesante el proyecto :jumper: a ver hasta que límite llega... Bueno, y todo esto... ¿está probado y será compatible con todos los juegos, o veremos resets? Pregunto :shock:


Sólo los programas que usen el calculador de la ROM se verán beneficiados. Dudo que Sentinel use este calculador, no creo que se vea afectado en absoluto.

Si no he entendido mal, no es "coprocesador" per se, sino un mecanismo para detectar que se está usando el calculador de la ROM y, cuando se detecte, subir la velocidad de la CPU al máximo.

Se, bueno, algo he leído por ahí sobre el X80 de Steve Vickers propuesto por Mcleod, pero lo suyo sería poder darle velocidad a voluntad, yo probé algo hace tiempo en el Harlequin toqueteando los osciladores, pero se colgaban los juegos :-k
"Hazlo o no lo hagas, pero no lo intentes" -Maestro Yoda-

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: 54 veces
Contactar:

Re: Prototipo 2 del ZX-Uno

Mensajepor mcleod_ideafix » 20 Oct 2014, 14:26

Lo del X80 es una paranoya del Andrés Owen. En su concepto original sería un chip copro "de verdad", que pararía al Z80 mientras él hace su trabajo. Lo que pasa es que hay un montón de cosas que no se podrían implementar con un copro matemático usual, tal como las operaciones de cadena, o funciones que no son matemáticas, sino que tratan con periféricos, tales como ATTR, POINT o SCREEN$, manejo de cadenas, y llamadas a rutinas en C/M (USR)

Yo le comenté hace no mucho que la forma más sencilla de implementar este concepto sería lo que os he dicho: acelerar la CPU todo lo posible mientras el programa está ejecutando la RST $28 y volverlo a su velocidad nominal una vez que se sale de ella. No sería la opción que diera la máxima velocidad, pero probablemente se notaría bastante.

Lo del X80 es ahora mismo la menor de mis prioridades: por eso está en la lista de "cosas que ya veremos a ver si se ponen o no".

-- Actualizado 20 Oct 2014, 13:30 --

TallerSeverino escribió:
Hark0 escribió:
¿"addons/tonterias" de software, léase Pokeadores, visores memoria, dumpeadores de la misma, snapshots, etc. está soportado?

(igual acabo de preguntar una cosa chorras como una gamba, sorry)


Yo en mi más completo desconocimiento me pregunto si por ejemplo se podría sintetizar un disciple y usar una unidad de disquette externa aunque haya que usar chips externos como la controladora de disquete WD


Pokeadores y similares, estoy seguro de que se pueden implementar, si no lo están ya, usando el sistema de interrupciones del DivMMC. Los snapshots (carga y grabación) ya los tienes usando de hecho DivMMC y esxdos.

Lo del Disciple también se puede sintetizar, pero tendrías que usar level shifters porque la Spartan 6 no acepta señales de 5V, y el controlador WD1773 es un chip de 5V.
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

Avatar de Usuario
enkonsierto
Spectrum 48K Plus
Spectrum 48K Plus
Mensajes: 46
Registrado: 08 Jul 2014, 17:14
Sistema Favorito: (Otro)
primer_sistema: (Otro)
consola_favorita: Nintendo SNES
Primera consola: Nintendo GameBoy
Ubicación: Sevilla

Re: Prototipo 2 del ZX-Uno

Mensajepor enkonsierto » 20 Oct 2014, 18:00

antoniovillena escribió:Estás apuntado. El único que falta por confirmar es flopping, que no sé si tiene la placa montada. Si la tiene montada (o la monta antes del 26) tendrá preferencia y se quedaría fuera enkonsierto (lo acabo de mover a la lista de reserva, antes estaba en la de asegurados porque supuse que flopping no la había montado).


Flopping! Aparece y di algo!! xD


Volver a “Sinclair/Spectrum”

¿Quién está conectado?

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