ESP32TinyCPC no da señal de vídeo

Tsolo
Mensajes: 11
Registrado: 16 Jul 2023 20:50
Agradecido : 6 veces
Agradecimiento recibido: 5 veces

ESP32TinyCPC no da señal de vídeo

Mensajepor Tsolo » 17 Nov 2023 14:08

Buenas tardes. Lo primero de todo, felicitar a Ackerman por el curro que se ha pegado. Lo segundo, paso a detallar el problema.
Hace poco me he comprado una TTGO VGA32 v1.4 para poder instalarle el emulador de -4mstr4d y meterlo en una caja de un 464 que tengo sin placa.
He seguido las instrucciones de aquí: https://github.com/elfuska/ESP32TinyCPC ... Spanish.md y me surge un problema. El proyecto compila sin errores y la placa arranca, pero no saca señal a mi monitor VGA. Sé que le entra señal, porque el monitor reacciona a cuando apago o enciendo el TTGO, pero no he conseguido que me saque imagen por pantalla. Lo único ha sido que el monitor entre en bucle de autoajuste de la resolución. ¿Algún alma caritativa puede echarme una mano?

Un saludo y gracias.

Avatar de Usuario
ackerman
Mensajes: 456
Registrado: 05 Feb 2019 21:32
Ubicación: Asturias
Agradecido : 213 veces
Agradecimiento recibido: 521 veces
Contactar:

Re: ESP32TinyCPC no da señal de vídeo

Mensajepor ackerman » 19 Nov 2023 08:57

Tsolo escribió:He seguido las instrucciones de aquí: https://github.com/elfuska/ESP32TinyCPC ... Spanish.md y me surge un problema. El proyecto compila sin errores y la placa arranca, pero no saca señal a mi monitor VGA. Sé que le entra señal, porque el monitor reacciona a cuando apago o enciendo el TTGO, pero no he conseguido que me saque imagen por pantalla.

Muchas gracias. -drinks
El fork que hizo elfuska, que es el que estas siguiendo, yo no lo he probado, tan sólo subí la documentación y enlaces al hilo principal cuando me pasaron la info.
Con un vistazo rápido se ve que añadió el uso de PSRAM, por lo que dejaría de funcionar en ESP32 inferiores (TTGO VGA32 v1.2), pero a cambio añade soporte a tarjeta SD.
Como lo principal sigue estando basado en lo que hice, te recomendaría que primero probaras la herramienta testvga, de este hilo:

https://retrowiki.es/viewtopic.php?f=118&t=200039347

Ahí puedes probar el modo 400x300, que es el que usa por defecto el emulador. Si no pasa el test, ya sabes el motivo. También puedes probar el modo 320x200 que serían los modos:

Código: Seleccionar todo

 
 #define use_lib_320x200_video_border
 #define use_lib_320x200_video_noborder

En el emulador, recomiendo tener activa esta línea en el gbConfig.h

Código: Seleccionar todo

#define use_lib_log_serial

Ahí podemos ver todas las trazas, y descartar si pasa la incialización del modo de vídeo o no, para también conocer los ESP32 con fallos de PLL.
Si 400x300 y 320x200 no te funcionan con tu monitor, no está todo perdido, dado que puedes jugar con los parámetros a mano, o si quieres ir más seguro, con la herramienta que hizo @dcrespo3d.
Otra opción, muy cómoda, es probar con aparato conversor de VGA a HDMI o de VGA a CVBS (PAL/NTSC), sin falta de tocar ningún parámetro, lo podrás ver en una TV o en un monitor moderno. Los chinorros baratos funcionan muy bien.
vga2av.jpg
vga2av.jpg (15.86 KiB) Visto 782 veces

vga2hdmi.jpg
vga2hdmi.jpg (8.78 KiB) Visto 782 veces


El fork usa diferentes versiones de framework y demás que el que hice. Yo lo basé:

Código: Seleccionar todo

Visual Studio 1.48.1 PLATFORMIO 2.2.1 Espressif32 v3.3.2
Arduino IDE 1.8.11 Espressif System 1.0.6

