From 98f370cb4c27fdb6a231b65f62795ca9f0d5c430 Mon Sep 17 00:00:00 2001 From: Paul Demers Date: Wed, 20 May 2026 19:46:32 -0400 Subject: [PATCH 1/3] Add SDL_mixer support --- .gitmodules | 4 ++ README.md | 4 +- lib/pkgconfig/SDL2_mixer.pc | 6 ++ lib/sdl/Makefile | 26 ++++++++ lib/sdl/SDL_mixer | 1 + samples/sdl_mixer/Makefile | 7 ++ samples/sdl_mixer/main.c | 124 ++++++++++++++++++++++++++++++++++++ 7 files changed, 170 insertions(+), 2 deletions(-) create mode 100644 lib/pkgconfig/SDL2_mixer.pc create mode 160000 lib/sdl/SDL_mixer create mode 100644 samples/sdl_mixer/Makefile create mode 100644 samples/sdl_mixer/main.c diff --git a/.gitmodules b/.gitmodules index db49e0a56..26741ce44 100644 --- a/.gitmodules +++ b/.gitmodules @@ -42,3 +42,7 @@ [submodule "lib/usb/libusbohci"] path = lib/usb/libusbohci url = https://github.com/XboxDev/libusbohci.git +[submodule "lib/sdl/SDL_mixer"] + path = lib/sdl/SDL_mixer + url = https://github.com/PaulMDemers/SDL_mixer.git + branch = nxdk-sdl-mixer diff --git a/README.md b/README.md index da55de532..2ee5240a2 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Notable features: - No complicated cross-compiling or big library dependencies! Builds with `make` and just needs standard tools and llvm. - Modern C / C++ standards and compiler features. - Supports popular APIs like Windows API and BSD sockets. -- SDL2 support for input, audio and 2D graphics. +- SDL2 support for input, audio, audio mixing, and 2D graphics. - Custom API for 3D graphics using NVIDIA-designed shader-languages (with additional Xbox extensions). - Open-Source drivers which can be modified to get the most out of the hardware. - Modifiable startup code, for as much system control as necessary. @@ -64,7 +64,7 @@ Code Overview * `lib/net` - Network stack for the Xbox based on lwIP. * `lib/pdclib` - Xbox port of PDCLib, a CC0-licensed C standard library. * `lib/pbkit` - A low level library for interfacing with the Xbox GPU. -* `lib/sdl` - Xbox ports of SDL2 and SDL_ttf. +* `lib/sdl` - Xbox ports of SDL2, SDL_image, SDL_mixer, and SDL_ttf. * `lib/usb` - USB support from OpenXDK. Hacked together parts of an old Linux OHCI stack. * `lib/winapi` - Xbox specific implementations of common useful WinAPI-functions. * `lib/xboxkrnl` - Header and import library for interfacing with the Xbox kernel. diff --git a/lib/pkgconfig/SDL2_mixer.pc b/lib/pkgconfig/SDL2_mixer.pc new file mode 100644 index 000000000..8fbf663f1 --- /dev/null +++ b/lib/pkgconfig/SDL2_mixer.pc @@ -0,0 +1,6 @@ +Name: SDL2_mixer +Description: audio mixer library for Simple DirectMedia Layer +Version: 2.0.4 +Requires: sdl2 >= 2.0.9 +Libs: -l${NXDK_DIR}/lib/libSDL2_mixer.lib +Cflags: -I${NXDK_DIR}/lib/sdl/SDL_mixer diff --git a/lib/sdl/Makefile b/lib/sdl/Makefile index b0328c326..e5e1382fe 100644 --- a/lib/sdl/Makefile +++ b/lib/sdl/Makefile @@ -74,3 +74,29 @@ CLEANRULES += clean-libsdlimage .PHONY: clean-libsdlimage clean-libsdlimage: $(VE)rm -f $(LIBSDLIMAGE_OBJS) $(NXDK_DIR)/lib/libSDL2_image.lib + +SDLMIXER_DIR = $(NXDK_DIR)/lib/sdl/SDL_mixer + +SDLMIXER_SRCS = $(SDLMIXER_DIR)/effect_position.c \ + $(SDLMIXER_DIR)/effect_stereoreverse.c \ + $(SDLMIXER_DIR)/effects_internal.c \ + $(SDLMIXER_DIR)/load_aiff.c \ + $(SDLMIXER_DIR)/load_voc.c \ + $(SDLMIXER_DIR)/mixer.c \ + $(SDLMIXER_DIR)/music.c \ + $(SDLMIXER_DIR)/music_wav.c + +SDLMIXER_OBJS = $(addsuffix .obj, $(basename $(SDLMIXER_SRCS))) + +NXDK_CFLAGS += -I$(SDLMIXER_DIR) -DMUSIC_WAV +NXDK_CXXFLAGS += -I$(SDLMIXER_DIR) -DMUSIC_WAV + +$(NXDK_DIR)/lib/libSDL2_mixer.lib: $(SDLMIXER_OBJS) + +main.exe: $(NXDK_DIR)/lib/libSDL2_mixer.lib + +CLEANRULES += clean-sdlmixer + +.PHONY: clean-sdlmixer +clean-sdlmixer: + $(VE)rm -f $(SDLMIXER_OBJS) $(NXDK_DIR)/lib/libSDL2_mixer.lib diff --git a/lib/sdl/SDL_mixer b/lib/sdl/SDL_mixer new file mode 160000 index 000000000..e5e4b187c --- /dev/null +++ b/lib/sdl/SDL_mixer @@ -0,0 +1 @@ +Subproject commit e5e4b187c9ab498405e091535c07af1c73376687 diff --git a/samples/sdl_mixer/Makefile b/samples/sdl_mixer/Makefile new file mode 100644 index 000000000..9cd865b9a --- /dev/null +++ b/samples/sdl_mixer/Makefile @@ -0,0 +1,7 @@ +XBE_TITLE = nxdk\ sample\ -\ SDL2_mixer +GEN_XISO = $(XBE_TITLE).iso +SRCS = $(CURDIR)/main.c +NXDK_DIR ?= $(CURDIR)/../.. +NXDK_SDL = y + +include $(NXDK_DIR)/Makefile diff --git a/samples/sdl_mixer/main.c b/samples/sdl_mixer/main.c new file mode 100644 index 000000000..7d3ae223d --- /dev/null +++ b/samples/sdl_mixer/main.c @@ -0,0 +1,124 @@ +#include +#include +#include +#include +#include +#include +#include + +#define SAMPLE_RATE 22050 +#define CHANNELS 1 +#define BITS_PER_SAMPLE 16 +#define TONE_HZ 440 +#define TONE_MS 400 + +static void write_le16(uint8_t *dst, uint16_t value) +{ + dst[0] = (uint8_t)(value & 0xff); + dst[1] = (uint8_t)(value >> 8); +} + +static void write_le32(uint8_t *dst, uint32_t value) +{ + dst[0] = (uint8_t)(value & 0xff); + dst[1] = (uint8_t)((value >> 8) & 0xff); + dst[2] = (uint8_t)((value >> 16) & 0xff); + dst[3] = (uint8_t)(value >> 24); +} + +static uint8_t *create_test_wav(size_t *size) +{ + const uint32_t samples = (SAMPLE_RATE * TONE_MS) / 1000; + const uint16_t block_align = (CHANNELS * BITS_PER_SAMPLE) / 8; + const uint32_t data_size = samples * block_align; + const uint32_t byte_rate = SAMPLE_RATE * block_align; + uint8_t *wav = (uint8_t *)SDL_malloc(44 + data_size); + uint32_t i; + + if (!wav) { + return NULL; + } + + SDL_memcpy(wav + 0, "RIFF", 4); + write_le32(wav + 4, 36 + data_size); + SDL_memcpy(wav + 8, "WAVE", 4); + SDL_memcpy(wav + 12, "fmt ", 4); + write_le32(wav + 16, 16); + write_le16(wav + 20, 1); + write_le16(wav + 22, CHANNELS); + write_le32(wav + 24, SAMPLE_RATE); + write_le32(wav + 28, byte_rate); + write_le16(wav + 32, block_align); + write_le16(wav + 34, BITS_PER_SAMPLE); + SDL_memcpy(wav + 36, "data", 4); + write_le32(wav + 40, data_size); + + for (i = 0; i < samples; ++i) { + const double phase = (2.0 * 3.14159265358979323846 * TONE_HZ * i) / SAMPLE_RATE; + const int16_t sample = (int16_t)(sin(phase) * 12000.0); + write_le16(wav + 44 + (i * block_align), (uint16_t)sample); + } + + *size = 44 + data_size; + return wav; +} + +int main(void) +{ + uint8_t *wav_data; + size_t wav_size; + SDL_RWops *rw; + Mix_Chunk *chunk; + int channel; + + XVideoSetMode(640, 480, 32, REFRESH_DEFAULT); + debugPrint("nxdk SDL_mixer sample\n"); + + if (SDL_Init(SDL_INIT_AUDIO) < 0) { + debugPrint("SDL_Init failed: %s\n", SDL_GetError()); + return 1; + } + + if (Mix_OpenAudio(SAMPLE_RATE, AUDIO_S16SYS, 2, 1024) < 0) { + debugPrint("Mix_OpenAudio failed: %s\n", Mix_GetError()); + SDL_Quit(); + return 1; + } + + wav_data = create_test_wav(&wav_size); + if (!wav_data) { + debugPrint("Failed to allocate test WAV\n"); + Mix_CloseAudio(); + SDL_Quit(); + return 1; + } + + rw = SDL_RWFromMem(wav_data, (int)wav_size); + chunk = rw ? Mix_LoadWAV_RW(rw, 1) : NULL; + if (!chunk) { + debugPrint("Mix_LoadWAV_RW failed: %s\n", Mix_GetError()); + SDL_free(wav_data); + Mix_CloseAudio(); + SDL_Quit(); + return 1; + } + + channel = Mix_PlayChannel(-1, chunk, 0); + debugPrint("Playing generated WAV on channel %d\n", channel); + + while (Mix_Playing(channel)) { + Sleep(50); + } + + Mix_FreeChunk(chunk); + SDL_free(wav_data); + Mix_CloseAudio(); + SDL_Quit(); + + debugPrint("SDL_mixer sample complete\n"); + while (1) { + Sleep(1000); + } + + return 0; +} From 61451f2a1e58a186f4b584e3137d4067bf431779 Mon Sep 17 00:00:00 2001 From: Paul Demers Date: Wed, 20 May 2026 22:31:01 -0400 Subject: [PATCH 2/3] Make SDL_mixer opt-in --- README.md | 7 +++++-- lib/sdl/Makefile | 4 ++++ samples/sdl_mixer/Makefile | 1 + 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 2ee5240a2..41d63f5ac 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ Notable features: - No complicated cross-compiling or big library dependencies! Builds with `make` and just needs standard tools and llvm. - Modern C / C++ standards and compiler features. - Supports popular APIs like Windows API and BSD sockets. -- SDL2 support for input, audio, audio mixing, and 2D graphics. +- SDL2 support for input, audio, optional audio mixing, and 2D graphics. - Custom API for 3D graphics using NVIDIA-designed shader-languages (with additional Xbox extensions). - Open-Source drivers which can be modified to get the most out of the hardware. - Modifiable startup code, for as much system control as necessary. @@ -46,6 +46,9 @@ Next Steps ---------- Copy one of the sample directories to get started. You can copy it anywhere you like. Run nxdk's activation script `bin/activate`, then, in the directory of your program, you can simply run `make`. +SDL_mixer is optional. Projects that use it should set `NXDK_SDL_MIXER = y` in +their Makefile alongside `NXDK_SDL = y`. + Credits ------- - [OpenXDK](https://web.archive.org/web/20170624051336/http://openxdk.sourceforge.net:80/) is the inspiration for nxdk, and large parts of it have been reused. (License: MIT) @@ -64,7 +67,7 @@ Code Overview * `lib/net` - Network stack for the Xbox based on lwIP. * `lib/pdclib` - Xbox port of PDCLib, a CC0-licensed C standard library. * `lib/pbkit` - A low level library for interfacing with the Xbox GPU. -* `lib/sdl` - Xbox ports of SDL2, SDL_image, SDL_mixer, and SDL_ttf. +* `lib/sdl` - Xbox ports of SDL2, SDL_image, optional SDL_mixer, and SDL_ttf. * `lib/usb` - USB support from OpenXDK. Hacked together parts of an old Linux OHCI stack. * `lib/winapi` - Xbox specific implementations of common useful WinAPI-functions. * `lib/xboxkrnl` - Header and import library for interfacing with the Xbox kernel. diff --git a/lib/sdl/Makefile b/lib/sdl/Makefile index e5e1382fe..97ed19807 100644 --- a/lib/sdl/Makefile +++ b/lib/sdl/Makefile @@ -77,6 +77,8 @@ clean-libsdlimage: SDLMIXER_DIR = $(NXDK_DIR)/lib/sdl/SDL_mixer +ifneq ($(NXDK_SDL_MIXER),) + SDLMIXER_SRCS = $(SDLMIXER_DIR)/effect_position.c \ $(SDLMIXER_DIR)/effect_stereoreverse.c \ $(SDLMIXER_DIR)/effects_internal.c \ @@ -100,3 +102,5 @@ CLEANRULES += clean-sdlmixer .PHONY: clean-sdlmixer clean-sdlmixer: $(VE)rm -f $(SDLMIXER_OBJS) $(NXDK_DIR)/lib/libSDL2_mixer.lib + +endif diff --git a/samples/sdl_mixer/Makefile b/samples/sdl_mixer/Makefile index 9cd865b9a..12792e643 100644 --- a/samples/sdl_mixer/Makefile +++ b/samples/sdl_mixer/Makefile @@ -3,5 +3,6 @@ GEN_XISO = $(XBE_TITLE).iso SRCS = $(CURDIR)/main.c NXDK_DIR ?= $(CURDIR)/../.. NXDK_SDL = y +NXDK_SDL_MIXER = y include $(NXDK_DIR)/Makefile From 98cc2bf7f6c3db280258db9430718b9361c6364d Mon Sep 17 00:00:00 2001 From: Paul Demers Date: Wed, 20 May 2026 23:17:54 -0400 Subject: [PATCH 3/3] Exercise packaged SDL_mixer assets --- samples/sdl_mixer/Makefile | 11 +++ samples/sdl_mixer/main.c | 108 ++++++++------------------ samples/sdl_mixer/sdl_mixer_music.wav | Bin 0 -> 70604 bytes samples/sdl_mixer/sdl_mixer_tone.wav | Bin 0 -> 19888 bytes 4 files changed, 44 insertions(+), 75 deletions(-) create mode 100644 samples/sdl_mixer/sdl_mixer_music.wav create mode 100644 samples/sdl_mixer/sdl_mixer_tone.wav diff --git a/samples/sdl_mixer/Makefile b/samples/sdl_mixer/Makefile index 12792e643..c462fdf77 100644 --- a/samples/sdl_mixer/Makefile +++ b/samples/sdl_mixer/Makefile @@ -6,3 +6,14 @@ NXDK_SDL = y NXDK_SDL_MIXER = y include $(NXDK_DIR)/Makefile + +TARGET += $(OUTPUT_DIR)/sdl_mixer_tone.wav \ + $(OUTPUT_DIR)/sdl_mixer_music.wav + +$(GEN_XISO): $(OUTPUT_DIR)/sdl_mixer_tone.wav $(OUTPUT_DIR)/sdl_mixer_music.wav + +$(OUTPUT_DIR)/sdl_mixer_tone.wav: $(CURDIR)/sdl_mixer_tone.wav $(OUTPUT_DIR) + $(VE)cp '$<' '$@' + +$(OUTPUT_DIR)/sdl_mixer_music.wav: $(CURDIR)/sdl_mixer_music.wav $(OUTPUT_DIR) + $(VE)cp '$<' '$@' diff --git a/samples/sdl_mixer/main.c b/samples/sdl_mixer/main.c index 7d3ae223d..90b3b8f71 100644 --- a/samples/sdl_mixer/main.c +++ b/samples/sdl_mixer/main.c @@ -2,73 +2,28 @@ #include #include #include -#include -#include #include #define SAMPLE_RATE 22050 -#define CHANNELS 1 -#define BITS_PER_SAMPLE 16 -#define TONE_HZ 440 -#define TONE_MS 400 -static void write_le16(uint8_t *dst, uint16_t value) +static void shutdown_audio(Mix_Chunk *chunk, Mix_Music *music) { - dst[0] = (uint8_t)(value & 0xff); - dst[1] = (uint8_t)(value >> 8); -} - -static void write_le32(uint8_t *dst, uint32_t value) -{ - dst[0] = (uint8_t)(value & 0xff); - dst[1] = (uint8_t)((value >> 8) & 0xff); - dst[2] = (uint8_t)((value >> 16) & 0xff); - dst[3] = (uint8_t)(value >> 24); -} - -static uint8_t *create_test_wav(size_t *size) -{ - const uint32_t samples = (SAMPLE_RATE * TONE_MS) / 1000; - const uint16_t block_align = (CHANNELS * BITS_PER_SAMPLE) / 8; - const uint32_t data_size = samples * block_align; - const uint32_t byte_rate = SAMPLE_RATE * block_align; - uint8_t *wav = (uint8_t *)SDL_malloc(44 + data_size); - uint32_t i; - - if (!wav) { - return NULL; + Mix_HaltMusic(); + Mix_HaltChannel(-1); + if (music) { + Mix_FreeMusic(music); } - - SDL_memcpy(wav + 0, "RIFF", 4); - write_le32(wav + 4, 36 + data_size); - SDL_memcpy(wav + 8, "WAVE", 4); - SDL_memcpy(wav + 12, "fmt ", 4); - write_le32(wav + 16, 16); - write_le16(wav + 20, 1); - write_le16(wav + 22, CHANNELS); - write_le32(wav + 24, SAMPLE_RATE); - write_le32(wav + 28, byte_rate); - write_le16(wav + 32, block_align); - write_le16(wav + 34, BITS_PER_SAMPLE); - SDL_memcpy(wav + 36, "data", 4); - write_le32(wav + 40, data_size); - - for (i = 0; i < samples; ++i) { - const double phase = (2.0 * 3.14159265358979323846 * TONE_HZ * i) / SAMPLE_RATE; - const int16_t sample = (int16_t)(sin(phase) * 12000.0); - write_le16(wav + 44 + (i * block_align), (uint16_t)sample); + if (chunk) { + Mix_FreeChunk(chunk); } - - *size = 44 + data_size; - return wav; + Mix_CloseAudio(); + SDL_Quit(); } int main(void) { - uint8_t *wav_data; - size_t wav_size; - SDL_RWops *rw; - Mix_Chunk *chunk; + Mix_Chunk *chunk = NULL; + Mix_Music *music = NULL; int channel; XVideoSetMode(640, 480, 32, REFRESH_DEFAULT); @@ -85,36 +40,39 @@ int main(void) return 1; } - wav_data = create_test_wav(&wav_size); - if (!wav_data) { - debugPrint("Failed to allocate test WAV\n"); - Mix_CloseAudio(); - SDL_Quit(); + chunk = Mix_LoadWAV("D:\\sdl_mixer_tone.wav"); + if (!chunk) { + debugPrint("Mix_LoadWAV failed: %s\n", Mix_GetError()); + shutdown_audio(chunk, music); return 1; } - rw = SDL_RWFromMem(wav_data, (int)wav_size); - chunk = rw ? Mix_LoadWAV_RW(rw, 1) : NULL; - if (!chunk) { - debugPrint("Mix_LoadWAV_RW failed: %s\n", Mix_GetError()); - SDL_free(wav_data); - Mix_CloseAudio(); - SDL_Quit(); + music = Mix_LoadMUS("D:\\sdl_mixer_music.wav"); + if (!music) { + debugPrint("Mix_LoadMUS failed: %s\n", Mix_GetError()); + shutdown_audio(chunk, music); + return 1; + } + + if (Mix_PlayMusic(music, 0) < 0) { + debugPrint("Mix_PlayMusic failed: %s\n", Mix_GetError()); + shutdown_audio(chunk, music); return 1; } channel = Mix_PlayChannel(-1, chunk, 0); - debugPrint("Playing generated WAV on channel %d\n", channel); + if (channel < 0) { + debugPrint("Mix_PlayChannel failed: %s\n", Mix_GetError()); + shutdown_audio(chunk, music); + return 1; + } - while (Mix_Playing(channel)) { + debugPrint("Playing packaged WAV assets on channel %d\n", channel); + while (Mix_PlayingMusic() || Mix_Playing(channel)) { Sleep(50); } - Mix_FreeChunk(chunk); - SDL_free(wav_data); - Mix_CloseAudio(); - SDL_Quit(); - + shutdown_audio(chunk, music); debugPrint("SDL_mixer sample complete\n"); while (1) { Sleep(1000); diff --git a/samples/sdl_mixer/sdl_mixer_music.wav b/samples/sdl_mixer/sdl_mixer_music.wav new file mode 100644 index 0000000000000000000000000000000000000000..e115aa8404fe93069fe79ec80f38809b811c9294 GIT binary patch literal 70604 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

2_7ncb;d3^l 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 EAK*hyA^-pY literal 0 HcmV?d00001 diff --git a/samples/sdl_mixer/sdl_mixer_tone.wav b/samples/sdl_mixer/sdl_mixer_tone.wav new file mode 100644 index 0000000000000000000000000000000000000000..160fc94201cf1a1f720fa0b816c2bd3611dd6f63 GIT binary patch literal 19888 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