L!no
Puntuación de reacción
278

Mensajes de perfil Última actividad Publicaciones Acerca

  • Como ya dije, no entendí en general el tutorial (Y vuelvo a recalcar que no es por haber explicado mal o algo por el estilo), simplemente desconozco todo lo relacionado a la programación por lo que es común, espero al menos poder aprender sobre todo lo básico para adentrarme, uno nunca sabe para que lo puede usar...
    ¡Oh ya ves! pero bueno, mi opinión no cambia para nada a que sean programas, fuese bueno que lo implementasen para Roms Españolas.
    Ahora, busca la linea de Makefile que dice:
    LIBS := -lmm -lgba
    Y dejala así:
    LIBS := -lgba
    Después de eso, con make, te debería de compilar el hola mundo.
    Pero la verdad que no se como solucionarte el tema de que compile los archivos.c automáticamente. Me tiene confundido.
    Este ya te debería de andar... -.-

    mkdir build && cd build && arm-none-eabi-gcc -MMD -MP -MF /cygdrive/c/Users/DIGITAL/desktop/hack-ROM_things/game/build/template.d -g -Wall -O3 -mcpu=arm7tdmi -mtune=arm7tdmi -fomit-frame-pointer -ffast-math -mthumb -mthumb-interwork -iquote /cygdrive/c/Users/DIGITAL/desktop/hack-ROM_things/game/include -I /cygdrive/c/devkitPro/libgba/include -I/cygdrive/c/Users/DIGITAL/desktop/hack-ROM_things/game/build -c /cygdrive/c/Users/DIGITAL/desktop/hack-ROM_things/game/source/template.c -o template.o

    Pero lo que no me explico es porque el no te funciona el Makefile... No tiene sentido.
    arm-none-eabi-gcc -MMD -MP -MF /cygdrive/c/Users/DIGITAL/desktop/hack-ROM_things/game/build/template.d -g -Wall -O3 -mcpu=arm7tdmi -mtune=arm7tdmi -fomit-frame-pointer -ffast-math -mthumb -mthumb-interwork -iquote /cygdrive/c/Users/DIGITAL/desktop/hack-ROM_things/game/include -I /cygdrive/c/devkitPro/libgba/include -I/cygdrive/c/Users/DIGITAL/desktop/hack-ROM_things/game/build -c /cygdrive/c/Users/DIGITAL/desktop/hack-ROM_things/game/source/template.c -o template.o

    Error tonto de mi parte,a cygwin no le gusta las barras invertidas xD
    ¿Ahora?
    arm-none-eabi-gcc -MMD -MP -MF /cygdrive/c/Users/DIGITAL/desktop/hack-ROM_things/game/build/template.d -g -Wall -O3 -mcpu=arm7tdmi -mtune=arm7tdmi -fomit-frame-pointer -ffast-math -mthumb -mthumb-interwork -iquote /cygdrive/c/Users/DIGITAL/desktop/hack-ROM_things/game/include -I C:\devkitPro/libgba/include -I/cygdrive/c/Users/DIGITAL/desktop/hack-ROM_things/game/build -c /cygdrive/c/Users/DIGITAL/desktop/hack-ROM_things/game/source/template.c -o template.o

    Probá de vuelta así, faltaba un espacio después del -I
    La verdad es que estoy confundido, no se porque no anda xD. Si ejecutás esto directamente:

    arm-none-eabi-gcc -MMD -MP -MF /cygdrive/c/Users/DIGITAL/desktop/hack-ROM_things/game/build/template.d -g -Wall -O3 -mcpu=arm7tdmi -mtune=arm7tdmi -fomit-frame-pointer -ffast-math -mthumb -mthumb-interwork -iquote /cygdrive/c/Users/DIGITAL/desktop/hack-ROM_things/game/include -IC:\devkitPro/libgba/include -I/cygdrive/c/Users/DIGITAL/desktop/hack-ROM_things/game/build -c /cygdrive/c/Users/DIGITAL/desktop/hack-ROM_things/game/source/template.c -o template.o

    ¿Te da el mismo error?
    O el offset quele pusiste a la variable 0x800D en el archivo ld está mal, o el primer messagebox borra el contenido de la variable (no me acuerdo si lo hacía o no, esa variable es un poco impredecible).

    Sobre el código, no hace falta que le restes el módulo a 8001, la división es entera, lo va a sacar por su cuenta. (1 / 2 = 0; 2 / 2 = 1; 3 / 2 = 1)
    Tu código esta compilado y como no hiciste ninguna modificación al código fuente, no lo vuelve a compilar. Por lo que sigue sin tener la dirección a las funciones de division. Ejecuta "make clean" y luego de vuelta "make"
    Te falta agregar las funciones de division al ld. El compilador cambia todas las divisiones y módulos que uses, por llamadas a las funciones ___aeabi_algo. Por eso te da error al no encontrar donde están esas funciones.
    Si, si. C es simplemente asm mas facil.
    u16 algo;
    algo = 0x15;
    Se va a traducir a:
    ldr r0, (=algo)
    mov r1, #0x15
    strh r1, [r0]
    Las direcciones de memoria se manejan igual, con la diferencia de que con C no estás poniendo los offset en el código, sino que los ponés una vez en el ld.
  • Cargando…
  • Cargando…
  • Cargando…
Arriba