Open azihassan opened 1 week ago
This is why:
-fno-operator-names
disables support for and/or/not. However, and/or/not are part of the C++ and must not be disabled in an SDK that aims to be standards-compatible.
I've sent them a PR https://github.com/KallistiOS/KallistiOS/pull/785
Absolutely right. Testing right now to make sure we don't have any kos-ports doing anything stupid which relied on that flag...
Ugh. You guys are like the 4th or so people recently who have overrun the main thread stack, revealing a fundamental shortcoming in KOS... you can configure any thread's stack size... except the built-in one...
For now, go modify this line: https://github.com/KallistiOS/KallistiOS/blob/495e77fd60d5b09a1ad52a26cd4a7e73cd0d9d51/kernel/arch/dreamcast/include/arch/arch.h#L71
Going to open a PR now to do this:
#ifndef THD_KERNEL_STACK_SIZE
# define THD_KERNEL_STACK_SIZE (64 * 1024)
#endif
So that you guys can gracefully override this default noninvasively when you build KOS...
In an attempt to enable audio support, I ran into two issues:
SDL_audiolib compilation errors
These were caused by the fact that it uses keywords instead of symbols for things like "and" or "or" and they don't compile for some reason. After checking it with chatgpt, I decided to circumvent it with:
Thread stack underrun
The game crashes after playing the intro (with sound) due to a thread stack underrun error that happens here. Ignoring this check results in the game playing with sound until the first loading screen, where it crashes with an out-of-memory error.