alpine based linux flasher for fusion project
this system is a self contained linux image that will backup the firmware on your piuio to a flash drive, offer you a selection of fusion firmware targets, and allow you to swap between them easily.
keep this flash drive in your coin bucket to swap between modes such as lxio, gamepad, piuio, and restore your backed up firmware.
- 256MB flash drive are larger
- a stock piuio
- keyboard
- computer inside your arcade cabinet
- legacy boot enabled on your motherboard
this action will apply new firmware to your piuio inside your expensive arcade equipment.
firmware is backed up to the flash drive before flashing, but there is no warranty on this software.
all risk for flashing the device is your own and no one else can be responsible for the actions of this software.
the author cannot provide detailed technical support on this project nor can the safety of your equipment be guaranteed.
this alternative firmware does not guarantee the ability to use in online events, user discretion is advised.
please take the necessary precautions and do not work on equipment you are not the direct owner of.
github issues related to troubleshooting the process will be closed and ignored.
- click the release tab
- download the latest
fusion-flasher*.img.gz - use your favorite disc writing tool like dd/gzip, balena etcher, etc to flash the
.img.gzto the flash drive - once the copy is complete, safely eject the flash drive
fusion has multiple different firmware targets that changes the way it shows up to games and computers.
- LXIO: This will make the device show up as an 0x1020 "LXIO" or PumpHID/Nuvoton Pump device. You will get full 1khz compatibility with games and software that is written for it.
- Gamepad: This turns the device into a generic HID gamepad with reactive lights. Use for general purpose PC use for generic games. This also offers the ability to control the lights with software on the PC.
- Keyboard: This option is useful for older games with compatibility problems with the gamepad mode. Maps the device to QESZC and numpad 79513.
- PIUIO: This option will let the device show up as a PIUIO for all legacy games and software that support it. The advantage is it will poll at a higher rate, allowing up to 4x resolution in polling for games that otherwise don't support an LXIO.
- Stock PIUIO: This will restore the backup of the firmware that is taken on first flash. This will return your device to stock settings just as when you started.
- turn off all arcade hardware
- disconnect all flash drives, hard drives, and security dongles from your computer/mk*/etc
- plug in the flash drive you just created
- plug in your keyboard
- power on your arcade hardware
- allow the system to boot to the fusion menu
- if the usb drive does not boot, ensure your motherboard is set to allow legacy booting.
- select your target mode (lxio, gamepad, etc)
- your firmware will be backed up to the flash drive and the system will power down
- power off the arcade hardware from the wall
- YOU MUST FULLY POWER OFF THE CABINET FOR THE FIRMWARE TO APPLY
- reconnect your game drive
- power on your arcade hardware
- enjoy!
a backup of your piuio firmware is saved to the flash drive.
please save the stock_piuio.ihex file in the fusion folder for save keeping on another computer, nas, cloud storage, etc.
this is your original firmware and can be reapplied at any time using the flasher.
from root (to create the loopback object), run the build script:
# ./build.sh
a new fusion-flasher*.img.gz is created to be flashed to a flash drive and applied.
testing qemu environment for the flasher is in the test script.
# ./test.sh
- alpine is pretty cool as a project, check them out
- forked from alpinelinux/alpine-make-vm-image, thank you so much
- main firmware project is here dinsfire64/fusion