Página 1 de 9

ZX-uno for humans :-)

Publicado: 31 Ago 2015, 23:53
por Uto
Hola!

Abro este hilo porque aunque hay algunos hilos dedicados al Zx-Uno, al final se llenan de post donde se empieza a hablar de temas "arcanos" sobre FPGAs y que si ROM para arriba, <nombre de chip raro> para abajo, me resultan difíciles de entender, y me surgen dudas "de humanos" que a ver si me podéis aclarar.

Primero lo que he entendido hasta la fecha:

- ZX-Uno será una placa que emula por HW un ZX Spectrum, que encaja en las cajas que ha para Rasberry Pi por pura cuestión de conveniencia.
- El firmaware irá en una tarjeta SD (o micro SD, no se) por lo cual es actualizable.
- Además es posible que se pueda poner otros "core" para emular otras cosas, pero ese no es el objetivo principal.

Ahora mis dudas:

- ¿Qué Spectrum emula? ¿Un 48k? ¿un 128k? ¿un clon estilo el 128k pero con más bancos? ¿Algo más avanzado?
- ¿Que salida de video tiene? ¿RGB/video compuesto o VGA? ¿o ambos? ¿hdmi?
- El teclado PS/2 ¿verdad?
- ¿Emula alguna cosa adicional?
- ¿Puede acceder a la tarjeta SD a modo disco con los comandos del +3DOS?
- ¿Tiene algun modo "dumb" tipo ZXVega? (Lista de juegos, seleccionar, jugar)
- ¿Alguna conexión de joystick norma Atari?
- ¿puede hacer snapshots?
- ¿Se va a poner en kickstarter/verkami o similar? Si es así ¿será montada o como kit?

Bueno, son muchas dudas, pero me gustaría poder ver el Zx-Uno desde el lado del simple usuario :-)

Re: ZX-uno for humans :-)

Publicado: 01 Sep 2015, 00:30
por antoniovillena
Uto escribió:Hola!

Abro este hilo porque aunque hay algunos hilos dedicados al Zx-Uno, al final se llenan de post donde se empieza a hablar de temas "arcanos" sobre FPGAs y que si ROM para arriba, <nombre de chip raro> para abajo, me resultan difíciles de entender, y me surgen dudas "de humanos" que a ver si me podéis aclarar.

Primero lo que he entendido hasta la fecha:

- ZX-Uno será una placa que emula por HW un ZX Spectrum, que encaja en las cajas que ha para Rasberry Pi por pura cuestión de conveniencia.


Correcto. Aunque los puristas preferimos la palabra "sintetizar" en lugar de emular.

Uto escribió:- El firmaware irá en una tarjeta SD (o micro SD, no se) por lo cual es actualizable.


No. El firmware va en la SPI Flash, que es la misma en la que se almacena la configuración de la FPGA. Las FPGAs a diferencia de los CPLDs no tienen nada preprogramado en sus celdas, son como una RAM que cuando las desconectas de la corriente se borran. Dependen de una Flash de la que leen su contenido al arrancar (a este contenido lo llamamos stream). Se ha aprovechado el espacio libre de esa Flash para meter más cosas. Esas cosas son el firmware (es una especie de BIOS que te permite arrancar distintos sistemas), las distintas ROMs que existen para cada modelo, la ROM del ESXDOS y algunos juegos de cartucho IF2.

La SD es opcional aunque muy recomendable para cargar juegos de forma rápida a traves del DivMMC sintetizado y del sistema operativo ESXDOS.

Para actualizar los que tenemos prototipos disponemos de un cable USB especial, aunque en la BIOS hay un sistema que te permite actualizar por cinta sin dicho cable. Esto vale tanto para el firmware, ROMs como para el stream que configura la FPGA. En un futuro es posible que haya un método alternativo que emplee SD en lugar de puerto EAR.

Uto escribió:- Además es posible que se pueda poner otros "core" para emular otras cosas, pero ese no es el objetivo principal.


