Corporate Drones

All your browser are belong to me

configurando um SDK para EZX (com suporte a SDL)

Conforme prometido, aqui estou novamente tentando ajudar meus colegas hackers a portar seus jogos favoritos pro celular e sacanear os losers do iPhone.

Admito que durante muito tempo eu tinha desistido, mas hoje resolvi tentar novamente. E dessa vez tomei todo tipo de cuidado para não fuder meu sistema novamente.

Tive que proceder do zero. Portanto , esqueçam os outros posts.

1) instale o crosstool , que é um compilador gcc para ARM Xscale. Eu instalei em /opt/crosstool, até para concordar com a minha instalação de CeGCC, em /opt/mingw32ce.

Com este pedaço, ja é possivel compilar aplicações console. Teste compilar alguma aplicação simples e uma complexa. Se funcionar, prossiga. (eu teste usando o conbed)

2) instale o SDK do Blackhawk. É fácil de achar no google. O nome do arquivo é: a1200-e2-e680i-SDK.tar.gz

Com este SDK , ja é possivel compilar aplicações gráficas. Experimente compilar o demo do pictureflow.dando certo, prossiga.

roube o script setenv-1200.sh do fonte do picture flow para algum lugar seguro.

3) instale aquele games-env-linux do russo ucraniano (desculpe pela confusão, lubomyr!) maluco (acho que lubomyr , o nome):  games-env-linux.tar.gz

Ao contrário das instruções doidas em russo ucraniano, eu joguei toda a arvore dentro da arvore do crosstool. O unico ajuste que eu fiz foi trocar a definição de prefix em /opt/crosstool/bin/sdl-config , de /usr/local para /opt/crosstool

4) copie /opt/crosstool/lib/libsdl.* para a raiz do seu cartão de memória ou para alguma pasta de sistema do seu telefone (não tenho cojones pra isso).

sempre que for compilar qualquer coisa, execute:

source setenv-1200.sh (dependendo de onde você colocou o script)

para testar, peguei a versão que eu tinha modificado do meu raycaster que funcionava em PocketPC e recompilei com poucos ajustes para EZX. a linha de comando foi:

arm-linux-gnu-g++ -pipe -L/opt/crosstool/arm-linux-gnu/lib -L/opt/a1200/lib -L/opt/a1200/lib/ezx/lib -L/opt/a1200/ezx/lib -L/opt/a1200/lib/ezx/lib/inputmethods -L/opt/crosstool/lib  -L/opt/a1200 -I/opt/crosstool/arm-linux-gnu/include -I/opt/a1200/ezx/include -I/opt/a1200/qt/include -I/opt/crosstool/include -mcpu=iwmmxt -mtune=iwmmxt -w raycaster.cpp  -o raycaster `/opt/crosstool/bin/sdl-config –cflags –libs`

Tentei seguir hoje (15/04/09) esse tutorial e essa linha de comando não funcionou comigo. Mas a linha de comando que tinha no SVN do BZK , pra compilar o Angtron2 funcionou:

arm-linux-gnu-g++  -L/opt/crosstool/arm-linux-gnu/lib -L/opt/a1200/lib -L/opt/a1200/lib/ezx/lib -L/opt/a1200/ezx/lib -L/opt/a1200/lib/ezx/lib/inputmethods -L/opt/crosstool/lib  -L/opt/a1200 -I/opt/crosstool/arm-linux-gnu/include -I/opt/a1200/ezx/include -I/opt/a1200/qt/include -I/opt/crosstool/include    -O3 BZKmainHunter.cpp  AppStart.cpp -g3  -w -o hunter_ezx `/opt/crosstool/bin/sdl-config –cflags –libs` -lSDL_gfx

Legal né?

Daniel “NeoStrider” Monteiro->H4X0|2++; ;-)

Update: pelos comentários, tem gente me confundindo com o wyrm, que creio também se chamar Daniel ( ja conversamos algumas vezes por IM e ele até me ajudou a rodar OpenMoko no A1200i). Eu sou NeoStrider, não Wyrm!

ai vão os screenshots:

19-02-09_202519-02-09_2027

February 19, 2009 - Posted by nomadsoul | EZX, do-it-yourself, gamedev, linux, mobile | | 7 Comments

7 Comments »

  1. Muito bom post.

    Comment by newbie_x11 | February 27, 2009 | Reply

  2. Excellent¡¡ keep up with the good work, your ezx game rocks

    sorry for my english

    Comment by level_666 | March 16, 2009 | Reply

  3. wyrm?
    boa, essa foi fantastica,é esse o procedimento de portar games para o ezx, otima contibuição cara

    Comment by Hugguito | March 24, 2009 | Reply

  4. Olah!

    Entao, cheguei nesse seu post por intermedio do forum gsmfans. Sou programador e jah desenvolvi algumas coisas em linux, e depois que comprei o meu A1200E fiquei muito interessado em desenvolver aplicacoes para esse celular. Vc fez a compilacao na unha do crosstool e do SDK do blackhawk? E em qual distribuicao linux voce testou essa receita? Pretendo montar uma maquina virtual VirtualBox com todo o ambiente para programar para esse celular, e posteriormente pretendo disponibiliza-la na net pra quem for programador como nos e se interessar. Mas para isso, preciso antes esclarecer estas duvidas com vc.

    PS: perdoe-me (a falta d)os acentos. :)

    Comment by tiagoprn | March 24, 2009 | Reply

  5. Não sei como o firmware do A1200E se comporta, ja que uso o A1200i, mas a principio, tudo que escrevi deve servir.

    Eu preferi não compilar nada na unha pra não ter que lidar com dependencias chatas, ja que não uso metade das bibliotecas do SDK (e mesmo só usando o SDL, ja me aparece uns warnings de linkagem).

    Eu usei Ubuntu 8.04 32 bits

    Creio que você não vai poder disponibilizar na net sua solução pronta pelo mesmo motivo que ninguem o fez até agora: parte do procedimento de instalação do SDK do blackhawk requer que você copie bibliotecas do seu telefone para o SDK e com isso, redistribuir o SDK com isso se torna ilegal.

    De resto, por favor, me mantenha atualizado dos seus hacks!

    Comment by nomadsoul | March 25, 2009 | Reply

  6. Obrigado pelas dicas nomadsoul.

    Vou tentar fazer a compilacao na unha, vou criar uma VM do ubuntu 8.04.2 para fazer meus testes. Manteremos contato, com certeza. Valeu por enquanto!

    Comment by tiagoprn | March 25, 2009 | Reply

  7. @ author
    RE:3) instale aquele games-env-linux do russo maluco (acho que lubomyr , o nome): games-env-linux.tar.gz

    russo? You sure? check lubomyr country profile ?

    Comment by lubomyr | May 26, 2009 | Reply


Leave a comment