Sintetizando un Spectrum con el ZX-Uno

Sinclair QL, ZX81, +2, +3, 128K ...
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 » 14 Feb 2014, 16:33

Hola JULIO

Léete el primer mensaje del hilo, y métete también en este otro (te tienes que desloguear para verlo) donde está la foto del oscilador.
viewtopic.php?f=58&t=4629#p35490

El condensador debe estar entre 5pF y 12pF para que no te dé problemas de ruído en el arranque. Tiene que ser por culpa de alguna carga parásita porque en el datasheet del AD724 te recomiendan entre 10pF y 30pF. R33 se queda en abierto, sólo R32 tiene el corto. En un principio aquí iba un jumper de 3 posiciones pero Superfo andaba muy mal de espacio y lo cambió por dos resistencias ficticias.

jepalza

Re: Sintetizando un Spectrum con el ZX-Uno

Mensajepor jepalza » 14 Feb 2014, 17:19

JULIO escribió:Habeis comentado que el condensador de 15 pasa a solo 5pF, pero es que repasando el esquema, si R32 y R33 valen 0, esto provoca un corto entre GND y +5v ¿ o no?


Lo de 5pf lo he puesto yo, por que va mejor en mi ZXUNO, y con mi TV, por que probando en una TV mas grande, con el de 10 que puse ayer, iba bien tambien. POr lo que sea, la tele tambien le influye en el ruido. Empieza probando con 10 y baja si sigue el problema.

Las R32 y R33 SOLO debes poner una de ellas, en concreto la R32 para modo PAL. Para modo NTSC la R33. Nunca ambas a la vez, que es lo que tú comentas.

Edito: perdón, ya te ha respondido antoniovillena, no me he dado cuenta.

-- Actualizado 14 Feb 2014, 19:47 --

Pregunta: acabo de meter soporte para la SD, y por ahora todo correcto, lo llevo al ZXUNO y funciona, pero ahora, no sé cómo se hace para que el Spectrum vea la SD. Entiendo que la ROM especial (en concreto la de ZXMMC), pero a parte de eso, ¿cómo sabe la ROM del ZXMMC que debe coger tal o cual fichero formato FAT? Esa es mi duda. ¿pistas? ¿o acaso la ROM del ZXMMC debe llevar algo especial y yo no estoy metiendo la correcta?

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 » 14 Feb 2014, 20:22

jepalza escribió:Pregunta: acabo de meter soporte para la SD, y por ahora todo correcto, lo llevo al ZXUNO y funciona, pero ahora, no sé cómo se hace para que el Spectrum vea la SD. Entiendo que la ROM especial (en concreto la de ZXMMC), pero a parte de eso, ¿cómo sabe la ROM del ZXMMC que debe coger tal o cual fichero formato FAT? Esa es mi duda. ¿pistas? ¿o acaso la ROM del ZXMMC debe llevar algo especial y yo no estoy metiendo la correcta?


Puedes probar los programas de ejemplo de Alessandro Poppi
http://www.zxbada.bbk.org/zxmmc/software.html

En cuanto a la ROM, ahora mismo sólo disponemos de 16K y con eso no podemos hacer nada. Habría que esperar a que McLeod implemente los 64K de ROM (leyendo desde la SPI Flash) para poder hacer algo más interesante que leer o escribir desde sectores en crudo (esto es lo que hace el ejemplo que te he referenciado antes).

Lo más sencillo es meterle la ROM del +3e, de esta forma la SD emularía un disco de 3" (o varios). El problema es que es un formato especial no compatible con los PCs, pero McLeod hizo una aplicación para pasar archivos a este formato.

Un segundo paso serían SOs más complejos como Residos o ESXDOS. Estos sistemas permiten leer SDs con un formato compatible de PC como FAT16 ó FAT32 y cosas más avanzadas como cargar un TAP directamente. El inconveniente es que no sólo es el puerto SPI, hay que implementar una paginación específica (distinta para Residos que para ESXDOS) para soportar estos sistemas operativos.

jepalza

Re: Sintetizando un Spectrum con el ZX-Uno

Mensajepor jepalza » 14 Feb 2014, 20:47

Entraba para responderme a "mi mismo". Soy tan iluso, que pensaba que la ROM de 16k que acompaña al ZXMMC ya llevaba soporte de SD, pero no es así. Y como bien dices tú, solo tenemos 16k, por lo que no entran los otros 16k que manejan la SD.

Estaba mirando de adaptar un Spectrum 128k con ZXMMC de ESTA PAGINA, y justo ando en ello ahora mismo. A ver si lo consigo sin muchos problemas. No parece complicado.

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 » 14 Feb 2014, 20:59

Que yo sepa no hay firmware de 32K (Spectrum 128K y +2) que acepte SD. Lo mínimo son los 64K del proyecto +3e. De todas formas sólo hay BRAM suficiente para 24K, así que hasta que McLeod no termine el módulo que te he comentado antes no hay nada que hacer. Me he metido en la carpeta firmware:

http://alexfreed.com/FPGApple/DE1_ZX/firmware/

Y no parece haber gran cosa.

-- Actualizado 14 Feb 2014, 21:02 --

