ZXBaremulator v3.0

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

Moderador: Sir Cilve Sinclair

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

Re: ZXBaremulator v3.0

Mensaje por hikoki » Dom Mar 11, 2018 2:14 pm

Solo tengo cargadores para tablet. He buscado y rebuscado y he encontrado un powerbank! Ay! pero es de 1 Humperio.
Solo se me ocurre bajar a un chino que no esté europeizado :)
Como sugerencia para que el gomitas no sea teclado lacayo, una idea sería utilizar algún combo de tu invención para remapear las teclas al vuelo, aunque no sé si sería posible o indeseable.

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

Re: ZXBaremulator v3.0

Mensaje por zx81 » Dom Mar 11, 2018 2:46 pm

Cuidadito con los cargadores de los cheenos que suelen proporcionar una señal ajquerosa y si prometen 2A luego, a la hora de la verdad, no llegan ni a la mitad. Además, están mal aislados los circuitos de 220V y de 5V y te puedes llevar una sorpresa de las chulas.

Aquí en mi pueblo, por culpa de unas lucecitas de árbol de navidad, ardió una casa en Nochebuena, tuvieron que desalojar la finca y se pasaron más de un año sin poder volver a casa ninguno de los vecinos hasta que se hicieron las reformas pertinentes. Y todo eso "gracias" a unas lucecitas de "todo a 1€".

Aquí tienes una: Fuente alimentación oficial Raspberry PI. Son 9'5€ IVA incluido. Lo malo, eso sí, es que si se la pides a ellos te cobrarán 5€ de portes.

Yo he llegado a verla en los MierdaMarkets por menos de 10€.
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

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

Re: ZXBaremulator v3.0

Mensaje por hikoki » Dom Mar 11, 2018 3:39 pm

Gracias por el aviso :? Lo tendré en cuenta. Miraré primero en los chinos. No hace mucho compré un cargador de un amperio y estaba fabricado en Murcia.

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

Re: ZXBaremulator v3.0

Mensaje por zx81 » Dom Mar 11, 2018 4:13 pm

Al final, por problemas de interacción entre el Recreated ZX y el joystick en emulación Sinclair 1/2, Cursor y QAOPSPACEM he tenido que realizar algunos cambios en el código que se traducen en que en todo momento están operativos los dos teclados, el RZX y el USB estándar. Ya no hay una tecla que active/desactive el RZX porque no es necesaria.

La URL de descarga es la misma de siempre. MD5: e5bf681e218962f2a6074dcf589d8340
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

kounch
rst 0
Mensajes: 24
Registrado: Mar Dic 05, 2017 8:02 am

Re: ZXBaremulator v3.0

Mensaje por kounch » Dom Mar 11, 2018 8:23 pm

Hola
sólo por si pudiera servir de algo. Hoy he estado haciendo pruebas con Retro Virtual Machine y el teclado en pantalla, comparando el funcionamiento en modo "Game" y en modo teclado normal. He subido un vídeo aquí con lo que he visto:

https://nxc.kounch.com/index.php/s/9ECjzTKJyn63kEJ

Parece que el comportamiento como teclado completo no es el mismo que dices que se observa en modo BOOT, y seguramente sea esa la causa de todo; la forma en que han implementado el protocolo BOOT.

En la primera parte del vídeo, el teclado está en modo "Game" y, como se puede ver, aparentemente, envía sólo un par de eventos (tecla pulsada/tecla liberada) cuando se empieza la pulsación de tecla, y otros dos cuando finaliza.
En la segunda parte (se ve cómo cambio el modo en el emulador -y también lo hago en el teclado, claro), se ve que como teclado normal envía evento de tecla pulsada todo el tiempo que la mantengo pulsada.

Y, por si pudiera aprovecharse, he podido hacer un volcado desde Linux del descriptor de configuración cuando está en modo "game":

