Oggi Deank (sviluppatore di MultiMAN) ha avuto un interessante discussione con un gruppo molto agguerrito di sviluppatori e volevo riportarla qui per i nostri lettori, in modo da chiarire anche per loro perchè è necessario andare avanti sbloccando la scena, piuttosto che fossilizzarsi su chiavette quali TrueBlue o FIX che arrivano dopo mesi per CFW 3.55.

L’esempio di Deank è stato chiaro come il sole e ve lo riporto tradotto da me, e riadattato anche per i neofiti:

Ammettiamo che io voglia sviluppare un applicazione su PS3.

Ho a disposizione 2 console di sviluppo, una ha un Firmware 1, e l’altra invece l’ho aggiornata ad un firmware successivo, mettiamo che si chiami Firmware 3.

 

Mi metto a sviluppare la mia applicazione: ovviamente la vita del programmatore è semplificata da alcune librerie di sistema che consentono di fare operazioni piu’ complesse e ripetitive con qualche righetta di codice. (Nell’ambiente PS3 le librerie esterne sono files che hanno estensione sprx)

Ammettiamo di voler creare un applicazione che scriva “Ciao” sullo schermo dell’utente, con risoluzione 1080p 3D, e che la scritta abbia un bell’effetto sul testo a cui la applichiamo.

Bene: apro l’ambiente di sviluppo e programmando per il firmware piu’ nuovo (Firmware 3) posso semplicemente scrivere, richiamando le librerie di sistema):

 

risoluzione(1920, 1080, 3D);

 

In questo modo ho impostato la risoluzione, richiamando un apposita funzione, ed inoltre ho anche attivato il 3D, come volevo.

Poi passiamo a scrivere il messaggio Ciao su schermo:

 

scrivitesto(0,0,”Ciao”,10,effetto_acqua);

 

In quest’altra riga invece ho richiamato una funzione scrivitesto che si occupa di mettere in cima allo schermo (posizione x,y = 0,0) una bella scritta “Ciao” larga 10 punti, che inoltre abbia un bell’effetto “acqua”, giusto per rendere le cose piu’ carine alla vista!

Concludo il mio programma e lo avvio sulla console con Firmware 3:

Il programma si avvia e mostra proprio quello che volevamo: una scritta Ciao con un bell’effetto acqua, larga 10 punti,ed inoltre in 3D con una risoluzione da FullHD! Perfetto direi!

 

Avviando lo stesso programma sulla vecchia console con firmware 1, le cose possibili sono 2:

  • Il programma non parte affatto.
  • Il programma parte, ma è probabile che non sarà bello come quello che avevamo pensato o visto sul Firmware 3.
Il motivo è da affidarsi alle librerei di sistema: che magari in quella vecchia versione, Firmware 1, non avevano ancora implementato il supporto all’”effetto_acqua” che io ho usato, oppure non avevano il parametro “3D” che creasse l’effetto 3D.
Adesso immaginate che Firmware 1 sia il 3.55, e Firmware 3 sia il 4.00.
Morale della favola: non è possibile essere sicuri che un gioco progettato per un FW superiore abbia la stessa resa su un FW piu’ vecchio.
Ecco perchè ogni tanto Uncharted ha dei bug grafici immensi,o FIFA scatta paurosamente: è tutta questione di librerie di sistema e di chiamate a funzioni che forse il FW 3.55 nemmeno conosce.
Le patch del TrueBlue ovviamente non possono tappare questo tipo di mancanze, si limitano a far avviare l’EBOOT del gioco anche se non è stato progettato per quel FW. Quindi la fine dei dongle USB è vicina!Molto vicina!
Questo ovviamente è un articolo molto tecnico, ma penso che sia comprensibile anche a chi non si intende di programmazione, e ho voluto citarlo giusto per evitare che la gente compri qualcosa credendo che sia la gallina dalle uova d’oro quando non lo è!