Vesper
Un frontend per i giochi sulla R36S, scritto in C
Perché
slot è scritto in Rust, e si porta dietro un overhead che per l’RK3326 della R36S pesa. Riprendendo da lì ho deciso di farmi un frontend minimale e personale, aggiungendo il supporto per il Nintendo DS (anche se per ora non sono riuscito a compilare le dipendenze in C++).
Cosa fa
Mostra i giochi su una mensola e li avvia con i core libretro: gpSP per il GBA, Gambatte per GB e GBC. I giochi DS compaiono già nella mensola, ma partiranno con una tappa successiva.
Come è fatto
- grafica con KMS/DRM, GBM, EGL e GLES2 su Panfrost, con il cambio pagina sul vblank;
- ingresso con evdev, tenendo aperti tutti i dispositivi;
- audio ALSA su un thread suo, ricampionato a 48 kHz;
- salvataggi della batteria scritti ogni 10 secondi, quando cambiano, e all’uscita dal gioco.
Scelte
- Per il DS è previsto il core di DSperate, da compilare dentro il frontend.
Numeri
- 194 kB
- l’eseguibile per la console
- 7.332
- righe di C
- C
- KMS/DRM
- GLES2
- ALSA
- libretro
Collegato a
- Lume: Un sistema Linux minimo per la R36S: kernel mainline, BusyBox al posto di systemd, niente X e niente EmulationStation. Si accende direttamente nel frontend.
Foto e video: da fare.