Sintetizando un Spectrum con el ZX-Uno

Sinclair QL, ZX81, +2, +3, 128K ...
jepalza

Re: Sintetizando un Spectrum con el ZX-Uno

Mensajepor jepalza » 16 Feb 2014, 16:42

Chico, me has leído el pensamiento: pensaba poner un pantallazo EXACTAMENTE igual a ese, pero con la versión 10.1 . Se ven clavaditos uno al otro. ASí lo tengo. Con la xilinx abajo, una PROM 25-40 arriba, y poco mas. he probado a darle el MCS qu me genero en el ISE 14.3, pero me dice "fichero desconocido". He probado a generarlo en el 10.1, pero me dice que lo ha grabado bien, pero luego, está vacio (apago, enciendo, y lógicamente, no hay nada).
Voy a revisar soldaduras. Pero de todos modos, solo quedan uno o dos días para que me llegue (espero) el de USB y olvidarme de esta mierda antediluviana. Me está sirviendo para jugar, y me deja cargar BIT, pero poco mas.

por cierto, ya tengo un MCS mezclado con la ROM, pero lógicamente, no me deja hacer nada.

Edito: he revisado la flash, y los pines vs0 al 2 y está todo correcto. No veo cortos entre pines, le llega la alimentación, el puente está bien hecho. Nipu. Sin ideas por ahora.
Adjuntos
WP_20140216_001.jpg
WP_20140216_001.jpg (90.75 KiB) Visto 4827 veces

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

Re: Sintetizando un Spectrum con el ZX-Uno

Mensajepor antoniovillena » 16 Feb 2014, 17:02

Entonces mejor espérate al cable de verdad. Con lo que has hecho debería funcionar. No sólo podrían ser las soldaduras que van a la Flash, sino las propias del cable JTAG. Una escritura de Flash es mucho más larga que una en FPGA, por lo que se puede dar el caso de que no te falle meter un .bit, pero sí meter un .mcs.

jepalza

Re: Sintetizando un Spectrum con el ZX-Uno

Mensajepor jepalza » 16 Feb 2014, 17:16

He descubierto el fallo: AHORA SI GRABA EN LA SPI, pero no me gusta "el cómo", por eso, mejor esperar a mañana o pasado al cable USB.
El fallo es el mismo que al principio, cuando no me grababa la FPGA. Los famosos 3.3v del grabador de puerto paralelo. Como el Xilinx se programa a 2.5 por el JTAG, y el programador de puerto paralelo necesita 5v., le desvié el voltaje de grabación hacia el de 3.3v, de ese modo, puedo grabar en la FPGA, pero a la SPI no le llegan el voltaje. Si hago un puente "a lo bestia" del 3.3 del paralelo, al 2.5 del JTAG, sí me graba, pero no me gusta hacerlo así. La diferencia es mínima (solo 0.8v.) pero me da miedo.

Así que, a esperar toca. (pero como soy muy perro y muy nervioso, voy a hacer un par de pruebillas de nada, ahora que puedo :twisted: )

TwitterZDP
ZX Spectrum 16
ZX Spectrum 16
Mensajes: 2
Registrado: 03 Nov 2013, 19:45

Re: Sintetizando un Spectrum con el ZX-Uno

Mensajepor TwitterZDP » 16 Feb 2014, 17:22

¡Esto merece otro twitt! =D> ¡seguid así!

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

Re: Sintetizando un Spectrum con el ZX-Uno

Mensajepor antoniovillena » 16 Feb 2014, 17:56

Bueno lo importante es que hayas aprendido la lección. Yo la aprendí hace tiempo con los PICs hasta que me harté del cutre-cable paralelo y me compré un PicKit 2 (USB). Estos cables nunca son fiables al 100%, funcionan, no digo que no, pero sólo sirven si necesitas grabar puntualmente un chip. En el momento en que te pones a hacer desarrollos más complejos que requieren depuración y estar continuamente volcando datos al chip la cosa cambia, siempre llega el momento en el que el precio del grabador amortiza el tiempo que pierdes peleándote con el cutre-cable.

Que sí, que el cable USB cuesta caro (30 eur) en relación a 2 ó 3 euros de uno paralelo que te puedas construir, pero depende de para qué lo uses es un precio que merece la pena pagar.

jepalza

Re: Sintetizando un Spectrum con el ZX-Uno

Mensajepor jepalza » 17 Feb 2014, 17:40

antoniovillena escribió:Bueno lo importante es que hayas aprendido la lección.

