github Ghael-V/Lemon-Project v0.2.4-experimental.1
Lemon Experimental v0.2.4 — Savestate funcional (beta)

latest releases: v1.3.0, v1.2.2, v1.2.1...
pre-releaseone month ago

Build experimental (applicationId propio, dev.lemon.lemon_emulator.experimental, convive en el mismo dispositivo con la build estándar). No es un release estable - se publica como prerelease para no interferir con el comprobador de actualizaciones de la build normal.

Novedad principal: Quick Save / Quick Load real en juegos multi-hilo

El savestate llevaba tiempo oculto por no funcionar de forma fiable en juegos reales (crash garantizado). Se ha investigado y arreglado la causa raíz:

  • Un hilo bloqueado en una espera del kernel (condvar, IPC, sleep, arbitraje de dirección) vive dentro de una fibra host cuyo verdadero punto de retorno está en su propia pila, no en el Svc::ThreadContext serializado. Restaurar por encima de esa memoria dejaba la fibra despertando en un mundo que ya no coincidía con lo que esperaba, y el juego se autoterminaba (svcBreak).
  • Restore() ahora deja completamente intactos el contexto y la memoria de pila de cualquier hilo que siga dormido en el momento de restaurar, y solo rebobina los hilos realmente parados y la memoria compartida.
  • Se corrige también el mismo bug de sincronización de caché de GPU que afectó al Lemon Cheater (ReadBlockUnsafe/WriteBlockUnsafe en vez de las variantes normales), que causaba una caída de FPS persistente tras cada savestate.
  • Antes de cargar, se comprueba si algún hilo depende de una señal de otro hilo del juego (condvar/arbitraje) y se reintenta un instante después si es así, en vez de forzar nada.

Verificado en dispositivo con Super Mario 3D World (uno de los juegos más exigentes de Switch): 10/10 ciclos de guardado/carga sin fallos en la última tanda de pruebas. Sigue siendo experimental - no se garantiza el 100% en todos los juegos ni momentos.

Instalación

Coexiste con tu instalación normal de Lemon (applicationId distinto), así que puedes tener ambas a la vez para comparar.

Don't miss a new Lemon-Project release

NewReleases is sending notifications on new releases.