Autor Tema: Musk64: Pi1541 y Tapuino en 1 solo dispositivo  (Leído 5515 veces)

Dashiad

  • Commodoremaníaco
  • ****
  • Mensajes: 160
  • SYS 0
    • Ver Perfil
Re:Musk64: Pi1541 y Tapuino en 1 solo dispositivo
« Respuesta #30 en: Diciembre 29, 2022, 02:16:32 »
Por fin! Primer upload del teléfono al cartucho, por bluetooth!
https://www.youtube.com/shorts/and0fWYy-5Y

Como se ve, la aplicacion del movil es aún la básica generada por el Android Studio...No hay mucho más hecho que el emparejar por bluetooth, y el explorador de ficheros locales, con soporte para ficheros zip.
La transferencia es aún muy lenta. Esto se debe a que estoy usando un ESP32 como "proxy" bluetooth (conectado por el puerto serie al STM32, y por bluetooth al telefono). Este programa está hecho con código Arduino, y la API bluetooth de este framework tiene sus limitaciones con ESP32. Haciendo una aplicación nativa se aumentaría mucho la velocidad.
Por otro lado, el ESP32 está conectado al STM32 con cables dupont de los chinos, por lo que empieza a dar problemas en cuanto se sube mucho la velocidad del puerto serie.
Ambas cosas, cuando me ponga a hacer la placa, no serán problema, por lo que debería recibirlo casi instantáneamente.
Aún queda mucho trabajo que hacer, ahora mismo está todo cogido con pinzas, pero haber superado los problemas de empezar a trabajar con Android, y las muchas sorpresas que me había guardado el puerto serie del STM32...




Dashiad

  • Commodoremaníaco
  • ****
  • Mensajes: 160
  • SYS 0
    • Ver Perfil
Re:Musk64: Pi1541 y Tapuino en 1 solo dispositivo
« Respuesta #31 en: Enero 18, 2023, 19:10:27 »
Dando un paso más...He integrado la gamebase64 en la aplicación del móvil. Por ahora sólo funciona la búsqueda, ya que la mayoría de los juegos están en t64/d64 , y aún no me he puesto a integrar la emulación de disco y cinta con la de cartucho.
Las emulaciones por separado están hechas. Lo que les queda, es implementar el protocolo que le permite enviar y recibir órdenes / datos por bluetooth.
Este protocolo es común, es el mismo código para todos los dispositivos (todas las emulaciones son en C / C++), así que no debería ser demasiado complicado.
Al final, creo que la mejor arquitectura es usar un ESP32 emulando cinta y modem en 1 core, y siendo "master" (comunicación con el teléfono) en el otro core. Éste sería el único dispositivo requerido. El cartucho, disquetera, etc,etc, serían todos opcionales. Si existen, deben notificar al master, el cual notifica al teléfono, el cual habilitaría el abrir los tipos de fichero correspondientes.

josepzin

  • Administrador
  • Commodore Master
  • *****
  • Mensajes: 13628
  • Commodoreador web
    • Ver Perfil
    • Mi blog
Re:Musk64: Pi1541 y Tapuino en 1 solo dispositivo
« Respuesta #32 en: Enero 18, 2023, 23:14:20 »
La que estas liando...  :P

Gracias por la actualización.
www.retroinvaders.com | www.commodoreplus.org  | josepzin.blogspot.com

Dashiad

  • Commodoremaníaco
  • ****
  • Mensajes: 160
  • SYS 0
    • Ver Perfil
Re:Musk64: Pi1541 y Tapuino en 1 solo dispositivo
« Respuesta #33 en: Agosto 18, 2023, 02:08:58 »
Un cambio de trabajo y varios proyectillos que se han ido metiendo por medio han retrasado el seguir trabajando en este proyecto... Pero finalmente, ya está finalizada la emulación del datasette (sólo reproducción).
Con esto, las emulaciones que me propuse inicialmente (disco, cartucho y cinta) estarían terminadas (la emulacion de disco es un port de Pi-1541, mientras el código de cartucho y cinta están hechos de cero).
Así que las piezas sueltas están terminadas, y queda añadir el "pegamento". Mientras el test de cartucho que hice hace tiempo comunicaba el teléfono directamente con el cartucho, ahora hay que comunicar los dispositivos entre sí, mientras uno de ellos mantiene la conexión con el teléfono
(el test que hice con el cartucho suponía que éste era la única cosa conectada).

Info técnica:
La principal diferencia con otras implementaciones (tapuino), es que uso una caracteristica "rara" del ESP32, llamada RMT, al que se le puede pasar una serie de pulsos, con sus duraciones, y éste dispositivo se encarga de enviar los pulsos, liberando de trabajo al procesador. Asi que usando sólo 1 de los 2 cores del ESP32, es posible tanto simular el datasette, como seguir recibiendo mensajes del teléfono por bluetooth (y aún quedaría 1 core para emular, por ejemplo, un modem).

Con todo esto, la próxima actualización ya debería ser la primera versión funcional!

Dashiad

  • Commodoremaníaco
  • ****
  • Mensajes: 160
  • SYS 0
    • Ver Perfil
Re:Musk64: Pi1541 y Tapuino en 1 solo dispositivo
« Respuesta #34 en: Agosto 29, 2023, 12:47:27 »
Para hacer que se hablen las placas entre sí, estar manejando la placa del cartucho, que está soldada con cablecitos (y para el cartucho..son muchos cablecitos..), pedí una PCB...y ya ha llegado! Aqui se ve mejor cuál es mi idea: usar directamente placas "off the shelf", conectarlas a la PCB, y listo, sin soldar componentes SMD. Por un lado, simplifica el construir el dispositivo, ya que sólo hay que soldar el conector de la placa (simples pin headers hembra), y listo. Por otro lado, el conjunto queda más grande de lo que debería. Ésta placa es sólo para el cartucho, para facilitar el desarrollo. La placa final debería incluir al menos un ESP32, y una teensy 4.1, por lo que es necesario más espacio, pero la idea inicial es la misma: que simplemente haya que conectar la placa a la PCB. En una segunda fase, se podría hacer una PCB optimizada con todos, o muchos de los componentes soldados directamente a la PCB, lo que reduciría mucho su tamaño.

Dashiad

  • Commodoremaníaco
  • ****
  • Mensajes: 160
  • SYS 0
    • Ver Perfil
Re:Musk64: Pi1541 y Tapuino en 1 solo dispositivo
« Respuesta #35 en: Agosto 29, 2023, 12:56:11 »
Las marcas para botones que hay en la PCB, en realidad, lo he añadido sin tener todavía muy claro para qué van a servir, ya que el control debería realizarse desde el teléfono. Aparte de la placa STM32, lo único que hay soldado es un set de pines (en la izquierda), para comunicarlo con el ESP32. Esto no sería necesario con la placa final, donde serían simplemente trazas en la PCB.
Me refiero con esto a que el único componente que es necesario soldar a la PCB, es la placa en sí misma.
Por cierto, que la placa ha bajado muchisimo de precio desde los tiempos del COVID...LLegó a estar a 80 euros, mientras, a día de hoy, está a 23 en aliexpress.