ZXBaremulator v2.1-VCHIQ beta

Emuladores y aplicaciones que ayudarán a la perpetuación del Spectrum y su software en el futuro

Moderador: Sir Cilve Sinclair

zx81
Freddy Hardest
Mensajes: 619
Registrado: Vie Dic 28, 2007 2:14 pm
Ubicación: Valencia
Contactar:

Re: ZXBaremulator v2.1-VCHIQ beta

Mensaje por zx81 » Lun Ene 15, 2018 6:37 pm

Bueno, en algún sentido, algo hemos avanzado. He subido una nueva peta que cambia totalmente el mixing del beeper+AY, incluso cierta parte de la generación del sonido. También se me ha ocurrido una solución para el carraspeo que se producía a veces al terminar la carga de una cinta. Lo bueno es que la idea es extensible a más sitios. Otra cosa referente al sonido que he reajustado es que anoche me dí cuenta de que los volúmenes relativos del beeper y el AY no estaban bien ajustados, al menos comparando con el ZX-Uno, pero no me sorprendería que en real fuera igual. Ahora, cuando suceden los dos a la vez, se escucha más claramente el beeper.

Lo que he quitado, por no tener sentido ya es el ajuste de volumen con '+' y '-' del teclado numérico. Eso ya se ajusta desde la propia TV, así que no le veo utilidad.

kernel7.img: 549040 bytes
md5sum: f4e912638f7ef5c115af664b3601c2ea
Debido al fallo de un mecanismo, el lanzagranadas M203 se te podía disparar cuando menos lo esperaras, lo que te habría hecho bastante impopular entre lo que quedara de tu unidad.
Revista del ejército EE.UU. PS, agosto 1993.

Emulador JSpeccy
ZXBaremulator

Avatar de Usuario
chernandezba
Sabreman
Mensajes: 408
Registrado: Mié Oct 17, 2007 5:26 pm

Re: ZXBaremulator v2.1-VCHIQ beta

Mensaje por chernandezba » Mar Ene 16, 2018 12:04 pm

Curiosidad...
zx81 escribió: El VC4 es superexigente en cuanto a tiempos y, de hecho, los dos threads de kernel que usa en Linux (de 4) que se ocupan de él lo hacen con propridades de -19 y -20.
Que es el VC4 y que tiene que ver tu emulador con Linux? No es baremetal, sin sistema operativo?
No se si ese VC4 del que hablas es esto

https://github.com/freeblob/ack-vc4
----

ZEsarUX
ZX Second-Emulator And Released for UniX
https://github.com/chernandezba/zesarux

zx81
Freddy Hardest
Mensajes: 619
Registrado: Vie Dic 28, 2007 2:14 pm
Ubicación: Valencia
Contactar:

Re: ZXBaremulator v2.1-VCHIQ beta

Mensaje por zx81 » Mar Ene 16, 2018 12:25 pm

chernandezba escribió:Curiosidad...
zx81 escribió: El VC4 es superexigente en cuanto a tiempos y, de hecho, los dos threads de kernel que usa en Linux (de 4) que se ocupan de él lo hacen con propridades de -19 y -20.
Que es el VC4 y que tiene que ver tu emulador con Linux? No es baremetal, sin sistema operativo?
No se si ese VC4 del que hablas es esto

https://github.com/freeblob/ack-vc4
El VC4 es lo que se ve en ese enlace de github, el VideoCore IV, la GPU que llevan las Raspberrys y que mantiene bajo control al procesador ARM. Hablar de Linux era por comparación, aunque en el fondo, sí tiene que ver. Como todo lo referente al VC4 está sin documentar, la única solución que le ha quedado a Rene ha sido usar las librerías VC4 que gasta Linux. Y para poder usar esas librerías con mínimas modificaciones, ha tenido que crear una capa de compatibilidad Linux<->Circle. La diferencia es que Linux es un sistema operativo completo hackeado por la gente de la Fundación Raspberry y Circle tiene que emular eso con sus limitaciones, por ejemplo, un scheduler cooperativo que solo funciona en la CPU-0. Luego he tenido yo que inventarme cómo usar todo eso desde la emulación que se ejecuta en la CPU-1.

