Se sei un fan di Pico-8, la fantasy console di Lexaloffle Games, e possiedi una PS4 o una Nintendo Switch, questo progetto fa al caso tuo! PS4-P8 0.4.1 è un emulatore che ti permette di eseguire le cartucce Pico-8 (in formato .p8.png
) sulle tue console preferite.
Basato su OpenOrbis PS4 Toolchain (per PS4) e devkitPro (per Switch), questo emulatore è ancora in sviluppo ma già supporta un buon numero di giochi.
📌 Stato del Progetto
🔴 Non completato – La compatibilità è ancora limitata, ma molti giochi funzionano già correttamente.
✨ Funzionalità Implementate
✔ Interprete Lua modificato per supportare il linguaggio di Pico-8.
✔ Aritmetica a 16-bit fixed point (come nella console originale).
✔ Save states (al momento solo uno stato di salvataggio per cartuccia).
✔ 90 funzioni Pico-8 su 105 implementate.
✔ Giochi inclusi per testare e migliorare la compatibilità.
🎮 Caricamento delle Cartucce
Puoi aggiungere nuovi giochi in due modi:
-
Includerli nel file
.pkg
nella cartella/assets/misc
. -
Caricarli in runtime dalla directory:
-
PS4:
/data/p8-cartridges/
-
Switch:
/switch/switch-p8/cartridges/
sulla SD card.
-
📜 Dettagli Tecniche
-
print()
: Visualizza testo, ma mancano alcuni codici di controllo P8SCII e caratteri non-ASCII. -
Sprites: ✅ Funzionanti.
-
Sfx: ✅ Riproducibili, ma la qualità audio e i filtri (damp, buzz, reverb) non sono ancora ottimali.
-
Music: ✅ Riproducibile.
-
Menu: ⚠ In lavorazione.
-
Memory manipulation: ✅ Quasi completa.
-
Mappe: ✅ Implementate.
-
P8-Lua personalizzato: ✅ Manca solo qualche caso limite.
🛠 Miglioramenti nella 0.4.1
-
stat(table)
ora si comporta comestat(0)
. -
Migliorato il supporto per i caratteri di backspace nella stampa.
-
Le SFX in loop si fermano correttamente alla fine della traccia.
-
tonum("")
ora restituisce vuoto invece di0
. -
time()
ora segue gli intervalli esatti basati sul frame rate.
🔗 Scarica l’ultima versione qui: PS4-P8 0.4.1
🎮 Compatibilità con i Giochi
Una lista di giochi testati e funzionanti è disponibile nella pagina delle release. Se vuoi contribuire segnalando nuovi titoli compatibili, unisciti alla community!
📌 Prossimi Obiettivi
-
Migliorare la stabilità e la compatibilità.
-
Aggiungere più filtri audio.
-
Completare il sistema dei save states per giochi con rendering personalizzato (
flip
).
Se sei uno sviluppatore e vuoi contribuire, il progetto è open-source! 🚀