ZXBaremulator v3.1

Foro dedicado a la emulación de sistemas clásicos en el PC o en otros sistemas.
ZX-81
Commodore 128
Commodore 128
Mensajes: 111
Registrado: 04 Ene 2013, 16:43
Sistema Favorito: Spectrum +2
primer_sistema: ZX81
consola_favorita: Nintendo DS/3DS
Primera consola: Sega Genesis/Megadrive
Ubicación: La orilla del mar Mediterráneo
Gracias dadas: 12 veces
Gracias recibidas: 22 veces
Contactar:

ZXBaremulator v3.1

Mensajepor ZX-81 » 13 Ene 2019, 17:00

Hola a todos,

Tras muchos meses de pruebas y trasteo, por fin he podido publicar la versión 3.1 de mi emulador bare-metal para las Raspberry PI 2/3.

Espero que las novedades incluidas sean interesantes para todos.

Quiero dar las gracias especialmente a Hikoki, porque sin su generosa donación de un teclado Recreated ZX, añadir el soporte hubiera sido mucho más difícil si no imposible.

Podéis descargar la nueva versión desde la página Web del proyecto: ZXBaremulator

Saludos
Todo espacio de dimensión finita distinta de cero con producto interno tiene una base ortonormal. Tiene sentido, cuando no piensas sobre ello.
Profesor de Matemáticas U.C. Berkeley

Empieza a jugar sin tener que compilar: JSpeccy
Emulador bare-metal para la Raspberry PI 2/3: ZXBaremulator

Avatar de Usuario
robcfg
Amiga 1200
Amiga 1200
Mensajes: 1976
Registrado: 07 May 2009, 15:34
Sistema Favorito: Amstrad CPC
primer_sistema: Atari 800XL/600XL
Ubicación: Estocolmo
Gracias dadas: 355 veces
Gracias recibidas: 90 veces

Re: ZXBaremulator v3.1

Mensajepor robcfg » 13 Ene 2019, 19:11

Solo por curiosidad, ¿hay alguna razón técnica para que no funcione en una Raspberry Pi B?

Avatar de Usuario
jltursan
Amiga 2500
Amiga 2500
Mensajes: 3897
Registrado: 13 Oct 2006, 19:45
Sistema Favorito: MSX
primer_sistema: Dragon
Ubicación: Serracines, Madrid, España
Gracias dadas: 39 veces
Gracias recibidas: 75 veces
Contactar:

Re: ZXBaremulator v3.1

Mensajepor jltursan » 13 Ene 2019, 19:33

Supuestamente si que soporta la B, un poco más abajo hay un kernel para descargar... ;)

Avatar de Usuario
Bubu
Atari 1040 STf
Atari 1040 STf
Mensajes: 740
Registrado: 04 Abr 2018, 23:10
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Atari 2600
Primera consola: Nintendo GameBoy
Gracias dadas: 14 veces
Gracias recibidas: 24 veces

Re: ZXBaremulator v3.1

Mensajepor Bubu » 13 Ene 2019, 20:04

Una duda, ZX-81, este emulador no sirve aún para meter la RPi en una carcasa gomas auténtica, ¿nor? Lo digo porque si conesto los ribbons del gomas a la RPi mediante GPIO o USB, no hay manera de definir las teclas. ¿O sí? Sería un puntazo.
Si algo funciona... ¡¡NO LO TOQUES!! ¡¡NI DE COÑA!!

ZX-81
Commodore 128
Commodore 128
Mensajes: 111
Registrado: 04 Ene 2013, 16:43
Sistema Favorito: Spectrum +2
primer_sistema: ZX81
consola_favorita: Nintendo DS/3DS
Primera consola: Sega Genesis/Megadrive
Ubicación: La orilla del mar Mediterráneo
Gracias dadas: 12 veces
Gracias recibidas: 22 veces
Contactar:

Re: ZXBaremulator v3.1

Mensajepor ZX-81 » 13 Ene 2019, 20:19

robcfg escribió:Solo por curiosidad, ¿hay alguna razón técnica para que no funcione en una Raspberry Pi B?


Sí, no hay una razón, hay dos en realidad.