Sí, de hecho últimamente Quest ha metido unos cuantos y ya he perdido la cuenta. El problema es que para cargar estos cores se necesita (de momento) el cable USB. Digo de momento porque cabe la posibilidad de utilizar multiboot, una opción no explorada aún. Con esta opción habría 2 streams y uno de ellos será el core de spectrum actual que te permite actualizar la flash (los ports no permiten actualizar la flash).

Uto escribió:Ahora mis dudas:

- ¿Qué Spectrum emula? ¿Un 48k? ¿un 128k? ¿un clon estilo el 128k pero con más bancos? ¿Algo más avanzado?


Algo más avanzado. Es una especie de supermáquina con paginación propia, con DivMMC y con un montón de modos de video y ULAplus. Lo de la paginación propia es para abstraer el hardware. Es como cuando en un 128K (o +2A/+3) seleccionas la opción de 48K. La paginación se bloquea y se comporta como un 48K. Pues con el firmware pasa algo parecido, cuando seleccionas una máquina se deshabilita el modo supermáquina y se comporta como una máquina real.

Uto escribió:- ¿Que salida de video tiene? ¿RGB/RCA o VGA?


La principal es la de video compuesto por RCA. También tiene una salida RGB pero para ello es necesario un cable especial que suministrará retrocables. Y VGA también es posible, aunque esto está en fase de pruebas y no funciona en todos los monitores. Por defecto el ZX-Uno no tiene salida VGA, se necesita un addon que se conecta por la salida RGB o bien por el puerto de expansión.

Uto escribió:- El teclado PS/2 ¿verdad?


Exacto.

Uto escribió:- ¿Emula alguna cosa adicional?


No se me ocurre qué decir aquí.

Uto escribió:- ¿Puede acceder a la tarjeta SD a modo disco con los comandos del +3DOS?


Sí, siempre y cuando sea a través de +3e y DivMMC (que yo sepa ESXDOS no permite imágenes DSK, aunque sí TRDs).

Uto escribió:- ¿Tiene algun modo "dumb" tipo ZXVega? (Lista de juegos, seleccionar, jugar)


No. Pero es relativamente fácil hacerse con una SD y cargar algunos TAPs. Teniendo activada alguna ROM con ESXDOS es tan fácil como pulsar NMI (combinación Ctrl+Alt+F5), seleccionar un juego de la lista y pulsar Enter.

Uto escribió:- ¿Alguna conexión de joystick norma Atari?


Sí, tiene una.

Uto escribió:- ¿puede hacer snapshots?


Sí. No es una implementación propia del ZX-Uno, se hace a través de ESXDOS/DivMMC.

Uto escribió:- ¿Se va a poner en kickstarter/verkami o similar? Si es así ¿será montada o como kit?


Esa es la idea. Sería montada. Para kit ya tenemos los prototipos que no son nada fáciles de montar.

Uto escribió:Bueno, son muchas dudas, pero me gustaría poder ver el Zx-Uno desde el lado del simple usuario :-)


En eso estamos.

Re: ZX-uno for humans :-)

Publicado: 01 Sep 2015, 00:35
por mcleod_ideafix
Uto escribió:- ZX-Uno será una placa que emula por HW implementa un ZX Spectrum, que encaja en las cajas que ha para Rasberry Pi por pura cuestión de conveniencia.

Hecha la oportuna puntualización, sí, es así.

Uto escribió:- El firmaware irá en una tarjeta SD (o micro SD, no se) por lo cual es actualizable.

El firmware va en una flash interna. La tarjeta SD contiene software (juegos, etc) que usa el Spectrum, y parte de los ficheros de ESXDOS, porque así lo requiere este firmware.

Uto escribió:- Además es posible que se pueda poner otros "core" para emular implementar otras cosas, pero ese no es el objetivo principal.

Correcto.

Uto escribió:Ahora mis dudas:

- ¿Qué Spectrum emula implementa? ¿Un 48k? ¿un 128k? ¿un clon estilo el 128k pero con más bancos? ¿Algo más avanzado?

