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:


7 Comments »
Leave a comment
-
Recent
- Maemo-SDK+
- SVG rendering on C#
- some good news around the street corner…
- Angstron 2 released!
- BZK and lightning
- Angstron 2 – finishing touches
- How indie are you?
- Nokia Ovi store – Maemo left out
- WillItStand – Macintosh
- Angstron 2: Droid Hunter finished-almost
- Solaris + Ubuntu = Xandros – EeePC = problemas (meu dia de azar com UNIX)
- WillItStand? MyPassport
-
Links
-
Archives
- October 2009 (1)
- September 2009 (1)
- August 2009 (1)
- July 2009 (1)
- June 2009 (1)
- May 2009 (1)
- April 2009 (6)
- February 2009 (9)
- January 2009 (2)
- December 2008 (1)
- November 2008 (1)
- October 2008 (3)
-
Categories
-
RSS
Entries RSS
Comments RSS


Muito bom post.
Excellent¡¡ keep up with the good work, your ezx game rocks
sorry for my english
wyrm?
boa, essa foi fantastica,é esse o procedimento de portar games para o ezx, otima contibuição cara
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.
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!
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!
@ 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 ?