Cacharreando con el prototipo 2 del ZX-Uno

Sinclair QL, ZX81, +2, +3, 128K ...
Avatar de Usuario
yombo
Amstrad PCW 8256
Amstrad PCW 8256
Mensajes: 190
Registrado: 01 Ago 2014, 22:52
Sistema Favorito: Spectrum +2
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: TV Games/Pong Clone
Primera consola: TV Games/Pong Clone

Re: Cacharreando con el prototipo 2 del ZX-Uno

Mensajepor yombo » 07 Feb 2015, 17:15

mcleod_ideafix escribió:Pues yo también me he apuntado a la "moda" de hacer conjuntos de Mandelbrot para el modo radastaniano. Este es el mío :)

Mola! :)

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

Re: Cacharreando con el prototipo 2 del ZX-Uno

Mensajepor antoniovillena » 07 Feb 2015, 18:38

En cuanto al upgrade machine, lo dejo provisional hasta que implementemos el multiboot. Actualmente el bitstream principal lo grabamos en 00000:53B1F y no tenemos bitstream de seguridad, con lo que el upgrade machine escribe en esa dirección (00000:53B1F).

En un futuro, si tenemos multiboot, el bitstream principal iría en 54000:A7B1F y el bitstream de seguridad en 00000:53B1F, con lo que el upgrade machine tendría que escribir en 54000:A7B1F. De esta forma sería imposible brickear el ZX-Uno. Y otra ventaja del multiboot es que hay 2 bitstreams, por lo que podemos tener un spectrum y por ejemplo un Jupiter Ace a la vez en la SPI flash. Con la Spartan 3 esto no se puede, y además si en la v1 del ZX-Uno upgradeas una máquina que no tiene mecanismo de actualizarse a sí misma, brickeas el ZX-Uno. Cuando la ZX-Uno está brickeada, la única forma de "arreglarla" es con un cable JTAG.

Avatar de Usuario
Quest
Atari 1040 STf
Atari 1040 STf
Mensajes: 900
Registrado: 18 Jul 2013, 22:20
Sistema Favorito: Commodore Amiga
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Nintendo SNES
Primera consola: Nintendo NES/Clónica
Gracias dadas: 9 veces
Gracias recibidas: 16 veces

Re: Cacharreando con el prototipo 2 del ZX-Uno

Mensajepor Quest » 07 Feb 2015, 22:40

mcleod_ideafix escribió:Por lo que me cuentas de los relojes, sospecho que el reloj que estamos usando para este core no es suficientemente rápido y hay problemas de aliasing. Ve al fichero ula_radas.v y busca (hacia la línea 86) esto:

Código: Seleccionar todo

        assign clkdac = clk7;
        assign clkay = hc[0];
        assign clkkbd = hc[4];


Cambia en la línea donde se asigna clkkbd, el 4 entre corchetes por un 1. Con eso estamos multiplicando la frecuencia del core PS/2 por 16. La frecuencia actual es de 218.75kHz (7MHz dividido entre 32). Con el cambio se queda en 1750kHz. Sintetiza el nuevo core y envíaselo (el .BIT) a la FPGA, a ver qué tal ahora :)


He hecho el cambio propuesto, he sintetizado y he grabado el nuevo bit. Sigue yendo mal... :(

Por contra, después he grabado el .bit del core vgatest1 y parece que funciona muchísimo mejor mi invento tecladil ahí. Se ve que reconoce bien todas las pulsaciones por el led del ZX-UNO que se enciende y además con las teclas del 1 al 8 para cambiar la resolución, siempre las reconoce y hace el cambio.

Bueno, parece que la implementación de la interfaz de teclado de este vgatest1 va más fina. A ver si se puede implementar finalmente en el core actual :)

Mientras tanto puedo ir probando a tocar los valores que me comentaba antonio a ver si se nota algo.

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

Re: Cacharreando con el prototipo 2 del ZX-Uno

Mensajepor antoniovillena » 07 Feb 2015, 23:50

He estado depurando con el ZX-Uno real y he encontrado el bug que no permitía el grabado de ROMs. Era simple, grababa en la posición que le correspondía a la v1. El menú upgrade muestra una pantalla de basura tras cargar el primer bloque. Esto no sé si me dará tiempo a solucionarlo mañana; si no, el sábado que viene.

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: Cacharreando con el prototipo 2 del ZX-Uno

Mensajepor mcleod_ideafix » 07 Feb 2015, 23:57

Quest escribió:Bueno, parece que la implementación de la interfaz de teclado de este vgatest1 va más fina. A ver si se puede implementar finalmente en el core actual :)

Esa es mi intención. El core de PS/2 que hay dentro del vgatest1 incorpora entre otras cosas un acondicionador de señal, que el core actual no tiene, pero antes de "empotrarlo" en el ZX-Uno tengo que añadirle el soporte de poder enviar datos desde el ZX-Uno, y ver la forma en la que se puede multiplexar, si se puede, para que también valga para el ratón (que ese sí que necesita poder enviar datos sí o sí)
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

Avatar de Usuario
Quest
Atari 1040 STf
Atari 1040 STf
Mensajes: 900
Registrado: 18 Jul 2013, 22:20
Sistema Favorito: Commodore Amiga
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Nintendo SNES
Primera consola: Nintendo NES/Clónica
Gracias dadas: 9 veces
Gracias recibidas: 16 veces

Re: Cacharreando con el prototipo 2 del ZX-Uno

Mensajepor Quest » 08 Feb 2015, 01:24

antoniovillena escribió:He estado depurando con el ZX-Uno real y he encontrado el bug que no permitía el grabado de ROMs. Era simple, grababa en la posición que le correspondía a la v1. El menú upgrade muestra una pantalla de basura tras cargar el primer bloque. Esto no sé si me dará tiempo a solucionarlo mañana; si no, el sábado que viene.


Acabo de hacer unas pruebas con lo nuevo que has subido sobre el grabado de ROMs. He encontrado otro problema. Si cargas una ROM de 1 bloque (16kb) no hay problema, la graba bien y funciona. Si es mayor (he probado con varias de 32kb por ejemplo, que sí que se que funcionan porque en un .mcs personalizado que hice funcionan), no la graba bien, sale corrupta, CRC erróneo y arranca en cuadraditos de colores corruptos. Antes de la grabación de una ROM de 32kb, por supuesto he liberado los 2 slots consecutivos que ocuparía.

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: Cacharreando con el prototipo 2 del ZX-Uno

Mensajepor mcleod_ideafix » 08 Feb 2015, 02:31

Quest escribió:arranca en cuadraditos de colores corruptos. Antes de la grabación de una ROM de 32kb, por supuesto he liberado los 2 slots consecutivos que ocuparía.

Recuerda desactivar el DivMMC, porque si lo tienes activado, al saltar el micro a la posición 0000h de memoria, se activa y dado que sólo funciona con ROMs que contengan un sistema operativo "correcto", con juegos o cualquier otra cosa impedirá que se ejecute bien.
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

Avatar de Usuario
Quest
Atari 1040 STf
Atari 1040 STf
Mensajes: 900
Registrado: 18 Jul 2013, 22:20
Sistema Favorito: Commodore Amiga
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Nintendo SNES
Primera consola: Nintendo NES/Clónica
Gracias dadas: 9 veces
Gracias recibidas: 16 veces

Re: Cacharreando con el prototipo 2 del ZX-Uno

Mensajepor Quest » 08 Feb 2015, 02:34

mcleod_ideafix escribió:
Quest escribió:arranca en cuadraditos de colores corruptos. Antes de la grabación de una ROM de 32kb, por supuesto he liberado los 2 slots consecutivos que ocuparía.

Recuerda desactivar el DivMMC, porque si lo tienes activado, al saltar el micro a la posición 0000h de memoria, se activa y dado que sólo funciona con ROMs que contengan un sistema operativo "correcto", con juegos o cualquier otra cosa impedirá que se ejecute bien.


Si, eso ya está controlado, no es el problema. Además estoy probando con roms de sistema (por ejemplo la de un +2 gris, que es de 32kb). Estoy casi seguro de que es un bug en la escritura de las roms en la SPI mayores a un bloque. Con la rom de un Inves (16kb) , no pasa.

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

Re: Cacharreando con el prototipo 2 del ZX-Uno

Mensajepor antoniovillena » 08 Feb 2015, 11:51

Quest escribió:
mcleod_ideafix escribió:
Quest escribió:arranca en cuadraditos de colores corruptos. Antes de la grabación de una ROM de 32kb, por supuesto he liberado los 2 slots consecutivos que ocuparía.

Recuerda desactivar el DivMMC, porque si lo tienes activado, al saltar el micro a la posición 0000h de memoria, se activa y dado que sólo funciona con ROMs que contengan un sistema operativo "correcto", con juegos o cualquier otra cosa impedirá que se ejecute bien.


