LinkUniversal_real
July 28, 2025 ยท View on GitHub
This is a test ROM (based on BeatBeast) that checks how the LinkUniversal library behaves in the context of a 2-player game, with an audio player (in Direct Sound DMA mode) playing music, a background video, text and sprites.
The example sets the interval at around ~4 transfers per frame and sends 2 consecutive numbers on each frame. Each node validates that the numbers are consecutive, ensuring there are no repeated or missed packets. Also, each player can send extra packets to move the remote horse to the left or right. No audio pops should be audible on hardware.
As an extra option, support for LinkCableMultiboot::Async and LinkWirelessMultiboot::Async has been added to send a multiboot ROM asynchronously, while keeping the audio and animations running.
- A pre-compiled ROM is available in the Releases section.
- Check out the
USERFLAGSline in the Makefile to see the selectedLinkWirelessbuild configuration. - Check out the main.cpp file to see the runtime configuration.
- Uses butano
18.8.0and gba-link-connection8.0.3. - Compiled with devkitARM, using GCC
14.1.0with-Ofastas the optimization level. - Check out the
#licensesfolder for details.
Alternatively, you can compile the ROM with Docker:
docker run -it \
--user "$(id -u):$(id -g)" \
-v "$(pwd)/..":/opt/gba \
-v "$(pwd)":/opt/LinkUniversal_real \
devkitpro/devkitarm:20241104 \
bash -c 'cd /opt/LinkUniversal_real && make rebuild'