La Pillola del Geek

30 ottobre 2006

Non solo giochi per il mio Cubo!

La mia console sta' invecchiando!
Poco grave se penso che l'ho pagata solo 90€!
Ma attenzione... con il solo acquisto di due giochi, supero il prezzo della console stessa! Perche' devo spendere altri soldi per un qualcosa di ormai superato?!... non stanno per uscire le nuove console E3?

Una soluzione ci sarebbe...
...non solo giochi per il mio GameCube!
ebbene si ragazzi, oggi parliamo di questo fantastico prodotto, realizzato dalla casa nipponica Nintendo, "ma con qualche miglioria in piu' (ovviamente aggiunta da voi!)"...

Nintendo
  • IBM PowerPC, 486 MHz
  • ATI graphics
  • 40 MB of total RAM
  • 8 cm optical drive
  • (optional) 10/100 Ethernet
Voi
  • Qoob Pro
  • gc-linux

Cosa posso farci con un GameCube modificato?

  • installare Linux
  • installare applicazioni homebrew
  • installare emulatori di altre console
  • fare backup di giochi originali

Cosa occorre per modificare il GameCube?

E' possibile modificare il GC tramite SoftMod oppure Modchip. La differenza sostanziale e' che, mentre il SoftMod si concretizza in una emulazione software, il Modchip e' una vera e propria modifica hardware sulla console (non e' altro che un circuito integrato saldato e instalato sul GC).

E' indubbiamente preferibile utilizzare il Modchip, in quanto con esso si ottengono le migliori performance.

Attualmente esistono in commercio sette circuiti Modchip:

  1. NinjaMod
  2. XenoGC
  3. ViperGC
  4. ViperGC/Extreme
  5. Ripper///GC Modchip
  6. Qoob Pro
  7. Qoob Sx

Quello che personalmente preferisco e' il Qoob Pro www.qoobchip.com.
Seguono le caratteristiche di questo meraviglioso chip:

1 = Connettore con fili per installazione
2 = High speed - ultra secure Actel FPGA
3 = 6 MBit Flash
4 = status LED
5 = Connettore cavo flessibile
6 = High speed USB controller
7 = Piastra con connettore USB (rimuovibile)
8 = Connettore Mini USB tipo B

Caratteristiche:
+ Avvio diretto di tutti i tipi di MEDIA senza swap!
+ Supporto multi region (PAL / USA / JAP)
+ MP3 Player incluso nel chip
+ Aggiornamento facilitato dal sistema USB integrato. (Cavo USB incluso nel kit.)
+ Possibilita' di aggiornamento da DVD
+ Possibilita' di aggiornamento via Network(*)
+ Supporta selezione e gestione Bios
+ Supporta Tutte le versioni in commercio (DOL-001 USA, JPN, EUR & DOL-101)
+ Fastboot sui dischi originali
+ Compatibile con "GCOS" e anche altre IPL sostitutive, permettendo lo sviluppo di applicazioni homebrew via SD card (**) e/o network (*)
+ Supporta codice homebrew e open-source
+ Controllo integrato compatibilita' supporti (verifica di tutti i settori del disco iserito)
+ Audio Streaming
+ Integrated status LED
+ Facile Installatione, solo 6 fili da saldare (cavo con i fili per installazione incluso)
+ Menu' grafico a colori per operazioni facilitate
+ Supporta Mini/DVD-R, Mini/DVD+R
+ 16MBit di memoria Flash disponibili per le applicazioni
+ High secure - low power Actel FPGA

(*) Richiede, scheda di rete, venduta separatamente
(**) Richiede adattatore SD card, venduto separatamente

Perche' vi consiglio di installare il Qoob Pro e non un altro chip?

  • Abbiamo la bellezza di 16Mbit di memoria Flash per installare applicazioni homebrew e opensource
  • E' possibile utilizzare i DVD+R e DVD-R invece dei classici miniDVD del GameCube
  • Porta USB e software per la gestione della Flash memory da PC
  • Supporto multi-region
  • Chip robusto e affidabile (garanzia di 6 mesi)
  • Disegnato per posizionarsi perfettamente all'interno del GC senza coprire nessun foro di ventilazione
  • Prezzo contenuto (attualmente 49€ www.modchip.it)

E' difficile installare il Qoob Pro sul GC?

No, non e' difficile! Occorre solo essere precisi e non frettolosi durante la fase di saldatura. Inoltre, abbiamo molte viti e purtroppo non tutte sono semplici da svitate (attenzione quindi a non perderle).
Iniziamo a vedere come si smonta il GC: le prime quattro viti non sono di tipo standard e qundi sono difficili da svitare (esiste comunque in commercio un giravite speciale chiamato "aka Gamebit" e costa circa 8€); allora che facciamo? Semplice, basta prendere una penna pic, squagliare la punta con un accendino, per poi premere contro una delle quattro viti, facendo in modo cosi' da far prendere forma alla punta.
Ora possiamo svitare le prime 4 viti...



...aprite il case superiore...



...rimuovere le altre 4 viti (vedi freccette)...



...altre 4 viti da svitare...



...ancora 4 viti sul lato alimentazione della console...



...2 viti lato ventola...



...altre 3 viti sulla ventola...



...ora 6 viti per il dissipatore di calore (attenzione! Fase delicata!)



Ora che avete denudato il vostro cubo, possiamo procedere per la parte piu' delicata, ovvero quella della saldatura dei 6 fili.
Prendiamo un saldatore da 15-20W a punta piccola e un po' di stagno (quest'ultimo potrebbe non essere indispensabile, in quanto l'estremita' dei fili e' sufficientemente stagnata). Procediamo con la saldatura dei cavetti facendo attenzione a non tenere il saldatore a contatto con i componenti per piu' di 2 secondi, altrimenti potreste correre il rischio di dire "ciao" al vostro GC.
Attenzione seguite lo schema relativo alla vostra versione del GC (rev. A,B o C).
Per chi non ha mai saldato consiglio la lettura di questo favoloso howto.



per la versione C



Ora che avete saldato tutti e sei i fili, possiamo posizionare il circuito Qoob Pro all'interno del GC





Adesso dovete collegare il cavo di alimentazione del Qoob Pro al GC



siamo quasi alla fine...da posizionare ancora il connettore USB...



...la scelta e' personale...







La mia versione preferita e' quella "Alternativa 1"



Non rimontate subito il GC, ma vediamo come tarare la lente del lettore DVD, altrimenti avremo difficolta' ad utilizzare la stragrande maggioranza dei DVD materizzati per Linux, homebrew, emulatori...
Ruotate il trimmer fino a trovare il valore ideale (genericamente tra 170-210ohm), se il supporto e' di qualita' scandente, provate ad abbassare il valore, ma non scendete mai sotto i 110ohm, altrimenti rischierete di bruciare la lente)



Ora si che possiamo rimontare il GC, ma prima vi consiglio di cambiare il case, cosi' da poter utilizzare anche i DVD-/+R (5,25 pollici) e non solo i miniDVD (quest'ultimi sono piu' costosi e difficili da trovare rispetto ai normali DVD)

Marca:
HushTrap
www.gamecubecase.com

Miglior prezzo attuale:
www.modchip.it (24€)

E' arrivata l'ora di accendere il Cubo Moddato!

Scaricate l'aggiornamento del bios (qoob-1.0.4); attualmente l'ultima versione dispononibile e' la Qoob-1.3c, ma purtroppo non e' stabile e personalmente la sconsiglio.
Scaricate anche il software di programmazione Qoob_Flash per USB.
Collegate il cavetto USB (fornito in dotazione con il Qoob Pro) al presa USB del GC e a quella del PC. Accendente il GC e cliccate "Connect to qoob" dal qoob flash software



cliccate su "erase" e selezionate la voce BIOS, poi cliccate su "write" per selezionare il file relativo al bios che avete scaricato prima. Ora selezionate il primo slot disponibile (lo stesso tasto con etichetta "BIOS" che avevate selezionato durante la precedente cancellazione) e attendere il caricamento del nuovo bios.
Allo stesso modo possimo installare programmi homebrew e opensource. Ma attenzione perche' la memoria e' limitata a 16Mbit e non 16MByte!

Ecco cosa appare appena accendiamo la console...



  • "Device"= nome del chip
  • "Rev"= revision del Bios
  • "Drive"= versione del lettore dvd
  • "System"= versione hardware del GameCube
E' possibile inoltre interagire con il joystick per selezionare le seguenti opzioni:
  • pulsante "X"= boot su bios originale
  • pulsante "y"= boot su disco
  • premere "B"= menu di boot (per attivare/disattivare alcune features del bios)
  • premere "A"= check sulla superficie del disco (per verificare se sul disco sono presenti settori danneggiati)
Ho provato ad inserire piu' di 500 giochi del Super Nintendo (SNES9XGC-Beta2) su un unico DVD, e dopo aver acceso il GameCube e' subito apparsa una schermata di menu' dalla quale potevo selezionare il gioco da giocare...cosi' tanti giochi in un DVD non li avevo mai visti in una console!



Ed ero ancora piu' soddisfatto quando dopo aver backuppato i giochi originali su DVD, ero riuscito anche a unire piu' giochi in un solo DVD utilizzando GCMUtility

Finalmente e' arrivato il momento di Linux!

Il GameCube e' una console dotata di una decente RAM e di una buona CPU (PowerPC), ovvero il minimo che occorre per poterci installare Linux...ma esiste un forte handicap: L'HardDisk non c'e' e non e' neanche possibile installarlo (purtroppo su internet non ho trovato nulla di significativo su questo argomento).
E allora a cosa serve Linux senza un HD?
  1. per usare il GC come thin client
  2. per usare il GC come terminale multimediale
  3. per usare il GC come server di sviluppo per preocessori PowerPC
  4. per usare il GC come ambiente di sviluppo per applicazione homebrew
Come thin client: non e' altro che un client supportato dal server, ovvero il GameCube potrebbe essere usato come un desktop che archivia tutti i dati su un server tramite collegamento su ethernet (esiste un adattatore chiamato "BroadBand Adapter", che permette la connessione del GC in rete). In questo modo, il GC potrebbe anche visualizzare internet sul televisore di casa tramite l'utilizzo di un semplice browser.
Come terminale multimediale: il CG ha una CPU che e' sufficientemente potente per poter decodificare tutti i piu' comuni dati multimediali come per esempio MPEG/DivX e MP3. Potrebbe fungere come lettore video e audio con l'utilizzo del supporto DVD, basta comunque sapere che il GC non riesce a leggere piu' di 1,4GB (probabilmente causato dalla limitata escursione del motorino che muove la lente).Oppure potrebbe essere utilizzato per i giochi con l'installazione di un emulatore.
Come ambiente di sviluppo: gli svilppatori professionisti usano "Metrowerks Codewarrior" come complilatore e un semplice set di librerie Nintendo, mentre gli sviluppatori homebrew attualmente possono solo utilizzare GCLIB o libogc, ovvero due librerie Open Source per GC con interfaccia unicamente DOS-like. Grazie alla potenza di Linux, ora gli sviluppatori homebrew possono utilizzare tecnologie avanzate tipo SDL o OpenGL, senza per forza avere quelle conoscenze avanzare sull'architettura del GC, conoscenze familiari solo a uno sviluppatore profesionista della Nintendo. Inoltre, linux agevola la portabilita' di applicazioni esistenti che provengono da altre architetture hardware, per esempio gli sviluppatori potrebbero testare i loro codici su hardware piu' performanti, come per esempio un Apple Macintosh.

Comunque, la scelta di come utilizzare linux, influenza anche il metodo di configurazione e in alcuni casi, obliga oltre all'utilizzo di software diversi, anche l'aggiuta di alcune parti hardware:
  1. per l'utilizzo di linux in rete (tcp/ip)

    • Broad Band Adapter (BBA - adattatore ethernet RJ45 compatibile)
    • Keyboard Adapter (non obbligatorio, ma consigliato)
    • PC (Win/Mac/Linux)
    • Hardmod/Softmod

  2. per l'utilizzo di linux in modalita' standalone

    • Hardmod/Softmod
    • Keyboard Adapter (non obbligatorio)

Vediamo come configurare Linux per trasformare il GC in un server/client di rete:

