Tiny ESP32 ZX81

Avatar de Usuario
ackerman
Mensajes: 483
Registrado: 05 Feb 2019 21:32
Ubicación: Asturias
Agradecido : 226 veces
Agradecimiento recibido: 570 veces
Contactar:

Tiny ESP32 ZX81

Mensajepor ackerman » 23 Dic 2022 17:12

He añadido un par de cosas a la conversión del emulador de ZX81 MCUME zx81 de Jean MarcHarvengt a la placa TTGO VGA32 v1.x:
- Corregido el teclado, se pueden pulsar varias teclas de la misma columna, añadido SHIFT y mapeo correcto.
- Visualizado correcto de la columna 32 de video.
- Añadido soporte de video CVBS PAL y NTSC en placa TTGO VGA32 directamente en Blanco y negro en pin 26 CLK.
- Se permite resetear a BASIC desde menú.
- Memoriza el último pfile seleccionado.
- Varias optimizaciones.
- Actualizada la documentación.

https://github.com/rpsubc8/ESP32TinyMCUMEesp81

Ya se puede tener un zx81 en la TTGO por VGA o bien en TV directa, sin falta de conversor. El CVBS de bitluni, se porta bien para resoluciones de 256 pixels de ancho. Luego, en alguna TV se puede llegar a perder durante un breve instante la referencia de máximo valor de Blanco (blanking level) después del porch. Por eso, lo he dejado sin borde y con valor bajo, con inversión de color por defecto. Todo esto está parametrizado y se puede cambiar.
La TTGO VGA32 tiene salida de 5 voltios al tomarse del conector PS/2, así que tener en cuenta todo lo que viene en la documentación.

Avatar de Usuario
ackerman
Mensajes: 483
Registrado: 05 Feb 2019 21:32
Ubicación: Asturias
Agradecido : 226 veces
Agradecimiento recibido: 570 veces
Contactar:

Re: Tiny ESP32 ZX81

Mensajepor ackerman » 05 May 2023 20:38

Para aquellos que tengan problemas de ajuste de video, se ha añadido:
  • 360x200x70hz parámetros de bitluni
  • 320x200x70hz parámetros de bitluni.
  • 320x200x70hz parámetros de fabgl.
  • cvbs rs170 en blanco y negro con salida directa por el pin 5 (CLK) del conector de ratón PS/2, GPIO 26
Las versiones precompiladas:
https://github.com/rpsubc8/ESP32TinyMCUMEesp81/tree/main/ESP32/precompile

He añadido también la compatibilidad con ArduinoDroid (tool makeandroid.bat) para preparar el proyecto. Posteriormente puede compilarse desde un dispositivo Android, así como con WebEditor de Arduino en la nube, para no tener que pegarse con los entornos.

https://github.com/rpsubc8/ESP32TinyMCUMEesp81

Avatar de Usuario
IgnacioMonge
Mensajes: 205
Registrado: 15 Dic 2022 17:54
Ubicación: Jerez de la Frontera, España
Agradecido : 136 veces
Agradecimiento recibido: 129 veces

Re: Tiny ESP32 ZX81

Mensajepor IgnacioMonge » 07 May 2023 11:18

Hola Ackerman, genial que hayas decidido darle mayor visibilidad a tu proyecto. He flasheado las versiones precompiladas y tan sólo la vga320x200x70hzfabgl y la vga360x200x70hzbitluni me arrancan. Sin embargo, no consigo que el teclado me funcione, así que no he podido más allá.
Ánimo!
-sp3zy -0r1c -cocbm1 -4mstr4d -m3s3x -j4tar1 -codrg1 -coam1

Avatar de Usuario
ackerman
Mensajes: 483
Registrado: 05 Feb 2019 21:32
Ubicación: Asturias
Agradecido : 226 veces
Agradecimiento recibido: 570 veces
Contactar:

Re: Tiny ESP32 ZX81

Mensajepor ackerman » 07 May 2023 12:52

IgnacioMonge escribió:Sin embargo, no consigo que el teclado me funcione, así que no he podido más allá.
Ánimo!

Puede ser debido a muchas causas, entre ellas a que el teclado no sea compatible con la librería.