Para el caso del Arduino IDE, usé una versión baja (1.0.6) porque consigo más SRAM, útil sobre todo en el modo 6128.
La que usas, tira de la 2.0.7., por lo que, hay que tenerlo en cuenta. El autor habla de una incompatibilidad con fabgl 0.9 que encontró, pero creo que se han confundido cosas, que intentaré explicar:

El emulador no necesita tener instaladas ninguna librería, ni de bitluni, ni de fabgl. Hace mucho tiempo, necesitaba tener fabgl 0.9 para el uso del ratón y del sonido (osciladores), si se activaba dicha opción en compilación. El ratón dejó de usar fabgl para usar directamente PS/2 con la ps2Mouse, y el sonido pasó a usar las librerías reducidas swgenerator de @dcrespo3d, de manera que aunque usa el código reducido de fabgl 0.9, no necesita las librerías de fabgl. Al estar usando diferente versión de framework, es posible que haya encontrado problemas con el código de esa versión reducida para el sonido.
Como comenté en hilos pasados, todo el código que se encuentre en fabgl es residual, y en el futuro, desaparecerá completamente, dado que se hará uso de la librería de sonido con DAC que estoy haciendo.

Tsolo
Mensajes: 11
Registrado: 16 Jul 2023 20:50
Agradecido : 6 veces
Agradecimiento recibido: 5 veces

Re: ESP32TinyCPC no da señal de vídeo

Mensajepor Tsolo » 20 Nov 2023 08:30

Muchas gracias. Uso el de elfuska principalmente por el soporte de la SD. Yo creo que debe ser un fallo de resolución por el loop del monitor en autoajuste, pero voy a probar lo que has dicho. Hice una prueba con el ESPTinyC64 y funcionó a la primera. Lo de la PSRAM no creo que sea el problema porque tengo la v1.4.

Tsolo
Mensajes: 11
Registrado: 16 Jul 2023 20:50
Agradecido : 6 veces
Agradecimiento recibido: 5 veces

Re: ESP32TinyCPC no da señal de vídeo

Mensajepor Tsolo » 20 Nov 2023 10:54

Vale, parece que es la resolución. Ahora a ver dónde encuentro un monitor que soporte esa resolución. Muchas gracias!

Avatar de Usuario
ackerman
Mensajes: 456
Registrado: 05 Feb 2019 21:32
Ubicación: Asturias
Agradecido : 213 veces
Agradecimiento recibido: 521 veces
Contactar:

Re: ESP32TinyCPC no da señal de vídeo

Mensajepor ackerman » 20 Nov 2023 18:55

Tsolo escribió:Hice una prueba con el ESPTinyC64 y funcionó a la primera.

En el ESPTiny64 uso las librerías de bitluni y tiene un pequeño truco, que aunque use el modo 400x300, está usando el modo custom 384x264, como se puede ver el código en el c64.ino:

Código: Seleccionar todo

vga.init(vga.MODE400x300.custom(384,264), redPins, grePins, bluPins, HSYNC_PIN, VSYNC_PIN);

Si sigues el código, ves como el método custom modifica los parámetros de VGA para dejarlo en 384x264, de ahí que lo estes viendo bien en tu monitor. En concreto, modifica:

Código: Seleccionar todo

h_front
h_sync
h_back
...
v_polarity

Las librerías de Ricardo Massaro las modifiqué un poco para añadir un par de opciones, entre ellas el modo de 3 bits de DAC. Más adelante añadiré el modo custom, más modos de bits y las interrupciones de scanlines en cada fin de DMA.

Tsolo
Mensajes: 11
Registrado: 16 Jul 2023 20:50
Agradecido : 6 veces
Agradecimiento recibido: 5 veces

Re: ESP32TinyCPC no da señal de vídeo

Mensajepor Tsolo » 20 Nov 2023 21:10

y se podría extender de alguna manera al ESPTinyCPC?

Avatar de Usuario
ackerman
Mensajes: 456
Registrado: 05 Feb 2019 21:32
Ubicación: Asturias
Agradecido : 213 veces
Agradecimiento recibido: 521 veces
Contactar:

Re: ESP32TinyCPC no da señal de vídeo

Mensajepor ackerman » 21 Nov 2023 17:50

Tsolo escribió:y se podría extender de alguna manera al ESPTinyCPC?