Exactamente, el clon implementado es un clon de Spectrum configurable en timmings para ser un Spectrum 48K o un Spectrum 128K/+2 gris. En este momento, dispone de los 128K de memoria en configuración estándar, con paginación compatible con +3 (modos all-RAM, ROM de 64K, etc).
Para hacernos mejor una idea: es como si cogieras un Spectrum +2A, le quitaras su ULA (gate array más bien) y pusieras un circuito que contuviera la ULA del 48K y la del 128K, seleccionables por software, y además sendas ULAs las ampliaras para que pudieran seguir soportando el modo all-RAM original del +3.
En modo de 128K o 48K se puede desactivar la contención de memoria. Esto lo hace un poco más compatible con cierto software escrito originalmente para los clones soviétivos (Pentagon, etc) pero tengo que recalcar que los timmings concretos de pantalla del Pentagon no están implementados. Algunas demos se apañan con el modo de 48K sin contención, otras necesitan 128K sin contención, y otras no van bien ni con eso.

Uto escribió:- ¿Que salida de video tiene? ¿RGB/video compuesto o VGA? ¿o ambos? ¿hdmi?

En este momento, video compuesto y RGB. A corto/medio plazo, VGA, de forma que se pueda conmutar entre video compuesto/RGB ó VGA (pero no ambos a la vez). No hay previsión para HDMI.

Uto escribió:- El teclado PS/2 ¿verdad?

Correcto.

Uto escribió:- ¿Emula Implementa alguna cosa adicional?

En este momento, además de lo ya comentado:
- Turbo Sound (2 chips AY-3-8912, para tener 6 canales de sonido)
- Ratón Kempston usando un ratón PS/2
- ULAplus
- Modos de pantalla Times hires (512x192, 2 colores) y Times hicolour (256x192, dos colores en cada sección de 8x1 pixeles)
- Modo "radastan" (128x96, 16 colores, color independiente por pixel, direccionamiento lineal)
- Todos los modos de pantalla están soportados tanto en la página de la pantalla principal (banco 5) como en la pantalla shadow (banco 7)
- Interface DivMMC
- Interface ZXMMC

Uto escribió:- ¿Puede acceder a la tarjeta SD a modo disco con los comandos del +3DOS?

Sí. Usando una ROM +3e con soporte de ZXMMC ó DivMMC.

Uto escribió:- ¿Tiene algun modo "dumb" tipo ZXVega? (Lista de juegos, seleccionar, jugar)

Sí. Lista de ROMs al pulsar la tecla ESC. Seleccionar ROM y a jugar. De todas formas, con DivMMC el funcionamiento es muy parecido: pulsas Ctrl-Alt-F5, escoges el juego, pulsas Intro, y se carga y ejecuta solito. La diferencia es que desde ESXDOS puedes poner juegos en formato TAP, Z80, TRD y SNA, así que es mucho más fácil añadir/quitar juegos (pones la tarjeta SD en un lector de PC y ahí pones o quitas los que quieras)

Uto escribió:- ¿Alguna conexión de joystick norma Atari?

Sí. Uno. Norma Atari. Compatible con joysticks que posean autodisparo. Soporta protocolos Kempston, Sinclair 1, Sinclair 2, Cursor y Fuller.

Uto escribió:- ¿puede hacer snapshots?

Sí, a través de DivMMC y ESXDOS. Formato SNA. 48K y 128K.

Uto escribió:- ¿Se va a poner en kickstarter/verkami o similar? Si es así ¿será montada o como kit?

Sí, y se venderá ya montada y configurada. No está aún decidido qué tipo de "extras" se ofrecerán a través del crowfunding.

Re: ZX-uno for humans :-)

Publicado: 01 Sep 2015, 01:48
por Uto
Muchas gracias a los dos.

Ahora lo tengo mucho mas claro. La verdad es que este zx-uno podría ser perfectamente el Spectrum +4.

¿Tenéis alguna lista de interesados en la versión final? Porque me podéis añadir a ella :-)

Re: ZX-uno for humans :-)

