Montaje del ZXUNO

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: Montaje del ZXUNO

Mensajepor antoniovillena » 09 Feb 2014, 11:54

radastan escribió:Antonio, estoy por vender todo el material de electrónica que tengo porque estoy viendo que a tu lado no tengo ni puta idea del asunto. Te sigo, lo entiendo, pero no sería capaz de hacer lo que tu haces.


Pues te puedo decir que la parte que me ha tocado a mí es, con diferencia, la más fácil del proyecto. Nada que ver con el clon superfo 128K. La electrónica que tienen las FPGAs es mínima, yo de hecho copié el 80% de los esquemas de la plaquita OLS. Y el 20% restante tampoco es mérito mío, el circuito EAR es el de superfo y el del AD724 es el que viene en su datasheet.

A mí se me ha podido ocurrir la idea, pero el mérito técnico es de Superfo que se ha currado un ruteado imposible para el resto de los mortales y McLeod, que es el único que domina de verdad las FPGAs. Tanto yo como Hark0 somos prácticamente meros espectadores.
Adjuntos
webcam-toy-foto2.jpg
webcam-toy-foto2.jpg (68.34 KiB) Visto 4822 veces

jepalza

Re: Montaje del ZXUNO

Mensajepor jepalza » 09 Feb 2014, 12:24

Para el "bootloader" yo puedo tratar de ayudar, por que en la Papilio Pro ya he logrado (con ayuda de terceros) cargar una ROM de Spectrum desde la flash SPI dentro de la RAM. Por ahora, no sé ni por dónde me dan los tiros, por que lo hice "a voleo", copiando, pegando, adaptando de fuentes de terceros (en concreto, me apoyé en la versión PENGO del Papilio), y no sé ni como funciona todavía. Cuando logre entenderlo, y tenga el ZXUNO andando, miraré de adaptarlo. De ese modo, tener un 128k no es nada complicado.

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

Re: Montaje del ZXUNO

Mensajepor antoniovillena » 09 Feb 2014, 12:48

Ok. Sería de gran ayuda. Yo conseguí hacer lo mismo con la MOD-VGA, pero mediante un método muy chapucero. En realidad no había comunicación directa Z80<->SPI, lo que hacía era mediante una máquina de estado sencilla hacer un volcado de SPI ROM a RAM externa al encender la máquina y luego saltaba a $0000. Lo malo es que en esta implementación apenas tenía flexibilidad. Es más, solamente el plantearme arrancar entre 2 máquinas (48k y 128k) complicaba el diseño una barbaridad.

Ah, y otra ventaja de la comunicación directa Z80<->SPI es que si en vez de comandos de lectura a la SPI se lo enviamos de escritura, podemos cambiar el contenido de las ROMs. Y lo mejor de todo, si escribimos más abajo en la Flash lo que hacemos es cambiar la configuración de la FPGA. Esto nos permite cambiar de firmware (por ejemplo pasar de un spectrum a un jupiter ace) sin tener que usar el cable. Y esto último es lo que haría viable el clon al público en general porque la gente (en general) no estaría dispuesta a gastarse 25-30 euros adicionales sólo en el cable USB. Por supuesto los ZX-Uno irían totalmente montados y preprogramados en su versión final.

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: Montaje del ZXUNO

Mensajepor mcleod_ideafix » 09 Feb 2014, 14:05

Por la interfaz SPI para manejarse con la flash, no es problema, la escribo en un momento :) De hecho ya tenía provisión de que el ZX-Uno iba a funcionar así: un modo de arranque con ROM de boteo, y un modo normal con la ROM "de usuario". En el mapeador hay dos señales de reset: una general, que hace que se vuelva a mapear la ROM de boteo y arranque por tanto esta ROM, y además resetea el resto del hardware, y otra que sería el reset convencional, que resetea a todo excepto a los registros que mantienen el mapeado de ROM externa. Este último reset permitiría volver a arrancar en modo 128K, por ejemplo, reseteando los registros 7FFD y 1FFD, como en un +2A normal y corriente, sin tener que pasar de nuevo por la pantalla del bootloader.

Hay que añadir registros que controlen las nuevas funcionalidades durante el boot, y que dichos registros puedan bloquearse para que no sean disparados accidentalmente durante la ejecución de la ROM de usuario. Sólo se desbloquearían con un reset general. Pediré al comité ZXI que me dé un rango de direcciones para estos registros y otras cositas que tengo en mente ;) )

Una pregunta: ¿alguien sabe si la interfaz ZXMMC y el DIVMMC usan los mismos puertos, y el mismo sistema para acceder a la SD?

La otra cosa que había barajado es usar la SD como almacén de ROMs. Esto permite al usuario poder añadir ROMs o quitarlas sin más que añadir ficheros a la SD (a un cierto directorio, por ejemplo). Hay mucho más espacio en la SD para incorporar ficheros con ROMs a cual más curiosa (incluyendo juegos en ROM). Eso sí: incorporar un sistema de ficheros tipo FAT, aunque sea de sólo lectura, tiene su miga :O . La desventaja es que necesitarías una SD pinchada en el aparato sí o sí para poder arrancarlo.

No olvideis una cosa: este chisme no puede traer de fábrica la ROM del Spectrum oficial: Amstrad dio en su día permiso para incorporarla a emuladores software, pero no dio permio para hacer lo propio en clones. La única ROM que podríamos distribuir sin problemas de copyright es la OpenSE de "cheveron" (Andrew Owen). Un usuario ya en su casa puede cambiar, añadir o hacer lo que sea con su ZX-Uno y ponerle la ROM oficial, o cualquier otra.

En la SPI, depués de meter el core, queda más o menos la mitad del espacio, 2Mbits, o sea, 256KB. Te da para meter 16 ROMs de 16KB cada una. O dicho de otra forma, puedes poner una ROM de proyecto +3e con soporte para ZXMMC, que son 64KB, la versión OpenSE Chloe, que son 32KB, la OpenSE de 16KB, la ROM oficial del Spectrum, y la ROM oficial con el parche "cargando leches", y aún sobrarían 128KB para meter más ROMs.

Bueno, a ver si hoy ya puedo arrancar la ROM normal de 48KB, y sacarlo del modo autismo que tiene ahora (o sea, darle teclado, EAR y sonido).
Recuerda: cada vez que se implementa un sistema clásico en FPGA, Dios mata a un purista

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

Re: Montaje del ZXUNO

Mensajepor antoniovillena » 09 Feb 2014, 16:00

No tengo ni idea de si DivMMC y ZXMMC usan los mismos puertos. Yo cuando hice mi intento frustrado de implementar SPI en la MOD-VGA usé el mismo puerto que ZXMMC. Este interfaz tiene capacidad para dos tarjetas SD, y como no tenía intención de usar la segunda pues mapeé la segunda SD en la Flash SPI. Pero vamos que lo suyo es que los del comité ZXI te den un rango.

Lo de almacenar la ROM en la SD no me parece buena idea por varias razones, sobre todo porque añade la complejidad de tener que soportar un sistema de ficheros. No obstante si haces que se pueda volver a lo que yo llamo modo 0 (poder escribir en ROM) no habría problema de implementar esto en un futuro.

En principio puedes dejar el mapa de 16 ROMs fijo y más adelante lo vamos sofisticando. Lo que yo pensé en un principio es hacer una especie de BIOS, que para acceder a ella haya que pulsar F2 nada más encender. Si pulsamos Esc nos aparece un menú en el cual seleccionamos una de las 16 posibilidades (en realidad menos por las máquinas 128K). Dentro de la BIOS se podría seleccionar la que arranca por defecto, y también sería interesante arrancar pulsando alguna tecla (del 0 al 9 y de la A a la F) como atajo para no tener que pulsar Esc. Sería más o menos como están implementadas las BIOS de los PCs

Si quieres puedo encargarme de testear el puerto EAR, tan sólo activa el puerto y ponme la ROM Reset & Play
http://retrolandia.net/foro/showthread.php?tid=35

No necesito el teclado para hacer la prueba.

-- Actualizado 09 Feb 2014, 16:03 --

Con respecto a qué ROM meter yo no pondría ni la de Andrew Owen, tiene partes que se le parecen mucho a la ROM del Spectrum. Se puede hacer una ROM mucho más sencilla, lo único que tendría que hacer es grabar un fichero de la SD a la memoria SPI.

-- Actualizado 09 Feb 2014, 16:33 --

He estado investigando lo del DivMMC y no lo encuentro documentado por ningún lado, ni en el manual ni en la página oficial. A las malas habrá que desensamblar el código del esxdos. Creo recordar que para acceder a la tarjeta usa los mismos que el ZXMMC, lo que cambiaban eran los puertos que paginan la memoria, que usaba los del divide en lugar de los del ZXMMC+. De todas formas te lo tengo que confirmar.

Avatar de Usuario
radastan
Amiga 2500
Amiga 2500
Mensajes: 4542
Registrado: 11 Jun 2007, 19:29
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Sega Genesis/Megadrive
Primera consola: TV Games/Pong Clone
Ubicación: Córdoba
Gracias dadas: 9 veces
Gracias recibidas: 40 veces
Contactar:

Re: Montaje del ZXUNO

Mensajepor radastan » 09 Feb 2014, 16:34

Con todos mis respetos, pero para algo que tiene una tirada de tan pocas unidades y encima es "para nosotros", es decir no hay factor comercial por ningún lado, dudo mucho que Amstrad se cabree por incluir la ROM del 128K. No seamos más papistas que el Papa.

Otra cosa es que queráis que no se ponga en libre descarga, eso si lo entiendo, pero a nivel interno todos deberían disfrutar de una flash con todas las ROMS oficiales.
Yo tengo una máquina del tiempo, se llama ZX Spectrum, siempre me devuelve a los buenos momentos.
(\.../) (\.../) (\.../) (\.../)
( *.*) ('.'= ) ('.'= ) ('.'= )
(")_(") (")_(") (")_(") (")_(")
╔═══╦═══╦═══╦══╦══╗
║╔═╗║╔═╗║╔═╗╠╣╠╩╣╠╝
║║─║║╚══╣║─╚╝║║─║║
║╚═╝╠══╗║║─╔╗║║─║║
║╔═╗║╚═╝║╚═╝╠╣╠╦╣╠╗
╚╝─╚╩═══╩═══╩══╩══╝

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

Re: Montaje del ZXUNO

Mensajepor antoniovillena » 09 Feb 2014, 16:36

Confirmado. Ha sido buscarlo en google y besar el santo, velesoft se encarga de explicarlo en un foro ruso.

http://zx.pk.ru/showpost.php?p=623752&postcount=907

jepalza

Re: Montaje del ZXUNO

Mensajepor jepalza » 09 Feb 2014, 16:47

mcleod_ideafix escribió:Una pregunta: ¿alguien sabe si la interfaz ZXMMC y el DIVMMC usan los mismos puertos, y el mismo sistema para acceder a la SD?

Seguro que os suena el nombre de VELESOFT, y tiene algo que decir sobre el DIVMMC frente al ZXMMC, y resumido, dice que usa diferentes puertos.

Edito: hemos ido a la par antoniovillena.... eso es eficacia ;-)

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

Re: Montaje del ZXUNO

Mensajepor antoniovillena » 09 Feb 2014, 16:48

radastan escribió:Con todos mis respetos, pero para algo que tiene una tirada de tan pocas unidades y encima es "para nosotros", es decir no hay factor comercial por ningún lado, dudo mucho que Amstrad se cabree por incluir la ROM del 128K. No seamos más papistas que el Papa.

Otra cosa es que queráis que no se ponga en libre descarga, eso si lo entiendo, pero a nivel interno todos deberían disfrutar de una flash con todas las ROMS oficiales.


El problema es que Amstrad no permite que se vendan máquinas con su ROM, no hay ningún problema en ponerlas en libre descarga. Es más, incluso podemos tener la cara dura de poner en la web oficial del ZX-Uno un texto como: "El uso de estas ROMs es sólo para emuladores, está terminantemente prohibido usarlo en máquinas que no sean propiedad de Amstrad" y quedarnos tan anchos.

De todas formas esto lo decidirá el que se encargue de la distribución. Por cierto ya que hablamos de distribución, ¿qué os parece si le pedimos a Dylan (winston en los foros de WOS, el del spectranet) que se encargue de ello? Yo creo que para una primera tirada 50 unidades sería lo más lógico. Tampoco sé cómo vamos a organizarlo, si hacemos prerreservas con el dinero por adelantado o pagamos cuando se vayan a hacer los envíos, o algo tipo kickstarter.

-- Actualizado 09 Feb 2014, 16:51 --

jepalza escribió:Edito: hemos ido a la par antoniovillena.... eso es eficacia ;-)


Ya te digo, y ambos hemos puesto exactamente el mismo enlace y mencionado a Velesoft.

-- Actualizado 09 Feb 2014, 17:02 --

McLeod creo que lo más razonable es usar los puertos del DivMMC (implementando también la paginación) para dar soporte a ESXDOS. Soporta FAT16/FAT32 y esto nos puede simplificar mucho las cosas, ya que mediante llamadas al sistema operativo podemos abrir un archivo de la tarjeta SD (que previamente hayamos copiado desde un PC) y actualizar el firmware. Como dice velesoft ZXMMC está muerto por su escaso soporte software, y aunque podamos cargar las roms del +3e y un sistema operativo como ResiDos, sería más complicado a la hora de actualizar el firmware. Creo que ResiDos acepta FAT16, y las tarjetas que se venden hoy en día por la capacidad sólo aceptan formateo en FAT32.

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: Montaje del ZXUNO

Mensajepor mcleod_ideafix » 09 Feb 2014, 18:22

antoniovillena escribió:McLeod creo que lo más razonable es usar los puertos del DivMMC (implementando también la paginación) para dar soporte a ESXDOS. Soporta FAT16/FAT32 y esto nos puede simplificar mucho las cosas, ya que mediante llamadas al sistema operativo podemos abrir un archivo de la tarjeta SD (que previamente hayamos copiado desde un PC) y actualizar el firmware. Como dice velesoft ZXMMC está muerto por su escaso soporte software

ZXMMC tiene soporte en +3e, cosa que no tiene DIVMMC al menos que yo sepa, y la plataforma +3e no es para hacerle de lado: es ni más ni menos que poder usar todo el +3DOS con unidades actuales, así que esto que comentas, de hacer llamadas al SO para abrir un fichero en la tarjeta, etc, también se puede hacer desde +3e. De hecho, todo lo que hay hecho para +3e funcionaría, y eso incluye algunas versiones de programas, como Art Studio, que han sido parcheadas para poder usarse directamente con +3e. Por otra parte, no usa FAT de ningún tipo, sino IDEDOS. El único pero que nos vamos a encontrar es que no se soporten tarjetas SD-HC, pero esto ya ocurre también en el DIVMMC, ¿no?
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 12 invitados