Así se aprende, metiendo "mano" a las cosas. He sido autodidacta toda mi vida (por eso soy autónomo). Mi primera moto era de marchas, y nadie me enseñó que el embrague se usaba para meter las marchas, y yo, para meter la primera, empujaba la moto para que cogiera velocidad, y seguido metía la marcha sin embrague. Me pasaba horas llorando a escondidas por que no quería decirle a mi padre que la moto "estaba estropeada, había que empujarla para que saliera, y al meter la mercha se paraba de golpe"....

Volviendo al tema. Me he puesto hace un rato a incluir el módulo de lectura de la Flash SPI hacia la SRAM, ya limpio de polvo y paja, pero me pierdo en estos lares. Me está costando lo suyo, por que este módulo requiere acceso exclusivo a la SRAM externa en el momento del arranque. Al acabar de hacer "sus cosas", le cede el turno al Spectrum. Pero ahí viene el problema: como estoy muy pez en esto del verilog, me dice que el puerto de direcciones y datos de la SRAM ya está en uso por el Spectrum, y no me deja unir el bus entre ambos módulos. Por mas pruebas que hago, no me deja. Voy a seguir intentándolo, total, de muertos al río.

El grabador USB, no hay llegado hoy al final. A ver si llega mañana. Ahora que puedo grabar por paralelo en la SPI, puedo hacer pruebas, pero es muy incómodo andar con tanto cable y puente para poder grabar.

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

Re: Sintetizando un Spectrum con el ZX-Uno

Mensajepor antoniovillena » 17 Feb 2014, 19:00

Yo puse un contador que a su vez me valía para generar la dirección RAM donde se escribía. Cuando llegaba a cierto valor dicho contador (se han copiado todos los bytes) ponía a cero un flag (que al principio valía uno). Con este flag puedes multiplexar el acceso a RAM externa (cuando está a uno la RAM es del módulo y cuando está a cero es del spectrum).

Pero vamos que esta es la implementación "chapucera". Para que realmente sea flexible lo suyo es hacer un interface SPI a la Flash y acceder a dicho interface por un puerto del z80. De esta forma ni siquiera necesitas multiplexar el acceso a RAM externa.

jepalza

Re: Sintetizando un Spectrum con el ZX-Uno

Mensajepor jepalza » 17 Feb 2014, 19:21

Acabo de hacer algo parecido, he puesto una condicion dentro de un ALWAYS para que solo se ejecute una vez. No sé si será muy elegante, pero al menos funciona.
He conseguido compilar una versión con la lectura desde la SPI de una ROM desde la direccion 40000h hacia la direccion 0 de la SRAM.
Pero ahora me queda otro reto, eliminar la ROM interna que Mcleod_Ideafix implementó, y hacer que cuando se busque la ROM, se lea desde la RAM.

Otra forma es pasar de la SRAM a la BRAM, a la zona donde se ha reservado el espacio de ROM, pero en un principio, lo ideal es pasar de las BRAM, mas cortas.
SI quieres el código tal cual lo llevo ahora, te lo paso, y puedes ir probando tú tambien a eliminar la ROM por otros métodos.

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

Re: Sintetizando un Spectrum con el ZX-Uno

Mensajepor antoniovillena » 17 Feb 2014, 21:17

Hola jepalza

Lo de pasar de SRAM a BRAM no puedes hacerlo, porque si no cada vez que el z80 cambia de ROM habría que hacer un copiado y es imposible hacerlo en tiempo cero.

Pásame el código. Yo ahora estoy liado con el desensamblado del +3e, pero espero acabar pronto, cuando termine me pongo con lo de la FPGA.

jepalza

Re: Sintetizando un Spectrum con el ZX-Uno

Mensajepor jepalza » 17 Feb 2014, 21:25

Bien, déjame unos minutos de nada, que lo limpio un poco. Es que, he ido avanzando por el tema de desviar el acceso a ROM para que coja los datos de RAM, y he tocado unas cuantas cosas. Las voy a dejar como estaba y te lo paso.

Listo, aquí va adjunto. Se compila con muchas advertencias, y no acaba "en verde", sino en "amarillo", pero funciona, se puede subir al ZXUNO. Pero como aún sigue tirando de la ROM interna, no se ve si funciona o no.

Yo sigo investigando por todos los frentes que puedo. (por cierto, verás que tambien está metido el acceso a la SD, pero no es funcional aún, simplemente, está ahí por si nos sirve de algo mas adelante, o hay que cambiarlo entero.)
Adjuntos
test7_con_lectura_spi.rar
(148.84 KiB) Descargado 154 veces


Volver a “Sinclair/Spectrum”

¿Quién está conectado?

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