La CPU-0 ya lleva su faena, pues es la única que gestiona las interrupciones de la placa, entre ellas, las 8000 ints/seg que genera el controlador USB. Al principio, puse un bucle de espera en CPU-0 que ponía a dormir a la CPU hasta la llegada de una interrupción (125 usec, quizá antes). Pues bien, esa espera era demasiado larga y los threads que atienden al VC4 no llegaban a tiempo y el sonido se escuchaba mal. Por eso mencionaba que dos de los threads de Linux se ejecutan con nices de -19 y -20, para poner en evidencia que exigen mucha CPU y precisión.

Y si nos ponemos puristas, no hay Raspberry sin sistema operativo. El archivo start.elf del firmware es un kernel comercial completo de tiempo real que se ejecuta en la GPU llamado ThreadX.

La chulería que ha hecho Rene poniendo soporte para algo tan aparentemente tonto como el sonido HDMI ha sido tremenda. Merece más reconocimiento del que, desgraciadamente, tendrá.

En navidades intentó mejorar el scheduler para que pudiera usar otras CPU, pero tenía demasiada latencia y era peor el remedio que la enfermedad, así que ha habido que descartarlo. El lo mejoró y yo hice los tests, que aquí cada uno tuvo lo suyo.

A mi me ha costado lo mío ponerle sonido HDMI al emulador pero lo del autor de Circle, no tiene nombre....
Debido al fallo de un mecanismo, el lanzagranadas M203 se te podía disparar cuando menos lo esperaras, lo que te habría hecho bastante impopular entre lo que quedara de tu unidad.
Revista del ejército EE.UU. PS, agosto 1993.

Emulador JSpeccy
ZXBaremulator

Avatar de Usuario
chernandezba
Sabreman
Mensajes: 408
Registrado: Mié Oct 17, 2007 5:26 pm

Re: ZXBaremulator v2.1-VCHIQ beta

Mensaje por chernandezba » Mar Ene 16, 2018 1:15 pm