El emulador original en PC x86 (Tom Walker) estaba pensado para 2 relaciones de aspecto, en concreto 800x600 y 400x300. Lo más práctico fue quedarme con la relación de 400x300 directo. Para 320x200 en el modo 400x300, nos da un borde de 40 pixels a cada lado de ancho, y 50 de alto, que realmente para muchos casos es demasiado grande. Es cierto, que 384x264 podría servir de sobra, pero eso implica modificar toda la rutina de volcado, dado que no se hace comprobación de escritura fuera de memoria.

Por tanto, lo más cómodo si no quieres modificar código, sería que pruebes todas las opciones antes citadas, usar otro monitor o bien quedarte con el modo 320x200 sin o con borde.

Tsolo
Mensajes: 11
Registrado: 16 Jul 2023 20:50
Agradecido : 6 veces
Agradecimiento recibido: 5 veces

Re: ESP32TinyCPC no da señal de vídeo

Mensajepor Tsolo » 21 Nov 2023 18:37

con el modo 320x200 no me saca imagen, que también los he probado. Me tocará probar otro monitor.

Avatar de Usuario
ackerman
Mensajes: 456
Registrado: 05 Feb 2019 21:32
Ubicación: Asturias
Agradecido : 213 veces
Agradecimiento recibido: 521 veces
Contactar:

Re: ESP32TinyCPC no da señal de vídeo

Mensajepor ackerman » 22 Nov 2023 18:38

Tsolo escribió:con el modo 320x200 no me saca imagen, que también los he probado. Me tocará probar otro monitor.

Acabo de actualizar el repositorio del testvga (incluido el precompilado):

https://github.com/rpsubc8/ESP32TestVGA

Ahí podrás probar estos modos (también el resto de gente del foro):

Código: Seleccionar todo

320x200x70hz bitluni
320x200x70hz fabgl
320x200x70hz bitluni PLL

Si de esos 3, uno te funciona, el finde, si saco un hueco añadiré dicho modo al CPC.
He añadido también estos 2 modos:

Código: Seleccionar todo

384x264x56.2hz bitluni  (800x600 35.1KHz 56.2Hz)
360x240x56.3hz bitluni  (800x600 35.2KHz 56.3Hz)

Si los puedes probar, puede que también los añada al CPC.
A mi me tiran todos.

Tsolo
Mensajes: 11
Registrado: 16 Jul 2023 20:50
Agradecido : 6 veces
Agradecimiento recibido: 5 veces

Re: ESP32TinyCPC no da señal de vídeo

Mensajepor Tsolo » 22 Nov 2023 19:42

Claro. ahora lo pruebo todo y te digo. Muchas gracias por el curro que te estás pegando.

Edit: He estado probando con el precompilado y no saca imagen por pantalla. Algo debo estar haciendo mal.

Avatar de Usuario
ackerman
Mensajes: 456
Registrado: 05 Feb 2019 21:32
Ubicación: Asturias
Agradecido : 213 veces
Agradecimiento recibido: 521 veces
Contactar:

Re: ESP32TinyCPC no da señal de vídeo

Mensajepor ackerman » 23 Nov 2023 17:30

Tsolo escribió:He estado probando con el precompilado y no saca imagen por pantalla. Algo debo estar haciendo mal.

Gracias por las pruebas. -drinks
El testvga usa por defecto el modo de video 360x200, que no es la primera vez que en algún monitor se ha reportado fallo.
En el caso que no se vea nada, el menú sigue activo y se puede uno mover con (arriba, abajo y ENTER), de forma, que a ciegas, aún se podría seleccionar modos de video, e ir probando hasta que alguno active el monitor, siguiendo el orden:

Código: Seleccionar todo

    360x200x70hz bitluni
    320x240x60hz bitluni
    320x240x60hz fabgl
    QVGA 320x240x60hz fabgl
    320x200x70hz bitluni
    320x200x70hz fabgl
    360x400x70.4hz bitluni
    400x300x56.2hz bitluni
    320x350x70hz bitluni
    320x400x70hz bitluni
    640x400x70hz bitluni
    TTGOVGA32 PAL CVBS 5V (PAL CVBS GPIO 26)
    TTGOVGA32 PAL CVBS 5V+ (PAL CVBS GPIO 26)
    ESP32 PAL CVBS 3V (PAL CVBS GPIO 26)
    TTGOVGA32 NTSC CVBS 5V (NTSC CVBS GPIO 26)
    TTGOVGA32 NTSC CVBS 5V+ (NTSC CVBS GPIO 26)
    ESP32 NTSC CVBS 3V (NTSC CVBS GPIO 26)
    320x240x60hz bitluni PLL
    320x200x70hz bitluni PLL
    384x264x56.2hz bitluni
    360x240x56.3hz bitluni

Se puede usar el putty en modo remoto, si no quieres conectar un teclado.
Los modos PAL CVBS activarían la salida cvbs en blanco y negro para TV con cable simple directo, así que ahi no esperes que se active el monitor VGA.
He puesto una espera de 100 o 200 milisegundos en cada cambio de video para no saturar a los monitores, así que no es inmediato.
Cuando un monitor entra en standby (ahorro de energía) no es la primera vez que veo que le cuesta despertar, al menos con PC's, aunque en el caso de estas placas y librerías, no ha sido el caso.

En las placas v1.4 con SD, se requiere quitar la tarjeta SD cuando se quiere flashear, además la herramienta de flasheo cuando termina de grabar no resetea el ESP32, y hay casos de que incluso se requiere pulsar el reset antes de grabar, pero supongo que no debes tener problema con ello si ya has grabado antes pruebas.

Una pregunta que se me ha pasado, sería la clase o modelo de monitor con el que estas probando. Espero que no sea de culo o muy antigüo, o sea, un VGA de los de verdad. Los modos aquí tratados son más SVGA que VGA, en concreto el 384x264x56.2hz realmente es un 800x600 35.1KHz 56.2Hz, lo que sería un modo X.

También recomiento no activar PSRAM, así como borrar todas las particiones y flash del ESP32, es decir, borrado entero, por si hay basura de algún proyecto previo. También elegir 40 mhz en la velocidad flash y modo DIO, salvo que dichas opciones den problemas.

Tsolo
Mensajes: 11
Registrado: 16 Jul 2023 20:50
Agradecido : 6 veces
Agradecimiento recibido: 5 veces

Re: ESP32TinyCPC no da señal de vídeo

Mensajepor Tsolo » 23 Nov 2023 22:30

El Monitor es un OKI TFT 1701 700p. Es viejo, pero no es culón. Lo del teclado e ir bajando lo probé por si acaso y no conseguí nada, lo volveré a probar. Lo único es que SÍ había flasheado con la SD, la quitaré y mañana te digo.

Tsolo
Mensajes: 11
Registrado: 16 Jul 2023 20:50
Agradecido : 6 veces
Agradecimiento recibido: 5 veces

Re: ESP32TinyCPC no da señal de vídeo

Mensajepor Tsolo » 24 Nov 2023 09:42

Vale, ya he conseguido que me salga el menú de vídeo. Lo he hecho poniendo todas las opciones que me has dicho excepto la de la PSRAM, que la tenía activada.
Me han funcionado todos los modos excepto estos 4:
640x400x70hz bitluni
TTGOVGA32 PAL CVBS 5V (PAL CVBS GPIO 26)
TTGOVGA32 PAL CVBS 5V+ (PAL CVBS GPIO 26)
ESP32 NTSC CVBS 3V (NTSC CVBS GPIO 26)