Si, eso ya está controlado, no es el problema. Además estoy probando con roms de sistema (por ejemplo la de un +2 gris, que es de 32kb). Estoy casi seguro de que es un bug en la escritura de las roms en la SPI mayores a un bloque. Con la rom de un Inves (16kb) , no pasa.


Ya está. He arreglado el bug. También he podido comprobar que funciona el upgrade BIOS (el de machine y ESXDOS están sin probar, pero pueden funcionar). Muchas gracias por todo el betatesting que estás haciendo. Por cierto, pásame el set de ROMs que usas (con el generamcs.bat me vale), que lo pongo como oficial. El que uso yo es bastante limitado.

-- Actualizado 08 Feb 2015, 12:00 --

Quest escribió:...por supuesto he liberado los 2 slots consecutivos que ocuparía.


Esto no hace falta. Cuando grabas una nueva ROM no se te avisa si había algo en dichos slots, se sobreescribe con el contenido que tuviese. Tampoco se borra la antigua entrada, por lo que si se seleccionas una antigua entrada cuyo slot ha sido machacado, verás un error de CRC. Las entradas se pueden eliminar, y si eliminas una entrada no eliminas el contenido que hay en los slots, sólo la entrada. Por eso tengo pendiente la función recovery, que serviría para recuperar entradas que se hayan borrado.

Otra cosa que se puede hacer para aprovechar el contenido de los slots es hacer que varias entradas apunten a un mismo slot, que puede ser útil por ejemplo si queremos dos arranques en 48K distintos: uno con la paginación 128K habilitada y otro con la misma deshabilitada. También puedes apuntar con una entrada a la segunda ROM (o cuarta si es +2A) de una ROM de 128K, y tener una ROM de 48K sin usar un slot aparte. Todo esto sería para hacerlo en generamcs.bat, ya que de momento no tenemos la función recovery.

-- Actualizado 08 Feb 2015, 14:33 --

He creado un listado de ROMs lo más extenso posible y lo he subido al repositorio. Si veis que falta alguna importante me lo decís y actualizo la lista. Este mismo listado está en el repositorio, en firmware/roms/listadoROMs.txt

Código: Seleccionar todo

ROMs 8K que funcionen con DivMMC
  ESXMMC.BIN            40857A84  ESXDOS 0.8.5

ROMs de 16K
  48.rom                DDEE531F  Original del Spectrum 16K/48K
  leches.rom            43DF1282  CargandoLeches easy/resetplay/pokemon
  tc2048.rom            F1B5FA67  Timex 2048
  tk90x.rom             3E785F6F  Clon brasileño TK90X
  tk95.rom              17368E07  Clon brasileño TK95
  inves.rom             8FF7A4D1  Clon español Inves Spectrum +
  48-beckman.rom        A8A41DA5  Escandinava hecha por Beckman Innovation AB
  48-busysoft.rom       1511CDDB  Modificada por Busy Soft v1.18
  48-busysoft-140.rom   07017C6D  Modificada por Busy Soft v1.40
  48-groot.rom          ABF18C45  Modificada por Henk de Groot
  48-imc.rom            D1BE99EE  Modificada por Ian Collier
  48-jgh.rom            F6713813  Modificada por Jonathan Harston v0.72
  48-plus4.rom          7E0F47CB  Modificada por ????
  48-simulator.rom      996BC458  Modificada para ZX Spectrum Simulator
  48-russian.rom        CEB4005D  Modificada para ZX Emulator
  48-specem.rom         705192C7  Modificada como ROM1 de 128K en SpecEm
  80-lec.rom            5B5C92B1  Modificada para un Spectrum expandido a 80K
  deutsch.rom           1A9190F4  Traducida al alemán por Andrew Owen
  gw03.rom              D6DC6C1F  Gosh Wonderful v1.32 por Geoff Wearmouth
  seachange.rom         73B4057A  Sea Change por Geoff Wearmouth
  SinclairTest.rom      730BBA9E  Sinclair ZX Spectrum Test ROM

ROMs de 32K
  128en.rom             2CBE8995  Original 128K inglesa
  128es.rom             0437B160  Original 128K española
  plus2en.rom           E7A517DC  Original +2 inglesa
  plus2es.rom           5660F4B4  Original +2 española
  plus2fr.rom           8F769DE7  Original +2 francesa
  se.rom                D7AC4169  SE Basic IV 4.0 Anya por Andrew Owen