zx81 escribió:[

Y si nos ponemos puristas, no hay Raspberry sin sistema operativo. El archivo start.elf del firmware es un kernel comercial completo de tiempo real que se ejecuta en la GPU llamado ThreadX.
Muy curioso esto del ThreadX, he navegado un poquito por la web
https://rtos.com/solutions/threadx/

Y yo que hasta ahora pensaba que la GPU se gestionaba integramente desde el sistema operativo (Linux normalmente) pero resulta que la propia GPU está ejecutando otro sistema.... :O
----

ZEsarUX
ZX Second-Emulator And Released for UniX
https://github.com/chernandezba/zesarux

Avatar de Usuario
chernandezba
Sabreman
Mensajes: 408
Registrado: Mié Oct 17, 2007 5:26 pm

Re: ZXBaremulator v2.1-VCHIQ beta

Mensaje por chernandezba » Mar Ene 16, 2018 1:22 pm

Por cierto la gpu de la rpi solo hace funciones de gpu? Es decir, video, aceleracion hardware, etc?
O también gestiona cosas como el usb?
----

ZEsarUX
ZX Second-Emulator And Released for UniX
https://github.com/chernandezba/zesarux

zx81
Freddy Hardest
Mensajes: 619
Registrado: Vie Dic 28, 2007 2:14 pm
Ubicación: Valencia
Contactar:

Re: ZXBaremulator v2.1-VCHIQ beta

Mensaje por zx81 » Mar Ene 16, 2018 1:34 pm

chernandezba escribió:Por cierto la gpu de la rpi solo hace funciones de gpu? Es decir, video, aceleracion hardware, etc?
O también gestiona cosas como el usb?
Gestiona más cosas, todo lo que sea relacionado con pantalla (resoluciones, refrescos, servicios varios), cámara, sonido, relojes del sistema, etc lo controla la GPU y tú te comunicas con ella vía mailboxes. Es lo único que está medio documentado.

El USB lo gestionas tú, partiendo de la base que el host USB es una porquería como una casa y que está sin documentar. Luego hay periféricos, como las alarmas de los relojes (4) que la GPU se reserva dos para ella solita y tú no debes tocarlos, aunque podrías.

Pero vamos, PWM, GPIO, I2C, SPI, ciertas interrupciones, las controlas tú.

Lo curioso es que la GPU lleva su propia MMU y parece que al ARM solo le deja ver lo que le da la gana. Vamos, como en todo matrimonio que se precie, él (ARM) se ocupa de las cosas importantes; ella (la GPU) decide lo que es importante y lo que no.

Encima, la Pi1 está pobremente documentada. Para la Pi2 salió una especie de addenda no oficial con algunas cosas nuevas. Para la Pi3, nada. Como placa de desarrollo bare-metal e investigación, es un fraude. Si la quieres para ponerle Linux y hacer el mono Amedio con Python, vale.

Yo creo que parte del problema del vídeo y del sonido es que la GPU puede decodificar H.264, si pagas por ello la correspondiente licencia. Si tuvieras acceso a todo, probablemente no haría falta pagar por nada. Tampoco sé si la implementación de HDMI tiene restricciones ni lo que pagaron por ella. Ahí debe haber un buen bakalao de NDAs de por medio.
Debido al fallo de un mecanismo, el lanzagranadas M203 se te podía disparar cuando menos lo esperaras, lo que te habría hecho bastante impopular entre lo que quedara de tu unidad.
Revista del ejército EE.UU. PS, agosto 1993.

Emulador JSpeccy
ZXBaremulator

Avatar de Usuario
chernandezba
Sabreman
Mensajes: 408
Registrado: Mié Oct 17, 2007 5:26 pm

Re: ZXBaremulator v2.1-VCHIQ beta

Mensaje por chernandezba » Mar Ene 23, 2018 4:47 pm

zx81 escribió: Encima, la Pi1 está pobremente documentada. Para la Pi2 salió una especie de addenda no oficial con algunas cosas nuevas. Para la Pi3, nada. Como placa de desarrollo bare-metal e investigación, es un fraude. Si la quieres para ponerle Linux y hacer el mono Amedio con Python, vale.
Pues ya he aprendido unas cuantas cosillas de este "mundillo" que parece que es la Raspberry. Gracias!
----

ZEsarUX
ZX Second-Emulator And Released for UniX
https://github.com/chernandezba/zesarux

hikoki
Freddy Hardest
Mensajes: 657
Registrado: Sab Nov 23, 2013 8:27 am

Re: ZXBaremulator v2.1-VCHIQ beta

Mensaje por hikoki » Lun Feb 19, 2018 3:57 am

zx81 escribió:Lo de probar con otras teles no está mal....
Al fin he podido probar con otra tele!
Como sospechaba en esta suena de maravilla. Ni rastro de los efectos "pérdida de volumen" y "debilitamiento de AY cuando aparecen efectos beeper"

Edito:

Como parece un problema del televisor, probaré a poner la opción AVL en OFF

hikoki
Freddy Hardest
Mensajes: 657
Registrado: Sab Nov 23, 2013 8:27 am

Re: ZXBaremulator v2.1-VCHIQ beta

Mensaje por hikoki » Mar Feb 20, 2018 1:20 pm

hikoki escribió:Como parece un problema del televisor, probaré a poner la opción AVL en OFF
Efectivamente! El problema desaparece desactivando AVL (autovolumen) en las opciones de audio del televisor :oops: :)

hikoki
Freddy Hardest
Mensajes: 657
Registrado: Sab Nov 23, 2013 8:27 am

Re: ZXBaremulator v2.1-VCHIQ beta

Mensaje por hikoki » Jue Feb 22, 2018 2:29 pm

Dos sugerencias para nuevas versiones:

- Una sola tecla para el botón de Reset. Puede ser útil para proyectos hardware.
- Mensajes del emulador no se ven si el zoom de la tv está activado. No tiene mucha importancia ya que siempre puedes desactivar el zoom cuando voy a realizar alguna operación.

ANTIMANIMAL
rst 0
Mensajes: 5
Registrado: Dom Abr 15, 2018 5:00 pm

Re: ZXBaremulator v2.1-VCHIQ beta

Mensaje por ANTIMANIMAL » Dom Abr 15, 2018 7:19 pm

hikoki escribió:Dos sugerencias para nuevas versiones:

- Una sola tecla para el botón de Reset. Puede ser útil para proyectos hardware.
.
Todos los Raspberrys tienen dos pines (sin conector de fabrica) que lo resetean por hardware. Puedes buscar informacion de donde esta en cada modelo por google y soldar ahi un pulsador.

Yo tambien estoy metido en un proyecto de hardware para montarlo interno en un teclado zx original y lo he resulto asi.

Con las teclas de menus y cambio de modelo lo resuelvo con un segundo teclado , pero para ello tengo que recurir a a un raspberry pi 2 en lugar de usar un viejuno pi1 .

Responder

¿Quién está conectado?

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