También he probado tu emulador (https://github.com/rpsubc8/ESP32TinyCPC) y he conseguido que me funcionara. El que no consigo que me funcione es el de elfuska (https://github.com/elfuska/ESP32TinyCPC/tree/main).

Avatar de Usuario
ackerman
Mensajes: 456
Registrado: 05 Feb 2019 21:32
Ubicación: Asturias
Agradecido : 213 veces
Agradecimiento recibido: 521 veces
Contactar:

Re: ESP32TinyCPC no da señal de vídeo

Mensajepor ackerman » 24 Nov 2023 19:24

Tsolo escribió:Me han funcionado todos los modos excepto estos 4:

Enhorabuena. -drinks -drinks
En cuanto pruebes más proyectos de ESP32, te harás más fácil a los posibles fallos que vayan saliendo.
Lo de los 4 modos que no te funcionan, 3 son la salida cvbs que comentaba, o sea, salida a TV con cable simple directo del pin 26, del conector de teclado de la placa TTGO VGA32, así que sólo salen en TV. Y el otro modo 640x400, ya han reportado más monitores que no lo hacen bien.
Tu monitor, aunque es plano, es algo más que viejo. -grin -grin

He probado rápido en un hueco el emulador de elfuska, y en principio se tiene que tener una carpeta:

Código: Seleccionar todo

/sd
  /rom
    /464
      OS.rom
      BASIC.rom
      amsdos.rom
    /664
      OS.rom
      BASIC.rom
      amsdos.rom   
    /6128
      OS.rom
      BASIC.rom
      amsdos.rom
  /dsk

En este versión tienes que activar la PSRAM, dado que la usa. De lo que he probado, compila perfecto, pero a la hora de ejecutar, no me monta la tarjeta SD, ni en FAT16 ni en FAT32 en la TTGO VGA32 v1.4. Se puede ver todo por el log. Alguna versión de librería SD específica debe estar usando. Si no se monta la SD bien, va a petar en modo bucle, que supongo que debe ser lo que te está pasando.
Si al autor anda por aquí o si le escribes ticket en github, igual puede dar información más detallada.

Aquí se puede ver la herramienta de testvga y como con un simple conversor a cvbs, nos olvidamos de modificar los tiempos de los modelines si queremos probar rápidamente:
https://www.youtube.com/watch?v=owx1l-Lm67M
La captura es mala sobre todo por la capturadora usb que tengo, que es supercutre.

Tsolo
Mensajes: 11
Registrado: 16 Jul 2023 20:50
Agradecido : 6 veces
Agradecimiento recibido: 5 veces

Re: ESP32TinyCPC no da señal de vídeo

Mensajepor Tsolo » 26 Nov 2023 18:10

He hecho pruebas y no he conseguido ahcer funcionar la de elfuska.

Avatar de Usuario
ackerman
Mensajes: 456
Registrado: 05 Feb 2019 21:32
Ubicación: Asturias
Agradecido : 213 veces
Agradecimiento recibido: 521 veces
Contactar:

Re: ESP32TinyCPC no da señal de vídeo

Mensajepor ackerman » 27 Nov 2023 20:03

Tsolo escribió:He hecho pruebas y no he conseguido ahcer funcionar la de elfuska.

Tengo poco tiempo libre, pero lo he mirado por encima, y te paso una solución de andar por casa, para que puedas ir probando.
Aquí van las modificaciones del código rápidas:
elfuska.zip
(272.3 KiB) Descargado 3 veces


Y aquí la tarjeta SD:
tarjeta.zip
(382.06 KiB) Descargado 2 veces


Con esto me ha tirado con una tarjeta SD en FAT32 de 2 GB en una TTGO VGA32 v1.4 con Arduino IDE y con PLATFORMIO. Es una tarjeta que nunca he tenido problemas. Sigo pensando, que es mejor que te pongas en contacto con el autor o que el autor se pase por este foro.

Hay varias modificaciones que he realizado, sobre todo para los dsk's, que se estaba quedando con una doble barra '/' y con el propio directorio raiz, que todo esto, puede ser debido a que necesite una versión específica de librería, que igual dicha versión lo hace bien.
Por si acaso hice el montaje de la SD al principio de todo, que es lo que daba problemas, y le he puesto una espera por si acaso. Hay muchas esperas, que puedes ir probando y quitando, así que el emulador tardará en arrancar. Puedes ir viendo todo en el log por el puerto serie.
He cambiado para que use un único handle de archivo.
Con esto me ha tirado el CPC 464, 664 y 6128, y ha leido los nombres de los dsk's. Parece que algo no le debe gustar de la ROM, o le metí la errónea, que aunque lee discos, luego se está quedando con el TAPE. Puedes probar.

En la tarjeta SD Repetí la ruta de sd y / , porque de varias pruebas, al final, ya no se cual era la válida de todas. Pero eso, con todo esto puedes entretenerte.


Volver a “TTGO vga32 v1.4”

¿Quién está conectado?

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