Publicado: 01 Sep 2015, 18:12
por tranx
Yo tambien estoy a la espera para comprar uno

Re: ZX-uno for humans :-)

Publicado: 01 Sep 2015, 18:23
por antoniovillena
Se hará por crowfunding, por tanto no hay lista. Eso sí, avisaremos días antes de empezar la campaña

Re: ZX-uno for humans :-)

Publicado: 02 Sep 2015, 17:22
por GXY
que precios se manejan para la campaña?

Re: ZX-uno for humans :-)

Publicado: 02 Sep 2015, 18:49
por mcleod_ideafix
GXY escribió:que precios se manejan para la campaña?

Hasta que no sepamos cuánto nos va a pedir la fábrica por hacerlos montados, no lo sabremos. Estamos precisamente este mes pidiendo presupuestos a varios sitios para comparar y ver con cuál nos quedamos. Hay basicamente dos alternativas: fábrica en España/Unión Europea, o fábrica en China.

La primera opción no tiene problemas de aduanas, y si es en España, podemos pegar un telefonazo o ir directamente a fábrica a ver cómo va la cosa. El inconveniente es que sale todo más caro. Para que te hagas una idea, a cada usuario le saldría por alrededor de 60 euros, envío certificado incluido, según uno de los presupuestos que manejamos. Estamos hablando de un chisme cuyo precio en componentes es de unos 30-35 euros, si mal no recuerdo, así que el resto hasta 60 euros es mano de obra para montarlo. Creo que el que alguien te cobre 30€ por montarte una placa de la complejidad del ZX-Uno de forma profesional es muy barato. Los que habeis montado alguno de los prototipos, ¿qué pensais?

La segunda opción, China, es más barata (aún no sabemos cuánto más,así que igual miento y es incluso más cara) pero tienes la incertidumbre de que, bueno... es China. Es fundamentalmente darles un gran voto de confianza a la fábrica, ya que les das una cantidad de dinero que no es calderilla precisamente, y tú confías en que te van a fabricar todas las placas bien y tal, y que no te las van a parar en la aduana, claro. No podemos ir para allá a ver cómo va el proceso, y no sé si habeis hablado alguna vez en inglés con un chino, pero una tercera persona que nos oyera hablar se descojonaría entera, oyéndome a mi, o al chino, o a los dos :D

Dado que vamos a manejar dinero que no es nuestro (es vuestro, de los que apoyeis el crowfunding) comprendereis que no podemos correr riesgos innecesarios, así que las conversaciones que tenemos en el grupo van por la idea de fabricarlos en Europa, y preferiblemente en España. De hecho Antonio tiene localizada una empresa en Málaga, y yo otra por los alrededores de Sevilla. Jordi (Hark0) también tenía localizada otra en Cataluña pero no recuerdo cómo terminó la cosa. Si al final fuera una de estas dos, podríamos ir allí, discutir con los técnicos los detalles de fabricación, cambiar "on the fly" esto o aquello, y en definitiva, tener un feedback que fuera de España nos sería más difícil.

Re: ZX-uno for humans :-)

Publicado: 02 Sep 2015, 19:13
por zup
Dos preguntas tontas... si la implementación en la FPGA no se almacena en la SD ¿qué opciones tiene un usuario sin equipo especial para actualizarla? ¿Habrá un método (tipo arrancar con F1 pulsado o algo así) para que el sistema aplique una actualización desde SD o será obligatorio tirar de JTAG?

Y la segunda... ¿está ya en marcha el crowdfunding? ¿Dónde y cómo?

Re: ZX-uno for humans :-)

Publicado: 02 Sep 2015, 19:48
por Obocaman
Hace tiempo sigo este tema porque aunque no soy un manitas la idea de tener un zx-uno es tentadora por el gran trabajo que hay detrás y como apoyo a la comunidad. Yo aunque salga un poco mas caro lo haría en España, ya que es un proyecto gestado y ejecutado aquí principalmente.
Creo que va a ser un éxito mas de lo que vosotros mismos os imaginais y van a acabar zx-uno en todos los rincones del planeta.