A simulator IO library for MU3 (Ongeki) arcade games that provides HID device communication for custom controllers.
- Cross-platform Windows DLL compilation
- HID device communication via USB
- Support for game buttons, operator buttons, and lever input
- LED control for RGB lighting effects
- Comprehensive build system with Makefile
For cross-compilation to Windows on Linux:
sudo apt-get update
sudo apt-get install -y gcc mingw-w64 build-essentialBuild all targets:
make allBuild only the DLL:
make dllBuild only the test executable:
make testBuild DLL with explicit .def file:
make dll-defCheck DLL exports:
make checkClean build artifacts:
make cleanRun comprehensive tests:
./test_all.shFor Windows development:
build.bat # Build DLL only
buildtest.bat # Build test executableThe library exports the following functions for MU3 compatibility:
mu3_io_get_api_version()- Get API version (0x0101)mu3_io_init()- Initialize the IO systemmu3_io_poll()- Poll for input updatesmu3_io_get_opbtns()- Get operator button statesmu3_io_get_gamebtns()- Get game button statesmu3_io_get_lever()- Get lever positionmu3_io_led_init()- Initialize LED systemmu3_io_led_set_colors()- Set LED colors
This library is designed to work with HID devices matching:
- VID: 0x0CA3
- PID: 0x0021
- MI: 0x05
The HID configuration supports:
- Button input mapping for MU3 game controls
- RGB LED control for visual feedback
- Lever/roller position reporting
- Special commands for PC DLL communication
The repository includes several testing options:
- Comprehensive test script:
./test_all.sh- Tests all build targets and verifies functionality - DLL loading test:
build/dll_test.exe- Tests DLL loading and API calls - Original test program:
build/test.exe- Basic HID communication test - Stub DLL:
build/mu3io_stub.dll- Testing without hardware requirements
mu3io.c/.h- Main library implementationmu3io_stub.c- Stub implementation for testing without hardwarehid.c/.h- HID device communicationtest.c- Basic test program for verificationdll_test.c- Comprehensive DLL testing programtest_all.sh- Comprehensive test scriptMakefile- Cross-platform build system.github/workflows/build.yml- CI/CD pipeline
- Fork the repository
- Create a feature branch
- Make your changes
- Run tests:
make all && make check - Submit a pull request
This project is licensed under the GNU Affero General Public License v3.0.