Oggi andiamo ad occuparci dell'aspetto principale e primario per cui si dovrebbe Jtaggare o Glitchare una Xbox360:
Imparare un linguaggio di programmazione e sperimentarlo su di essa: Divertimento e soddisfazione allo stato puro!
Come dite? Non sapete nulla di programmazione e faticate persino a programmare "la partenza intelligente" durante le ferie estive?
Avete abbandonato l'idea di programmare già negli anni 80, quando siete rimasti scioccati dalla difficolta di impostare una videoregistrazione sul vostro TimeLapse Long Play, tanto da dover saltare persino la messa domenicale (Il manuale era di circa 1000pagine...)?
MMMhhhhhh, forse siete stati da troppo tempo utenti dell'altro foro e l'unico stimolo che albera sulle vostre menti è quello di acquistare "l'ultimo ritrovato tecnologico" in attesa che ne esca uno più bello, costoso e probabilmente superfluo da volervi "appiccicare".
Bene, bene, non disperate, siete ancora in tempo per recuperare: personalmente vado ad offrirvi un Tutorial a "costo zero" che si limiterà a rendervi autonomi nella compilazione di "codice sorgente" sviluppato da chi di programmazione "se ne intende". Non sarà tanto...ma è un primo passo verso l'esplorazione di un mondo che potrete approfondire se ne ricaverete gioia e passione.
La nostra lista della spesa è molto semplice e scarna:
1) Un semplice pc con installata una distribuzione Linux (consiglio Ubuntu 10.04)
2) Tanta pazienza
N.B. Personalmente ho utilizzato con successo una installazione virtualizzata tramite VMWare
Cominciamo con l'aprire un terminale (Applicazioni---Accessori---Terminale) e digitiamo il comando
Digitiamo la nostra password di amministratore e diamo invio
Diamo in sequenza questi due comandi:
Se non avete mai aggiornato la vostra Ubuntu, ci vorrà un pò di tempo prima che il processo termini...perciò portate pazienza...
Una volta che il processo sarà terminato eseguite:
Codice:
apt-get install libgmp3-dev
Allegato 818
Codice:
apt-get install libmpfr-dev
Codice:
apt-get install libmpc-dev
Codice:
apt-get install texinfo
Codice:
apt-get install git-core
Codice:
apt-get install build-essential
Codice:
apt-get install subversion
Codice:
git clone https://github.com/gligli/libxenon
Spostiamoci ora sulla Cartella libxenon appena creata e più esattamente nella sottocartella toolchain con il comando
Codice:
cd libxenon/toolchain
Ed eseguiamo un build della toolchain:
Codice:
./build-xenon-toolchain toolchain
Allegato 820
La toolchain dovrebbe cominciare ad installarsi e richiederà un pò di tempo.
Se dovesse avvenire un errore di gcc building 2nd stage, provare ad eseguire un:
Codice:
apt-get install libgmp4-dev
e rilanciare il build della toolchain
Alla fine della compilazione verrà chiesto di aggiungere i paths alla vostra ~/.bashrc
Allegato 821
Forse vi verrà indicato un'altro path se non state creando il vostro ambiente di compilazione con Ubuntu, perciò state attenti a cosa vi viene proposto
A questo punto, nel nostro caso, dobbiamo editare bashrc e per farlo (tra i tanti metodi disponibili) possiamo lanciare il comando:
Posizioniamoci alla fine del file ed incolliamo le seguenti linee (Tasto destro---paste)
Codice:
export DEVKITXENON="/usr/local/xenon"
Codice:
export PATH="$PATH:$DEVKITXENON/bin:$DEVKITXENON/usr/bin"
Salviamo il file appena editato (Ctrl+O per salvare, verrà richiesto un filename che confermerete con INVIO per poi premere Ctrl+X per chiudere l'editor nano)
Bene, a questo punto, in linea teorica saremmo già pronti per programmare o compilarci autonomamente i nostri binari preferiti!
In questo tutorial ci siamo ripromessi di compilare l'Emulatore Nintendo64 codato dall'ormai famoso GliGli, perciò anzitutto ciò che dobbiamo fare è copiarci i suoi sorgenti presenti nella sua "git repository pubblica"
Diamo quindi il comando:
Codice:
git clone https://github.com/gligli/mupen64-360
con il quale ci ritroveremo in locale una bella cartella (mupen64-360)
Allegato 822
Ora, in questo specifico caso, prima di procedere con la compilazione vera e propria dobbiamo installarci una serie di librerie utilizzate dall'emulatore in questione e non presenti a default nella toolchain precedentemente installata.
Stiamo parlando di zlib, libpng e ZLX
Scarichiamo zlib da [URL="http://zlib.net/zlib-1.2.5.tar.gz"]http://zlib.net/zlib-1.2.5.tar.gz[/URL]
Scompattiamola sulla nostra Scrivania e poi diamo un bel
Codice:
chmod a+x ./configure
Codice:
export CC=xenon-gcc
Codice:
export CFLAGS="-mcpu=cell -mtune=cell -m32 -fno-pic -mpowerpc64 $DEVKITXENON/usr/lib/libxenon.a -L$DEVKITXENON/xenon/lib/32/ -T$DEVKITXENON/app.lds -u read -u _start -u exc_base"
Codice:
export LDFLAGS=""
Codice:
./configure --prefix=/usr/local/xenon/usr
A questo punto apriamo il file Makefile in un editor (ad esempio gedit) e ricerchiamo questra stringa:
Codice:
cp $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir)
che andremo a commentare in questo modo
Codice:
#cp $(SHAREDLIBV) $(DESTDIR)$(sharedlibdir)
In pratica l'abbiamo semplicemente remmata (#) evitandone l'esecuzione
Allegato 824
Ora diamo questi due comandi:
Codice:
make CROSS_COMPILE=xenon-
Codice:
make CROSS_COMPILE=xenon- install
Ed avremo finalmente installata la zlib!
Passiamo ad installare libpng:
Installiamo anzitutto "libtoolize32bits" scaricabile da questo indirizzo [URL="http://launchpadlibrarian.net/65769398/libtool_2.2.6b-2ubuntu3_i386.deb"]http://launchpadlibrarian.net/65769398/libtool_2.2.6b-2ubuntu3_i386.deb[/URL]
Installiamo il pacchetto .deb appena scaricato facendo doppio click sullo stesso (Ubuntu scaricherà automaticamente anche le eventuali dipendenze)
Ora Scarichiamo la libpng da questo indirizzo [url=http://www.multiupload.com/0FXPNBTY80]Multiupload.com - upload your files to multiple file hosting sites![/url]
Scompattiamo l'archivio e troveremo la cartella libpng-1.5.2 nel percorso zlx/libs/src/
copiamo questa cartella nel Desktop (o Scrivania visto che siamo in ambiente Ubuntu)
Ora diamo da terminale un bel
Codice:
apt-get install automake
Codice:
apt-get install autoconf
Posizionamoci sulla nostra cartella libpng-1.5.2 che avevamo copiato sulla Scrivania e diamo il seguente comando:
Codice:
chmod a+x ./autogen.sh
poi un bel
Codice:
make CROSS_COMPILE=-xenon-
Codice:
make CROSS_COMPILE=-xenon- install
Ed avremmo finalmente installata anche la libpng!
Ora andiamo ad installare ZLX
Scarichiamo ZLX da LINK RIMOSSO POICHE' PROCEDURA NON PIU' VALIDA, SEGUITE IL THREAD SUCCESSIVO!
Allegato 823
Scompattiamo il file ed eseguiamo
Codice:
make -f Makefile_lib
Codice:
make -f Makefile_lib install
Ora compiliamo ed installiamo bin2s.c in maniera da averlo settato in base alla architettura del nostro pc (nel mio caso opero a 32bit):
Posizioniamoci nella directory TOOLS presente nella cartella LZX precedentemente estratta e compiliamo con il comando
Codice:
gcc bin2s.c -o bin2s
Ora copiamo il binario appena compilato nella directory /usr/local/xenon/bin con il seguente comando:
Codice:
cp -r '/Path/bin2s' '/usr/local/xenon/bin'
IMPORTANTE! ALLA VOCE PATH dovrete inserire perlappunto il vostro PATH che nel mio caso è:
cp -r '/home/vdr/Scrivania/zlx/tools/bin2s' '/usr/local/xenon/bin'
BENE SIAMO FINALMENTE PRONTI A COMPILARCI IL NOSTRO EMULATORE:
POSIZIONIAMOCI SULLA CARTELLA MUPEN64-360 (Io l'ho nella home)
Codice:
make CROSS_COMPILE=xenon-
Se tutto è andato per il verso giusto dovreste avere il vostro bel file binario (ELF) pronto all'uso....
non vi resta che lanciarlo tramite Xell rinominando il file mupen64-360.elf in xenon.elf e copiandolo su una pendrive usb verrà startato automaticamente
Vi ricordo che i file elf non possono essere lanciati od eseguiti tramite freestyle dash e non vi è modo maniera di convertirli in xex (file compilati con sdk Microsoft).
BUONA COMPILAZIONE....e chissà che la prossima volta non mi ritrovi a compilare il VOSTRO...di codice sorgente!
P.S. Queste sono altre fonti interessanti di codice sorgente da poter compilare/modificare
[URL="http://github.com/Diggs/"]http://github.com/Diggs/[/URL]
[URL="http://github.com/JQE/"]http://github.com/JQE/[/URL]
[URL="http://github.com/Ced2911/"]http://github.com/Ced2911/[/URL]
[URL="http://github.com/tuxuser/"]http://github.com/tuxuser/[/URL]
Oltre la già citata
[URL="http://github.com/GliGli/"]http://github.com/GliGli/[/URL]
Segnalibri