Otra opción puede ser que el teclado requiera un código de inicialización, al estilo de los ratones. Para ello, @dcrespo3d realizó una gran modificación en la librería que le permitía usar un teclado que daba problemas. Dicha solución está muy bien, y decidí incluirla en todos los emulatas que he ido portando desde el principio, por si acaso, con un pragma de compilación (FIX_PERIBOARD_NOT_INITING) en el gbConfig.h.
Todos los teclados que tengo PS/2, los que me van bien, tanto directos como con conversor de USB a PS/2, no he necesitado activar dicho pragma. Luego, los teclados que me han dado problemas, como por ejemplo el mecánico de 61 teclas USB, Dierya DK61se, que estoy encantado en PC (es super pequeño y práctico), no me funciona ni directo, ni con el pragma ni con las librerías de teclado de fabgl. Por eso, por defecto, nunca he dejado activo el pragma, al tenerlo pensado para mí.

Pero existen millones de teclados, combinaciones, etc.... y fijo que es imposible que funcionen todos con las librerías.

Te he dejado un par de versiones precompiladas con el pragma de teclado que lo inicializa:
  • vga320x200x70hzbitluniKeybInit
  • vga320x200x70hzfabglKeybInit
  • vga360x200x70hzbitluniKeybInit
  • cvbsPALttgovga32KeybInit

https://github.com/rpsubc8/ESP32TinyMCUMEesp81/tree/main/ESP32/precompile

Avatar de Usuario
IgnacioMonge
Mensajes: 205
Registrado: 15 Dic 2022 17:54
Ubicación: Jerez de la Frontera, España
Agradecido : 136 veces
Agradecimiento recibido: 129 veces

Re: Tiny ESP32 ZX81

Mensajepor IgnacioMonge » 07 May 2023 21:27

Gracias de nuevo, Luis. Desgraciadamente, mi teclado debe ser uno de esos que teclados donde nada funciona. Pero no desespero, seguro que acabarás encontrando el modo de implementarlo.
-sp3zy -0r1c -cocbm1 -4mstr4d -m3s3x -j4tar1 -codrg1 -coam1

Avatar de Usuario
ackerman
Mensajes: 483
Registrado: 05 Feb 2019 21:32
Ubicación: Asturias
Agradecido : 226 veces
Agradecimiento recibido: 570 veces
Contactar:

Re: Tiny ESP32 ZX81

Mensajepor ackerman » 10 May 2023 20:22

IgnacioMonge escribió:mi teclado debe ser uno de esos que teclados donde nada funciona. Pero no desespero, seguro que acabarás encontrando el modo de implementarlo.

Si tu teclado funciona con ejemplos de fabgl u otra librería que no sea PS2Kbd, entonces, ya se sabe como se puede solucionar, que es tan sencillo como usar dicha libreria.
Este proyecto tiende hacia la minimalización, por lo que es posible que incluso termine reduciendo y simplificando aún más la librería actual de teclado, por lo que va casi en dirección opuesta a usar otras librerías.
En breves añadiré el soporte de UART de teclado remoto, aunque si no se quiere esperar, se puede usar el código del resto de proyectos que si he añadido dicha funcionalidad, como el chip8 y el zx spectrum.

Avatar de Usuario
ackerman
Mensajes: 483
Registrado: 05 Feb 2019 21:32
Ubicación: Asturias
Agradecido : 226 veces
Agradecimiento recibido: 570 veces
Contactar:

Re: Tiny ESP32 ZX81

Mensajepor ackerman » 12 May 2023 18:51

He añadido el soporte para usar teclado remoto vía UART desde el putty, el monitor de Visual Studio o cualquier otro terminal.
En el gbConfig.h se puede activar con el pragma use_lib_keyboard_uart.
De esta forma, se puede probar el emulador sin falta de tener un teclado conectado y poder hacer pruebas.

  • vga360x200x70hzbitluniKeyUART.zip
  • vga320x200x70hzbitluniKeyUART.zip
  • vga320x200x70hzfabglKeyUART.zip

He dejado versiones compiladas en:

https://github.com/rpsubc8/ESP32TinyMCUMEesp81/tree/main/ESP32/precompile

En la documentación está explicado el mapeo:

https://github.com/rpsubc8/ESP32TinyMCUMEesp81

Código: Seleccionar todo

 Tecla TAB o tecla F2: Muestra OSD
 Space: Barra espaciadora
 ENTER: Envía ENTER en el ZX81
 +: Envia ALT_GR
 -: Envia SHIFT LEFT
 .: Envia .
 Arriba: SHIFT + 7 y Kempston Arriba
 Abajo: SHIFT + 6 y Kempston Abajo
 Derecha: Kempston derecha
 Izquierda: Kempston izquierda
 A..Z, a..z: a..z
 0..9: 0..9


Como se puede ver, para sacar el menú OSD se hace con la tecla TAB o F2, más que nada, porque si pulsamos el F1 en el VStudio desde el monitor, nos saca la ayuda.


Volver a “TTGO vga32 v1.2”

¿Quién está conectado?

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