Hasta la v2.0 tenía problemas aleatorios con los dispositivos USB, y de cuando en cuando te quedabas sin teclado. El autor de Circle mejoró el soporte pero para ello tenía que manejar el host USB de otra forma y manejar 8000 interrupciones por segundo. Eso introducía cierta inestabilidad en los tiempos de ejecución del emulador, aunque podía pasar relativamente desapercibido, pero a condición de que no usara más allá de 1 o 2 puertos USB.

El auténtico problema vino con el soporte del sonido HDMI. Ese sonido exige tiempos muy estrictos de atención al VC4 y la librería Circle solo tiene un scheduler cooperativo, al estilo del ya caduco Windows 3.11. Entonces tuve que elegir, o sonido HDMI o las placas basadas en ARMv6.

Encima si ya iba al límite de CPU quedarme en los modelos primigenios me limitaba de cara al futuro. Con las PI-2 en adelante, gasto una CPU para el sonido, USB y algunas tareas secundarias, y otra CPU solo para la emulación, que funciona con tiempos muy buenos, las derivas son de nanosegundos. Y puedo manejar a la vez sin problemas 4 dispositivos USB y el sonido HDMI, quedándome todavía dos CPU durmiendo el sueño de los justos, esperando a que en algún momento les de buen uso.

No le veía sentido meterme en el fregao de hacer un emulador tan particular para tener una buena precisión para luego cargármela por usar modelos tan limitados. Ya solo tener sonido HDMI justifica el sacrificio.

Obviamente, la diferencia de código es demasiado grande como para mantener dos versiones tan dispares. El único que chapa código soy yo y ya voy pillado de tiempo, como para intentar mantener más de emulador y medio.

Ahora veremos a ver qué sacan estos de la fundación el 3.14...
Todo espacio de dimensión finita distinta de cero con producto interno tiene una base ortonormal. Tiene sentido, cuando no piensas sobre ello.
Profesor de Matemáticas U.C. Berkeley

Empieza a jugar sin tener que compilar: JSpeccy
Emulador bare-metal para la Raspberry PI 2/3: ZXBaremulator

ZX-81
Commodore 128
Commodore 128
Mensajes: 111
Registrado: 04 Ene 2013, 16:43
Sistema Favorito: Spectrum +2
primer_sistema: ZX81
consola_favorita: Nintendo DS/3DS
Primera consola: Sega Genesis/Megadrive
Ubicación: La orilla del mar Mediterráneo
Gracias dadas: 12 veces
Gracias recibidas: 22 veces
Contactar:

Re: ZXBaremulator v3.1

Mensajepor ZX-81 » 13 Ene 2019, 20:20

jltursan escribió:Supuestamente si que soporta la B, un poco más abajo hay un kernel para descargar... ;)


Esa es la versión 2.0, abandonada ya por los motivos expuestos anteriormente.
Todo espacio de dimensión finita distinta de cero con producto interno tiene una base ortonormal. Tiene sentido, cuando no piensas sobre ello.
Profesor de Matemáticas U.C. Berkeley

Empieza a jugar sin tener que compilar: JSpeccy
Emulador bare-metal para la Raspberry PI 2/3: ZXBaremulator

ZX-81
Commodore 128
Commodore 128
Mensajes: 111
Registrado: 04 Ene 2013, 16:43
Sistema Favorito: Spectrum +2
primer_sistema: ZX81
consola_favorita: Nintendo DS/3DS
Primera consola: Sega Genesis/Megadrive
Ubicación: La orilla del mar Mediterráneo
Gracias dadas: 12 veces
Gracias recibidas: 22 veces
Contactar:

Re: ZXBaremulator v3.1

Mensajepor ZX-81 » 13 Ene 2019, 20:23

Bubu escribió:Una duda, ZX-81, este emulador no sirve aún para meter la RPi en una carcasa gomas auténtica, ¿nor? Lo digo porque si conesto los ribbons del gomas a la RPi mediante GPIO o USB, no hay manera de definir las teclas. ¿O sí? Sería un puntazo.


No, eso se haría con el montaje mostrado en la MagPI número 67, que permite conectar la carcasa del Spectrum real con su teclado a los GPIO. Pero no tengo ese montaje y veremos si soy capaz de sacarlo adelante. No es muy complicado, pero yo estoy oxidado con eso de los trasteos de HW.

