Dudas sobre piBacteria

Moderador: Fundadores

Responder
Avatar de Usuario
antoniovillena
Demonio segundo orden
Demonio segundo orden
Mensajes: 1596
Registrado: 02 Abr 2013, 19:06
Been thanked: 1 time

Re: Dudas sobre piBacteria

Mensaje por antoniovillena »

Se me olvidaban las imágenes
No tiene los permisos requeridos para ver los archivos adjuntos a este mensaje.
Avatar de Usuario
zx81
Demonio tercer orden
Demonio tercer orden
Mensajes: 502
Registrado: 19 Oct 2013, 16:27
Ubicación: Valencia
Has thanked: 15 times
Been thanked: 6 times
Contactar:

Re: Dudas sobre piBacteria

Mensaje por zx81 »

antoniovillena escribió: Es porque tienes la directiva qemu activada. Esta directiva hace el display compatible con un emulador de Raspberry llamado qemu (sólo funciona a 16bpp mientras que en la Raspberry real va a 4bpp), pero además de esto deshabilita la rutina de retardo para que hace que vaya al 100% de velocidad. En resumen: para ejecutar en Rpi real desactiva qemu. También recomiendo desactivar debug y poner a 0 la directiva fast de z80.s.
Efectivamente, tenía la qemu activada. Pero lo que me ha vuelto loco es que el Spectrum emulado se reseteaba nada más cargar. Cómo tú actualizaste una cosilla en el emulador antes de ayer pues tenía dudas. He probado con dos versiones de ticks para convertir los sna... y nada. Hasta que al final he conseguido averiguar que el problema es que, cuando pongo la directiva debug a cero, algo no pirula como debe. Si la pongo a uno, funciona sin problemas.

Por otro lado he conseguido modificar el bootloader05 de David Welch para solucionar un problemilla (que no afecta a piBacteria) y por otro para subir la velocidad del puerto serie a 460800 bps.

Mirando el código me ha parecido muy inteligente lo de ponerle una profundidad de color de 4 bits, lo que ya me resulta menos evidente es de donde sacaste la idea, porque leyendo el tutorial Baking Pi no dice nada de esa profundidad de color, ni siquiera sugiere que se puedan usar otras distintas de las que menciona. Asumo que, con esa profundidad de color, tienes que usar la propiedad Set Palette, Tag: 0x0004800b para inicializar la paleta que tienes en la etiqueta 'paleta'. El problema es que no veo cómo haces eso...
Today's robots are very primitive, capable of understanding only a few simple instructions such as 'go left', 'go right' and 'build car'.
John Sladek

Emulador de Spectrum JSpeccy.
Emulador de Spectrum Bare-metal para las Raspberry PI ZXBaremulator
Avatar de Usuario
antoniovillena
Demonio segundo orden
Demonio segundo orden
Mensajes: 1596
Registrado: 02 Abr 2013, 19:06
Been thanked: 1 time

Re: Dudas sobre piBacteria

Mensaje por antoniovillena »

