Página 1 de 3

ZXBaremetal edición 35 aniversario

Publicado: Dom Abr 23, 2017 11:37 am
por zx81
Buenos días,

Hoy se celebra, entre otras cosas, el 35 aniversario de nuestro querido "gomas". Para conmemorarlo, acabo de publicar el primer emulador bare-metal completo del Spectrum 48K para las Raspberry PI. Lo podéis descargar desde aquí: ZXBaremulator. En la propia página están las instrucciones sobre cómo utilizarlo. Si tenéis alguna duda, ya sabéis donde encontrarme.

Quiero dar las gracias a varias personas por su colaboración:

En primer lugar, Rene Stange, autor de la librería Circle, sin la cual éste emulador hubiera costado, en lugar de 5 semanas de desarrollo, 5 años.
A los betatesters, el propio Rene y Vaporatorius, por su ayuda, ánimo e ideas.
A Jorge Castillo, pastbytes, por las pantallas de ayuda y el empujón con la página Web.
A Fede Alvaréz y, por extensión, al equipo de webmasters de speccy.org que me han facilitado, otra vez, el espacio necesario para que pueda publicarlo.

Que lo disfrutéis. ;)

Saludos

Re: ZXBaremetal edición 35 aniversario

Publicado: Dom Abr 23, 2017 5:40 pm
por Bone
Que buenooo.....esta noche tengo que probarlo!!![emoji1]

Enviado desde mi SM-G930F mediante Tapatalk

Re: ZXBaremetal edición 35 aniversario

Publicado: Dom Abr 23, 2017 8:09 pm
por chernandezba
Enhorabuena!!! Habrá que probarlo

Saludos

Re: ZXBaremetal edición 35 aniversario

Publicado: Dom Abr 23, 2017 10:05 pm
por zx81
Gracias a los dos.

Por cierto, añadir que, en contra de lo que yo pensaba, el adaptador de 4 contactos a 3 no es necesario. Si se conectan unos auriculares o altavoces directamente, se escucha el sonido sin problemas.

Yo pensaba que no, porque en la punta de ese conector está la salida de vídeo compuesto. Pero visto lo visto, me equivocaba...

Re: ZXBaremetal edición 35 aniversario

Publicado: Dom Abr 23, 2017 11:42 pm
por radastan
¡Bravo! Otra posibilidad más para tener algo parecido a un ZX Spectrum de forma económica. Lo bueno es que conforme enciendes la Raspberry arranca el emulador. ¡Y permite cargar desde SD!

Re: ZXBaremetal edición 35 aniversario

Publicado: Lun Abr 24, 2017 12:57 am
por Bone
radastan escribió:¡Bravo! Otra posibilidad más para tener algo parecido a un ZX Spectrum de forma económica. Lo bueno es que conforme enciendes la Raspberry arranca el emulador. ¡Y permite cargar desde SD!
Bueno...lo de la carga desde SD creo que aún no esta soportado.
Estoy en estos momentos probando el emulador y solo se pueden cargar los juegos que hay preparados en el kernel.

Hay que decir, que eso de arrancar la RPI y que cargue el emulador casi como si fuera un Spectrum no tiene precio.

Me parece fabuloso. Me ha gustado mucho.[emoji1]

"Solo" queda pues que soporte emulación 128k + sonido AY.....y si encima se pudiese cargar desde SD.....seria la repera....[emoji12]

PD: Ya....ya se....que es baremetal y se muy bien lo que cuesta currarse una cosa de estas así.[emoji16]

Enviado desde mi SM-G930F mediante Tapatalk

Re: ZXBaremetal edición 35 aniversario

Publicado: Lun Abr 24, 2017 11:26 am
por zx81
Bone escribió:
radastan escribió:¡Bravo! Otra posibilidad más para tener algo parecido a un ZX Spectrum de forma económica. Lo bueno es que conforme enciendes la Raspberry arranca el emulador. ¡Y permite cargar desde SD!
Bueno...lo de la carga desde SD creo que aún no esta soportado.
Estoy en estos momentos probando el emulador y solo se pueden cargar los juegos que hay preparados en el kernel.