No le veo sentido a conectar la membrana a un conversor USB, pierdes todas las posibles ventajas del asunto. Hacerlo por GPIO sería la manera correcta de llevarlo a cabo. Para USB, ya tienes teclados normales, mejores y con fácil reemplazo. Digo yo.
Todo espacio de dimensión finita distinta de cero con producto interno tiene una base ortonormal. Tiene sentido, cuando no piensas sobre ello.
Profesor de Matemáticas U.C. Berkeley

Empieza a jugar sin tener que compilar: JSpeccy
Emulador bare-metal para la Raspberry PI 2/3: ZXBaremulator

Avatar de Usuario
Bubu
Atari 1040 STf
Atari 1040 STf
Mensajes: 740
Registrado: 04 Abr 2018, 23:10
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Atari 2600
Primera consola: Nintendo GameBoy
Gracias dadas: 14 veces
Gracias recibidas: 24 veces

Re: ZXBaremulator v3.1

Mensajepor Bubu » 13 Ene 2019, 20:30

Bueno, supongamos que tengo un teclado gomas original, y le sueldo los pines al GPIO de mi RPi. ¿El ZXBaremulator lee los GPIO's? Si se pudiera, el resultado final sería casi como tener un Spectrum de verdad. Entóns, ¿lee los GPIO's?
Si algo funciona... ¡¡NO LO TOQUES!! ¡¡NI DE COÑA!!

ZX-81
Commodore 128
Commodore 128
Mensajes: 111
Registrado: 04 Ene 2013, 16:43
Sistema Favorito: Spectrum +2
primer_sistema: ZX81
consola_favorita: Nintendo DS/3DS
Primera consola: Sega Genesis/Megadrive
Ubicación: La orilla del mar Mediterráneo
Gracias dadas: 12 veces
Gracias recibidas: 22 veces
Contactar:

Re: ZXBaremulator v3.1

Mensajepor ZX-81 » 13 Ene 2019, 20:37

Bubu escribió:Bueno, supongamos que tengo un teclado gomas original, y le sueldo los pines al GPIO de mi RPi. ¿El ZXBaremulator lee los GPIO's? Si se pudiera, el resultado final sería casi como tener un Spectrum de verdad. Entóns, ¿lee los GPIO's?


Obviamente, no. Eso hay que programarlo y conectar la membrana a los GPIO que leyera el emulador, no a uno cualquiera. Y no solo es programar la lectura (pecata minuta), sino que hay que programar también algún modo especial para poder acceder a las cintas de la SD, cambiar modelo, arrancar la cinta y demás funciones que se hacen con el teclado USB real. Eso ya he tenido que hacerlo para el teclado Recreated ZX y es una faena laboriosa más que difícil.

La idea es montarme yo el invento de la MagPI, pero no puedo prometer nada. Me vienen además meses de trabajo intenso... :\
Todo espacio de dimensión finita distinta de cero con producto interno tiene una base ortonormal. Tiene sentido, cuando no piensas sobre ello.
Profesor de Matemáticas U.C. Berkeley

Empieza a jugar sin tener que compilar: JSpeccy
Emulador bare-metal para la Raspberry PI 2/3: ZXBaremulator

Avatar de Usuario
Bubu
Atari 1040 STf
Atari 1040 STf
Mensajes: 740
Registrado: 04 Abr 2018, 23:10
Sistema Favorito: Spectrum 16Kb/48Kb
primer_sistema: Spectrum 16Kb/48Kb
consola_favorita: Atari 2600
Primera consola: Nintendo GameBoy
Gracias dadas: 14 veces
Gracias recibidas: 24 veces

Re: ZXBaremulator v3.1

Mensajepor Bubu » 13 Ene 2019, 20:40

Bueno, pos por eso la opción USB es la más fácil para ti. Yo tengo un teclado gomas real, al que le he metido dentro la plaquita de un teclado USB, y le he soldado las fajas del teclado gomas. Cuando lo enchufo a un PC, y abro un Notepad, lógicamente al pulsar la A pos se escribe un 8, y al pulsar la B, se escribe una W, etc. Hay que remapear. Si tu emulador pudiera remapear teclas, esto estaría resuelto, y pienso que remapear teclas es mucho más fácil que dar soporte al GPIO.
Si algo funciona... ¡¡NO LO TOQUES!! ¡¡NI DE COÑA!!


Volver a “Emuladores”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado