Skip to content

Propuesta: Conectividad WiFi + búsqueda y descarga desde World of Spectrum #88

Description

@fg1998

Hola Víctor,

Antes que nada, gracias por ESPectrum — un proyecto increíble.

Quería compartir contigo una funcionalidad que implementé en mi fork
y consultarte si tendrías interés en un PR para integrarla.

Qué hace

Añade un menú "Acceso a la Red" (acceso a red) con tres opciones:

  • Configuración WiFi: SSID y contraseña, guardados en NVS
  • Configuración del Proxy: URL del proxy HTTP (explico abajo)
  • Buscar en WoS: el usuario escribe el nombre del juego, elige
    un título de los resultados, selecciona el formato disponible
    (.tap / .tzx / .z80 / .sna / .sp / .p) y se descarga directamente
    a la tarjeta SD

Por qué necesita un proxy

World of Spectrum solo sirve por HTTPS, y el handshake SSL no cabe
en la memoria disponible del ESP32-PICO-D4 con el WiFi activo
(probé varias configuraciones de mbedTLS y siempre falla con
ALLOC_FAILED).

La solución fue un pequeño proxy PHP que:

  • Habla HTTPS con WoS
  • Descomprime el ZIP en el servidor
  • Devuelve el archivo .tap/.tzx/etc. ya descomprimido por HTTP simple

El proxy PHP también lo incluyo en el fork (~80 líneas) y dejo uno
funcionando en alternativebits.com/wos.php como predeterminado.
El usuario puede alojar su propia copia si lo prefiere.

Estado actual

Funcional, probado en LilyGo TTGO VGA32 (ESP32-PICO-D4).
He descargado y jugado decenas de juegos.

Mi fork: https://github.com/fg1998/ESPectrum_wifi

Antes del PR

Mi fork está unos 500 commits por detrás del upstream, así que
necesitaría rebasear antes de abrir el PR formal. Quería consultar
primero si tendrías interés antes de hacer ese trabajo.

Si te interesa, ¿preferirías el PR contra master o contra develop?

¡Gracias por tu tiempo!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions