venerdì 24 luglio 2015

GP2X


La GP2X è un pezzo che racconta un periodo della mia vita avvincente per certi versi un sogno.
Nel prepararla per il suo trasloco nel nostro museo mi ha fatto rivivere il periodo che a me non sembra lontano ma che per molti dei nostri soci è metà della loro vita e per alcuni ragazzi può essere anche prima di essere nati… si il tempo scorre veloce e inesorabile e anche io rivedendo la musica i video e le foto mi accorgo di quanto sono cambiato.


Cominciamo la nostra storia con un preambolo:
la Game Park società Koreana alla fine del 2005 si scinde in 2 società: Game Park Holding (GPH) e Game Park.
Già in precedenza producevano una console simile alla GP2X: la GP32 la Game Park avrebbe dovuto realizzare una console sua la XGP ma non fu mai messa in commercio.
Le prestazioni deludenti della GP32 unite a molti problemi hardware / software avevano pero un po’ affossato l’idea innovativa. L’idea era quella di una console portatile “OPEN” in cui fossero gli utenti e l’homebrew i produttori del software e non le blasonate software house strizzando anche l’occhio al mondo retrocomputing ed emulazione. insomma una mezza pirate machine.
Con la scissione della societa la gamepark holding iniziò la produzione della GP2X.
Le migliorie sono notevoli 2 processori arm, 64 mega di ram, una nand interna  da 128 mbyte, un nuovo kernel linux serie 2.4 e un nuovo schermo 320x240.
Distribuiscono anche un nuovo sdk per lo sviluppo basato sulla ide di mingw devc++ modificata con dentro  un toolchain. Si tratta di software open e in effetti è tutto open eccezion fatta del bootloader mantenuto chiuso solo per evitare che vengano creati cloni compatibili.


Il resto lo fanno i vari distributori nazionali: quello tedesco “Michael Mozrek” mette in piedi uno store antellitteram (l’iphone e app store sono ancora da essere pensati) dove confluisce tutto il software disponibile L’importatore inglese invece sponsorizza diversi progetti di giochi e porting di giochi open source. Il distributore italiano (tecnologie creative)  invece allestisce un sito per sviluppatori:  gp2xdev.net.
L’epilogo di questa avventura è purtroppo legato alla nascita degli smartphone e a scelte francamente discutibili. Il colpo di grazia arriva con il pandoro (in italia pandora per evidenti motivi) e la gp2x wiz.


La mia storia invece con la GP2X nasce invece alla fine del 2005 con un mio amico tedesco, che manteneva il forum sdlBasic nella sua lingua nativa, che mi parla di questa console. In questo periodo mi trovo in un cambio rapido nelle abitudini degli informatici che si mettono in massa ad usare microsoft messenger invece delle classiche intramontabili mail. Insomma mi chiede se  non è possibile portare sdlBasic sulla console dato che è comunque linux, è open e portare il runtime di sdlBasic vuol dire portare tutti i giochi anche sulla console. Contatto il fornitore tedesco per sapere se è possibile avere una console di sviluppo in conto visione o come preferiscono ma quest’ultimo tergiversa e finisco per comperarla come utente. Il costo è in effetti abbastanza elevato circa 200 euro e la console è priva di tutto perfino dell’alimentatore che rimedio con uno universale.
Le 2 batterie stilo hanno una durate ridicola : meno di 2 ore. Pero è una console fantastica!!
Sicuramente il nintendo ds è meglio e non costa molto di più ma questa è open!
Siamo nel 2005 internet con modem56k (almeno per me ) i cellulari con lo schermo in bianco e nero e il top è il nokia n70. Inizio a giocarci: scarico un po di software l’sdk i giochi portati e scopro il sito italiano degli sviluppatori. Insomma entro nell’ambiente.
Subito mi rendo conto che ci sono 2 strade per sviluppare: l’sdk ufficiale windows decisamente facile e compatto ma limitato e difficile (per le mie conoscenze di allora ) da espandere oppure linux e i toolchain con compilazione statica usando il meglio a prezzo di eseguibili molto grandi. Nell’ambiente ci sono grosse differenze tra i software: a fianco di prodotti professionali e porting perfetti ci sono software mediocri e malfatti insomma molta fuffa. I programmi a pagamento sono semplicemente pochissimi. Altra cosa stranissima è l’età media degli sviluppatori: 18 anni!!! ci sono un sacco di ragazzini 15 enni che ci sanno fare o che fanno baccano e contorno. il forum del sito è vivo e pieno di post e io sono di gran lunga il più vecchio di tutti, anche degli importatori. Tanto che temo di avere la sindrome di Peter Pan
Non riesco a compilare sdlbasic in questa piattaforma e non ho una connessione sufficente per scaricare i (sigh) 100 mbyte dei toolchain linux. Finisco quindi per prendere un gioco linux mancante (flobopuyo) e inizio a fare il porting.
Gp2x è integralmente basata sulle sdl che lavorano in frame buffer. Non c’è x11 e il menù è a tutti gli effetti un launcher scritto con le sdl. La connessione con il pc è attraverso una mini usb e ethernet su usb. Con linux è davvero facile collegarla e per windows c’è un driver da installare. In questo somiglia enormemente alla moderna arietta. I software conviene installarli sulla sd esterna mentre sulla nand c’è tutto il software di sistema anche se ci sarebbe un po’ di spazio extra.
Ricordo poco del porting di flobopuyo: solo che ci ho messo pochissimo che ho dovuto cambiare controlli e parte del menù e che ho scalato tutta la grafica, ho dovuto cambiare il colore di un tipo di elementi per via della resa sul piccolo display e ho cambiato i file audio dal formato mod al formato ogg. Qualche ora di totale trance programmatoria e verso sera riesco a pubblicare il gioco sul repository. Quello che succede nelle ore successive è qualcosa di magico inaspettato e incredibile. dopo un ora il contatore dei download segna 10000!
nella notte diventa 40000 e al mattino è uno dei programmi più scaricati di sempre: si ammetto che il porting è pressoche perfetto ma non mi è mai più capitata una cosa simile. Ancora più incredibile la mail di Evildragon “Mozrek” con la richiesta del permesso di mettere il gioco nella nand in fabbrica e la notizia che sono 3 giorni che il reparto sviluppo in corea è inchiodato a giocare con il gioco :D.
Resta il nodo sdlBasic io non ne esco e decido di sviluppare almeno qualcosa di simile ma più semplice. E’ li che nasce il progetto SGL. La libreira c che rende piu facile scrivere i giochi si dimostra  subito performante e veloce e la metto a disposizione di tutti. Purtroppo pero non “prende” come mi aspettavo. Nel frattempo nel sito le amicizie crescono  e mi trovo incredibilmente a mio agio con questi ragazzi giovanissimi (molti sono ancora miei amici anche ora che  sono cresciuti e lo ricordano come un tempo lontano).
E alla fine arriva un Mago  con la emme maiuscola Cesar Urbiquez che da taiwan dove scrive driver per hardware mi compila sdlBasic statico per gp2x e mi manda tutto il toolchain per cross compilare sdlbasic in un colpo solo per tutte le piattaforme da linux.


Come tutte le cose belle anche l’avventura gp2x finisce ma preferisco sorvolare queste parti per conservare al meglio il bello e l’entusiasmo che ha rappresentato questo periodo della mia vita.










1 commento:

comPVter ha detto...

Bravissimo vRoby !
Una bella storia da leggere tutta d'un fiato.