!!! danger "Please make sure you downloaded your data from an appropriate source.<br>This guide is unable to troubleshoot any problems related to bad or poorly managed data."
---
!!! tip ""
segatools, by default, only accepts keyboard input and does not recognize any
controllers. However, it can be configured with IO DLLs to add support for controllers.
The controller you plan on using should also be provided with these IO DLLs. If unsure,
check the support section for your controller, or contact the vendor directly. Alternate
options for the most common controllers are listed below.
These IO DLLs should be copied to your game's `App\bin\` folder and referenced in
`segatools.ini` under the `[chuniio]` section.
!!! tip ""
If you have a single DLL, uncomment the `path=` line by removing the leading semicolon (`;`),
then add your DLL's file name after the `=`:
```ini hl_lines="5"
[chuniio]
; Uncomment this if you have custom chuniio implementation comprised of a single 32bit DLL.
; (will use chu2to3 engine internally)
;(1)!
path=controller.dll
```
1. Note that there is no leading semicolon.
!!! tip ""
If you have two DLLs, ending in `_x86.dll` and `_x64.dll` (or `_chusan.dll` and `_amdaemon.dll`),
uncomment the `path32=` and `path64=` lines by removing the leading semicolon (`;`), then
add your DLLs after the `=`:
```ini hl_lines="5 6"
[chuniio]
; Uncomment both of these if you have custom chuniio implementation comprised of two DLLs.
; x86 chuniio to path32, x64 to path64. Both are necessary.
;(1)!
path32=controller_x86.dll
path64=controller_x64.dll
```
1. Note that there is no leading semicolon.
---
### Keyboard
!!! tip ""
Keyboard is the default input method, and while not recommended for playing the game,
it is useful for testing purposes.
The default layout uses `SDFGHJKL` for slider input, and `Space Bar` for the AIRs.
If you wish to change the default keybinds, an explanation on how to set these is included
above the `[io3]` section in your `segatools.ini`.
---
### Brokenithm
!!! tip ""
Brokenithm allows you to use a mobile device as a CHUNITHM controller. It uses the bottom
half of the screen as the ground slider, and sliding into the upper half activates the air
sensors.
#### Android
!!! warning
Your computer and your Android device must be on the same local network.
!!! tip ""
- Download the latest version of [Brokenithm-Android](https://github.com/tindy2013/Brokenithm-Android/releases/latest)
and install it on your Android device.
- Download the latest version of [Brokenithm-Android-Server](https://github.com/tindy2013/Brokenithm-Android-Server/releases/latest)
and extract **only `brokenithm_server.exe`** to your `App\bin\` folder.
- Download the latest version of [Brokenithm-Evolved IO DLLs](https://gitea.tendokyu.moe/Dniel97/Brokenithm-Evolved/releases) and extract the DLL files to your `App\bin\` folder.
- Edit your `App\bin\segatools.ini` to reference the extracted DLLs:
```ini hl_lines="2"
[aimeio]
path=aime_brokenithm.dll
```
```ini hl_lines="2 3"
[chuniio]
path32=brokenithm_x86.dll
path64=brokenithm_x64.dll
```
- Run `brokenithm_server.exe`. A command prompt window should open, saying that
it is waiting for a device on port 52468.
- Open the Brokenithm app on your Android device. Enter your computer's IP address
in the Address box on the top right, then tap Start.
- Run the game as normal.
??? info "Getting your computer's IP address"
Open **Settings** -> **Network and Internet** and select **Properties**. Scroll down to
the bottom and check the address under the **IPv4 address** field:
- Install Brokenithm on your iOS/iPadOS device by joining the [Brokenithm TestFlight](https://testflight.apple.com/join/15FSg9sB).
- If the TestFlight is full, you will need to sideload the [IPA](https://redive.estertion.win/ipas/Brokenithm-iOS-build-10.ipa) with [Sideloadly](https://sideloadly.io/).
- If you have iTunes and/or iCloud installed from the Microsoft Store on your computer, **uninstall it.**
- Install the **non-Microsoft Store** version of iTunes from the [website](https://www.apple.com/itunes/download/win64).
- Download the latest version of [Brokenithm-Evolved-iOS server](https://redive.estertion.win/ipas/Brokenithm/Brokenithm-Evolved-iOS-v0.3.7z)
and extract it to `App\bin\Brokenithm-Server`.
- Download the latest version of [Brokenithm-Evolved IO DLLs](https://gitea.tendokyu.moe/Dniel97/Brokenithm-Evolved/releases) and extract the DLL files to your `App\bin\` folder.
- Edit your `App\bin\segatools.ini` to reference the extracted DLLs:
```ini hl_lines="2"
[aimeio]
path=aime_brokenithm.dll
```
```ini hl_lines="2 3"
[chuniio]
path32=brokenithm_x86.dll
path64=brokenithm_x64.dll
```
- Run `App\bin\Brokenithm-Server\Brokenithm-Evolved-iOS.exe`. A command prompt window
should open, saying that it is waiting for a device.
- On your iOS/iPadOS device, open Brokenithm, and connect it to your computer with a
USB cable.
- Run the game as normal.
??? info "Automatically launching the Brokenithm server when starting the game"
**This will only work if you extracted the server to `App\bin\Brokenithm-Server` as previously instructed.**
You can edit the launch script to launch the Brokenithm server when starting the game.
Edit `App\bin\start.bat` to add a line above the existing commands: