Bueno, resulta que hay muchas cosas que solo se pueden hacer con ASM. Y para el asm necesitas un ensamblador (en inglés assembler). En varios tutoriales se habla del advance gold road, que teóricamente hay que descargar de una pagina italiana que no existe.
¿Y entonces como compilamos el ASM?
Eh, tranquilos, que existen más compiladores! Un ejemplo es GAS (GNU Asembler). Concretamente la versión arm-eabi-as, que es la que nos sirve para compilar el ARM y el THUMB para la GBA.
Y ahora lo que queréis la mayoría (windows!! windows!!):
El arm-eabi-as compilado para windows y con un *.bat hecho por HackMew lo podéis descargar de aquí:
http://ompldr.org/vaG1qbA/thumb.zip
O de el post original en pokecommunity (no me digáis que es spam, eh?):
[Other] HackMew's Knowledge - The PokéCommunity Forums
Ejemplo de uso (se usa des del cmd):
C:\Users\YourName\Desktop>thumb lesson1.asm lesson1.bin
Y ahora lo que queremos los... como yo (linux!! linux!!):
Antes había unos debs que había sacado de no se donde... bueno, se han perdido, así que os bajáis devkitARM:
devkitPro - Browse /devkitARM at SourceForge.net
Uso:
$ $DEVKITARM/bin/arm-none-eabi-as -mthumb -mthumb-interwork lesson1.asm
$ $DEVKITARM/bin/arm-none-eabi-objcopy -O binary a.out asdf.bin
Y ya podéis compilar las rutinas que encontréis por ahí (o crear las vuestras, claro).
Dew!
Por cierto, es un programa tan bueno que hasta lo usa Nintendo con su Mid2Agb, lol
Bueno, en realidad el compilador es el as.exe, que genera un a.out. Pero si arrastras el .asm hasta el .bat sí, se crea el .bin.