Ésta es mi página sobre programación de la Gameboy Advance.
A menos que se indique lo contrario, todos los códigos fuente C de aplicaciones para la GBA que hay en esta página se basan en la toolchain de GNU descrita en http://linux.gbadev.org (copia local) con el crt0/lnkscript de Jeff Frohwein (aquí). Sin embargo, los fuentes son fácilmente adaptables para que compilen con la toolchain de http://www.devkitpro.org.
g++ -o bin2o bin2o.cpp
.printf
, puts
, etc, ya que el descriptor de fichero es el 1 como en Unix. Cuidado, no hay soporte para caracteres extendidos (sólo son visualizables los caracteres ASCII del 32 al 127 más el caracter '\n' para avance de línea).lseek
sobre este handle para posicionarnos en cualquier punto de la SRAM que queramos.open
, close
, lseek
, read
y fstat
sobre ficheros alojados en una romfs
concatenada a la ROM del programa principal de la siguiente manera: cat mi_programa.gba imagen.romfs > mi_programa_final.gba
.int AgbMain() { console_init(); romfs_init(); ... printf("opening 'index.html'...\n"); fd = open("index.html", O_RDONLY); printf("handle = %d\n", fd); printf("=== BEGIN\n"); while (1) { int readed = read(fd, &data, 1); if (readed == 0) break; putchar(data); } close(fd); printf("=== EOF\n"); ... }ejemplo de acceso a fichero en romfs
-DREENTRANT_SYSCALLS_PROVIDED
a la variable CFLAGS_FOR_TARGET
del Makefile resultante tras hacer el configure
. Aquí puede leerse un interesante artículo donde se explica cómo portar newlib a cualquier plataforma embebida.
int AgbMain() { console_init(); romfs_init(); ... printf("writing SRAM..."); write(2, "Hello, SRAM :-)", 16); printf("ok\n"); lseek(2, 0, SEEK_SET); read(2, sram_example_data, 20); printf("SRAM content = '%s'\n", sram_example_data); ... }ejemplo de acceso a SRAM
tiled-0.6.1/plugins
. Al compilar el Tiled, el nuevo plugin será añadido al programa. Gracias a Jaymin Kessler por notificarme sobre un error que hacía que el plugin no fuera compatible con las nuevas versiones de Tiled.note on
al pulsar A y un mensaje note off
al pulsar B. Para más info, ver el código fuente o enviarme un e-milio.
macho (cable) | hembra (GBA) |
SI
(pin 3) y SC
(pin 5) son adyacentes en una misma cara del conector. Esto nos permite utilizar un trozo de placa de baquelita de tal manera que dos pistas de cobre coincidan con dichos pines del conector. En esta fotografía puede apreciarse el trozo de placa de baquelita utilizado.
This work is licensed under a Creative Commons License.