El mismo autor parece que luego hizo más avances, pero en la misma línea que tenemos planeado nosotros (más bien McLeod porque yo en FPGAs no soy muy experto). Esta línea sería ampliar a ZXMMC+ y soportar ResiDOS (aunque también hay otra que es ampliar a DivMMC y soportar ESXDOS).

http://alexfreed.com/FPGApple/ZXrevisited.html

superfo
Dragon 32
Dragon 32
Mensajes: 18
Registrado: 21 Abr 2013, 09:01
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum +2
consola_favorita: Sony PlayStation 1
Primera consola: Nintendo GameBoy

Re: Sintetizando un Spectrum con el ZX-Uno

Mensajepor superfo » 14 Feb 2014, 21:28

I have try this one with the same board he use but it didn't work. The boot loader cannot read or detect SD card.
I don't know why. If you can make it work it would be great.

jepalza

Re: Sintetizando un Spectrum con el ZX-Uno

Mensajepor jepalza » 14 Feb 2014, 21:29

Lo de cargar ROM desde la SPI, ya comenté que en el papilio lo hice siguiendo unos ejemplos. Hay varios, como ESTE, y se llama "bootloader". Ahora que sé por dónde van los tiros (andaba un poco perdido en cuanto a lo que estabais haciendo tú y mcleod) voy a ir por mi lado, a ver si uno de los dos lo logra.
De momento, como ya tengo de antes lo del "bootloader", lo voy a replicar en el ZXUNO, a ver si me carga la ROM 16k desde la SPI flash a la SRAM.

Por cierto, si quieres el código con el soporte de SD (FAT) te lo paso, pero no funciona aún, por lo de la ROM. Es el mismo del ejemplo 7 de mcleod pero con la parte de manejo de SD sobre los 4 pines 75,76,77 y 81.

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 » 14 Feb 2014, 22:21

Pues estaría genial. Ahora mismo McLeod está ocupado con el bug del arbitrador así que si quieres nosotros nos encargamos del SPI Flash. Yo en síntesis estoy pegado, además de que la implementación está en Verilog y lo poco que sé es de VHDL. Así que si no te importa me puedo encargar de la parte software/firmware. Tan sólo dime lo que necesitas. Como indicas ambos dispositivos (Flash y SD) utilizan el mismo protocolo, SPI, así que lo que hagamos por un lado es trasladable al otro simplemente cambiando los pines.

Lo más sencillo es hacer unas pruebas en un TAP y cargarlos por el puerto EAR. Una vez sepamos que el puerto SPI de la Flash funciona como debe ya me pongo yo a hacer el Bootloader. Para el Bootloader se necesita también un mecanismo para escribir en la parte ROM (firmware) de la RAM. El bootloader haría lo siguiente: Desbloquea la ROM, escribe en ella lo que leamos del puerto SPI para luego bloquear de nuevo la ROM y saltar a $0000.

jepalza

Re: Sintetizando un Spectrum con el ZX-Uno

Mensajepor jepalza » 14 Feb 2014, 22:30

Ahora mismo estoy mirando el ejemplo que he puesto arriba (el del emulador de SMS con soporte SD y Bootloader) para ver qué puedo sacar de él y aprovechar en el nuestro. Por lo pronto, tiene algo que no me gusta, pero que en el spectrum no hará falta, que es un mini-loader escrito en ASM del Z80 para ser ejecutado en la SMS virtual. Lo que hace, es cargar esa porción de código que reside dentro del xilinx, y lo ejecuta con la propia SMS, y muestra un menú en pantalla usando la resolución y fuentes de la sega. Desde ahí elegimos una ROM copiada en la SD. El ejemplo es ideal para aplicar a lo nuestro, de modo, que nada mas arrancar nos salga el contenido de la SD, elegimos la ROM de Spectrum deseada, y la copia en SRAM y desde ahí pasamos el código al Spectrum.
Como ese módulo ya está escrito, solo es mirar de pasarlo al ZXUNO, y es algo que tú tambien puedes hacer. Bájate el código de https://github.com/ben0109/Papilio-Master-System cambia el tipo de Spartan, y a jugar, a ver si logras que entre en el Spartan 3e (de origen va en un Spartan 6).
Yo juego con la ventaja de tener ambos sistemas, y por ahora, estoy viendo lo que hace en la Spartan 6.

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 » 14 Feb 2014, 23:00

Pues precisamente el mini-loader es lo que debemos hacer, es lo que yo llamo bootloader. Sería un pequeño programa almacenado en BRAM que es el que se encarga de pasar los datos (ROM) de SPI Flash a RAM, para luego saltar a $0000 y ejecutar la ROM del spectrum original.

Esta misma discusión la tuvimos aquí. Lo que tú intentas hacer (creo) es lo que yo hice en la MOD-VGA. Te funcionará, pero es un método poco flexible. De la otra forma (bootloader) trasladamos la complejidad al software, sólo implementas un sencillo puerto SPI y vía software se hace todo lo demás (la BIOS, que podamos flashear sin cable, que podamos cambiar la ROM, etc...).


Volver a “Sinclair/Spectrum”

¿Quién está conectado?

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