diff --git a/unnamed.md b/unnamed.md deleted file mode 100644 index ef8e159..0000000 --- a/unnamed.md +++ /dev/null @@ -1,257 +0,0 @@ -# Play in Browser - -> **▶ Gioca subito nel browser!** Scorri in basso per l'emulatore embedded. -> Il ROM `AScreamFromTheDark.gb` è impacchettato direttamente nella pagina (32 KB → ~43 KB base64). -> Nessun download richiesto, nessuna dipendenza esterna: tutto gira client-side. - -## Emulatore embedded - -> **Note:** L'emulatore usa il core GameBoy-Online di Grant Galitz (MIT, 350 KB) caricato da jsDelivr. Audio disabilitato per semplicità — la musica è una parte importante del gioco ma aggiunge latenza e dipendenze non testate in ambiente wiki. Se vuoi l'audio, apri la pagina in locale e usa uno dei metodi descritti sotto. - -> **Performance**: 60 fps su qualsiasi browser moderno (Chrome, Firefox, Edge, Safari). Su mobile (iOS Safari specialmente) il throttle può scendere a 40-50 fps. - -
- - - -
- - - -Premi START per avviare -
- -
-Controlli tastiera:
-← ↑ → ↓ = DPad   |   Z o J = A (salto)   |   X o K = B (corsa)
-Enter o Spazio = START   |   Shift o Tab = SELECT -
- -
- - - - - - -### Come funziona - -1. **Caricamento**: la pagina inietta il ROM `AScreamFromTheDark.gb` (32 KB) inline come stringa base64, decodificata al volo da JavaScript. -2. **Core**: viene caricato il core GameBoy-Online di Grant Galitz (MIT license) da jsDelivr — è lo stesso core usato da emulatori come [GameBoy Online](https://github.com/taisel/GameBoy-Online). -3. **Rendering**: il core disegna direttamente sul `` 2× la risoluzione nativa (160×144 → 320×288) con `image-rendering: pixelated` per mantenere lo stile pixel-art nitido. -4. **Input**: la tastiera viene mappata sui pulsanti hardware del Game Boy tramite `gameboy.keyDown()` / `keyUp()`. - -### Limitazioni note - -- **Audio disabilitato**: per semplicità e per evitare dipendenze aggiuntive (XAudioServer.swf richiede Flash, MediaStreamWorker è più complesso). La musica è parte integrante dell'esperienza: se ti interessa, suona il ROM localmente con [BGB](https://bgb.bircd.org/), [SameBoy](https://sameboy.github.io/) o [mGBA](https://mgba.io/). -- **Salvataggio stato**: non persistente (la pagina non usa localStorage). Ricaricare = ricominciare. -- **Performance**: dipende dal browser. Mobile può avere throttling. - -### Metodi alternativi (con audio) - -Se l'audio è importante, ecco i metodi consigliati: - -#### 1. wasmboy locale (raccomandato) - -```bash -git clone https://github.com/torch2424/wasmboy.git -cd wasmboy -cp /path/to/AScreamFromTheDark.gb demo/roms/ -cd demo -python3 -m http.server 8000 -# Apri http://localhost:8000 -``` - -#### 2. PyBoy (Python, audio incluso) - -```bash -pip install pyboy -python3 -c " -from pyboy import PyBoy -pyboy = PyBoy('AScreamFromTheDark.gb', window='Pygame') -while True: - pyboy.tick() - if pyboy.screen.frame_number > 0 and pyboy.screen.frame_number % 60 == 0: - print(f'frame {pyboy.screen.frame_number}') -" -``` - -#### 3. SameBoy (desktop nativo) - -```bash -# Build from source (https://github.com/LIJI32/SameBoy) -make -./sameboy AScreamFromTheDark.gb -``` - -#### 4. RetroArch con core Gambatte - -```bash -# Installa core mgba or gambatte -retroarch --libretro=/usr/lib/libretro/gambatte_libretro.so AScreamFromTheDark.gb -``` - -## Specifiche tecniche dell'embed - -| Componente | Dettaglio | -|---|---| -| Core emulator | GameBoy-Online (Grant Galitz) — MIT | -| Caricamento | 3 file JS da `cdn.jsdelivr.net/gh/chrismaltby/GameBoy-Online@master/` | -| ROM | 32 KB impacchettato inline come base64 (≈ 43 KB nella pagina) | -| Rendering | HTML5 Canvas 2D, 320×288, `image-rendering: pixelated` | -| Refresh | `requestAnimationFrame` (60 fps target) | -| Modalità | GBC (colorizza la tavolozza DMG automaticamente) | -| Audio | disabilitato (richiede Flash/SWFX o Web Audio + Worklet) | -| Storage | niente (no save states persistenti) | - -## Per chi vuole l'audio nel browser - -Il modo più semplice è forkare [chrismaltby/GameBoy-Online](https://github.com/chrismaltby/GameBoy-Online) e servire il fork localmente — quello include già `XAudioServer.js` e tutti i file di supporto. Sostituisci la ROM nel `index.html` con `AScreamFromTheDark.gb` e l'audio funziona. Per il deploy su Gitea Pages, copia i file in `docs/` e abilita GitHub/Gitea Pages. - -In alternativa, [torch2424/wasmboy](https://github.com/torch2424/wasmboy) include già tutto (audio + save states) ed è la scelta migliore se vuoi un'esperienza completa self-hosted.