Vai al contenuto

← Firmware e software

Vesper

Un frontend per i giochi sulla R36S, scritto in C

Stato
prima tappa fatta; non ancora provato sulla console
Licenza
GPL-3.0-or-later

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.