mirror of
https://github.com/kichikuou/system3-sdl2.git
synced 2026-10-01 19:37:55 +03:00
Before this, MIDI playback was done by generating an SMF data stream, which was then played using platform-specific methods (MCI on Windows, MediaPlayer on Android, SDL_Mixer on other platforms). However, this approach had an issue where the Y18 command (which reads loop counts and markers) did not work correctly. With this change, the MAKOMidi class now uses the RtMidi library to control MIDI devices in real-time. This approach was used in the original "System3 for win32", but has now been made cross-platform. The dependency on RtMidi is optional. If RtMidi is not available at build time or a MIDI device is unavailable at runtime, FM synthesis will be used.
23 lines
776 B
Markdown
23 lines
776 B
Markdown
# System3 for Switch
|
|
|
|
## Build
|
|
Prerequisites:
|
|
- CMake >=3.20
|
|
- devkitPro environment ([how to install](https://devkitpro.org/wiki/devkitPro_pacman))
|
|
- Nintendo Switch development tools package (switch-dev)
|
|
- SDL2, SDL2_Mixer and SDL2_ttf Switch ports (switch-sdl2, switch-sdl2_ttf, switch-sdl2_mixer)
|
|
|
|
```sh
|
|
git submodule update --init
|
|
sudo (dkp-)pacman -S switch-dev switch-sdl2 switch-sdl2_ttf switch-sdl2_mixer
|
|
mkdir -p out/debug
|
|
cd out/debug
|
|
/opt/devkitpro/portlibs/switch/bin/aarch64-none-elf-cmake -DCMAKE_BUILD_TYPE=Debug ../../
|
|
make
|
|
```
|
|
|
|
## Use
|
|
1. Copy the resulting `system3.nro` file to a folder inside your Nintendo Switch's SD card (eg. `/switch/[game name]/`)
|
|
2. Copy all the game files, BGM files and configuration.
|
|
3. Open system3 through the Homebrew Launcher
|