Il kernel di linux utilizzato dal GC e' un semplice file con estensione ".DOL", che viene caricato al boot e tramite il quale viene attivata la connessione di rete verso il vostro PC (windows/mac/linux). Una volta stabilita la connessione, il GC potra' utilizzare l'HD del PC come partizione virtuale, salvando e prelevando quindi qualsiasi dato da "remoto", internet incluso. Esistono diversi modi per fare il boot del kernel: con l'hardmod (modchip) si puo' flashare il file DOL sul bios del chip (Qoob), oppure caricare il DOL da DVDr (Viper, GCOS); mentre con il metodo softmod (BBA+pso, maxdrive pro, ar+memcard) possiamo caricare il kernel in streaming tramite rete, oppure tramite memorycard. Il metodo che personalmente preferisco e' l'hardmod.

Ora che sappiamo come caricare il kernel, dobbiamo scegliere il tipo di server da utilizzare.



Per chi possiede un PC con Windows, la scelta da effettuare sara' quella di installare un NBD server (Network Block Device). Mentre per un PC con Linux, la scelta cadra' su un NFS server (Network File System).
Per il momento, il test effettuato su ambiente di rete riguarda solo la configurazione di un server NBD (PC con Windows), con l'utilizzo di "samba" lato client sul GC...tra qualche giorno provero' anche con NFS su Linux (quest'ultimo sicuramente piu' performante e stabile!).p.s. anche su Linux e' possibile installare NBD.

Procediamo con la configurazione di tipo NBD e con la modifica degli indirizzi ip: scarichiamo il kernel (zImage.nbdcX.dol) da www.gc-linux.com oppure da modthatcube.pxn-os.org, editiamolo tramite l'editor esadecilmale UltraEdit32 e modifichiamo i due indirizzi ip mettendoli sulla stessa subnet.



Gli indirizzi ip nell'immagine precedente sono 192.168.0.47 per il GC e 192.168.0.49 per il PC che funge da NBD server (Network Block Device) e sono stati cambiati in 192.168.1.32 per il GC e 192.168.1.100 per il PC (la mia subnet e' 192.168.1.0, voi potete cambiarli come volete), se volete che il GC utilizzi il dhcp allora basta impostare "ip=dhcp".

Prima di far partire il kernel sul GC, dobbiamo scaricare i seguenti file sul PC Windows:
Dal PC con Windows, posizionate i files cube_roofs.rar e nbdsrvr-0.2.zip in un'unica directory e poi tramite WinRAR estraetene il loro contenuto. Lanciate il file rootfs-nbdsrvr.bat per attivare il server NBD sulla porta 55321 (ricordatevi di modificare le regole del firewall per permettere connessioni esterne verso questa porta)



Ora carichiamo il kernel zImage.nbdcX.dol sulla memoria del GC (abbiamo visto prima come fare); accendiamo il CG e facciamo partire linux premendo subito il tasto "B" (tastino rosso del joypad)





Se durante il boot di linux appare la scritta "Debian GNU/Linux 3.1 cube tty1", allora vuol dire che e' stata effettuata correttamente la connessione verso il server NBD.
Anche se il kernel di linux e' in grado di riconoscere al boot l'adattatore ps/2 per tastiera, utilizzeremo il favoloso "putty" per operare sul GC tramite connessione remota Telnet (personalmente non ritengo indispensabile l'acquisto dell'adattatore).
Facciamo il login su linux utilizzando l'utente "root" e la password "cube"



E' comunque conveniente cambiare la password



Se nella vostra lan esiste un router/gateway per internet, allora impostatelo su linux tramite il comando "route add default gw 192.168.1.1" (assumendo che 192.168.1.1 e' l'ip del gateway) e poi provate a contattare un sito esterno utilizzando il comando "ping google.it"
Ora tramite "apt-get" (l'Advanced Packaging Tool di Debian), scarichiamo da internet i programmi che vogliamo installare su linux. Per esempio, un programma utile da installare potrebbe essere il famossisimo MPlayer di linux (ovviamente a noi interessa la versione per powerpc):

# echo 'deb http://honk.sigxcpu.org/linux-ppc/debian/ mplayer/' >> /etc/apt/sources.list

# apt-get update (ricostruisce il database in base a source.list)
# apt-get upgrade (aggiorna all'ultima versione)
# apt-get install (installa MPlayer)

Ora che abbiamo aggiornato l'installazione di MPlayer, possiamo testarlo scaricando un mp3 (dedicato a Zelda!) utilizzando il comando wget:

# wget http://ganonstower.com/mp3/sad-1.mp3

ascoltiamolo...

# mplayer sad-1.mp3

Oltre a MPlayer, scarichiamo e installiamo il nuovo alboritmo di compressione bzip2, le librerie multimediali SDL (Simple Directmedia Layer), le librerie con i codec del player xanim

# apt-get install bzip2
# wget http://www.gc-linux.org/down/isobel/sdl/sdl-wip5.tar.bz2
# tar -jxvf sdl-wip5.tar.bz2
# cp nfsroot/cube/usr/local/lib/libSDL-1.2.so.0.7.0 /usr/lib
# ln -s /usr/lib/libSDL-1.2.so.0.7.0 /usr/lib/libSDL-1.2.so.0
# wget http://www1.mplayerhq.hu/MPlayer/releases/codecs/
xanimdlls-ppc-20040626.tar.bz2

# tar -jxvf xanimdlls-ppc-20040626.tar.bz2
# mkdir /usr/lib/codecs/
# cp xanimdlls-ppc-20040626/* /usr/lib/codecs

Ora proviamo ad eseguire un filmato:

# wget http://modthatcube.pxn-os.org/content/files/
linux/ff-zombie.avi

# mplayer -vo sdl -ao sdl -framedrop ff-zombie.avi

Fino ad ora abbiamo visto come utilizzare internet dal Gamecube per poter scaricare programmi, mp3 e avi, ma non sappiamo ancora come utilizzare una qualsiasi risorsa condivisa dal Windows (in aggiunta al filesystem virtuale ext2 che e' gia' montato da remoto):

# mkdir /mnt/share
# nano /etc/fstab oppure vi /etc/fstab

modificare "/dev/nbd0 / ext2 defaults 0 0" con
"/dev/nbd0 / ext2 defaults 0 1"

installiamo "samba" (smbfs, smbclient):

# apt-get install smbfs smbclient
# echo '//NOME_SERVER/NOME_RISORSA /mnt/share smbfs
user=xxxx,password=yyyy,defaults,ro,user,nauto'>>/etc/fstab


Per "montare" la risorsa condivisa:

# mount /mnt/share
# cd /mnt/share; ls -l (ora siamo dentro la directory condivisa del PC)

Per ulteriori modifiche su "samba", potete editare /etc/samba/smb.conf


Ora vediamo invece come installare il grande emulatore SNES, l'SNES9X:

# wget - Q http://voidpointer.org/gc-linux/snes
# wget http://www.gc-linux.org/down/isobel/gx/gxsnes9x_static5
# sed "s\/usr.*$\gxsnes9x_static5\g" -i snes
# chmod u+x snes gxsnes9x_static5
# mv snes gxsnes9x_static5 /bin

Scaricate da internet un gioco snes (rom con estensione .smc) e provatelo:

# snes gioco.smc

Un' altro emulatore che possimo installare e' ScummVM (emulatore delle avventure della Lucararts):

# wget 'http://modthatcube.pxn-os.org/content/files/
linux/scummvm.tar.tgz'


# tar -xvzf scummvm.tar.tgz
# cd /bin
# chmod u+x scummvm
# chmod 777 scumm
# scumm

Possiamo installare moltissimi altri emulatori per linux, per esempio Gcube (emulatore GC su linux), GNGEO (emulatore Neo Geo), AdvMame (advanced multiple arcade machine emulator), xmame (emulatore mame), Genesis Plus (emulatore Genesis), FCE Ultra GC (emulatore NES), Hu-go! (emulatore console "PC Engine") ... e tanti altri. Vedi anche il forum di tehskeen.com

Non solo emulatori... possiamo installare anche il browser lynx, il client irc BitchX, un KDE allo stato embrionale, un micro server web...e altri ancora... ricordate comunque di fare lo "shutdown" prima di spegnere la console:

# shutdown -h now

L'nstallazione in rete del GC non e' sempre necessaria e non sempre conviene: sia gli emulatori che i programmi per applicazioni multimediali non hanno per forza bisogno della connessione di rete, possono essere installati su un DVD, oppure addirittura su una memoria MMD/SD (gc-linux supporta anche le memory card!).
Vi consiglio di installare linux per utilizzo stand alone del GC.
Quindi, vediamo come installare MFE-Distro (mini [Mplayer] Font-End).

MFE e' un distribuzione linux che fa il boot direttamente da DVD e non ha bisogno di alcun PC collegato alla rete. Questa distribuzione serve esclusivamente all'utilizzo di MPLayer, trasformando cosi' il GC in un lettore multimediale (DivX, XviD, SVCD, MPEG2, VOB...). Ora, fortunatamente non dobbiamo per forza spendere altri soldi per l'acquisto del BroadBand Adapter, e non occorre l'adattatore per la tastiera perche' e' possibile utilizzare il joypad!
Inoltre, la versione utilizzata di MPlayer sfrutta pienamente la potenza del GC, in quanto, e' presente un utilizzo di tipo avanzato per le SDL e il codice di accelerazione YUV e' stato migliorato e ottimizzato per il processore PowerPC.

L'installazione e' molto semplice, basta scaricare il file del kernel (mfe-boot.dol) e il file relativo all'immagine del filesystem (mfe-fs.bz2 che si trova dentro mfe-distro-1.0.tar.bz2) , per poi masterizzarli sul DVD insieme a tutti i video che preferite (in aggiunta e' possibile includere uno o piu' file per i sottotitoli in linuga diversa).



I DVD che utilizzo sono dei normali fortis x4 e il masterizzatore e' un Lite-on mod.ldw-451s.

Ora inseriamo il DVD nel lettore GC e premiamo il pulsante si accensione!


Scusate per la qualita' ma ho usato una macchinetta fotografica!

Una volta che parte il bios del modchip, selezionate da menu' il kernel linux (mfe-boot.dol) e attendete il completamento del boot di linux, fino a quando verra' eseguito automaticamente MPlayer; ora tramite il joypad possiamo selezionare i film che vogliamo vedere!



Selezioniamo "/cdrom" per leggere i film da DVD e premiamo il pulsante "A" (quello verde del joypad)



con i pulsanti "L" o "R" possiamo scorrere velocemente in avanti o indietro il filmato...



...pause premendo il pulsante "A"....



...abbiamo la possibilita' di aggiungere i sottotitoli premendo il tasto "X"...



...riprendo "X", se disponibili, cambieremo la lingua dei sottotitoli...



...pre levare i sottotitoli premiamo ancora una volta "X"

Secondo la mia opinione, questo lettore multimediale compete e supera, in qualita' e nelle performance, sia XBOX Media Center (XBMC) che PS2 Media Player; l'unica pecca e' che non e' possibile utilizzare piu' di 1,4G in un singolo DVD e in questo caso la connessione in rete potrebbe risovere il problema!

ah..dimenticavo, linux ha anche il supporto per il microfono opzionale (ma chi sara' mai il pazzo che acquista queste cose...!?)

Per concludere, ricordo a tutti che modificare la propria console non e' reato! La console e' vostra e ci fate quello che volte!
Ma attenzione, chi copia opere protette viola un contratto ed è perseguibile penalmente secondo le leggi vigenti.
Scaricate solo materiale multimediale non protetto da copyright!

Questo articolo e' per la diffusione di Linux ed esclude qualisi atto illecito a finalita' di lucro o profitto! ciao!!!

Etichette: , , ,

3 Comments:

Anonymous Vincenzo said...

Non riesco a far funzionare i DVD masterizzati al di sotto dei 4x e non mi funzionano i DVD riscrivibili...e' cosi' anche per voi? ...qualcuno dice che e' possibile utilizzare anche i riscrivibili...sara' vero? Probabilmente anche questi devono essere masterizzari a 4x.

21/11/06, 00:41  
Blogger Simone said...

Molto utile, appena ho i soldi ci provo. Sarebbe anche bello se magari pubblicassero un emulatore di altre console su Linux per Gamecube (magari giochi PS2 su GC). Non capisco però una cosa: non si possono mettere film superiori al 1,4 GB o non bisogna PER FORZA superare questo limite?

27/06/07, 21:47  
Blogger jacopo said...

io sinceramente posso dirti che ho trovato assistenza e supporto nel fare la mod al mio cubetto da www.dedoshop.com
se avete difficolta' rivolgetevi li

23/09/09, 01:30  

Posta un commento

Links to this post:

Crea un link