Hay que decir, que eso de arrancar la RPI y que cargue el emulador casi como si fuera un Spectrum no tiene precio.

Me parece fabuloso. Me ha gustado mucho.[emoji1]

"Solo" queda pues que soporte emulación 128k + sonido AY.....y si encima se pudiese cargar desde SD.....seria la repera....[emoji12]

PD: Ya....ya se....que es baremetal y se muy bien lo que cuesta currarse una cosa de estas así.[emoji16]

Enviado desde mi SM-G930F mediante Tapatalk
Gracias por probarlo Bone. Y me alegro de que te haya gustado. Lo de añadir soporte de 128k y sonido AY sería casi fácil, porque todo es cuestión de ir portándolo desde JSpeccy, donde funciona perfectamente desde hace tiempo. Lo de cargar de la SD es lo verdaderamente laborioso, por el tema del GUI.

De momento, andaba yo pensado en alguna manera de que los 55 juegos los leyera desde la SD, preconfigurándolos de alguna manera, para que en lugar de ser los que yo he elegido, sean los que elija el usuario. Es un poco pedestre, pero también lo más rápido.

Re: ZXBaremetal edición 35 aniversario

Publicado: Lun Abr 24, 2017 1:44 pm
por jcgamestoy
Bravo al final te has animado a lanzarlo menos mal.

Luego lo pruebo y te comento, pero leyendo la página una preguntita:

Cuando hablas del registro escondido WZ te refieres a lo que yo llamo registro Q, vamos es decir, al bit este que afecta a las instrucciones scf/ccf no?:

https://www.worldofspectrum.org/forums/ ... ent_666550

Un saludo.

Re: ZXBaremetal edición 35 aniversario

Publicado: Lun Abr 24, 2017 1:48 pm
por jcgamestoy
En cuanto a lo de leer la SD más que liarte con un gui lo más fácil en un entorno baremetal seria implementar DIVMMC parece complicado al principio pero yo ya lo tengo implementado para RVM2 y no es tan difícil.

Ademas el divmmc usa el protocolo spi de las tarjetas SD, desde el RPI también se puede acceder a la tarjeta por spi, por lo que en un entorno baremetal se podría hacer un pass-through directo desde la emulación del z80 a la tarjeta sd.

Es solo una idea, un abrazo y cualquier cosa que pueda ayudar me lo dices.

Re: ZXBaremetal edición 35 aniversario

Publicado: Lun Abr 24, 2017 1:51 pm
por zx81
jcgamestoy escribió:Bravo al final te has animado a lanzarlo menos mal.

Luego lo pruebo y te comento, pero leyendo la página una preguntita:

Cuando hablas del registro escondido WZ te refieres a lo que yo llamo registro Q, vamos es decir, al bit este que afecta a las instrucciones scf/ccf no?:

https://www.worldofspectrum.org/forums/ ... ent_666550

Un saludo.
Sí, es que en la doc de Zilog y en el libro de Zaks hablan de él como WZ. En otras partes lo llaman MEMPTR.

Re: ZXBaremetal edición 35 aniversario

Publicado: Lun Abr 24, 2017 1:56 pm
por zx81
jcgamestoy escribió:En cuanto a lo de leer la SD más que liarte con un gui lo más fácil en un entorno baremetal seria implementar DIVMMC parece complicado al principio pero yo ya lo tengo implementado para RVM2 y no es tan difícil.

Ademas el divmmc usa el protocolo spi de las tarjetas SD, desde el RPI también se puede acceder a la tarjeta por spi, por lo que en un entorno baremetal se podría hacer un pass-through directo desde la emulación del z80 a la tarjeta sd.

Es solo una idea, un abrazo y cualquier cosa que pueda ayudar me lo dices.
Nunca me he metido con divmmc así que desconozco totalmente como funciona el invento. Pero me suena que es uno de esos que obliga a tener las cintas en formato TAP para poder cargarlas, ¿no?.

Lo de hacer un pass-through veríamos, porque la Circle ya tuvo sus problemas para leer las SD, ya que el bicho que usan para manejarlas es otro de los que tiene NDA's por m² para aburrir y la doc no está disponible, toca tirar de los fuentes de Linux. De hecho, creo que sigue siendo más fiable (y rápido) leer de una memoria USB que hacerlo de la SD.

Gracias por tu ofrecimiento. ;)

Re: ZXBaremetal edición 35 aniversario

Publicado: Lun Abr 24, 2017 2:36 pm
por jcgamestoy
zx81 escribió:
jcgamestoy escribió:En cuanto a lo de leer la SD más que liarte con un gui lo más fácil en un entorno baremetal seria implementar DIVMMC parece complicado al principio pero yo ya lo tengo implementado para RVM2 y no es tan difícil.

Ademas el divmmc usa el protocolo spi de las tarjetas SD, desde el RPI también se puede acceder a la tarjeta por spi, por lo que en un entorno baremetal se podría hacer un pass-through directo desde la emulación del z80 a la tarjeta sd.

Es solo una idea, un abrazo y cualquier cosa que pueda ayudar me lo dices.
Nunca me he metido con divmmc así que desconozco totalmente como funciona el invento. Pero me suena que es uno de esos que obliga a tener las cintas en formato TAP para poder cargarlas, ¿no?.

Lo de hacer un pass-through veríamos, porque la Circle ya tuvo sus problemas para leer las SD, ya que el bicho que usan para manejarlas es otro de los que tiene NDA's por m² para aburrir y la doc no está disponible, toca tirar de los fuentes de Linux. De hecho, creo que sigue siendo más fiable (y rápido) leer de una memoria USB que hacerlo de la SD.

Gracias por tu ofrecimiento. ;)
Pues a lo mejor me equivoco pero creo que aquí en la página 65 esta documentado:

https://www.raspberrypi.org/documentati ... herals.pdf

;)

Re: ZXBaremetal edición 35 aniversario

Publicado: Lun Abr 24, 2017 2:37 pm
por jcgamestoy
zx81 escribió:
jcgamestoy escribió:Bravo al final te has animado a lanzarlo menos mal.

Luego lo pruebo y te comento, pero leyendo la página una preguntita:

Cuando hablas del registro escondido WZ te refieres a lo que yo llamo registro Q, vamos es decir, al bit este que afecta a las instrucciones scf/ccf no?:

https://www.worldofspectrum.org/forums/ ... ent_666550

Un saludo.
Sí, es que en la doc de Zilog y en el libro de Zaks hablan de él como WZ. En otras partes lo llaman MEMPTR.
Anda leches el memptr eso es otra cosa, entonces hablamos de cosas diferentes el memptr afecta a los flags 3 y 5 el registro Q este al resultado de scf/ccf.

Re: ZXBaremetal edición 35 aniversario

Publicado: Lun Abr 24, 2017 3:28 pm
por hikoki
voy a tener que buscar una pi de segunda mano.. se le puede meter una tablet por el el fistro del ear? Así podrías conectarle una tablet corriendo una de esas apps para cargar juegos como tapdancer.. serviría como gui con menus y carátulas además de que pitaría en lugar de zxbaremetalator porque a la postre, ¿pitaba o no pitaba? :)

Re: ZXBaremetal edición 35 aniversario

Publicado: Lun Abr 24, 2017 3:55 pm
por zx81
hikoki escribió:voy a tener que buscar una pi de segunda mano.. se le puede meter una tablet por el el fistro del ear? Así podrías conectarle una tablet corriendo una de esas apps para cargar juegos como tapdancer.. serviría como gui con menus y carátulas además de que pitaría en lugar de zxbaremetalator porque a la postre, ¿pitaba o no pitaba? :)
No, la PI no tiene entrada, solo salida. Y sí, por la salida pitaba sin necesidad de adaptadores (y yo me gasté 12€ hace meses solo para conseguir un cable que, a la postre, no necesitaba).