Unclear how to compile and get the .nds
Opened this issue · 14 comments
Instuctions on TwilightMenu++ page tell you to compile GBARunner3 and get the resulting .nds but there is no makefile and ZERO documentation on how to compile and what are the steps to do it
From the Discord server pinned messages:
How to compile GBARunner3:
- Install the latest version of DevKitPRO from their official repo: https://github.com/devkitPro/installer/releases
- Clone GBARunner3 repo with submodules in your workspace:
git clone --recursive https://github.com/Gericom/GBARunner3.git
- Run
make
inside the/code
folder, you should getGBARunner3.nds
inside/code/bootstrap
.
NOTE: Currently only Windows is able to compile, Linux/macOS users may get a fix in the future.
To run it, you need:
TwilightMenu++ 26.1.1
or higher already installed in your SD card/flashcard.- Move your previously compiled
GBARunner3.nds
inside/_nds/TWiLightMenu/emulators
folder in your SD card. - Get (on your own) retail GBA bios, rename it as
bios.bin
and put it inside the/_gba
folder in your SD card. - Get the configs folder from the repository you cloned, copy it inside of the
/_gba
folder, it should be/_gba/configs
. - Write
GBARUNNER3_TEST = 1
text line under the[SRLOADER]
section in/_nds/TWiLightMenu/settings.ini
- If you're using a flashcard, compatibility has been fixed, so will be able to run this as well.
You can check the current status on the compatibility list here (contributors are welcome):
https://docs.google.com/spreadsheets/d/1PTf9kW7L3MTIUU5WXvOnvSLTmgNG4K-CzDNe2U8Rd6Y/edit?usp=sharing
All was going well until the last part. The errors:
C:/devkitPro/devkitARM/arm-none-eabi/include/regex.h:99:45: error: expected primary-expression befor
e '__restrict'
99 | size_t, regmatch_t [__restrict], int);
| ^~~~~~~~~~
C:/devkitPro/devkitARM/arm-none-eabi/include/regex.h:99:45: error: expected ']' before '__restrict'
99 | size_t, regmatch_t [__restrict], int);
| ^~~~~~~~~~
| ]
C:/devkitPro/devkitARM/arm-none-eabi/include/regex.h:99:45: error: expected ')' before '__restrict'
99 | size_t, regmatch_t [__restrict], int);
| ^~~~~~~~~~
| )
C:/devkitPro/devkitARM/arm-none-eabi/include/regex.h:98:16: note: to match this '('
98 | int regexec(const regex_t __restrict, const char __restrict,
| ^
C:/devkitPro/devkitARM/arm-none-eabi/include/regex.h:99:55: error: expected initializer before ']' t
oken
99 | size_t, regmatch_t [__restrict], int);
| ^
C:/Users/jorda/GBARunner3/code/test/arm9/source/main.cpp: In function 'void testMain(int, char)':
C:/Users/jorda/GBARunner3/code/test/arm9/source/main.cpp:43:18: warning: ignoring return value of 'i
nt RUN_ALL_TESTS()' declared with attribute 'warn_unused_result' [-Wunused-result]
43 | RUN_ALL_TESTS();
| ~~~~~~~~~~~~~^~
make[3]: *** [/opt/devkitpro/devkitARM/base_rules:34: main.o] Error 1
make[2]: *** [Makefile:129: build] Error 2
make[2]: Leaving directory '/home/jorda/GBARunner3/code/test/arm9'
make[1]: *** [Makefile:35: checkarm9] Error 2
make[1]: Leaving directory '/home/jorda/GBARunner3/code/test'
make: *** [Makefile:30: checktest] Error 2
I continued to move on despite the errors. I followed the directions and went to start a GBA ROM and it worked.
Matter of fact, games run a lot better than before. I like it but it would have been easier to release a .nds for those that don't have any experience with a command line.
hi! I'm getting this error: error: implicit declaration of function 'memset' [-Wimplicit-function-declaration]
684 | memset(dst, val, cnt);
| ^~~~~~
can anyone help?
or @speck1234 could you send your nds file?
hi! I'm getting this error: error: implicit declaration of function 'memset' [-Wimplicit-function-declaration] 684 | memset(dst, val, cnt); | ^~~~~~ can anyone help? or @speck1234 could you send your nds file?
Add "#include <string.h>" without quotes to the includes section in GBARunner3\code\core\arm9\source\Fat\ff.c
hi! I'm getting this error: error: implicit declaration of function 'memset' [-Wimplicit-function-declaration] 684 | memset(dst, val, cnt); | ^~~~~~ can anyone help? or @speck1234 could you send your nds file?
Is this only appearing as a warning? If so you can just ignore it for now and let the compiler to continue.
hi! I'm getting this error: error: implicit declaration of function 'memset' [-Wimplicit-function-declaration] 684 | memset(dst, val, cnt); | ^~~~~~ can anyone help? or @speck1234 could you send your nds file?
Is this only appearing as a warning? If so you can just ignore it for now and let the compiler to continue.
No, i couldn't skip it. It just had the option to close the terminal
hi! I'm getting this error: error: implicit declaration of function 'memset' [-Wimplicit-function-declaration] 684 | memset(dst, val, cnt); | ^~~~~~ can anyone help? or @speck1234 could you send your nds file?
Is this only appearing as a warning? If so you can just ignore it for now and let the compiler to continue.
No, i couldn't skip it. It just had the option to close the terminal
Did you install the latest DKP version? on what platform are you trying to build GBARunner3?
hi! I'm getting this error: error: implicit declaration of function 'memset' [-Wimplicit-function-declaration] 684 | memset(dst, val, cnt); | ^~~~~~ can anyone help? or @speck1234 could you send your nds file?
Is this only appearing as a warning? If so you can just ignore it for now and let the compiler to continue.
No, i couldn't skip it. It just had the option to close the terminal
Did you install the latest DKP version? on what platform are you trying to build GBARunner3?
Dpk? Windows 11.
hi! I'm getting this error: error: implicit declaration of function 'memset' [-Wimplicit-function-declaration] 684 | memset(dst, val, cnt); | ^~~~~~ can anyone help? or @speck1234 could you send your nds file?
Add "#include <string.h>" without quotes to the includes section in GBARunner3\code\core\arm9\source\Fat\ff.c
This was the fix for me for this same issue. Thanks!
hi! I'm getting this error: error: implicit declaration of function 'memset' [-Wimplicit-function-declaration] 684 | memset(dst, val, cnt); | ^~~~~~ can anyone help? or @speck1234 could you send your nds file?
Is this only appearing as a warning? If so you can just ignore it for now and let the compiler to continue.
No, i couldn't skip it. It just had the option to close the terminal
Did you install the latest DKP version? on what platform are you trying to build GBARunner3?
Dpk? Windows 11.
DevKitPro. Just tested on my side and I'm able to fully compile without any issues though.
hi! I'm getting this error: error: implicit declaration of function 'memset' [-Wimplicit-function-declaration] 684 | memset(dst, val, cnt); | ^~~~~~ can anyone help? or @speck1234 could you send your nds file?
Is this only appearing as a warning? If so you can just ignore it for now and let the compiler to continue.
No, i couldn't skip it. It just had the option to close the terminal
Did you install the latest DKP version? on what platform are you trying to build GBARunner3?
Dpk? Windows 11.
DevKitPro. Just tested on my side and I'm able to fully compile without any issues though.
Oh, ok i had that installed (i had given up yesterday)
Hi. When I try to compile the code with devKitPro, the compiler send to me this:
C:/Users/polan/GBARunner3/code/libs/libtwl/common/source/rtos/rtosIrq.c:43:5: error: implicit declaration of function 'setVectorBase' [-Wimplicit-function-declaration]
43 | setVectorBase(0);
| ^~~~~~~~~~~~~
make[3]: *** [/opt/devkitpro/devkitARM/base_rules:40: rtosIrq.o] Error 1
make[2]: *** [Makefile:109: build] Error 2
make[2]: Leaving directory '/c/Users/polan/GBARunner3/code/libs/libtwl/libtwl9'
make[1]: *** [Makefile:22: check9] Error 2
make[1]: Leaving directory '/c/Users/polan/GBARunner3/code/libs/libtwl'
make: *** [Makefile:24: checklibtwl] Error 2
Anyone can help me with it? Thanks
Hi. When I try to compile the code with devKitPro, the compiler send to me this:
C:/Users/polan/GBARunner3/code/libs/libtwl/common/source/rtos/rtosIrq.c:43:5: error: implicit declaration of function 'setVectorBase' [-Wimplicit-function-declaration] 43 | setVectorBase(0); | ^~~~~~~~~~~~~ make[3]: *** [/opt/devkitpro/devkitARM/base_rules:40: rtosIrq.o] Error 1 make[2]: *** [Makefile:109: build] Error 2 make[2]: Leaving directory '/c/Users/polan/GBARunner3/code/libs/libtwl/libtwl9' make[1]: *** [Makefile:22: check9] Error 2 make[1]: Leaving directory '/c/Users/polan/GBARunner3/code/libs/libtwl' make: *** [Makefile:24: checklibtwl] Error 2
Anyone can help me with it? Thanks
Are you using libnds 2.0? IF that's the case, then you won't be able to compile it for now, since the new DevKitPro update and the addition of the new Calico library is currently incompatible with this project. This will be fixed later by migrating GBARunner3 to completely use libtwl and Wonderful Toolchain, so for now you need to use a previous 2.0 DevKitPro package to compile it.