Thursday, January 31, 2008
Saturday, September 1, 2007
How-to: Gamecube/Wii Homebrew - Parte 2
Se você seguiu as instruções da Parte 1, já deve ter agora uma base sobre a qual desenvolver e compilar seus homebrews.
Porém ainda assim o processo de compilação requer alguns cuidados. Então, para facilitar, estou colocando aqui um pacote de projeto (com Makefile), que você pode baixar e extrair dentro do diretório onde instalou a libOGC:
* Download do projeto Hello World
A idéia geral desse Makefile é compilar os objetos binários a partir do seu código em C, e então linkar o resultado num arquivo executável .ELF. Feito isso, é preciso converter esse .ELF em um .DOL que pode ser carregado pelos loaders mais comuns.
O Makefile fará tudo isso automaticamente, desde que você declare a variável DEVKITPPC conforme explicado na Parte 1, e desde que o diretório de projeto ("prj") se encontre dentro do diretório da libOGC. Caso contrário, ajustes precisam ser feitos.
Segue abaixo algumas linhas que devem ser adaptadas para outros projetos:
Estas se referem a versão e ao nome do arquivo final do projeto:
VERSION := 1
PROJ := Hello
Esta aponta para o "ogc.ld", se você trocar de local, precisa redefinir o caminho
LDFLAGS := $(COMMON_FLAGS) -T../ogc.ld -mogc
O caminho para os módulos da libOGC, bem como quais deverão ser linkados (veja no diretório "lib" os arquivos *.a disponíveis)
LIBS := -L../lib -logc
E, finalmente, os objetos binários a serem compilados (use o continuador "\" para incluir mais linhas):
OBJS := \
$(OBJ_DIR)/hello.o
Compilado o projeto (com make), seu arquivo Hello.dol deverá estar no subdiretório "dist". Agora é hora de testar. Porém vou quebrar minha promessa e deixar essa parte para o próximo post :)
Stay tuned.
Update: incluída a seção OBJS do Makefile (ops!)
Porém ainda assim o processo de compilação requer alguns cuidados. Então, para facilitar, estou colocando aqui um pacote de projeto (com Makefile), que você pode baixar e extrair dentro do diretório onde instalou a libOGC:
* Download do projeto Hello World
A idéia geral desse Makefile é compilar os objetos binários a partir do seu código em C, e então linkar o resultado num arquivo executável .ELF. Feito isso, é preciso converter esse .ELF em um .DOL que pode ser carregado pelos loaders mais comuns.
O Makefile fará tudo isso automaticamente, desde que você declare a variável DEVKITPPC conforme explicado na Parte 1, e desde que o diretório de projeto ("prj") se encontre dentro do diretório da libOGC. Caso contrário, ajustes precisam ser feitos.
Segue abaixo algumas linhas que devem ser adaptadas para outros projetos:
Estas se referem a versão e ao nome do arquivo final do projeto:
VERSION := 1
PROJ := Hello
Esta aponta para o "ogc.ld", se você trocar de local, precisa redefinir o caminho
LDFLAGS := $(COMMON_FLAGS) -T../ogc.ld -mogc
O caminho para os módulos da libOGC, bem como quais deverão ser linkados (veja no diretório "lib" os arquivos *.a disponíveis)
LIBS := -L../lib -logc
E, finalmente, os objetos binários a serem compilados (use o continuador "\" para incluir mais linhas):
OBJS := \
$(OBJ_DIR)/hello.o
Compilado o projeto (com make), seu arquivo Hello.dol deverá estar no subdiretório "dist". Agora é hora de testar. Porém vou quebrar minha promessa e deixar essa parte para o próximo post :)
Stay tuned.
Update: incluída a seção OBJS do Makefile (ops!)
Labels: code, gamecube, homebrew, howto, modchip, wii, wiikey
Friday, August 31, 2007
How-to: Gamecube/Wii Homebrew - Parte 1
Estes são meus achados em relação à desenvolvimento de homebrews para Gamecube e, consequentemente, para Wii (já que este possui compatibilidade para trás). As instruções abaixo foram escritas para o Linux, mas você pode adaptá-las para outros SO.
Ingredientes:
* Faça download do devkitPPC, que é um conjunto de compilador, linker e assembler para PPC num único pacote. Acredite, é mais fácil simplesmente baixar esse pacote do que tentar utilizar o gcc que você já tem instalado
* Faça download dos fontes da libOGC. Não baixe o binário pré-compilado. Você foi avisado.
* Pegue um dos exemplos contidos aqui. Não seja megalomaníaco: o "Hello World" já é um excelente começo.
Modo de Preparo:
* Descompacte o devkitPPC no diretório de sua escolha (ex.: ~/src/devkitPPC)
* Descompacte os fontes da libOGC em algum outro diretório (ex.: ~/src/libogc)
* Exporte a variável de ambiente DEVKITPPC, apontando para o diretório do devkitPPC, ex.:
export DEVKITPCC=~/src/devkitPPC
* Compile a libOGC, entrando em seu diretório e utilizando "make"
... se tudo correu bem, você agora deve ter vários arquivos *.a no subdiretório "lib"
Bom, e o que isso faz?
libOGC é uma biblioteca, ou conjunto de bibliotecas para acesso ao hardware do Gamecube, dentre outras coisas. Com ela você pode não somente inicializar os modos de vídeo e fazer leitura de joystick, como também acessar cartões SD, descomprimir arquivos JPEG, e etc.
No próximo post vou falar sobre a compilação do Hello World, e sobre os métodos disponíveis para testar seu homebrew. Até lá, vale a pena dar uma estudada no arquivo hello.c, pois ele contém a base para uma aplicação gráfica no cubo.
Stay tuned.
Ingredientes:
* Faça download do devkitPPC, que é um conjunto de compilador, linker e assembler para PPC num único pacote. Acredite, é mais fácil simplesmente baixar esse pacote do que tentar utilizar o gcc que você já tem instalado
* Faça download dos fontes da libOGC. Não baixe o binário pré-compilado. Você foi avisado.
* Pegue um dos exemplos contidos aqui. Não seja megalomaníaco: o "Hello World" já é um excelente começo.
Modo de Preparo:
* Descompacte o devkitPPC no diretório de sua escolha (ex.: ~/src/devkitPPC)
* Descompacte os fontes da libOGC em algum outro diretório (ex.: ~/src/libogc)
* Exporte a variável de ambiente DEVKITPPC, apontando para o diretório do devkitPPC, ex.:
export DEVKITPCC=~/src/devkitPPC
* Compile a libOGC, entrando em seu diretório e utilizando "make"
... se tudo correu bem, você agora deve ter vários arquivos *.a no subdiretório "lib"
Bom, e o que isso faz?
libOGC é uma biblioteca, ou conjunto de bibliotecas para acesso ao hardware do Gamecube, dentre outras coisas. Com ela você pode não somente inicializar os modos de vídeo e fazer leitura de joystick, como também acessar cartões SD, descomprimir arquivos JPEG, e etc.
No próximo post vou falar sobre a compilação do Hello World, e sobre os métodos disponíveis para testar seu homebrew. Até lá, vale a pena dar uma estudada no arquivo hello.c, pois ele contém a base para uma aplicação gráfica no cubo.
Stay tuned.
Labels: code, gamecube, homebrew, howto, modchip, wii, wiikey
Monday, July 9, 2007
Lua Invoke
For those who enjoy the wonderful Lua language, I'm preparing the release of my Lua Invoke module over Google Code.
It enables real-time binding declaration, instead of having to compile a whole module for each binding. There are working examples invoking OpenGL and GTK from Lua, although they have not yet been uploaded to SVN.
More details should emerge soon.
It enables real-time binding declaration, instead of having to compile a whole module for each binding. There are working examples invoking OpenGL and GTK from Lua, although they have not yet been uploaded to SVN.
More details should emerge soon.
Tuesday, March 27, 2007
MSX Screen Conversor 0.8 Standalone
After many difficulties and general lack of time, I managed to release the standalone version of MSX Screen Conversor.
Grab it while still hot!
http://code.google.com/p/msx-screen-conversor/
It's not as polished as I'd like it to be, but it should prove useful enough.
And remember: there's no better way of keeping MSX alive than sharing code and knowledge. So please send patches, help your fellow MSXzer :)
Update: Win32 binary now available!
Grab it while still hot!
http://code.google.com/p/msx-screen-conversor/
It's not as polished as I'd like it to be, but it should prove useful enough.
And remember: there's no better way of keeping MSX alive than sharing code and knowledge. So please send patches, help your fellow MSXzer :)
Update: Win32 binary now available!
Labels: code, msx, msx-screen-conversor, release
