# Tools Documentation about various additional tooling that is fundamentally not required to run any of BT5's supported games, but provides additional features for users and developers alike. ## BT5 API Various command line tools for quick and easy testing of BT5 API implementations witohut having to run any target games. * [eamiotest](eamiotest.md): `eamio` API * [iidxiotest](iidxiotest.md): `iidxio` API * [jbiotest](jbiotest.md): `jbio` API ## IO related ### ACIO * [aciotest](aciotest.md): Command line tool for quick and easy testing of ACIO devices without having to run a game. ### Ezusb * [ezusb-iidx-fpga-flash](ezusb-iidx-fpga-flash.md): Tool for flashing the FPGA on ezusb 1 boards. Required if you want to run games without native ezusb support using BT5's iidxio API. * [ezusb-iidx-sram-flash](ezusb-iidx-sram-flash.md): Tool for flashing data to the SRAM of ezusb FX 2 boards. Required if you want to run games without native ezusb FX 2 support using BT5's iidxio API. * [ezusb-tool](ezusb-tool.md): Fundamental tool for flashing the base firmware to ezusb 1/2 boards. Required if you want to run games without native ezusb 1/2 support using BT5's iidxio API. ### IIDX exit hooks Exit hooks allow you to exit the game using a combination of inputs on native IO hardware. Supported IO hardware: * [ezusb](iidx-ezusb-exit-hook.md) * [ezusb 2](iidx-ezusb2-exit-hook.md) * [bio2](iidx-bio2-exit-hook.md) ## Misc * [mempatch-hook]: Hook library to dynamically apply memory address patches during runtime before your application starts execution. Should be prefered over hardcoded hex-edits if applicable. * [pcbidgen]: Command line tool to generate random PCBIDs