[Scena Ps3] Bite 1.5 in arrivo, spiegazioni su minimalist pspsdk

Il progetto Bite nato circa un mese fa cresce di giorno in giorno, oggi vogliamo spiegarvi il concetto alla base del funzionamento per poter creare homebrew remaster per la nostra psp o ps3 (anche per console con firmware originale).

psp-ps3_c

Molti di voi hanno chiesto spiegazioni in merito al funzionamento di tale procedura, può sembrare complesso ma in verità risulta essere di facile comprensione, anche per chi alle prime armi.

Prima cosa scaricare ed installare minimalist pspsdk

Minimalist Pspsdk è una versione modificata di GCC (GNU Compiler Collection) in grado di creare codice eseguibile sulla console Sony PSP, è stata realizzata verso la metà del 2005. Attraverso di essa, si ha la possibilità di sfruttare tutte le potenzialità della PSP, scrivendo codice C o C++.

Tale versione del GCC, chiamata PSP-GCC, è inclusa in un pacchetto chiamato PSPSDK. Il PSP-GCC fornisce delle buone prestazioni, ma ignora completamente la presenza della VFPU:  la conseguenza di questo è che i programmatori che volessero usare tale componente per accelerare i calcoli in virgola mobile devono obbligatoriamente inserire nel loro programma C delle routines in un particolare linguaggio assembler. L’assembler della PSP è una versione particolare del MIPS, detta Allegrex.

Per arrivare alla creazione del PSPSDK è servito il contributo di molte persone, dato che Sony non ha rilasciato alcuna documentazione sul formato degli eseguibili, ad esempio. Tutto è stato ottenuto mediante la tecnica del reverse engineering.

Una complicazione possibile è data dal fatto che il formato degli eseguibili è diverso a seconda che la PSP monti un firmware 1.50 oppure un custom firmware.

Entrambi i formati di file usano l’estensione PBP, ma la struttura interna è totalmente differente. Nei PBP per fw 1.50, il PBP contiene un file eseguibile in formato .ELF, mentre nei PBP per custom firmware, il file PBP contiene un file in formato .PRX.

Inoltre, nei custom firmware è stata eliminata la possibilità per i PBP di accedere direttamente a funzionalità in kernel mode.

Il linguaggio C utilizzato dalla PSP mostra alcune differenze rispetto al normale linguaggio C (nota l’impossibilità di usare direttamente il comando printf e l’obbligo di usare particolari macro di piattaforma per definire alcuni attributi dell’eseguibile, come il funzionamento in kernel o in user-mode), che rendono consigliabile, a chi volesse usare il PSPSDK, di consultare prima i vari forum specializzati su Internet.

Infine, va osservato che Sony cambia ad ogni rilascio del nuovo firmware alcuni codici a 32 bit che corrispondono a funzioni del sistema operativo (detti NID), costringendo i programmatori ad aggiornare i propri programmi per supportare le nuove versioni dei firmwares.

Tutte queste difficoltà, unite ad una parziale incompatibilità del codice per PSP-SLIM e del codice per PSP-FAT, rendono alquanto complesso programmare per PSP. Malgrado questo, il numero di homebrew creati per questa piattaforma è notevole.

Alcuni team di sviluppo, allo scopo di semplificare il processo di sviluppo per la PSP, hanno sviluppato alcune tecnologie che, appoggiandosi al PSPSDK, eseguono automaticamente molte delle operazioni a basso livello necessarie per ottenere il file PBP, coprono al programma chiamante le differenze di architettura, consentono l’uso di uno pseudoemulatore MIPS per testare i propri programmi prima di flasharli sulla PSP, forniscono routines ad alto livello per l’accesso alla grafica ed al suono, consentono l’uso di un C compatibile con gli standard ANSI, e permettono di scrivere codice portabile.

È con questi obiettivi che in Italia è stato sviluppato l’SDK Nanodesktop. Esso è stato sviluppato per fornire un ambiente a finestre e per facilitare il porting di software scientifico-universitari come le OpenCV.

Altri team di sviluppo, pur mantenendo le peculiarità del C della PSP, hanno sviluppato propri engine che facilitano il processo di sviluppo degli homebrew.

È questo il caso dell’LTE Engine, è una libreria C++ più orientata presso la programmazione di videogiochi (è basato su un motore IrrLitch) o del porting delle librerie SDL.

Sony ha sempre contrastato la possibilità degli utenti di sviluppare propri homebrew. Nella versione 1.5 del firmware, questa possibilità era contemplata, ma nelle versioni successive fu eliminata dalla casa madre.

Non sono note le ragioni: probabilmente il timore di Sony era che alcuni homebrew potessero essere usati per eseguire copie illegali di giochi commerciali, eludendo le protezioni anticopia previste dalla casa madre per proteggere il lavoro dei propri sviluppatori ufficiali.

Tuttavia, la strategia di Sony avrebbe impedito anche l’esecuzione di homebrew scritti legittimamente dagli stessi utenti della console. Per tale ragione, alcuni hacker sono riusciti a produrre dei firmware modificati, detti custom firmware, che oltre ad aggiungere nuove funzioni, recuperano la possibilità per l’utente di eseguire propri homebrew sulla propria console (ovvero, la possibilità di eseguire codice digitale non firmato).

Sony aggiorna periodicamente i propri firmwares ufficiali (in genere rimuovendo i bug delle versioni precedenti), e gli hacker rilasciano dopo poco tempo le corrispondenti versioni “hackerate” che comprendono le nuove funzioni e che permettono l’esecuzione degli homebrew.

Scarica minimalist Pspsdk

(Visited 158 times, 1 visits today)

12 commenti

  1. ma come anticipato cosa????? ma sai leggere?leggi all inizio!!! oppure leggiti gli altri post su bite. se non fosse per me tu nn sapresti nemmeno della notizia. l ho postata io su ps3mod!

    1. hahahah Oddio ma cosa centra! xD
      1. Lo sapevo gia da prima che tu lo scrivessi perche me lo ha detto un utente dello staff gia prima di fare il primo post di Bite 1.5…
      2. Homebrew PSP sono Homebrew Sviluppati su PSP e non su PS3… Quindi Iris è un Homebrew PS3 e non puoi signarlo…
      3. Tutti questi post sono Anticipazioni alla Release Finale…

  2. Domandina ragazzi.. Secondo voi, si riuscirà a far partire il Prometheus ISO Loader? 🙂 Sarebbe perfetto dato che Kingdom Hearts Birth By Sleep su Ps3 ancora non va mentre con quel Loader so già di si!! Voi che dite quindi?

  3. Ma non si era parlato solo di un nuovo programma per giocare i titoli psp ?
    e renderlo più compatibile ?
    quello di prima faceva tutto in automatico …….questo non si capisce niente…
    anzi’chè facilitare la cosa si è omplicato tutto ?
    Ultimate Ghost Goblin’s su PS3 R.I.P

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *