sabato 11 dicembre 2010

DSTWO SDK 0.13 Beta rilasciato!

DSTWO
Finalmente dopo parecchio tempo il team Supercard ha rilasciato al pubblico l'SDK della DSTWO!
Questo significa che chiunque potrà creare homebrew per questa card sfruttandone la potenza aggiuntiva.
Il changelog di questa versione è:

  • do some modifications of communication protocol to improve communication speed. But for compatibility with older versions, Speed increase is not obvious.

  • increase the audio buffer from 4 to 16.

  • support audio queue priority.

  • support for multiple audio sample rates, eg. 11025Hz, 22050Hz, 44100Hz, 48000Hz, 96000Hz and so on.

  • added interleave data format for audio data transfer.

  • added the function ds2_setAudio.


Download
Sito ufficiale
Dopo il salto trovate una guida redata dal sottoscritto su come utilizzarlo su Ubuntu (e in generale su una qualunque distribuzione linux).

NECESSARIO
L'SDK della DSTWO (versione 0.13 Beta) che potete trovare qui: http://dl.dropbox.com/u/4376113/ds2sdk_v0.13beta.zip (oppure dal sito ufficiale: http://eng.supercard.sc/manual/dstwo/ds2sdk.htm
Miracolosamente (oppure no?) serve solo un pacchetto, in quanto si va a creare una "root fasulla" all'interno di una cartella qualsiasi (nella guida uso /opt come consigliato anche dal readme). Per questo, la guida dovrebbe valere sulle varie distribuzioni Linux senza cambiare niente, ma è stata testata solo su Ubuntu 10.04.

COPIAMO I VARI FILE
Copiamo il contenuto dell'archivio appena scaricato in /opt/ds2sdk (cartella da creare), per farlo abbiamo bisogno dei permessi di root. Per farlo da insterfaccia grafica, ci basta premere alt+F2 e scrivere "gksudo nautilus", mentre da terminale bisogna utilizzare
cd /opt
sudo mkdir ds2sdk
cd ds2sdk
sudo unzip ~/Scaricati/ds2sdk_v0.13beta.zip


Presumento che abbiate salvato il file nella cartella Scaricati, altrimenti dovete cambiare il quarto comando per puntare al vostro file.
e poi diamoci i permessi alla cartella, in modo da non dover ricorrere nuovamente al sudo
sudo chmod -R 777 /opt/ds2sdk/

Ora dobbiamo estrarre anche il gcc (ricordate che creiamo una root fasulla? quindi usiamo il gcc contenuto nell'archivio e non quelli installato di default).
Da interfaccia grafica (sempre con i permessi di root) estraiamo il file che si trova in /opt/ds2sdk/gcc/mipsel-4.1.2-nopic.tar.bz2 in /opt.
da terminale
cd /opt
sudo tar jxvf /opt/ds2sdk/gcc/mipsel-4.1.2-nopic.tar.bz2


anche in questa cartella diamoci i permessi
sudo chmod -R 777 /opt/mipsel-4.1.2-nopic/

Ora apriamo il file .bashrc che si trova nella nostra home
sudo gedit .bashrc

e in fondo aggiungiamo
export PATH=$PATH:/opt/mipsel-4.1.2-nopic/bin

Ricordiamoci che dobbiamo chiudere e riaprire il terminale per fare in modo che le modifiche siano effettuate.

COMPILARE GLI ESEMPI
Da terminale ci basta dare
cd /opt/ds2sdk/example
make clean
make


Per compilare gli esempi, l'output in caso di successo sarà il seguente:
~/opt/mipsel-4.1.2-nopic/bin/mipsel-linux-gcc -MM -mips32 -O3 -mno-abicalls -fno-pic -fno-builtin -fno-exceptions -ffunction-sections -mlong-calls -fomit-frame-pointer -msoft-float -G 4 -I../include -I./src -I./../libsrc/fs -I./../libsrc/console -I./../libsrc/key -I./src/test ./src/main.c ./src/ds2_main.c ./src/bitmap.c ./src/wave.c > depend
~/opt/mipsel-4.1.2-nopic/bin/mipsel-linux-gcc -mips32 -O3 -mno-abicalls -fno-pic -fno-builtin -fno-exceptions -ffunction-sections -mlong-calls -fomit-frame-pointer -msoft-float -G 4 -I../include -I./src -I./../libsrc/fs -I./../libsrc/console -I./../libsrc/key -I./src/test -o src/main.o -c src/main.c
src/main.c: In function 'main':
src/main.c:835: warning: return type of 'main' is not 'int'
~/opt/mipsel-4.1.2-nopic/bin/mipsel-linux-gcc -mips32 -O3 -mno-abicalls -fno-pic -fno-builtin -fno-exceptions -ffunction-sections -mlong-calls -fomit-frame-pointer -msoft-float -G 4 -I../include -I./src -I./../libsrc/fs -I./../libsrc/console -I./../libsrc/key -I./src/test -o src/ds2_main.o -c src/ds2_main.c
~/opt/mipsel-4.1.2-nopic/bin/mipsel-linux-gcc -mips32 -O3 -mno-abicalls -fno-pic -fno-builtin -fno-exceptions -ffunction-sections -mlong-calls -fomit-frame-pointer -msoft-float -G 4 -I../include -I./src -I./../libsrc/fs -I./../libsrc/console -I./../libsrc/key -I./src/test -o src/bitmap.o -c src/bitmap.c
~/opt/mipsel-4.1.2-nopic/bin/mipsel-linux-gcc -mips32 -O3 -mno-abicalls -fno-pic -fno-builtin -fno-exceptions -ffunction-sections -mlong-calls -fomit-frame-pointer -msoft-float -G 4 -I../include -I./src -I./../libsrc/fs -I./../libsrc/console -I./../libsrc/key -I./src/test -o src/wave.o -c src/wave.c
~/opt/mipsel-4.1.2-nopic/bin/mipsel-linux-gcc -mips32 -O3 -mno-abicalls -fno-pic -fno-builtin -fno-exceptions -ffunction-sections -mlong-calls -fomit-frame-pointer -msoft-float -G 4 -I../include -I./src -I./../libsrc/fs -I./../libsrc/console -I./../libsrc/key -I./src/test -o start.o -c ../specs/start.S
~/opt/mipsel-4.1.2-nopic/bin/mipsel-linux-gcc -nostdlib -static -T ../specs/link.xn -o example.elf start.o ./src/main.o ./src/ds2_main.o ./src/bitmap.o ./src/wave.o ../lib/libds2a.a ../lib/libds2b.a -lc -lm -lgcc
~/opt/mipsel-4.1.2-nopic/bin/mipsel-linux-objcopy -O binary example.elf example.bin
~/opt/mipsel-4.1.2-nopic/bin/mipsel-linux-objdump -d example.elf > example.dump
~/opt/mipsel-4.1.2-nopic/bin/mipsel-linux-nm example.elf | sort > example.sym
~/opt/mipsel-4.1.2-nopic/bin/mipsel-linux-objdump -h example.elf > example.map
../tools/makeplug example.bin demoplug.plg
start
generate output file: demoplug.plg success


COPIARE IL PLUGIN SULLA CARD
Rinominiamo i file plugintest.plg, plugintest.bmp e plugintest.ini con un altro nome (uguale per tutti, con solo le estensioni diverse) e copiamoli dentro la cartella "_dstwoplug" sulla nostra microsd.

Fatemi sapere in caso di problemi :D

Nessun commento:

Posta un commento