Game Boy Advance >> Assembly

開發環境


參考資訊:
1. doc
2. tonc
3. gbaasm
3. devkitPro
4. devkitarm-crtls
5. devkitPro website
6. Compiling GBA programs on Linux with GCC

司徒目前使用docker當作開發環境,安裝步驟如下:

$ sudo apt-get install docker* container* -y

$ cd
$ git clone https://github.com/morgenman/nds-docker
$ cd nds-docker
$ sudo docker build -t nds-env .
    Sending build context to Docker daemon  21.04MB
    Step 1/4 : FROM docker.io/devkitpro/devkitarm AS devkitpro
     ---> b40b3cbf4c5a
    Step 2/4 : ADD NitroEngine.tar.gz /opt/devkitpro
     ---> Using cache
     ---> 975106deea7c
    Step 3/4 : RUN cd /opt/devkitpro/NitroEngine; make
     ---> Using cache
     ---> ea9f9aee48c6
    Step 4/4 : WORKDIR /source
     ---> Using cache
     ---> 8da2a32afc12
    Successfully built 8da2a32afc12
    Successfully tagged nds-env:latest

$ sudo docker run --rm -it -v $(pwd):/source nds-env /bin/bash

root@b0c0692e89e1:/source# /opt/devkitpro/devkitARM/bin/arm-none-eabi-gcc -v
    Using built-in specs.
    COLLECT_GCC=/opt/devkitpro/devkitARM/bin/arm-none-eabi-gcc
    COLLECT_LTO_WRAPPER=/opt/devkitpro/devkitARM/bin/../libexec/gcc/arm-none-eabi/12.2.0/lto-wrapper
    Target: arm-none-eabi
    Configured with: ../../gcc-12.2.0/configure --enable-languages=c,c++,objc,lto --with-gnu-as --with-gnu-ld --with-gcc --with-march=armv4t --enable-cxx-flags=-ffunction-sections --disable-libstdcxx-verbose --enable-poison-system-directories --enable-interwork --enable-multilib --enable-threads --disable-win32-registry --disable-nls --disable-debug --disable-libmudflap --disable-libssp --disable-libgomp --disable-libstdcxx-pch --enable-libstdcxx-time=yes --enable-libstdcxx-filesystem-ts --target=arm-none-eabi --with-newlib --with-headers=../../newlib-4.2.0.20211231/newlib/libc/include --prefix=/home/davem/projects/devkitpro/tool-packages/devkitARM/src/build/x86_64-linux-gnu/devkitARM --enable-lto --disable-tm-clone-registry --disable-__cxa_atexit --with-bugurl=http://wiki.devkitpro.org/index.php/Bug_Reports --with-pkgversion='devkitARM release 59' --build=x86_64-unknown-linux-gnu --host=x86_64-unknown-linux-gnu --with-gmp= --with-mpfr= --with-mpc= --with-isl= --with-zstd= --with-gmp=/opt/devkitpro/crosstools/x86_64-linux-gnu --with-mpfr=/opt/devkitpro/crosstools/x86_64-linux-gnu --with-mpc=/opt/devkitpro/crosstools/x86_64-linux-gnu --with-isl=/opt/devkitpro/crosstools/x86_64-linux-gnu --with-zstd=/opt/devkitpro/crosstools/x86_64-linux-gnu
    Thread model: single
    Supported LTO compression algorithms: zlib zstd
    gcc version 12.2.0 (devkitARM release 59)

P.S. host:$(pwd), docker:/source

模擬器則是使用mgba,安裝方式如下:

$ sudo apt-get install mgba-sdl


返回上一頁