zx81 escribió:
Efectivamente, tenía la qemu activada. Pero lo que me ha vuelto loco es que el Spectrum emulado se reseteaba nada más cargar. Cómo tú actualizaste una cosilla en el emulador antes de ayer pues tenía dudas. He probado con dos versiones de ticks para convertir los sna... y nada. Hasta que al final he conseguido averiguar que el problema es que, cuando pongo la directiva debug a cero, algo no pirula como debe. Si la pongo a uno, funciona sin problemas.
Lo siento, no lo había probado bien (como yo tengo siempre el debug a 1 no me di cuenta).
zx81 escribió: Por otro lado he conseguido modificar el bootloader05 de David Welch para solucionar un problemilla (que no afecta a piBacteria) y por otro para subir la velocidad del puerto serie a 460800 bps.
El bootloader que está en la carpeta piBacteria está basado en el de David Welch, prácticamente es un port de C a ensamblador. Yo he conseguido 4Mbps pero eso depende del conversor USB que tengas. Si tienes el que te enlacé (basado en chip CH340G) deberías llegar a 4Mbps, en teoría debe dar igual si el bootloader está en C o en ensamblador porque la lectura se hace por hardware.
zx81 escribió: Mirando el código me ha parecido muy inteligente lo de ponerle una profundidad de color de 4 bits, lo que ya me resulta menos evidente es de donde sacaste la idea, porque leyendo el tutorial Baking Pi no dice nada de esa profundidad de color, ni siquiera sugiere que se puedan usar otras distintas de las que menciona. Asumo que, con esa profundidad de color, tienes que usar la propiedad Set Palette, Tag: 0x0004800b para inicializar la paleta que tienes en la etiqueta 'paleta'. El problema es que no veo cómo haces eso...
Pues tanto como la profundidad de color de 4 bits como la paleta son cosas que he encontrado por ensayo y error (no existe ninguna documentación al respecto que yo sepa). No hace falta usar la propiedad Set Palette, con que pongas la paleta justo después de la estructura fbinfo es suficiente. Por lo general la documentación es muy escasa y llega un momento en que te has leído los tutoriales básicos (Baking Pi, David Welch, thinkingeek) y como se aprende es viendo código de otros o googleando de stackoverflow.
Avatar de Usuario
zx81
Demonio tercer orden
Demonio tercer orden
Mensajes: 502
Registrado: 19 Oct 2013, 16:27
Ubicación: Valencia
Has thanked: 15 times
Been thanked: 6 times
Contactar:

Re: Dudas sobre piBacteria

Mensaje por zx81 »

antoniovillena escribió:
zx81 escribió:
Efectivamente, tenía la qemu activada. Pero lo que me ha vuelto loco es que el Spectrum emulado se reseteaba nada más cargar. Cómo tú actualizaste una cosilla en el emulador antes de ayer pues tenía dudas. He probado con dos versiones de ticks para convertir los sna... y nada. Hasta que al final he conseguido averiguar que el problema es que, cuando pongo la directiva debug a cero, algo no pirula como debe. Si la pongo a uno, funciona sin problemas.
Lo siento, no lo había probado bien (como yo tengo siempre el debug a 1 no me di cuenta).
No hombre, no te disculpes encima. Bastante tienes con estar aquí atendiendo dudas de aspirantes a "pogramadores"... :D
antoniovillena escribió:
zx81 escribió: Por otro lado he conseguido modificar el bootloader05 de David Welch para solucionar un problemilla (que no afecta a piBacteria) y por otro para subir la velocidad del puerto serie a 460800 bps.
El bootloader que está en la carpeta piBacteria está basado en el de David Welch, prácticamente es un port de C a ensamblador. Yo he conseguido 4Mbps pero eso depende del conversor USB que tengas. Si tienes el que te enlacé (basado en chip CH340G) deberías llegar a 4Mbps, en teoría debe dar igual si el bootloader está en C o en ensamblador porque la lectura se hace por hardware.
Yo no tengo conversor USB PC-<->Pi, sino que estoy usando la conexión Pi2<->Pi. Supongo que será por el cable chapucerillo que tengo por lo que no he podido pasar de 460800, ya que al intentar 921600 daba muchos errores y no funcionaba. Pero así me vale, de momento.
antoniovillena escribió:
zx81 escribió: Mirando el código me ha parecido muy inteligente lo de ponerle una profundidad de color de 4 bits, lo que ya me resulta menos evidente es de donde sacaste la idea, porque leyendo el tutorial Baking Pi no dice nada de esa profundidad de color, ni siquiera sugiere que se puedan usar otras distintas de las que menciona. Asumo que, con esa profundidad de color, tienes que usar la propiedad Set Palette, Tag: 0x0004800b para inicializar la paleta que tienes en la etiqueta 'paleta'. El problema es que no veo cómo haces eso...
Pues tanto como la profundidad de color de 4 bits como la paleta son cosas que he encontrado por ensayo y error (no existe ninguna documentación al respecto que yo sepa). No hace falta usar la propiedad Set Palette, con que pongas la paleta justo después de la estructura fbinfo es suficiente. Por lo general la documentación es muy escasa y llega un momento en que te has leído los tutoriales básicos (Baking Pi, David Welch, thinkingeek) y como se aprende es viendo código de otros o googleando de stackoverflow.
Es lo peor de la Pi, sí. Debería haber más y mejor documentación. De hecho, llevo unos días investigando el tema del sonido y de cómo sacarlo por HDMI o por la salida analógica. Y sinceramente, ni he visto ejemplos de eso, ni sé qué codec de audio lleva. Hay proyectos de añadir placas tipo HiFiBerry que funcionan vía I2S, pero algo debe llevar "de serie". Al menos tenemos los fuentes del driver de Linux, a ver si de ahí se puede sacar algo....
Today's robots are very primitive, capable of understanding only a few simple instructions such as 'go left', 'go right' and 'build car'.
John Sladek

Emulador de Spectrum JSpeccy.
Emulador de Spectrum Bare-metal para las Raspberry PI ZXBaremulator
Avatar de Usuario
neuro_999
El infierno es su lugar
El infierno es su lugar
Mensajes: 161
Registrado: 18 Mar 2015, 19:03

Re: Dudas sobre piBacteria

Mensaje por neuro_999 »

Para que funcione lo de cargar .mems con el debug=0, tendrias que modificar la instancia de debug que hay antes de render, ya que al parecer necesita los datos acutalizados que manejas alli de los registros del z80 de pcff e iyi.

Código: Seleccionar todo

.if debug==1
...
.else
        mov     r11, r6
        ldr     pcff, [r11, #-32-2]   @ PC
        ldr     r2, [r11, #-16]       @ IY
        ldrh    lr, [r11, #-28-1]     @ I		
        add     iyi, lr, r2, lsl #16
        ldrb    r2, [r11, #-38]       @ F
        orr     r2, r2, r2, lsl #8
        pkhtb   pcff, pcff, r2
        str     pcff, [mem, #otmpr3]
.endif
Y lo que me preguntabas que como lo hacía yo, pues estoy esperando de china que me envien el usb->serie que me dijiste. Y también estoy adecuando un teclado de spectrum para conectarle a la pi, así no tendré que cortar pistas del minitecladin que queda tan mono...

Salu2.
Avatar de Usuario
antoniovillena
Demonio segundo orden
Demonio segundo orden
Mensajes: 1596
Registrado: 02 Abr 2013, 19:06
Been thanked: 1 time

Re: Dudas sobre piBacteria

Mensaje por antoniovillena »

No consigo compilar qemu para que funcione el teclado. He seguido estas instrucciones:

https://github.com/simonpoole1/raspbian-live-build

Sobre una máquina virtual en VirtualBox (distribución Linux Lite) y cuando lanzo el QEMU arranca raspbian pero el teclado no va.
Avatar de Usuario
neuro_999
El infierno es su lugar
El infierno es su lugar
Mensajes: 161
Registrado: 18 Mar 2015, 19:03

Re: Dudas sobre piBacteria

Mensaje por neuro_999 »

Voy a probar desde un ubuntu nativo a ver si funciona, aunque yo tengo puesta la 15.4, pero por probar que no quede...
Avatar de Usuario
antoniovillena
Demonio segundo orden
Demonio segundo orden
Mensajes: 1596
Registrado: 02 Abr 2013, 19:06
Been thanked: 1 time

Re: Dudas sobre piBacteria

Mensaje por antoniovillena »

Genial. Ya nos contarás.
Avatar de Usuario
neuro_999
El infierno es su lugar
El infierno es su lugar
Mensajes: 161
Registrado: 18 Mar 2015, 19:03

Re: Dudas sobre piBacteria

Mensaje por neuro_999 »

Nada, en Nativo de Ubuntu 15.4 con todo recompilado desde cero, tampoco funciona. Al rato de darle teclas te devuelve mensajes en la consola de "key event queue full".
Si lo arrancas en modo consola (-c) tampoco va, pero si lo arrancas sin el initd (con -s) si que me funciona el teclado, así que supongo que sera algo del inicio del raspian que bloquea el teclado a traves del qemu.

Imagen
Avatar de Usuario
antoniovillena
Demonio segundo orden
Demonio segundo orden
Mensajes: 1596
Registrado: 02 Abr 2013, 19:06
Been thanked: 1 time

Re: Dudas sobre piBacteria

Mensaje por antoniovillena »

Probaré si me funciona a mi con -s
Responder

Volver a “Emulación”