Código: Seleccionar todo

  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           59
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      1 Boot Interface Subclass
      bInterfaceProtocol      1 Keyboard
      iInterface              3 Keyboard
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.10
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      53
         Report Descriptors: 
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x000e  1x 14 bytes
        bInterval              10
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              4 System Control
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.10
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength     131
          Report Descriptor: (length is 131)
            Item(Global): Usage Page, data= [ 0x01 ] 1
                            Generic Desktop Controls
            Item(Local ): Usage, data= [ 0x80 ] 128
                            System Control
            Item(Main  ): Collection, data= [ 0x01 ] 1
                            Application
            Item(Global): Report ID, data= [ 0x02 ] 2
            Item(Local ): Usage, data= [ 0x81 ] 129
                            System Power Down
            Item(Local ): Usage, data= [ 0x82 ] 130
                            System Sleep
            Item(Local ): Usage, data= [ 0x83 ] 131
                            System Wake Up
            Item(Global): Logical Minimum, data= [ 0x00 ] 0
            Item(Global): Logical Maximum, data= [ 0x01 ] 1
            Item(Global): Report Size, data= [ 0x01 ] 1
            Item(Global): Report Count, data= [ 0x03 ] 3
            Item(Main  ): Input, data= [ 0x06 ] 6
                            Data Variable Relative No_Wrap Linear
                            Preferred_State No_Null_Position Non_Volatile Bitfield
            Item(Global): Report Size, data= [ 0x05 ] 5
            Item(Global): Report Count, data= [ 0x01 ] 1
            Item(Main  ): Input, data= [ 0x01 ] 1
                            Constant Array Absolute No_Wrap Linear
                            Preferred_State No_Null_Position Non_Volatile Bitfield
            Item(Global): Usage Page, data= [ 0x00 0xff ] 65280
                            (null)
            Item(Local ): Usage, data= [ 0x01 ] 1
                            (null)
            Item(Global): Report ID, data= [ 0x01 ] 1
            Item(Global): Logical Minimum, data= [ 0x00 ] 0
            Item(Global): Logical Maximum, data= [ 0xff 0x00 ] 255
            Item(Global): Report Size, data= [ 0x08 ] 8
            Item(Global): Report Count, data= [ 0x07 ] 7
            Item(Main  ): Feature, data= [ 0x00 ] 0
                            Data Array Absolute No_Wrap Linear
                            Preferred_State No_Null_Position Non_Volatile Bitfield
            Item(Main  ): End Collection, data=none
            Item(Global): Usage Page, data= [ 0x0c ] 12
                            Consumer
            Item(Local ): Usage, data= [ 0x01 ] 1
                            Consumer Control
            Item(Main  ): Collection, data= [ 0x01 ] 1
                            Application
            Item(Global): Report ID, data= [ 0x03 ] 3
            Item(Global): Logical Minimum, data= [ 0x00 ] 0
            Item(Global): Logical Maximum, data= [ 0x01 ] 1
            Item(Local ): Usage, data= [ 0xb5 ] 181
                            Scan Next Track
            Item(Local ): Usage, data= [ 0xb6 ] 182
                            Scan Previous Track
            Item(Local ): Usage, data= [ 0xb7 ] 183
                            Stop
            Item(Local ): Usage, data= [ 0xcd ] 205
                            Play/Pause
            Item(Local ): Usage, data= [ 0xe2 ] 226
                            Mute
            Item(Local ): Usage, data= [ 0xe5 ] 229
                            Bass Boost
            Item(Local ): Usage, data= [ 0xe7 ] 231
                            Loudness
            Item(Local ): Usage, data= [ 0xe9 ] 233
                            Volume Increment
            Item(Local ): Usage, data= [ 0xea ] 234
                            Volume Decrement
            Item(Local ): Usage, data= [ 0x52 0x01 ] 338
                            Bass Increment
            Item(Local ): Usage, data= [ 0x53 0x01 ] 339
                            Bass Decrement
            Item(Local ): Usage, data= [ 0x54 0x01 ] 340
                            Treble Increment
            Item(Local ): Usage, data= [ 0x55 0x01 ] 341
                            Treble Decrement
            Item(Local ): Usage, data= [ 0x83 0x01 ] 387
                            AL Consumer Control Configuration
            Item(Local ): Usage, data= [ 0x8a 0x01 ] 394
                            AL Email Reader
            Item(Local ): Usage, data= [ 0x92 0x01 ] 402
                            AL Calculator
            Item(Local ): Usage, data= [ 0x94 0x01 ] 404
                            AL Local Machine Browser
            Item(Local ): Usage, data= [ 0x21 0x02 ] 545
                            AC Search
            Item(Local ): Usage, data= [ 0x23 0x02 ] 547
                            AC Home
            Item(Local ): Usage, data= [ 0x24 0x02 ] 548
                            AC Back
            Item(Local ): Usage, data= [ 0x25 0x02 ] 549
                            AC Forward
            Item(Local ): Usage, data= [ 0x26 0x02 ] 550
                            AC Stop
            Item(Local ): Usage, data= [ 0x27 0x02 ] 551
                            AC Refresh
            Item(Local ): Usage, data= [ 0x2a 0x02 ] 554
                            (null)
            Item(Global): Report Size, data= [ 0x01 ] 1
            Item(Global): Report Count, data= [ 0x18 ] 24
            Item(Main  ): Input, data= [ 0x02 ] 2
                            Data Variable Absolute No_Wrap Linear
                            Preferred_State No_Null_Position Non_Volatile Bitfield
            Item(Main  ): End Collection, data=none
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0008  1x 8 bytes
        bInterval              10
Un saludo

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

Re: ZXBaremulator v3.0

Mensaje por zx81 » Dom Mar 11, 2018 8:55 pm

Gracias kounch. Si te fijas en el descriptor USB, solo tiene modo BOOT, otra cosa es que se comporte de manera diferente según esté en modo Game o en modo QWERTY. Además observa ese descriptor. ¿Qué pinta ahí ese dispositivo 3-0-0, controles de Bass Boost, Mute, Loudness, Volume Increment/Decrement y un montón de cosas más?. Tiene pinta de ser un controlador reciclado de algún dispositivo multimedia o similar.

Lo que yo describo en otros mensajes es lo que veo en la capa USB a bajo nivel, o sea, la respuesta a la transacción de lectura del interfaz IN.

En cualquier caso, mi reproche va sobre todo porque en cada transacción no varía más de una tecla a la vez. Un teclado normal no hace eso, envía tantas teclas como pueda en cada respuesta. El asunto es que eso hay que verlo en términos de tiempos, aunque no acierto a comprender porqué a veces veo tiempos menores de 10 ms que, como puedes ver en el descriptor, es lo que declara como tiempo mínimo de polling (campo bInterval).

Tampoco sé porqué declara una longitud de respuesta de 14 bytes (campo wMaxPacketSize) cuando lo estándar en modo BOOT son 8 (página 73 y siguientes del documento Device Class Definition for Human Device Interfaces v1.11).

El problema en modo QWERTY es, sobre todo, el manejo de teclas como las dobles comillas, que se inventa la liberación de la tecla por la jeta (realmente lo hace con todas las combinaciones de tecla+SYM o tecla+CAPS). Eso no lo hace con las teclas normales a secas.
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

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

Re: ZXBaremulator v3.0

Mensaje por hikoki » Lun Mar 12, 2018 7:50 pm

Ja! de momento no tengo suerte con las fuentes de alimentacion para que funcione el RZX.
Un cargador de 2A de los chinos de 4€
Una fuente marca Velleman de 2.5A de 10€ que en el etiquetado dice "Compatible with Raspberry Pi" (aunque estoy leyendo en la parte de atrás que es para PI1 y PI2)
Toca intentar devolver los aparatos. :)

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

Re: ZXBaremulator v3.0

Mensaje por zx81 » Lun Mar 12, 2018 8:26 pm

hikoki escribió:Ja! de momento no tengo suerte con las fuentes de alimentacion para que funcione el RZX.
Un cargador de 2A de los chinos de 4€
Una fuente marca Velleman de 2.5A de 10€ que en el etiquetado dice "Compatible with Raspberry Pi" (aunque estoy leyendo en la parte de atrás que es para PI1 y PI2)
Toca intentar devolver los aparatos. :)
La fuente oficial para la PI-3 es de 2.5A, así que a poco que de esa fuente Velleman tiene que servir sí o sí.

¿Qué clase de problema tienes?. ¿Conectas el RZX directamente o a través de un hub?. Si cargas Linux y conectas el teclado en modo Game tienes que ver letras cada vez que pulsas y liberas una tecla. Es decir, si pulsas '1' tienes que ver una 'a' y cuando la sueltas una 'b'. No tiene misterio.
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

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

Re: ZXBaremulator v3.0

