Spookyflow è un nuovo launcher per PlayStation 3 con Custom Firmware o HEN, realizzato in linguaggio C e progettato per offrire un’interfaccia grafica moderna e curata per la gestione dei giochi.

Il progetto, sviluppato da spooky, si ispira al classico sistema Cover Flow, mostrando le copertine dei titoli attraverso una disposizione tridimensionale che permette di sfogliare facilmente la propria raccolta di giochi PS1, PS2 e PS3.
L’applicazione punta molto sull’aspetto grafico, con animazioni fluide, effetti luminosi, riflessi, sfondi animati e un’interfaccia personalizzabile.
La schermata principale organizza i giochi in tre schede, una per ciascuna piattaforma, consentendo di spostarsi rapidamente tra i titoli e utilizzare la navigazione alfabetica per raggiungere una determinata lettera.
Uno degli aspetti più interessanti è la gestione automatica delle copertine. Spookyflow è compatibile con i pacchetti utilizzati da webMAN MOD e multiMAN, recupera le immagini dalle cartelle già presenti sulla console e permette anche di scaricare quelle mancanti attraverso servizi come GameTDB, RPDB e le raccolte di xlenore.
Le copertine vengono ridimensionate e memorizzate in una cache, così da rendere più veloce la navigazione anche con librerie particolarmente numerose, comprese quelle con oltre 1.000 giochi.
Il launcher supporta inoltre i giochi PS3 e PS1 archiviati su unità esterne NTFS ed exFAT, sfruttando l’indice generato da webMAN MOD.
È possibile utilizzare più dischi contemporaneamente e visualizzare i titoli presenti sulle unità esterne insieme a quelli installati sull’hard disk interno. Per quanto riguarda i giochi PS2, rimane invece necessario utilizzare la memoria interna della console.
Tra le altre funzionalità troviamo il supporto ai giochi multidisco, che vengono raggruppati sotto un’unica voce con la possibilità di scegliere quale disco avviare, e la gestione delle configurazioni di compatibilità PS2.
Quest’ultima permette di selezionare profili come CUSTOM, NET, GX e SOFT, mantenendo al sicuro eventuali configurazioni personalizzate già presenti.
La sesta milestone introduce una nuova organizzazione dei menu delle impostazioni. Il pannello principale scorre lateralmente, mentre le opzioni relative al singolo gioco e alla selezione dei dischi vengono visualizzate accanto alla copertina selezionata.
Sono disponibili numerose personalizzazioni per l’interfaccia, tra cui colori, sfondi, riflessi, illuminazione delle custodie e visualizzazione delle informazioni sui giochi.
Non manca la riproduzione di musica in sottofondo, con supporto ai formati MP3 e WAV, modalità casuale e controllo del volume. L’utente può anche sostituire le immagini delle custodie e delle schede PS1, PS2 e PS3 con file personalizzati, oltre a scegliere effetti sonori differenti.
L’avvio dei giochi viene gestito attraverso webMAN MOD, che deve essere installato e attivo sulla console. Spookyflow permette di configurare l’avvio automatico, la modalità offline e l’emulatore da utilizzare per i titoli PS1 e PS2.
Scheda PS2
Contenuti della Milestone 1
- Schermata di caricamento (“spookyflow” con luminosità soffusa, schede animate, barra di stato in tempo reale e barra di avanzamento). La scansione della libreria viene eseguita in piccoli passaggi per ogni fotogramma, evitando blocchi dell’animazione. La schermata rimane visibile per almeno 5 secondi (molti televisori restano neri per 2-3 secondi dopo il cambio della modalità video), quindi sfuma gradualmente nella schermata Cover Flow.
- Tre schede: PS1, PS2 e PS3 (si passa da una all’altra con
/
; la navigazione si ferma alla PS1 e alla PS3). - Un ampio Cover Flow: la custodia selezionata occupa circa il 53% dell’altezza dello schermo, mentre quelle vicine circa il 64% delle sue dimensioni, distribuite uniformemente e visibili anche oltre i bordi. La custodia selezionata presenta una cornice luminosa delicata, mentre quelle vicine si scuriscono progressivamente con la distanza. Le custodie PS1 sono quadrate, quelle PS2 e PS3 sono verticali.
- Il titolo del gioco viene visualizzato in un riquadro arrotondato che si adatta gradualmente alla larghezza del testo, insieme alle informazioni: posizione (“1 di 250”) sempre presente, seguita da genere, giocatori e dimensione quando disponibili.
- Una barra dei controlli distribuita uniformemente nella parte inferiore dello schermo.
- Navigazione alfabetica con
/
: sopra la barra dei controlli compare una sequenza di lettere dalla A alla Z; la lettera selezionata aumenta di dimensione e si illumina con il colore dell’interfaccia, mentre il punto di selezione scorre dalla lettera precedente. Le lettere senza giochi vengono oscurate e l’intera barra scompare gradualmente. - Pannello Impostazioni gioco (
) e pannello Impostazioni Cover Flow (
). - Tenendo premuto
per 1,5 secondi si esce verso la XMB (un anello si riempie attorno all’icona
). - Gli effetti sonori vengono riprodotti quando ci si sposta, si cambia scheda, si saltano le lettere, si apre o chiude un menu delle impostazioni, si modifica un valore e si avvia un gioco. È possibile regolarne il volume (oppure impostare 0% per disattivarli) in Impostazioni Cover Flow → Effetti sonori. Per utilizzare suoni personalizzati, inserire file WAV (PCM a 8 o 16 bit, mono o stereo, qualsiasi frequenza di campionamento, fino a 3 secondi) in
/dev_hdd0/tmp/spookyflow/sounds/con i nomimove.wav,tab.wav,open.wav,close.wav,change.waveconfirm.wav. I suoni non sostituiti manterranno quelli integrati (il set di suoni di spooky, dalla versione 0.8.3). Riavviare spookyflow dopo aver aggiunto i file; il registro indica quali sono stati utilizzati. - Le immagini delle schede vengono ritagliate eliminando i bordi trasparenti e ridimensionate in modo fluido per riempire lo spazio disponibile.
- Impostazioni Cover Flow → Modalità offline attiva la modalità offline per tutti i giochi PS2 e PS3; l’impostazione specifica di un singolo gioco può comunque sovrascriverla (Predefinito / Attiva / Disattiva).
- Impostazioni Cover Flow → Spegni PS3 consente di spegnere correttamente la console tramite webMAN MOD (comando
/shutdown.ps3, equivalente a Spegni il sistema della XMB). È sufficiente premere
una volta. Se webMAN MOD non è in esecuzione, non accade nulla e viene mostrato un messaggio. - Impostazioni Cover Flow → Colore interfaccia: Blu, Rosso, Verde, Viola, Rosa, Arancione o Bianco.
- Impostazioni Cover Flow → Effetti sonori presenta un cursore per regolare il volume (0% = disattivati).
- In entrambi i menu delle impostazioni si utilizza esclusivamente il D-pad, con un movimento per ogni pressione.
- Impostazioni Cover Flow → Fissa in cima alla XMB posiziona spookyflow nella parte superiore della colonna Giochi della XMB. Modificare
ITEM_PRIORITYnelPARAM.SFOdi spookyflow (/dev_hdd0/game/SPKF00001/PARAM.SFO); riavviare la PS3 per visualizzare il cambiamento. La scelta viene applicata automaticamente anche dopo una nuova installazione del PKG. - La schermata di caricamento iniziale viene mostrata per circa 5 secondi (i monitor spesso rimangono neri per 2-3 secondi dopo il cambio della modalità video); non può essere saltata.
- Una libreria dimostrativa integrata (65-75 titoli conosciuti per ogni scheda), che permette di provare tutte le funzioni anche senza giochi installati. Se l’hard disk interno contiene giochi nelle consuete cartelle webMAN, la scheda corrispondente mostrerà invece i titoli reali.
- Un file di registro e un file delle impostazioni che possono essere letti o inviati allo sviluppatore.
1. Caricare il progetto su GitHub
È sufficiente un account GitHub gratuito e un browser web.
- Accedere al link https://github.com, fare clic su + (in alto a destra) → Nuovo repository. Assegnare il nome spookyflow. Lasciare deselezionata l’opzione “Add a README”. Fare clic su Create repository.
- Estrarre il contenuto dell’archivio
spookyflow-milestone2.zipsul computer. - Nella nuova pagina della repository fare clic su uploading an existing file. Trascinare tutti gli elementi contenuti nella cartella spookyflow estratta (i file e le cartelle
src,tools,tests,ci,pkgfilesepreview), senza trascinare la cartella principale stessa. Fare clic su Commit changes. - Importante: La cartella nascosta
.github. Il suo nome inizia con un punto, quindi molti computer la nascondono e il caricamento tramite browser spesso la esclude. Senza questa cartella non viene compilato nulla. Verificare che nella pagina del repository sia presente una cartella.github. In caso contrario:- Fare clic su Add file → Create new file.
- Nel campo del nome del file digitare esattamente
.github/workflows/build.yml(inserendo i caratteri / verranno create automaticamente le cartelle). - Aprire il file
.github/workflows/build.ymldal progetto estratto utilizzando un semplice editor di testo (Blocco note / TextEdit), copiare tutto il contenuto e incollarlo nel campo principale di GitHub. - Fare clic su Commit changes. Facoltativamente, è possibile aggiungere anche il file .gitignore utilizzando lo stesso metodo e assegnandogli il nome
.gitignore.
2. Ottenere il PKG
- Nella repository aprire la scheda Actions. Se GitHub lo richiede, fare clic su I understand my workflows, go ahead and enable them.
- Una compilazione denominata build viene avviata automaticamente dopo ogni caricamento o commit. Per avviarne una manualmente: Actions → build (a sinistra) → Run workflow.
- Attendere il completamento (segno di spunta verde, generalmente 5-10 minuti; la prima compilazione è la più lenta).
- Fare clic sull’esecuzione, scorrere fino alla sezione Artifacts e scaricare
spookyflow-pkg-…. Si tratta di un archivio ZIP che contienespookyflow.pkg. - Se l’artefatto non è disponibile ma compare
spookyflow-pkg-docker-fallback, utilizzare quest’ultimo (è stato compilato con una toolchain differente). - La cartella
previewscontiene le stesse immagini dimostrative presenti inpreview/. - Se la compilazione termina con un errore (indicatore rosso), aprire il passaggio non riuscito, copiare le ultime circa 50 righe del registro e inviarle allo sviluppatore.
3. Installare su PS3
È necessaria una PS3 con CFW o HEN (con HEN attivato prima dell’installazione).
- Tramite USB: Copiare
spookyflow.pkgnella directory principale di una chiavetta USB FAT32, collegarla alla PS3 e seguire il percorso XMB → Gioco → Gestione pacchetti → Installa file PKG → Standard (oppure dispositivo USB) → selezionarespookyflow.pkg. - Tramite hard disk: Copiare il PKG in
/dev_hdd0/packages/(tramite FTP oppure attraverso il file manager di webMAN) e installarlo da Gestione pacchetti → Installa file PKG → Standard. È possibile utilizzare anche la funzione “install pkg” integrata in webMAN.
L’applicazione apparirà nella sezione Gioco con il nome spookyflow. Se il normale file .pkg non viene installato sulla propria configurazione, provare spookyflow.gnpdrm.pkg presente nello stesso artefatto.
Controlli
| Pulsante | Cover Flow | In un pannello delle impostazioni |
|---|---|---|
| D-pad: gioco precedente / successivo, uno per pressione. Levetta sinistra: tenere premuto per scorrere più velocemente (la levetta non funziona nei menu delle impostazioni). | Modifica il valore (si ferma alla prima / ultima scelta). | |
| — | Sposta la selezione tra le righe. | |
| Scheda precedente / successiva (PS1 ↔ PS2 ↔ PS3, si ferma alle estremità). | — | |
| Salta alla lettera precedente / successiva (A-Z, # per primo). | — | |
| Avvia il gioco (tramite webMAN MOD, vedere la sezione Avvio). | Apre un gruppo / esegue un’azione (Esci, Nuova scansione, Informazioni…). | |
| Apre le Impostazioni gioco per il titolo selezionato. | — | |
| Modalità visualizzazione: la custodia selezionata si ingrandisce fino a riempire lo schermo, mentre titolo e informazioni scompaiono gradualmente. In questa modalità funzionano soltanto |
— | |
| Apre le Impostazioni Cover Flow. | — (soltanto |
|
| Tenere premuto per 1,5 secondi per uscire verso la XMB (una pressione breve non fa nulla). | Indietro (pressione breve). Tenendolo premuto non si esce mai. | |
| Brano successivo (musica di sottofondo). | Non utilizzato. |
Dettagli su
: Quando ci si trova nel mezzo dei giochi di una lettera, premendo
si torna prima all’inizio della stessa lettera; premendolo nuovamente si passa alla lettera precedente. Le lettere senza giochi vengono saltate. La navigazione si ferma alla prima e all’ultima lettera, senza ricominciare dall’altra estremità.
Dopo aver chiuso un pannello con
, l’uscita dalla console può essere avviata soltanto con una nuova pressione di
nella schermata Cover Flow.
Impostazioni gioco (
)
Le impostazioni vengono salvate separatamente per ogni gioco nel file delle impostazioni di spookyflow (nessun file viene mai rinominato).
- PS1: Avvio automatico, Emulatore (Standard / Netemu).
- PS2: Avvio automatico, Emulatore (Predefinito / Netemu), Modalità offline, Configurazione PS2 (vedere la sezione Configurazioni PS2).
- PS3: Avvio automatico, Modalità offline.
“Predefinito (Disattivato)” significa “utilizza l’impostazione globale Avvio automatico, che è Disattivata”. Le impostazioni vengono applicate all’avvio del gioco (vedere la sezione Avvio). La voce relativa alla frequenza di clock RSX è stata rimossa nella Milestone 3; l’overclock potrebbe tornare in futuro.
Impostazioni Cover Flow (
)
Le impostazioni sono organizzate in gruppi (0.7.0). La prima pagina mostra i gruppi centrati, senza descrizioni (0.7.3);
apre un gruppo, mentre
torna indietro. Ogni pannello è centrato: il titolo, i nomi dei gruppi e delle azioni e ogni impostazione vengono allineati al centro nel formato nome | valore.
- Aspetto: Sfondo, Colore interfaccia, Mostra informazioni gioco, Custodie giochi, Riflessi, Nascondi interfaccia Cover Flow.
- Musica e suoni: Volume musica (0% = disattivato), Riproduzione casuale musica, Effetti sonori.
- Giochi e libreria: Avvio automatico, Modalità offline, Ignora “The”, Archiviazione, Scarica copertine mancanti (funzione non ancora implementata nella versione iniziale), Nuova scansione libreria.
- Sistema: Sospensione, Fissa in cima alla XMB (nessun messaggio di conferma; viene mostrato qualcosa soltanto in caso di errore). Il Test prestazioni è stato rimosso nella versione 0.7.3.
- Successivamente sono disponibili direttamente Esci verso XMB e Spegni PS3.
Immagini di sfondo (0.7.0): Inserire immagini .jpg / .png (di qualsiasi dimensione fino a 4096 px) in /dev_hdd0/tmp/spookyflow/backgrounds/ (creata al primo avvio).
Ogni immagine comparirà in Aspetto → Sfondo come Immagine: nome del file, dopo gli stili integrati. Se non sono presenti immagini, questa opzione non viene visualizzata.
Quando selezionata, l’immagine viene ritagliata in formato 16:9 attorno al centro e ridimensionata a 1280×720. Se un’immagine selezionata viene successivamente eliminata, verrà utilizzato Stage.
Cartelle da cui vengono letti i giochi (hard disk interno)
| Scheda | Cartelle (è consentito un livello di sottocartelle) | Elementi riconosciuti come giochi |
|---|---|---|
| PS1 | /dev_hdd0/PSXISO, /dev_hdd0/PSXGAMES |
Ogni file .cue (il relativo .bin viene nascosto); un file .bin/.img/.iso senza .cue. |
| PS2 | /dev_hdd0/PS2ISO |
File .iso e immagini .iso.0 suddivise in più parti (+ .iso.1… con dimensioni sommate). |
| PS3 | /dev_hdd0/PS3ISO, /dev_hdd0/GAMES, /dev_hdd0/GAMEZ |
File .iso / .iso.0; ogni cartella presente in GAMES/GAMEZ. |
Una scheda senza giochi mostra la libreria dimostrativa e una piccola etichetta “Libreria demo”. Gli ID dei titoli vengono letti da tag come [SLUS_209.14] presenti nei nomi dei file oppure, in assenza di questi, direttamente dai giochi (vedere sotto). Le unità esterne e NTFS vengono supportate in una milestone successiva.
Copertine (Milestone 2)
Spookyflow cerca le copertine negli stessi percorsi e con gli stessi nomi utilizzati da webMAN MOD, quindi un pacchetto di copertine webMAN / multiMAN funziona senza modifiche. Per ogni gioco vengono controllati i seguenti percorsi, nell’ordine indicato (.JPG, .PNG, .jpg, .png):
- Accanto al gioco, con lo stesso nome:
/dev_hdd0/PS2ISO/Gran Turismo 4.jpg(questa posizione ha sempre la precedenza ed è quindi il metodo per sostituire una copertina). - Cartella temporanea di webMAN:
/dev_hdd0/tmp/wmtmp/nome_file_del_gioco.jpg. - Pacchetti retro PS1 / PS2:
/dev_hdd0/game/BLES80608/USRDIR/covers_retro/psx/SLUS_209.14_COV.JPG(anche in/dev_hdd0/tmp/game_repo/maine/dev_hdd0/game/NPEA00374/USRDIR). - Tramite ID del titolo: Le stesse tre cartelle precedenti in
/covers/BLES80608.JPG, oltre a/dev_hdd0/GAMES/coverse/dev_hdd0/GAMEZ/covers. /dev_hdd0/tmp/wmtmp/covers/ID.jpg.- Cartella del gioco:
/dev_hdd0/PS2ISO/SLUS20914.jpg.
ID dei titoli. Se il nome del file non contiene un tag con l’ID, spookyflow lo legge direttamente dal gioco: SYSTEM.CNF all’interno delle immagini PS1/PS2 (.iso e .bin attraverso il relativo .cue), intestazione del disco delle ISO PS3 e PS3_GAME/PARAM.SFO delle cartelle dei giochi PS3. Nessun file viene rinominato.
Come viene mantenuta la velocità con oltre 1.000 giochi
- Soltanto i 30 giochi vicini alla selezione (più i 15 visibili in ciascuna delle altre schede, in modo che il cambio di scheda mostri subito le copertine) vengono mantenuti nella memoria video: 64 slot di texture fissi, per un totale di 21 MB. Il consumo non aumenta con le dimensioni della libreria.
- Il caricamento avviene in un thread in background, dando priorità alla copertina più vicina. Quando è pronta, la copertina appare gradualmente sopra l’immagine segnaposto e l’interfaccia non deve attenderla.
- Ogni copertina viene adattata alla custodia senza essere ritagliata, ridimensionata in modo fluido e salvata una sola volta come piccolo file di cache:
/dev_hdd0/tmp/spookyflow/covers/. Sono necessari circa 290-340 KB per gioco, quindi circa 300 MB per 1.000 giochi. Successivamente, per mostrarla è sufficiente leggere un singolo file. - I giochi senza copertina vengono memorizzati, così le rispettive cartelle vengono cercate una sola volta.
- Impostazioni Cover Flow → Nuova scansione libreria cancella la cache delle copertine, permettendo di rilevare quelle aggiunte o sostituite. È anche possibile eliminare in qualsiasi momento la cartella
/dev_hdd0/tmp/spookyflow/covers. - Il registro elenca le cartelle delle copertine individuate e, per le prime 400 immagini, indica la provenienza di ciascuna copertina (oppure l’ID del titolo cercato).
Sfondo Stage (predefinito)
Lo sfondo predefinito è Stage: un palcoscenico scuro con pavimento riflettente e luci lungo l’orizzonte. Sopra di esso, i gruppi di nastri luminosi a sinistra e a destra oscillano, si inclinano e pulsano autonomamente.
Circa 110 particelle individuali (scintille nitide e punti luminosi sfocati, ricavati dagli sprite delle particelle) si muovono indipendentemente: nascono in punti casuali, si illuminano gradualmente, fluttuano e salgono a velocità differenti in base alla profondità (quelle più vicine sono più grandi, veloci e luminose), oscillano, scintillano, si spengono e ricompaiono altrove.
La linea dell’orizzonte e i relativi bagliori pulsano, mentre una nebbia leggera si muove sul pavimento attraverso tre livelli, utilizzando una texture generata senza interruzioni, ciascuno con profondità, velocità e spessore differenti. Accanto al titolo fluttuano forme trasparenti a forma di
,
,
e
.
Le custodie poggiano sul pavimento in prospettiva: quella selezionata si trova davanti all’orizzonte (LY_FLOOR_Y), mentre quelle più piccole e lontane sono posizionate più vicino ad esso (LY_HORIZON_Y).
Ogni custodia proietta un’ombra di contatto delicata e un riflesso (gli altri sfondi mantengono la fila originale centrata). Le luci, l’orizzonte e i nastri producono un bagliore: aloni morbidi (art/stage_glow.jpg) pulsano attorno agli elementi e quelli dei nastri si muovono insieme a essi.
Tutti gli elementi vengono memorizzati come luminosità e colorati dalla GPU utilizzando il colore dell’interfaccia (Impostazioni Cover Flow → Colore interfaccia); le parti più luminose rimangono bianche e intense.
Risorse utilizzate: art/stage.jpg (scena), art/stage_rib.jpg (nastri), art/stage_fx.png (+ .json: bagliori, nebbia, particelle), art/stage_shapes.png, integrate tramite tools/make_stage.py --embed. Il comando tools/make_stage.py permette di ricostruirle.
I nastri rappresentano la differenza tra le due immagini della scena, mentre le singole particelle vengono estratte dai PNG originali (ritagliate da una griglia, quindi prima ricomposte; lo script DOTS indica quali utilizzare). È possibile scegliere altri stili da Impostazioni Cover Flow → Sfondo.
Lo stile Ribbons riempie l’intero schermo con fasce luminose in movimento, dall’alto fino al pavimento. (Lo sfondo Immagine, che consentiva di utilizzare una propria fotografia, è stato rimosso nella versione 0.6.0; se era selezionato, viene utilizzato Stage).
Riflessi: L’opzione (Impostazioni Cover Flow, attiva per impostazione predefinita) riproduce sul pavimento la parte inferiore di ogni custodia, con una dissolvenza graduale.
Immagini delle custodie
Spookyflow include le immagini delle custodie di spooky (0.8.5); Impostazioni Cover Flow → Custodie giochi permette di attivarle o disattivarle. Per utilizzare immagini personalizzate, inserire i file PNG nei seguenti percorsi (ciascuno sostituisce la rispettiva custodia integrata):
/dev_hdd0/tmp/spookyflow/cases/ps1.png/dev_hdd0/tmp/spookyflow/cases/ps2.png/dev_hdd0/tmp/spookyflow/cases/ps3.png
Le immagini utilizzano il layout delle custodie di ManaGunZ, quindi anche i file PS1_CASE.PNG, PS2_CASE.PNG e PS3_CASE.PNG originali di ManaGunZ (in /dev_hdd0/game/MANAGUNZ0/USRDIR/GUI/common/) funzionano dopo essere stati copiati e rinominati utilizzando lettere minuscole.
È possibile utilizzare qualsiasi dimensione purché vengano mantenute le stesse proporzioni: la copertina si trova nelle coordinate 30,5 con dimensioni 240×240 in un’immagine PS1 da 275×250, nelle coordinate 0,10 con dimensioni 260×370 in un’immagine PS2 da 270×390 e nelle coordinate 0,30 con dimensioni 260×300 in un’immagine PS3 da 270×340.
L’immagine della custodia viene disegnata sopra la copertina. In assenza di un’immagine, viene mostrata soltanto la copertina. Il registro indica quali immagini delle custodie sono state utilizzate.
Riga delle informazioni sul gioco
Sotto il titolo vengono mostrati giocatori, dimensione e posizione (ad esempio 7,6 GB · 25 di 73). Al momento, il numero di giocatori è disponibile soltanto per i giochi dimostrativi.
Gli anni di pubblicazione sono previsti, ma non è ancora disponibile una fonte: la riga delle informazioni mostra l’anno quando conosciuto e la cache delle copertine dispone già di un campo dedicato.
Unità esterne NTFS (Milestone 4)
La PS3 non può leggere direttamente le unità NTFS; può farlo invece l’edizione NTFS di webMAN MOD, e spookyflow utilizza il relativo indice.
prepNTFS di webMAN esegue la scansione di tutte le unità NTFS montate (due o più contemporaneamente) e crea un piccolo file di riferimento per ogni gioco in /dev_hdd0/tmp/wmtmp/:
Name.ntfs[PS3ISO]— un’immagine ISO PS3 (insieme aName.SFO, il relativoPARAM.SFO, eName.PNG, l’icona o una copertina trovata accanto alla ISO sull’unità).Name.ntfs[PSXISO]— un gioco PS1 (.bin/.iso, con il relativo.cue).
Spookyflow mostra questi giochi (le ISO PS3 nella scheda PS3, i giochi PS1 nella scheda PS1) insieme a quelli presenti sull’unità interna.
La dimensione viene ricavata dal file di riferimento, l’ID del titolo PS3 da Name.SFO (per individuare le copertine tramite ID) e
avvia il file di riferimento tramite webMAN come qualsiasi altro gioco.
Sull’unità, webMAN cerca nelle cartelle PS3ISO e PSXISO (oltre a BDISO/DVDISO per i video, che spookyflow ignora), nella directory principale oppure all’interno di /PS3/, includendo un livello di sottocartelle (mostrate con un’etichetta [Folder], che spookyflow rimuove dal titolo).
Nuova scansione libreria chiede prima a webMAN di aggiornare l’indice delle unità NTFS (/refresh.ps3?prepntfs, con il messaggio “Aggiornamento unità NTFS…” nella schermata di caricamento) e successivamente avvia la scansione.
In questo modo vengono rilevati i giochi aggiunti o rimossi dalle unità. Un normale avvio legge invece l’indice così com’è (webMAN lo aggiorna autonomamente quando è attiva l’opzione di scansione NTFS nelle sue impostazioni).
Limitazioni dell’indice NTFS di webMAN: le ISO PS2 non sono supportate (webMAN non indicizza PS2ISO su NTFS e i giochi PS2 devono trovarsi sull’unità interna), non sono supportati i giochi PS3 in formato cartella (soltanto ISO) e non è possibile utilizzare due copie dello stesso file di gioco su due unità differenti (i relativi file di riferimento hanno lo stesso nome e uno sostituisce l’altro).
Un’unità scollegata continua a mostrare i propri giochi fino alla successiva Nuova scansione.
Musica di sottofondo (Milestone 5)
Inserire i propri brani musicali in /dev_hdd0/tmp/spookyflow/music/ (la cartella viene creata al primo avvio; è possibile copiare i file tramite FTP di webMAN o un file manager). Vengono riprodotti i file presenti direttamente nella cartella e nelle relative sottocartelle (un livello, ad esempio music/Album/):
.mp3— qualsiasi bitrate, CBR o VBR, mono o stereo, qualsiasi frequenza di campionamento (decodifica tramite minimp3, di pubblico dominio). I tag ID3 e le copertine incorporate vengono ignorati..wav— PCM a 16 bit, mono o stereo, qualsiasi frequenza di campionamento.
La musica inizia 2 secondi dopo la visualizzazione del Cover Flow e viene riprodotta in sequenza attraverso la cartella, con una pausa di 2 secondi tra un brano e l’altro (il salto tramite
è immediato).
Con Riproduzione casuale musica attivata, ogni brano viene riprodotto una volta in ordine casuale prima di eventuali ripetizioni; disattivandola, i brani vengono riprodotti in ordine alfabetico per nome del file.
Il volume della musica viene regolato separatamente da quello degli effetti sonori dell’interfaccia; impostando 0% la riproduzione si interrompe.
La scala del volume è graduale: il 50% corrisponde a circa un quarto del volume del 100%, che rimane comunque inferiore a quello dei suoni dell’interfaccia.
passa al brano successivo. Ogni volta che inizia una nuova traccia, una scheda In riproduzione con i gattini compare scorrendo dall’angolo superiore sinistro per alcuni secondi.
Se il nome è troppo lungo, scorre fino a quando non è stato visualizzato interamente e la scheda rimane aperta fino a quel momento. Il volume si abbassa quando lo schermo entra in sospensione e la scheda scompare gradualmente quando si esce dall’applicazione o si avvia un gioco.
I file non riproducibili vengono saltati (il registro indica quali). Nuova scansione libreria esegue anche una nuova lettura della cartella musicale.
Configurazioni PS2 (0.6.0)
Le ISO PS2 vengono eseguite tramite ps2_netemu, che legge le patch di compatibilità da un file CONFIG accanto alla ISO (Game.iso.CONFIG).
Se non è presente, webMAN MOD copia il primo file trovato per l’ID del gioco, nel seguente ordine: il file dell’applicazione PS2 Config, quindi le raccolte CUSTOM, NET, GX e SOFT (provenienti dall’app PS2 Config, da /dev_hdd0/game/PS2CONFIG/USRDIR oppure da ManaGunZ, /dev_hdd0/game/MANAGUNZ0/USRDIR/sys/CONFIG).
Impostazioni gioco → Configurazione PS2 (← →) permette di scegliere:
- Auto — webMAN decide come in precedenza. La riga mostra quale configurazione verrà utilizzata, ad esempio Auto (NET), Auto (file del gioco) oppure Auto (nessuna configurazione trovata).
- CUSTOM / NET / GX / SOFT / App PS2 Config — vengono proposte soltanto le configurazioni disponibili per quel gioco. All’avvio, spookyflow copia il file selezionato in
Game.iso.CONFIG.
Una configurazione CONFIG personalizzata (creata, ad esempio, con ManaGunZ) non viene mai persa: prima di sostituirla, spookyflow la conserva come Game.iso.CONFIG.sfbak; scegliendo nuovamente Auto, il file originale viene ripristinato.
Tornando ad Auto viene rimossa la copia creata da spookyflow, così webMAN può effettuare nuovamente la propria selezione. L’ID del gioco viene ricavato dal nome del file ([SLUS-21115]) oppure direttamente dalla ISO.
La funzione non è disponibile per i PS2 Classics (.BIN.ENC) o per i giochi senza ID. Il registro indica le configurazioni individuate e copiate.
Avvio dei giochi (Milestone 3)
Premendo
su un gioco (oppure su un disco nella schermata Scegli disco), il titolo viene passato a webMAN MOD e spookyflow esce verso la XMB; webMAN monta il gioco e, con Avvio automatico attivo, lo avvia. webMAN MOD deve essere installato e in esecuzione (è il componente che monta le ISO e le cartelle su CFW/HEN).
Se non è disponibile, spookyflow mostra il messaggio “L’avvio richiede webMAN MOD in esecuzione” e rimane aperto.
Spookyflow invia una singola richiesta a webMAN (http://127.0.0.1/, implementata in src/core/launch.c): /wait.ps3?xmb;/mount_ps3<percorso>?random=0[&offline=1][&emu=<emulatore>];/wait.ps3?2;/play.ps3
- Attesa della XMB: webMAN non monta i giochi mentre un’applicazione è in esecuzione, quindi attende (fino a 30 secondi) che spookyflow venga chiuso.
- Montaggio del file o della cartella del gioco (ISO PS3 / cartella, ISO PS2,
.cue/.bin/.isoPS1); il percorso viene codificato per l’URL. - Modalità offline (PS2/PS3, per singolo gioco o globale):
offline=1disattiva la rete durante l’esecuzione del gioco; webMAN la riattiva successivamente. - Emulatore: PS1 Standard / Netemu →
ps1_emu.self/ps1_netemu.self; PS2 Netemu →ps2_netemu.self; PS2 Predefinito → emulatore salvato nelle impostazioni webMAN (letto da/dev_hdd0/tmp/wm_config.bin; webMAN decide autonomamente se il file non può essere letto). - Avvio automatico attivo:
/play.ps3avvia l’icona del disco. Disattivato: il gioco viene soltanto montato e rimane in attesa sull’icona del disco della XMB.
Note dal codice sorgente di webMAN MOD: offline= deve precedere emu=; inoltre emu= modifica anche l’emulatore predefinito di webMAN fino al successivo avvio della console, motivo per cui Spookyflow specifica sempre l’emulatore.
Se l’impostazione Avvio automatico di webMAN è attiva, webMAN avvia autonomamente ogni gioco montato: spookyflow non aggiunge quindi /play.ps3 (evitando un doppio avvio) e i giochi vengono avviati anche quando Avvio automatico di spookyflow è disattivato.
Non è ancora stato effettuato un test su hardware reale: il formato della richiesta segue il codice sorgente di webMAN MOD, ma i primi avvii su una console reale rappresentano il vero test. Il registro (/dev_hdd0/tmp/spookyflow/log.txt) memorizza ogni richiesta.
Giochi multidisco
I giochi con nomi come Final Fantasy VII (Disco 1), (Disco 2)… (anche (Disk 1 of 2), (CD1), [Disc1of2], Grandia CD2, Game – Disc 2) vengono mostrati come un unico gioco chiamato Final Fantasy VII, con le dimensioni dei vari dischi sommate.
Anche i giochi con nomi identici a eccezione delle rispettive etichette, come Mortal Kombat – Deception (USA) e Mortal Kombat – Deception (USA) (Bonus Disc), vengono raggruppati allo stesso modo; i dischi vengono elencati utilizzando le rispettive etichette (“USA”, “USA, Bonus Disc”).
Il registro mostra ogni gioco raggruppato e i relativi dischi. Copertina, ID del titolo e Impostazioni gioco provengono dal primo disco. Premendo
si apre la schermata Scegli disco; selezionare un disco e premere
per avviarlo.
Opzionale: immagini personalizzate delle schede
Spookyflow include le immagini delle schede di spooky (0.8.4). Per utilizzare immagini personalizzate, inserire file PNG nei seguenti percorsi (ciascuno sostituisce l’immagine integrata corrispondente):
/dev_hdd0/tmp/spookyflow/tabs/ps1.png/dev_hdd0/tmp/spookyflow/tabs/ps2.png/dev_hdd0/tmp/spookyflow/tabs/ps3.png
Le immagini devono avere uno sfondo trasparente, dimensioni consigliate di circa 200×64 px (massimo 1024×256), preferibilmente con un logo o una scritta bianca.
Le immagini monocromatiche vengono colorate automaticamente: scure sulla scheda attiva (bianca) e bianche sulle altre. Le immagini multicolore vengono invece mostrate senza modifiche. La cartella viene creata al primo avvio.
I file mancanti vengono sostituiti dal testo. Riavviare spookyflow dopo averli aggiunti. Il registro indica se ogni immagine è stata individuata.
File di registro e impostazioni
- Registro:
/dev_hdd0/tmp/spookyflow/log.txt— contiene informazioni sull’avvio, modalità video, ogni cartella analizzata e il numero di giochi trovati, ogni avvio, ogni modifica alle impostazioni e le modalità di uscita dall’applicazione. Ogni riga viene salvata immediatamente, così da rimanere disponibile anche dopo un arresto anomalo. - Impostazioni:
/dev_hdd0/tmp/spookyflow/settings.ini(file di testo semplice).
Per inviare il registro allo sviluppatore: aprire il file manager di webMAN nel browser del PC (http://<ip-ps3>/dev_hdd0/tmp/spookyflow/log.txt), utilizzare FTP per accedere alla PS3 oppure copiarlo su una chiavetta USB tramite un file manager (ad esempio multiMAN / IRISMAN). Successivamente, incollare il contenuto nella chat oppure allegare il file.
Funzionalità previste
- Prossima novità: anni di pubblicazione dei giochi.
Cosa verificare (si prega di inviare un riscontro)
- Schermata di caricamento: Compare immediatamente, presenta animazioni fluide, la riga di stato cambia e la schermata sfuma nel Cover Flow (schede e copertine scorrono sullo schermo).
- Dimensioni e disposizione sul televisore (720p e/o 1080p): La copertina selezionata è grande e centrata, quelle vicine sono distribuite uniformemente e si estendono oltre entrambi i bordi, senza essere tagliate nella parte superiore o inferiore (alcuni televisori ritagliano i bordi: segnalare se le schede o la barra inferiore risultano tagliate).
- Riquadro del titolo: Si adatta alla lunghezza del testo e si anima quando ci si sposta; i titoli lunghi vengono leggermente ridotti e poi abbreviati con “…”.
- Informazioni (genere / giocatori / dimensione): Sono chiaramente visibili sotto la copertina selezionata e sopra la barra dei controlli.
- Fluidità: Premere
; ogni pressione sposta di un gioco in modo fluido (tenendo premuto si sposta soltanto di un gioco). Il funzionamento raggiunge 60 fps oppure presenta scatti? - Schede:
/
fanno scorrere le righe dentro e fuori dallo schermo e il riquadro bianco si sposta in modo fluido. - Navigazione alfabetica: utilizzare
/
con la barra A-Z e verificare il comportamento di
con due pressioni. - Pannelli:
e
li aprono,
li chiude; i valori cambiano con
e
; le Impostazioni Cover Flow scorrono utilizzando una sottile barra di scorrimento. - Ignora “The”: riordina l’elenco mantenendo selezionato il gioco corrente.
- Uscita: Tenere premuto
; l’anello si riempie attorno all’icona, lo schermo sfuma e si torna alla XMB. Provare anche una pressione breve su
(non deve accadere nulla), Impostazioni Cover Flow → Esci verso XMB e il percorso Tasto
→ Esci dal gioco. - I giochi reali (se presenti) devono comparire nelle schede corrette con titoli e dimensioni puliti. Inviare il registro.
- Facoltativo: Immagini personalizzate delle schede.
- Copertine: I giochi devono mostrare le copertine reali, che compaiono gradualmente poco dopo l’apertura e rimangono fluide durante lo scorrimento rapido. I giochi senza copertina mantengono l’immagine segnaposto semplice. Tenere premuto
o
per scorrere molti giochi e verificare che il funzionamento rimanga a 60 fps. Inviare il registro (indica la provenienza di ogni copertina). - Secondo avvio: Le copertine devono apparire quasi immediatamente grazie alla lettura dalla cache.
Elementi noti non verificati
Non è stato possibile eseguire test su una PS3 reale o utilizzare la toolchain PS3 in questo ambiente.
- Il codice non è ancora stato compilato con il compilatore PS3; la prima compilazione GitHub rappresenta il primo test reale. Tutti i nomi delle funzioni PSL1GHT/Tiny3D sono stati verificati rispetto agli header pubblicati e i file PS3 superano un controllo sintattico utilizzando header fittizi creati a partire da quelle firme.
- Il significato della scala di
tiny3d_UserViewport(pixel per unità virtuale) è stato dedotto dal codice sorgente di Tiny3D; se l’immagine appare spostata o ridimensionata in modo errato, questo è il punto da controllare. - Si presume che
Video_aspect == 1indichi il formato 4:3; questo riguarda soltanto l’uscita video SD a 480/576. - Il controllo delle directory utilizza i bit POSIX di
st_mode / d_type == 1(convenzione Cell SDK). - Le prestazioni previste di circa 12-18.000 vertici per fotogramma tramite Tiny3D dovrebbero essere adeguate, ma non sono state misurate.
- L’archivio della toolchain CI (proveniente da bucanero/ps3toolchain, utilizzato dalla CI di Apollo Save Tool) e l’immagine Docker di fallback non sono mantenuti dagli sviluppatori.
sfo.xmlutilizzaATTRIBUTE 0eCATEGORY HG(standard homebrew).- Musica: La decodifica MP3 viene eseguita sulla PPU in un thread dedicato (priorità 1100), con 2 secondi di buffer anticipato; il consumo della CPU Cell dovrebbe essere ridotto, pochi punti percentuali, ma non è stato misurato.
- Le texture delle copertine utilizzano il formato Tiny3D a 16 bit A1R5G5B5. I JPEG vengono decodificati tramite il decoder di sistema (a metà o a un ottavo delle dimensioni quando una copertina è molto più grande del necessario), mentre i PNG utilizzano
pngLoadFromFile(le copertine PNG superiori a 2048 px vengono ignorate per mantenere limitato il consumo di memoria). Nessuna delle due procedure è stata ancora testata su hardware reale.
Funzionalità non previste (intenzionalmente)
- ISO PS2 e giochi PS3 in formato cartella su unità NTFS (l’indice NTFS di webMAN non supporta nessuno dei due).
Changelog v1.0
- Prima versione destinata a brewology.com. La scheda About mostra la versione 1.0 ed elenca le funzionalità attualmente disponibili, tra cui il download delle copertine, il supporto alle ISO PS3 su unità NTFS ed exFAT, l’effetto vetro satinato e l’illuminazione delle custodie. Vengono inoltre indicate le tecnologie utilizzate, tra cui mbedTLS per le connessioni HTTPS e le fonti delle copertine: gamecovers.free.fr, GameTDB, RPDB e xlenore.
- Durante lo scorrimento rapido, il motion blur viene ora generato utilizzando tre copie della riga distribuite lungo lo spostamento di un fotogramma, anziché due copie distanziate di mezzo passaggio. In questo modo, anche i bordi in plastica delle custodie risultano sfocati come le copertine, evitando la comparsa delle due linee nitide presenti in precedenza.
- Gli anni di pubblicazione (0.9.9) sono stati nuovamente rimossi, almeno per il momento: alcuni erano errati, mentre per altri giochi non erano disponibili.
- È possibile verificare il risultato dalla scheda About e tenere premuta la levetta per scorrere rapidamente. Anche le custodie dovrebbero ora presentare l’effetto sfocato, mantenendo stabile il frame rate.
Download: Spookyflow v1.0
Download: Source code Spookyflow
Alcune parti di questo articolo sono state generate con l’aiuto dell’intelligenza artificiale. Questo articolo contiene link affiliati a Amazon. Se acquisti tramite questi link, potrei guadagnare una commissione senza costi aggiuntivi per te.🔥 Prodotti in promozione e articoli più venduti: PS5
Vedi altri prodotti PS5
Ultimo aggiornamento 2026-10-30 / Link di affiliazione / Immagini da Amazon Product Advertising API