ROMs de 64K
  plus3en40.rom         96E3C17A  Original +2A/+3 inglesa 4.0
  plus3en41.rom         BE0D9EC4  Original +2A/+3 inglesa 4.1
  plus3es40.rom         BCD3924E  Original +2A/+3 española 4.0
  plus3es41.rom         0ADE13F8  Original +2A/+3 española 4.1
  plus3en40divmmc.rom   A2441D01  Modificada +3e inglesa 4.0 soporte DivMMC
  plus3en40zxmmc.rom    BAF9DEDA  Modificada +3e inglesa 4.0 soporte ZXMMC
  plus3es40zxmmc.rom    13202ED9  Modificada +3e española 4.0 soporte ZXMMC
             
Juegos de cartucho de 16K
  Backgammon.rom        40E78B48  Backgammon (Psion 1983)
  Cookie.rom            7108E9A8  Cookie (Ultimate 1983)
  HoraceSpiders.rom     8CE28FFE  Horace & the Spiders (Psion 1983)
  HungryHorace.rom      BEF35699  Hungry Horace (Psion & Melbourne House 1982)
  JetPac.rom            1D194E5B  Jet Pac (Ultimate 1983)
  Chess.rom             08C6A8C6  Chess (Psion & Mikro Gen 1983)
  Planetoids.rom        06E43FA2  Planetoids (Psion 1982)
  Pssst.rom             464CD4F6  Pssst (Ultimate 1983)
  SpaceRaiders.rom      A570BD3D  Space Raiders (Psion 1982)
  TranzAm.rom           03DA9BE7  Tranz Am (Ultimate 1983)
  ShadowUnicorn.rom     7085A0FD  Shadow of the Unicorn ROM (Sólo cargador) (Ross, Fraser 2001)
  Gyruss.rom            0DD3BCEB  Gyruss (Parker Software 1984)
  LocoMotion.rom        33B8AE50  Loco Motion (Amazon Software 1984)
  Panama Joe.rom        FF8D7DC3  Montezuma's Revenge (Parker Software 1984)
  Panama Joe_a.rom      5D73082E  Montezuma's Revenge (Parker Software 1984) alternativo
  Popeye.rom            85C189C1  Popeye (Parker Software 1984)
  QBert.rom             5DE868DB  QBert (Parker Software 1984)
  ReturnJedi.rom        5F5BF622  Return Of The Jedi - Death Star Battle (Parker Software 1984)
  StarWars.rom          732C6F5D  Star Wars (Parker Software 1984)
  StarWars_a.rom        90B61858  Star Wars (Parker Software 1984) alternativo
  Deathchase.rom        144EF070  Deathchase (Micromega 1983) adaptación juego 16K AntonioVille
  JetSetWilly.rom       3CDDE27A  Jet Set Willy (Software Projects Ltd 1984) adaptación juego 4
  LalaPrologue.rom      6BEDB1E5  Lala Prologue (Ubhres Productions 2010) adaptación juego 48K
  ManicMiner.rom        6D851F07  ManicMiner (Bug-Byte Software Ltd 1983) adaptación juego 48K
  MiscoJones.rom        8D6B43C5  Misco Jones (Radastan 2013) adaptación juego 48K AntonioVille

Avatar de Usuario
garvidal
Spectrum 48K Plus
Spectrum 48K Plus
Mensajes: 34
Registrado: 15 Oct 2014, 21:15
Sistema Favorito: Amstrad CPC
primer_sistema: PC
consola_favorita: NeoGeo
Primera consola: Nintendo DS/3DS
Gracias dadas: 4 veces
Gracias recibidas: 2 veces

Re: Cacharreando con el prototipo 2 del ZX-Uno

Mensajepor garvidal » 08 Feb 2015, 17:10

Bueno, pues ya hay otro ZX-Uno casi funcionando...

Y digo casi por que, después de muchas desventuras, esta mañana he cargado el test del led y ha funcionado correctamente, además lo he cargado en la memoria para comprobar que esta funcionaba y ha tirado millas.

Ahora estaba probando el test14, pero no me saca vídeo.

El caso es que cuando acerco un poco el dedo al chip si parece querer mostrar algo, pero enseguida que lo retiro la imagen desaparece de pantalla. Son como unas líneas verticales con un cuadrado en medio (ahora en cambio me salen como cuadros de colores)...

Voy a darle un vistazo a ver por donde pueden ir los tiros. Primero tengo que soldar de nuevo el conector micro usb que casi lo arranco al desenchufarlo...
---------------------------------------------------
http://www.garvidal.com
http://www.dicemarket.es


Volver a “Sinclair/Spectrum”

¿Quién está conectado?

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