Mensaje por hikoki » Lun Mar 12, 2018 8:45 pm

^^Conecto directamente al usb de la PI2, igual que el teclado de PC.
Simplemente no responde ninguna tecla.

Edito:

No tengo Raspbian a mano pero en PC funciona con Puppy y XP.

Podría ser algo relacionado con mi config.txt ?

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

Re: ZXBaremulator v3.0

Mensaje por zx81 » Lun Mar 12, 2018 9:04 pm

No, lo único que queda como punto de fallo es el cable USB. Y asegúrate de que el switch está en posición 'A'.

Y que el interruptor ON/OFF esté en OFF o directamente quítale las pilas, que no las necesita.
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

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

Re: ZXBaremulator v3.0

Mensaje por hikoki » Lun Mar 12, 2018 10:00 pm

zx81 escribió:No, lo único que queda como punto de fallo es el cable USB. Y asegúrate de que el switch está en posición 'A'.

Y que el interruptor ON/OFF esté en OFF o directamente quítale las pilas, que no las necesita.
No responde con el interruptor en off ni sin pilas. Tampoco responde con otro cable, probando todos puertos usb, siempre en modo A.

Puede ser que el teclado usb interfiera con el rzx? probaré con otro teclado usb..
Podría ser que el RZX tenga que arrancar primero? (por decir algo a voleo :) )

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

Re: ZXBaremulator v3.0

Mensaje por zx81 » Lun Mar 12, 2018 10:28 pm

hikoki escribió: Puede ser que el teclado usb interfiera con el rzx? probaré con otro teclado usb..
Podría ser que el RZX tenga que arrancar primero? (por decir algo a voleo :) )
No, porque yo conecto ambos teclados y funciona sin problemas.

Cuando arranca la PI, una de las cosas que hace la librería Circle es resetear el bus USB y enumerarlo, si te das cuenta cuando arranca verás que el LED parpadea en rojo 3 veces.

Pero, ahora que lo dices, puede ser que el teclado tarde demasiado en arrancar y la librería no lo vea, cosa rara, pero puede ser.

Puedes probar a poner en el archivo cmdline.txt a continuación de lo que hay y en la misma línea:

usbpowerdelay=1000

lo que se pone son los milisegundos de espera. Si ves que con 1000 no lo detecta, sube a 2000. Dudo que necesites pasar de ahí, más bien el problema no sería ese. Si te funciona con 1000, puedes probar a dejarlo en 500, hasta averiguar cual es el valor mínimo con el que funciona.

Yo no tengo ese problema porque arranco con u-boot y es el primero que inicializa el bus USB. Pero si no te funciona, tendré que probar yo a arrancar directamente.
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

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

Re: ZXBaremulator v3.0

Mensaje por hikoki » Mar Mar 13, 2018 1:28 am

Sin resultados después de probar valores de usbpowerdelay igual a 500, 1000, 2000, 3000, 5000, 10000

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

Re: ZXBaremulator v3.0

Mensaje por hikoki » Mar Mar 13, 2018 1:04 pm

zx81 escribió: Cuando arranca la PI, una de las cosas que hace la librería Circle es resetear el bus USB y enumerarlo, si te das cuenta cuando arranca verás que el LED parpadea en rojo 3 veces.
Lo tengo que confirmar pero ayer me pareció que el LED no parpadeaba 3 veces sino 2.

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

Re: ZXBaremulator v3.0

Mensaje por zx81 » Mar Mar 13, 2018 4:51 pm

Acabo de coger una uSD vacía, le he puesto el allfiles.zip y luego he copiado el kernel7.img de Dropbox encima del que hay.

Resultado: funciona, sin necesidad de añadir nada al archivo cmdline.txt ni nada.

Solo se me ocurre que tuvieras una Pi-2 v1.2 y esté cargando el archivo kernel8-32.img en lugar del kernel7.img. La PI v1.2 es en realidad una PI-3, no una PI-2, pero sin la Wifi, ni el Bluetooth y a "solo" 900 Mhz en lugar de los 1200 de la PI-3. ¿Te has fijado si la versión del emulador en la pantalla de ayuda es la v3.H(ikoki)?

Quita el kernel8-32.img y prueba a ver. Si no es eso, ya no sé qué es.
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

Responder

¿Quién está conectado?

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