diff --git a/docs/games/chunithmluminous/controllers.md b/docs/games/chunithmluminous/controllers.md index fbf7267..125a68c 100644 --- a/docs/games/chunithmluminous/controllers.md +++ b/docs/games/chunithmluminous/controllers.md @@ -1,5 +1,5 @@ # CHUNITHM LUMINOUS - + !!! danger "Please make sure you downloaded your data from an appropriate source.
This guide is unable to troubleshoot any problems related to bad or poorly managed data." @@ -110,7 +110,7 @@ Open **Settings** -> **Network and Internet** and select **Properties**. Scroll down to the bottom and check the address under the **IPv4 address** field: - + That is your computer's IP address. diff --git a/docs/games/chunithmluminous/setup.md b/docs/games/chunithmluminous/setup.md index c2c2ea6..ffcaaf6 100644 --- a/docs/games/chunithmluminous/setup.md +++ b/docs/games/chunithmluminous/setup.md @@ -1,5 +1,5 @@ # CHUNITHM LUMINOUS - + !!! danger "Please make sure you downloaded your data from an appropriate source.
This guide is unable to troubleshoot any problems related to bad or poorly managed data." @@ -27,15 +27,15 @@ You should end up with a file structure as follows. - + Create another empty folder named `AppData` next to them. It should now look like below. - + The `App` folder should have a file structure as follows. - + ??? warning "If your data doesn't look like this" @@ -67,7 +67,7 @@ Extract any options you've downloaded into the `Option` folder. You should end up with a file structure as follows. **Do not be worried if you have fewer or more option folders.** - + #### Installing ICFs @@ -137,7 +137,7 @@ You should now have a few more files inside the folder, as highlighted: - + --- @@ -238,7 +238,7 @@ your 20-digit access code if you already have one, or make one up if you don't. If you're making one up, the access code **MUST NOT** start with a 3. - + ??? warning "Local (ARTEMiS/AquaDX)" @@ -270,7 +270,7 @@ - Open the `Default Format` dropdown. - Pick either `16 bit, 48000Hz (DVD Quality)` or `24 bit, 48000Hz (Studio Quality)`, click `Apply`, then `OK`. - + #### Fixing OpenSSL on Intel 10th Gen and newer CPUs @@ -306,7 +306,7 @@ Start the game by running `App\bin\start.bat`. Let the game load until it reaches the screen below. - + !!! tip "" @@ -315,14 +315,14 @@ Navigate to **ゲーム設定** (`GAME ASSIGNMENTS`, the 4th option). - + !!! tip "" Select **グループ内基準機設定** (`SET STANDARD IN GROUP`, the second option) and toggle this setting to **基準機** (`STANDARD`). - + !!! tip "" @@ -334,14 +334,14 @@ Navigate to **閉店設定** (`CLOSE SETTING`, the 10th option). - + !!! tip "" Navigate to **時** (`HOUR`, the 2nd option) and use the `Service` button to toggle the setting until it says **全時刻** (`ALL TIME`). - + !!! tip "" @@ -354,7 +354,7 @@ If you're stuck at the `Waiting for Distribution Server` screen below, close the game and relaunch. - + !!! tip "" diff --git a/docs/games/chunithmluminous/troubleshooting.md b/docs/games/chunithmluminous/troubleshooting.md index 2c0f630..d14d991 100644 --- a/docs/games/chunithmluminous/troubleshooting.md +++ b/docs/games/chunithmluminous/troubleshooting.md @@ -1,5 +1,5 @@ # CHUNITHM LUMINOUS - + !!! danger "Please make sure you downloaded your data from an appropriate source.
This guide is unable to troubleshoot any problems related to bad or poorly managed data." diff --git a/docs/games/chunithmnew/controllers.md b/docs/games/chunithmnew/controllers.md new file mode 100644 index 0000000..ee26009 --- /dev/null +++ b/docs/games/chunithmnew/controllers.md @@ -0,0 +1,302 @@ +# CHUNITHM NEW + + +!!! danger "Please make sure you downloaded your data from an appropriate source.
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: + + + + That is your computer's IP address. + +??? info "Automatically launching the Brokenithm server when starting the game" + + **This will only work if you extracted `brokenithm_server.exe` to `App\bin\` 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: + + ```batch hl_lines="5" + @echo off + + pushd %~dp0 + + start /min brokenithm_server + start /min inject_x64 -d -k chusanhook_x64.dll amdaemon.exe -c config_common.json config_server.json config_client.json config_cvt.json config_sp.json config_hook.json + inject_x86 -d -k chusanhook_x86.dll chusanApp.exe + taskkill /f /im amdaemon.exe > nul 2>&1 + + echo. + echo Game processes have terminated + pause + ``` + +??? info "Improving latency" + + You can improve latency by running Brokenithm with your Android device tethered to + your computer. However, this requires a little extra setup: + + - Connect your Android device to your computer with a USB cable. + - If you haven't enabled Developer options on your device, do it by navigating to + the "About" page in your phone's settings, then tap "Build number" seven times. + This varies by device, so if unsure, look up the instructions for your specific + one. + - Navigate to Developer options and enable USB debugging. + - On your computer, download and extract [Android SDK Platform Tools](https://dl.google.com/android/repository/platform-tools-latest-windows.zip) + to your `App\bin\` folder. + - Navigate to the `App\bin\platform-tools` folder in File Explorer, click on the + address bar, type `cmd`, and hit Enter to open a command prompt. + - In the command prompt, type the following command: + + ```batch + adb reverse tcp:52468 tcp:52468 + ``` + + - Start `brokenithm_server.exe`. + - On your Android device, open Brokenithm, and change the address to `0.0.0.0`. + - If the text box to the left of the "SETTINGS" button say "UDP", tap on it + once to switch to "TCP" mode. + - Tap on "START", and you will now be connected via the USB cable. + - You can now start the game as normal. + + The next time you play the game, you only need to run the `adb reverse ...` command + again. To do this automatically when the game starts, add a line to the `start.bat` + script **before** the `brokenithm_server` line: + + ```batch hl_lines="5" + @echo off + + pushd %~dp0 + + start /min platform-tools\adb reverse tcp:52468 tcp:52468 + start /min brokenithm_server + start /min inject_x64 -d -k chusanhook_x64.dll amdaemon.exe -c config_common.json config_server.json config_client.json config_cvt.json config_sp.json config_hook.json + inject_x86 -d -k chusanhook_x86.dll chusanApp.exe + taskkill /f /im amdaemon.exe > nul 2>&1 + + echo. + echo Game processes have terminated + pause + ``` + +#### iOS/iPadOS + +!!! tip "" + + - 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: + + ```batch hl_lines="5" + @echo off + + pushd %~dp0 + + start /min Brokenithm-Server\Brokenithm-Evolved-iOS.exe + start /min inject_x64 -d -k chusanhook_x64.dll amdaemon.exe -c config_common.json config_server.json config_client.json config_cvt.json config_sp.json config_hook.json + inject_x86 -d -k chusanhook_x86.dll chusanApp.exe + taskkill /f /im amdaemon.exe > nul 2>&1 + + echo. + echo Game processes have terminated + pause + ``` + +### TASOLLER + +!!! warning + + This guide only covers TASOLLERs running the v2.0 touch firmware. If you've purchased the + controller after January 2022, the update should have already been applied. + + If you've purchased the controller before then, you will need to update the touch + firmware by following the instructions on [DJ-DAO's support page](https://www.dj-dao.com/en/support/11.html). + +!!! tip "" + + - Install the [custom Host and LED firmware](https://pixeldrain.com/u/DajSPEoa) to your controller. + Instructions on how to do so is provided in the linked archive. + - Pick one of these two TASOLLER IO DLLs to download and extract to your `App\bin` folder. + They should be functionally the same, but if one doesn't work, you can try the other: + - [chuniio-tasoller](https://gitea.tendokyu.moe/Scribbler/chuniio-tasoller/releases) (download `lib.zip`) + - [chuniio-rs](https://gitea.tendokyu.moe/beerpsi/chuniio-rs/releases) (download `chusan.zip`) + - Edit your `App\bin\segatools.ini` to reference the extracted DLLs: + + ```ini + [chuniio] + path32=chuniio_tasoller.dll;(1)! + path64=chuniio_tasoller_x64.dll;(2)! + ``` + + 1. Or `chuniio_tasoller_v2_chusan.dll` if you downloaded `chuniio-rs`. + 2. Or `chuniio_tasoller_v2_amdaemon.dll` if you downloaded `chuniio-rs`. + + - Connect the controller to your computer, and then start the game. + +### YubiDeck + +!!! tip "" + + - Switch your YubiDeck to HID output mode. Instructions on how to do so are provided + in the [YubiDeck manual](https://drive.google.com/file/d/11KVlKbg3zGCRwI7R-30t2IJc6OQwDEgo/view). + - Download the latest version of [YubiDeck IO DLLs](https://gitea.tendokyu.moe/beerpsi/chuniio-yubideck/releases) + and extract it to your `App\bin` folder. + - Edit your `App\bin\segatools.ini` to reference the extracted DLLs: + + ```ini + [chuniio] + path32=chuniio_yubideck_chusan.dll + path64=chuniio_yubideck_amdaemon.dll + ``` + + - Optionally, reference the included AimeIO DLL to use the controller's + built-in card reader: + + ```ini + [aimeio] + path=aimeio_yubideck.dll + ``` + + - Connect the controller to your computer, and then start the game. + +### Arcade hardware and other controllers + +!!! tip "" + + If you're interested in using a cabinet slider and air sensors, or possibly even + making your own controller, the [Cons&Stuff website](https://consandstuff.github.io/) + and Discord community is a great place to start! \ No newline at end of file diff --git a/docs/games/chunithmnew/setup.md b/docs/games/chunithmnew/setup.md new file mode 100644 index 0000000..bc2566a --- /dev/null +++ b/docs/games/chunithmnew/setup.md @@ -0,0 +1,371 @@ +# CHUNITHM NEW + + +!!! danger "Please make sure you downloaded your data from an appropriate source.
This guide is unable to troubleshoot any problems related to bad or poorly managed data." + +!!! danger "If you're coming from a previous version of CHUNITHM" + + You'll want to create a new folder for the game and start from scratch. + CHUNITHM **DOES NOT** like being extracted over old data! + +--- + +### Preparing data + +!!! danger "There are currently issues with running game data in the `E:\` or `Y:\` drive.
Please extract the data into other drives." + +!!! tip "" + + After downloading and extracting your data, we need to make sure your files + aren't set to `Read-only`. + + - Right click the folder containing your data, then click on `Properties`. + - In the `General` tab go down to `Attributes`, untick `Read-only` and click `Apply`. + - A popup will appear, select `Apply changes to this folder, subfolder and files` + and press `OK`. + - Finally, click `OK` again to exit out of properties. + + You should end up with a file structure as follows. + + + + Create another empty folder named `AppData` next to them. It should now look like below. + + + + The `App` folder should have a file structure as follows. + + + +??? warning "If your data doesn't look like this" + + If your data looks like the third image: + + - Create an `App` folder and move all files and folders from the image inside of it. + - Create empty folders named `amfs`, `Option` and `AppData` next to the `App` folder. + + If extra files are present next to your folders, such as executables, scripts, etc.. + **remove them. This also means your data was tampered with and we strongly recommend + getting new data from somewhere else.** + +#### Updating the base game + +!!! tip "" + + Extract your patch's files to your existing data in a way that matches its + file structure. Agree to overwrite files if necessary. + +#### Installing option data + +!!! tip "" + + CHUNITHM content updates are distributed through option folders instead of patching + the base game. They are named `A???`, with each `?` being a number. Custom options + distributed by the community might use letters instead, to distinguish them from + official ones. + + Extract any options you've downloaded into the `Option` folder. You should end up with + a file structure as follows. **Do not be worried if you have fewer or more option folders.** + + + +#### Installing ICFs + +!!! tip "" + + Install Configuration Files (ICFs) tell the game what version it is. + **Without this your game cannot go online!** + + If your `amfs` folder already has a file named `ICF1`, skip this step. + + Otherwise, obtain copies of `ICF1` for your game version and place it in + the `amfs` folder. If it is named something else, rename it to exactly + `ICF1` **without any file extensions.** + +!!! info "Showing file extensions" + + By default, file extensions on Windows are hidden. Enable them by navigating to + the `View` tab in File Explorer and select `File name extensions`. + + +#### Installing unprotected executables + +!!! tip "" + + CHUNITHM executables are protected and will not run on a regular computer. + + Obtained unprotected (also called "unpacked" or "decrypted" by the community) + copies of `chusanApp.exe` and `amdaemon.exe` for your game version. If these weren't + provided with your data, join the [Discord](https://discord.gg/cZRUmEPK78) + for assistance. + + Copy `chusanApp.exe` and `amdaemon.exe` to the `bin` folder of your game data. Agree + to overwrite when asked. + +--- + +### Patching the game + +!!! info "Go through the [Web Patching](../../extras/patchweb.md) guide to learn how to use a web patcher." + + There are **many** patches for CHUNITHM. + + We will only bring up the ones we think could be genuinely useful. + +!!! danger "As a general rule of thumb, if you're not sure what a patch does or you're not absolutely certain you need it, leave it alone, regardless of recommendations below." + +| Patch | Recommendation | Description | +|------------------------------|----------------|-------------| +| Force shared audio mode | Either | Force the game to use shared mode audio output, letting you listen to other audio sources while the game is running **at the cost of audio latency.** +| Force 2 channel audio output | Either | Try enabling this patch if you don't get audio output at all. | +| Disable song select timer | Either | Disables the song select timer. | +| No encryption | ON | Disable encrypting network requests. **Required if you plan to run a local server.** | +| No TLS | ON | Disable checking if the server is `HTTPS` or not. **Required if you plan to run a local server.** | +| Bypass 1080p monitor check | Either | Disable checking if the monitor is 1080p when enabling 120FPS. Enable if you cannot set your monitor to 1080p. | +| Bypass 120Hz monitor check | Either | Disable checking if the monitor is **exactly 120Hz** when enabling 120FPS. Enable if you cannot set your monitor to 120Hz. | + +--- + +### Installing segatools + +!!! tip "" + + - Head over to [segatools releases](https://gitea.tendokyu.moe/Dniel97/segatools/releases) + and download `segatools.zip`. **Do not download the source code.** + - Extracting the archive should give you a few more zip files. Find **`chusan.zip`** + and extract it to the `App\bin` folder in your game data. + + You should now have a few more files inside the folder, as highlighted: + + + +--- + +### Configuring segatools + +!!! tip "" + + Since there is no graphical configuration tool for segatools, you will have to edit the + configuration file by hand. It is found in `App\bin\segatools.ini`. + + It is recommended that you follow along using a text editor with syntax highlighting such as [Notepad++](https://notepad-plus-plus.org/). + + Each following sub-section will correspond to a section in `segatools.ini`. If any + section is not mentioned, you can skip them. + +!!! warning + + If a key already exists in the section, delete everything after `=` and replace it with your + setting. Do not add another key. + + ```ini + [gpio] + dipsw2=1 + dipsw2=1 ; WRONG! + ``` + +#### `[vfs]` + +!!! tip "" + + If you've been matching the file structure as described in the [Preparing data](#preparing-data) + section, you can fill in this section with the values below: + + ```ini + [vfs] + amfs=../../amfs + option=../../Option + appdata=../../AppData + ``` + +#### `[gpio]` + +!!! tip "" + + - If you have a 120Hz monitor, set `dipsw2` and `dipsw3` to 0: + + ```ini + [gpio] + dipsw2=0 + dipsw3=0 + ``` + + - If you have a 60Hz monitor, set `dipsw2` and `dipsw3` to 1: + + ```ini + [gpio] + dipsw2=1 + dipsw3=1 + ``` + +#### `[gfx]` + +!!! tip "" + + - Set `windowed` to `0` to run in fullscreen mode and `1` to run in windowed mode. + - If you have multiple monitors and you're running in fullscreen mode (`windowed=0`), + set `monitor` to the index of the monitor you want to run the game on. + +??? info "Getting the monitor index" + + Navigate to Windows display settings. Each monitor should be assigned a number. + The monitor index is that number minus one. For example, monitor 2 means monitor index 1. + +--- + +### Connecting to a network + +!!! danger "Please choose one of the two solutions, not both!" + +??? tip "Remote (Online Network)" + + Head to the `[dns]` section inside `segatools.ini`. Set `default` to the address + provided by your network. **Do not add `http://` or `https://` to the address!** + + ```ini + [dns] + default=network.example + ``` + + Then, head to the `[keychip]` section and set `id` to the keychip ID provided by your network: + + ```ini + [keychip] + id=A69E-XXXXXXXXXXX + ``` + + Finally, you need a card number. Create a file named `aime.txt` inside `App\bin\DEVICE` and type in + your 20-digit access code if you already have one, or make one up if you don't. If you're making one + up, the access code **MUST NOT** start with a 3. + + + +??? warning "Local (ARTEMiS/AquaDX)" + + Both of these options require non-trivial setup. Refer to the official guides for [ARTEMiS](https://gitea.tendokyu.moe/Hay1tsme/artemis/src/branch/develop/docs/INSTALL_WINDOWS.md) + and [AquaDX](https://github.com/hykilpikonna/AquaDX?tab=readme-ov-file#usage-v1-developmental-preview) + to set up a local server. + +--- + +### Pre-launch requirements + +!!! info "These steps are required, otherwise your game won't run." + +#### VCRedist & DirectX + +!!! tip "" + + - Download and install the latest [VCRedist](https://github.com/abbodi1406/vcredist/releases/latest) (`VisualCppRedist_AIO_x86_x64.exe`) + - Download and install the [DirectX End-User Runtimes](https://www.microsoft.com/en-us/download/details.aspx?id=8109) + +#### Audio + +!!! tip "" + + - Right-click on the volume setting in your taskbar and select `Sounds`. + - Navigate to the `Playback` tab, right click on your default audio device, and click on `Properties`. + - Go to the `Advanced` tab. + - Check both boxes under `Exclusive Mode`. + - Open the `Default Format` dropdown. + - Pick either `16 bit, 48000Hz (DVD Quality)` or `24 bit, 48000Hz (Studio Quality)`, click `Apply`, then `OK`. + + + +#### Fixing OpenSSL on Intel 10th Gen and newer CPUs + +!!! tip "" + + If you have an Intel 10th Gen CPU or newer, right click `App\bin\start.bat`, select `Edit`, and add the + highlighted line to the top of the file. + + ```batch hl_lines="2" + @echo off + set OPENSSL_ia32cap=:~0x20000000 + + pushd %~dp0 + ... + ``` + +--- + +### First launch + +!!! danger "If you have any issues running the game, refer to the [Troubleshooting](troubleshooting.md) page." + +!!! tip + + Without an English patch, the service menu will be in Japanese. If you don't know Japanese, [Google Lens](https://lens.google/) + is a handy tool for navigating this menu. + +#### GAME ASSIGNMENTS + +!!! tip "" + + If you've followed all instructions correctly, you're now finally ready to launch the game! + + Start the game by running `App\bin\start.bat`. Let the game load until it reaches the screen below. + + + +!!! tip "" + + Press your `Test` button (default `F1`) to enter the service menu. Use the `Service` button + (default `F2`) to navigate the menu, and `Test` button to select an option. + + Navigate to **ゲーム設定** (`GAME ASSIGNMENTS`, the 4th option). + + + +!!! tip "" + + Select **グループ内基準機設定** (`SET STANDARD IN GROUP`, the second option) + and toggle this setting to **基準機** (`STANDARD`). + + + +!!! tip "" + + Select **終了** (`EXIT`, the last option) to exit to the main service menu. + +#### CLOSE SETTING + +!!! tip "" + + Navigate to **閉店設定** (`CLOSE SETTING`, the 10th option). + + + +!!! tip "" + + Navigate to **時** (`HOUR`, the 2nd option) and use the `Service` button + to toggle the setting until it says **全時刻** (`ALL TIME`). + + + +!!! tip "" + + Select **終了** (`EXIT`, the last option) to exit to the main service menu, then select **終了** + (also the last option) in the main menu to exit the service menu. + +#### Waiting for Distribution Server + +!!! tip "" + + If you're stuck at the `Waiting for Distribution Server` screen below, close the game and relaunch. + + + +!!! tip "" + + You're all done! The game should load up properly now. + + You can add coins using the `Coin` key (default `F3`) and card in by holding the `Enter` key. + +### Further configuration + +!!! info "Input methods and controllers are covered in the [Controllers](controllers.md) page." + +!!! warning "Have any other issues?" + + Check out the [Troubleshooting](troubleshooting.md) and [Error Codes](../../errorcodes/sega.md) pages. diff --git a/docs/games/chunithmnew/troubleshooting.md b/docs/games/chunithmnew/troubleshooting.md new file mode 100644 index 0000000..30e6fbb --- /dev/null +++ b/docs/games/chunithmnew/troubleshooting.md @@ -0,0 +1,122 @@ +# CHUNITHM NEW + + +!!! danger "Please make sure you downloaded your data from an appropriate source.
This guide is unable to troubleshoot any problems related to bad or poorly managed data." + +--- + +### My game crashes on launch! + +!!! tip "" + + Could be due to **many** things, the most common of which are: + + - `amdaemon` crashing in the background. Make sure that the `config_*.json` files + have valid syntax, your ICF files are correct, and [the OpenSSL fix](setup.md#fixing-openssl-on-intel-10th-gen-and-newer-cpus) + is applied on Intel Core 10th Gen CPUs and newer. + - Using the incorrect dipswitch settings for your refresh rate (e.g. `dipsw3=0` on + a 60Hz screen). Refer to [the setup guide](setup.md#gpio) to fix it. + - Enabling 120FPS on a monitor that is not **exactly 120Hz** or **exactly 1080p**. + If you cannot set your monitor's refresh rate to 120Hz, apply the "Bypass 120Hz + monitor check"/"Bypass 1080p monitor check" on a CHUNITHM web patcher (see [Resources](../../resources.md#web-patchers)). + +??? info "Capturing logs from `amdaemon` for troubleshooting" + + To assist with troubleshooting, a script can be used to capture logs from `amdaemon`. Create a file named + `amdaemontest.bat` in `App\bin`, then paste the code block below into the file. + + ```batch + @echo off + cls + echo Attempting to run AM Daemon ... + echo Window should close after 30 seconds + echo Log will be generated at amdaemontest.txt + call :sub >amdaemontest.txt + exit /b + + :sub + set OPENSSL_ia32cap=:~0x20000000 + pushd %~dp0 + start /b "AM Daemon" /min inject_x64 -d -k chusanhook_x64.dll amdaemon.exe -c config_common.json config_server.json config_client.json config_cvt.json config_sp.json config_hook.json + ping 127.0.0.1 -n 31 > nul && taskkill /im amdaemon.exe + ``` + + Double-click it to run. The script should run for 30 seconds, and you will get a file + named `amdaemontest.txt` in `App\bin`, which you can send to help people troubleshoot your issue. + +--- + +### My game takes a long time to boot! + +!!! tip "" + + CHUNITHM game files consist of thousands of small XML files, which Windows Defender + takes a long time to scan through. Add your game folder to the Windows Defender + exclusion list. + +!!! danger + + Doing this will prevent Windows Defender from scanning your game folder for viruses. + Only do this if you trust the source of the data. + +--- + +### My game is running too slow/fast + +!!! tip "" + + The game could be running under or over its required refresh rate. + + - Make sure V-Sync isn't disabled in your graphics settings (called "Vertical sync" + in NVIDIA Control Panel and "Wait for Vertical Refresh" in AMD Control Panel.) + - Make sure your monitor's refresh rate is set to 60Hz or 120Hz. + + It could also be that your computer's performance isn't good enough to keep + a steady framerate. + +--- + +### My game is stuttering + +!!! tip "" + + For NVIDIA users, create an override for `chusanApp.exe` in NVIDIA Control Panel + and change "Power management mode" to "**Prefer maximum performance**". + +--- + +### My game crashes when I tab out of fullscreen! + +!!! tip "" + + As the game is intended to run on arcade hardware, it doesn't like being minimized. + + One workaround for this is to use DXVK. Download the latest version from [releases](https://github.com/doitsujin/dxvk/releases/latest). + This will be a `dxvk-x.y.z.tar.gz` file, which you can open using [7zip](https://www.7-zip.org/). + Navigate to the `x32` folder, and copy the `d3d9.dll` file to your game's `App\bin` folder, agreeing + to overwrite when asked. + + You should now be able to tab out of fullscreen without crashing the game. + +!!! warning + + The game will not ignore inputs when out of focus. + + This means any controller inputs will still be accepted, so try not to lean onto + your slider whilst tabbed out! + + This also means that you can accidentally enter the service menu by hitting your + `Test` key even if the game is minimised. If you were in the middle of a credit, + **your scores will be lost.** + +--- + +### When I run the game all other audio is gone! + +!!! tip "" + + CHUNITHM uses [WASAPI exclusive mode](https://docs.microsoft.com/en-us/windows/win32/coreaudio/exclusive-mode-streams) + for audio to get better latency. + + You can apply the "Shared Audio" patch on a CHUNITHM web patcher (see [Resources](../../resources.md#web-patchers)) + to hear audio outside of the game at the cost of audio latency. \ No newline at end of file diff --git a/docs/games/chunithmnewplus/controllers.md b/docs/games/chunithmnewplus/controllers.md new file mode 100644 index 0000000..8736669 --- /dev/null +++ b/docs/games/chunithmnewplus/controllers.md @@ -0,0 +1,302 @@ +# CHUNITHM NEW PLUS + + +!!! danger "Please make sure you downloaded your data from an appropriate source.
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: + + + + That is your computer's IP address. + +??? info "Automatically launching the Brokenithm server when starting the game" + + **This will only work if you extracted `brokenithm_server.exe` to `App\bin\` 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: + + ```batch hl_lines="5" + @echo off + + pushd %~dp0 + + start /min brokenithm_server + start /min inject_x64 -d -k chusanhook_x64.dll amdaemon.exe -c config_common.json config_server.json config_client.json config_cvt.json config_sp.json config_hook.json + inject_x86 -d -k chusanhook_x86.dll chusanApp.exe + taskkill /f /im amdaemon.exe > nul 2>&1 + + echo. + echo Game processes have terminated + pause + ``` + +??? info "Improving latency" + + You can improve latency by running Brokenithm with your Android device tethered to + your computer. However, this requires a little extra setup: + + - Connect your Android device to your computer with a USB cable. + - If you haven't enabled Developer options on your device, do it by navigating to + the "About" page in your phone's settings, then tap "Build number" seven times. + This varies by device, so if unsure, look up the instructions for your specific + one. + - Navigate to Developer options and enable USB debugging. + - On your computer, download and extract [Android SDK Platform Tools](https://dl.google.com/android/repository/platform-tools-latest-windows.zip) + to your `App\bin\` folder. + - Navigate to the `App\bin\platform-tools` folder in File Explorer, click on the + address bar, type `cmd`, and hit Enter to open a command prompt. + - In the command prompt, type the following command: + + ```batch + adb reverse tcp:52468 tcp:52468 + ``` + + - Start `brokenithm_server.exe`. + - On your Android device, open Brokenithm, and change the address to `0.0.0.0`. + - If the text box to the left of the "SETTINGS" button say "UDP", tap on it + once to switch to "TCP" mode. + - Tap on "START", and you will now be connected via the USB cable. + - You can now start the game as normal. + + The next time you play the game, you only need to run the `adb reverse ...` command + again. To do this automatically when the game starts, add a line to the `start.bat` + script **before** the `brokenithm_server` line: + + ```batch hl_lines="5" + @echo off + + pushd %~dp0 + + start /min platform-tools\adb reverse tcp:52468 tcp:52468 + start /min brokenithm_server + start /min inject_x64 -d -k chusanhook_x64.dll amdaemon.exe -c config_common.json config_server.json config_client.json config_cvt.json config_sp.json config_hook.json + inject_x86 -d -k chusanhook_x86.dll chusanApp.exe + taskkill /f /im amdaemon.exe > nul 2>&1 + + echo. + echo Game processes have terminated + pause + ``` + +#### iOS/iPadOS + +!!! tip "" + + - 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: + + ```batch hl_lines="5" + @echo off + + pushd %~dp0 + + start /min Brokenithm-Server\Brokenithm-Evolved-iOS.exe + start /min inject_x64 -d -k chusanhook_x64.dll amdaemon.exe -c config_common.json config_server.json config_client.json config_cvt.json config_sp.json config_hook.json + inject_x86 -d -k chusanhook_x86.dll chusanApp.exe + taskkill /f /im amdaemon.exe > nul 2>&1 + + echo. + echo Game processes have terminated + pause + ``` + +### TASOLLER + +!!! warning + + This guide only covers TASOLLERs running the v2.0 touch firmware. If you've purchased the + controller after January 2022, the update should have already been applied. + + If you've purchased the controller before then, you will need to update the touch + firmware by following the instructions on [DJ-DAO's support page](https://www.dj-dao.com/en/support/11.html). + +!!! tip "" + + - Install the [custom Host and LED firmware](https://pixeldrain.com/u/DajSPEoa) to your controller. + Instructions on how to do so is provided in the linked archive. + - Pick one of these two TASOLLER IO DLLs to download and extract to your `App\bin` folder. + They should be functionally the same, but if one doesn't work, you can try the other: + - [chuniio-tasoller](https://gitea.tendokyu.moe/Scribbler/chuniio-tasoller/releases) (download `lib.zip`) + - [chuniio-rs](https://gitea.tendokyu.moe/beerpsi/chuniio-rs/releases) (download `chusan.zip`) + - Edit your `App\bin\segatools.ini` to reference the extracted DLLs: + + ```ini + [chuniio] + path32=chuniio_tasoller.dll;(1)! + path64=chuniio_tasoller_x64.dll;(2)! + ``` + + 1. Or `chuniio_tasoller_v2_chusan.dll` if you downloaded `chuniio-rs`. + 2. Or `chuniio_tasoller_v2_amdaemon.dll` if you downloaded `chuniio-rs`. + + - Connect the controller to your computer, and then start the game. + +### YubiDeck + +!!! tip "" + + - Switch your YubiDeck to HID output mode. Instructions on how to do so are provided + in the [YubiDeck manual](https://drive.google.com/file/d/11KVlKbg3zGCRwI7R-30t2IJc6OQwDEgo/view). + - Download the latest version of [YubiDeck IO DLLs](https://gitea.tendokyu.moe/beerpsi/chuniio-yubideck/releases) + and extract it to your `App\bin` folder. + - Edit your `App\bin\segatools.ini` to reference the extracted DLLs: + + ```ini + [chuniio] + path32=chuniio_yubideck_chusan.dll + path64=chuniio_yubideck_amdaemon.dll + ``` + + - Optionally, reference the included AimeIO DLL to use the controller's + built-in card reader: + + ```ini + [aimeio] + path=aimeio_yubideck.dll + ``` + + - Connect the controller to your computer, and then start the game. + +### Arcade hardware and other controllers + +!!! tip "" + + If you're interested in using a cabinet slider and air sensors, or possibly even + making your own controller, the [Cons&Stuff website](https://consandstuff.github.io/) + and Discord community is a great place to start! \ No newline at end of file diff --git a/docs/games/chunithmnewplus/setup.md b/docs/games/chunithmnewplus/setup.md new file mode 100644 index 0000000..8c3ad23 --- /dev/null +++ b/docs/games/chunithmnewplus/setup.md @@ -0,0 +1,371 @@ +# CHUNITHM NEW PLUS + + +!!! danger "Please make sure you downloaded your data from an appropriate source.
This guide is unable to troubleshoot any problems related to bad or poorly managed data." + +!!! danger "If you're coming from a previous version of CHUNITHM" + + You'll want to create a new folder for the game and start from scratch. + CHUNITHM **DOES NOT** like being extracted over old data! + +--- + +### Preparing data + +!!! danger "There are currently issues with running game data in the `E:\` or `Y:\` drive.
Please extract the data into other drives." + +!!! tip "" + + After downloading and extracting your data, we need to make sure your files + aren't set to `Read-only`. + + - Right click the folder containing your data, then click on `Properties`. + - In the `General` tab go down to `Attributes`, untick `Read-only` and click `Apply`. + - A popup will appear, select `Apply changes to this folder, subfolder and files` + and press `OK`. + - Finally, click `OK` again to exit out of properties. + + You should end up with a file structure as follows. + + + + Create another empty folder named `AppData` next to them. It should now look like below. + + + + The `App` folder should have a file structure as follows. + + + +??? warning "If your data doesn't look like this" + + If your data looks like the third image: + + - Create an `App` folder and move all files and folders from the image inside of it. + - Create empty folders named `amfs`, `Option` and `AppData` next to the `App` folder. + + If extra files are present next to your folders, such as executables, scripts, etc.. + **remove them. This also means your data was tampered with and we strongly recommend + getting new data from somewhere else.** + +#### Updating the base game + +!!! tip "" + + Extract your patch's files to your existing data in a way that matches its + file structure. Agree to overwrite files if necessary. + +#### Installing option data + +!!! tip "" + + CHUNITHM content updates are distributed through option folders instead of patching + the base game. They are named `A???`, with each `?` being a number. Custom options + distributed by the community might use letters instead, to distinguish them from + official ones. + + Extract any options you've downloaded into the `Option` folder. You should end up with + a file structure as follows. **Do not be worried if you have fewer or more option folders.** + + + +#### Installing ICFs + +!!! tip "" + + Install Configuration Files (ICFs) tell the game what version it is. + **Without this your game cannot go online!** + + If your `amfs` folder already has a file named `ICF1`, skip this step. + + Otherwise, obtain copies of `ICF1` for your game version and place it in + the `amfs` folder. If it is named something else, rename it to exactly + `ICF1` **without any file extensions.** + +!!! info "Showing file extensions" + + By default, file extensions on Windows are hidden. Enable them by navigating to + the `View` tab in File Explorer and select `File name extensions`. + + +#### Installing unprotected executables + +!!! tip "" + + CHUNITHM executables are protected and will not run on a regular computer. + + Obtained unprotected (also called "unpacked" or "decrypted" by the community) + copies of `chusanApp.exe` and `amdaemon.exe` for your game version. If these weren't + provided with your data, join the [Discord](https://discord.gg/cZRUmEPK78) + for assistance. + + Copy `chusanApp.exe` and `amdaemon.exe` to the `bin` folder of your game data. Agree + to overwrite when asked. + +--- + +### Patching the game + +!!! info "Go through the [Web Patching](../../extras/patchweb.md) guide to learn how to use a web patcher." + + There are **many** patches for CHUNITHM. + + We will only bring up the ones we think could be genuinely useful. + +!!! danger "As a general rule of thumb, if you're not sure what a patch does or you're not absolutely certain you need it, leave it alone, regardless of recommendations below." + +| Patch | Recommendation | Description | +|------------------------------|----------------|-------------| +| Force shared audio mode | Either | Force the game to use shared mode audio output, letting you listen to other audio sources while the game is running **at the cost of audio latency.** +| Force 2 channel audio output | Either | Try enabling this patch if you don't get audio output at all. | +| Disable song select timer | Either | Disables the song select timer. | +| No encryption | ON | Disable encrypting network requests. **Required if you plan to run a local server.** | +| No TLS | ON | Disable checking if the server is `HTTPS` or not. **Required if you plan to run a local server.** | +| Bypass 1080p monitor check | Either | Disable checking if the monitor is 1080p when enabling 120FPS. Enable if you cannot set your monitor to 1080p. | +| Bypass 120Hz monitor check | Either | Disable checking if the monitor is **exactly 120Hz** when enabling 120FPS. Enable if you cannot set your monitor to 120Hz. | + +--- + +### Installing segatools + +!!! tip "" + + - Head over to [segatools releases](https://gitea.tendokyu.moe/Dniel97/segatools/releases) + and download `segatools.zip`. **Do not download the source code.** + - Extracting the archive should give you a few more zip files. Find **`chusan.zip`** + and extract it to the `App\bin` folder in your game data. + + You should now have a few more files inside the folder, as highlighted: + + + +--- + +### Configuring segatools + +!!! tip "" + + Since there is no graphical configuration tool for segatools, you will have to edit the + configuration file by hand. It is found in `App\bin\segatools.ini`. + + It is recommended that you follow along using a text editor with syntax highlighting such as [Notepad++](https://notepad-plus-plus.org/). + + Each following sub-section will correspond to a section in `segatools.ini`. If any + section is not mentioned, you can skip them. + +!!! warning + + If a key already exists in the section, delete everything after `=` and replace it with your + setting. Do not add another key. + + ```ini + [gpio] + dipsw2=1 + dipsw2=1 ; WRONG! + ``` + +#### `[vfs]` + +!!! tip "" + + If you've been matching the file structure as described in the [Preparing data](#preparing-data) + section, you can fill in this section with the values below: + + ```ini + [vfs] + amfs=../../amfs + option=../../Option + appdata=../../AppData + ``` + +#### `[gpio]` + +!!! tip "" + + - If you have a 120Hz monitor, set `dipsw2` and `dipsw3` to 0: + + ```ini + [gpio] + dipsw2=0 + dipsw3=0 + ``` + + - If you have a 60Hz monitor, set `dipsw2` and `dipsw3` to 1: + + ```ini + [gpio] + dipsw2=1 + dipsw3=1 + ``` + +#### `[gfx]` + +!!! tip "" + + - Set `windowed` to `0` to run in fullscreen mode and `1` to run in windowed mode. + - If you have multiple monitors and you're running in fullscreen mode (`windowed=0`), + set `monitor` to the index of the monitor you want to run the game on. + +??? info "Getting the monitor index" + + Navigate to Windows display settings. Each monitor should be assigned a number. + The monitor index is that number minus one. For example, monitor 2 means monitor index 1. + +--- + +### Connecting to a network + +!!! danger "Please choose one of the two solutions, not both!" + +??? tip "Remote (Online Network)" + + Head to the `[dns]` section inside `segatools.ini`. Set `default` to the address + provided by your network. **Do not add `http://` or `https://` to the address!** + + ```ini + [dns] + default=network.example + ``` + + Then, head to the `[keychip]` section and set `id` to the keychip ID provided by your network: + + ```ini + [keychip] + id=A69E-XXXXXXXXXXX + ``` + + Finally, you need a card number. Create a file named `aime.txt` inside `App\bin\DEVICE` and type in + your 20-digit access code if you already have one, or make one up if you don't. If you're making one + up, the access code **MUST NOT** start with a 3. + + + +??? warning "Local (ARTEMiS/AquaDX)" + + Both of these options require non-trivial setup. Refer to the official guides for [ARTEMiS](https://gitea.tendokyu.moe/Hay1tsme/artemis/src/branch/develop/docs/INSTALL_WINDOWS.md) + and [AquaDX](https://github.com/hykilpikonna/AquaDX?tab=readme-ov-file#usage-v1-developmental-preview) + to set up a local server. + +--- + +### Pre-launch requirements + +!!! info "These steps are required, otherwise your game won't run." + +#### VCRedist & DirectX + +!!! tip "" + + - Download and install the latest [VCRedist](https://github.com/abbodi1406/vcredist/releases/latest) (`VisualCppRedist_AIO_x86_x64.exe`) + - Download and install the [DirectX End-User Runtimes](https://www.microsoft.com/en-us/download/details.aspx?id=8109) + +#### Audio + +!!! tip "" + + - Right-click on the volume setting in your taskbar and select `Sounds`. + - Navigate to the `Playback` tab, right click on your default audio device, and click on `Properties`. + - Go to the `Advanced` tab. + - Check both boxes under `Exclusive Mode`. + - Open the `Default Format` dropdown. + - Pick either `16 bit, 48000Hz (DVD Quality)` or `24 bit, 48000Hz (Studio Quality)`, click `Apply`, then `OK`. + + + +#### Fixing OpenSSL on Intel 10th Gen and newer CPUs + +!!! tip "" + + If you have an Intel 10th Gen CPU or newer, right click `App\bin\start.bat`, select `Edit`, and add the + highlighted line to the top of the file. + + ```batch hl_lines="2" + @echo off + set OPENSSL_ia32cap=:~0x20000000 + + pushd %~dp0 + ... + ``` + +--- + +### First launch + +!!! danger "If you have any issues running the game, refer to the [Troubleshooting](troubleshooting.md) page." + +!!! tip + + Without an English patch, the service menu will be in Japanese. If you don't know Japanese, [Google Lens](https://lens.google/) + is a handy tool for navigating this menu. + +#### GAME ASSIGNMENTS + +!!! tip "" + + If you've followed all instructions correctly, you're now finally ready to launch the game! + + Start the game by running `App\bin\start.bat`. Let the game load until it reaches the screen below. + + + +!!! tip "" + + Press your `Test` button (default `F1`) to enter the service menu. Use the `Service` button + (default `F2`) to navigate the menu, and `Test` button to select an option. + + Navigate to **ゲーム設定** (`GAME ASSIGNMENTS`, the 4th option). + + + +!!! tip "" + + Select **グループ内基準機設定** (`SET STANDARD IN GROUP`, the second option) + and toggle this setting to **基準機** (`STANDARD`). + + + +!!! tip "" + + Select **終了** (`EXIT`, the last option) to exit to the main service menu. + +#### CLOSE SETTING + +!!! tip "" + + Navigate to **閉店設定** (`CLOSE SETTING`, the 10th option). + + + +!!! tip "" + + Navigate to **時** (`HOUR`, the 2nd option) and use the `Service` button + to toggle the setting until it says **全時刻** (`ALL TIME`). + + + +!!! tip "" + + Select **終了** (`EXIT`, the last option) to exit to the main service menu, then select **終了** + (also the last option) in the main menu to exit the service menu. + +#### Waiting for Distribution Server + +!!! tip "" + + If you're stuck at the `Waiting for Distribution Server` screen below, close the game and relaunch. + + + +!!! tip "" + + You're all done! The game should load up properly now. + + You can add coins using the `Coin` key (default `F3`) and card in by holding the `Enter` key. + +### Further configuration + +!!! info "Input methods and controllers are covered in the [Controllers](controllers.md) page." + +!!! warning "Have any other issues?" + + Check out the [Troubleshooting](troubleshooting.md) and [Error Codes](../../errorcodes/sega.md) pages. diff --git a/docs/games/chunithmnewplus/troubleshooting.md b/docs/games/chunithmnewplus/troubleshooting.md new file mode 100644 index 0000000..02292cf --- /dev/null +++ b/docs/games/chunithmnewplus/troubleshooting.md @@ -0,0 +1,122 @@ +# CHUNITHM NEW PLUS + + +!!! danger "Please make sure you downloaded your data from an appropriate source.
This guide is unable to troubleshoot any problems related to bad or poorly managed data." + +--- + +### My game crashes on launch! + +!!! tip "" + + Could be due to **many** things, the most common of which are: + + - `amdaemon` crashing in the background. Make sure that the `config_*.json` files + have valid syntax, your ICF files are correct, and [the OpenSSL fix](setup.md#fixing-openssl-on-intel-10th-gen-and-newer-cpus) + is applied on Intel Core 10th Gen CPUs and newer. + - Using the incorrect dipswitch settings for your refresh rate (e.g. `dipsw3=0` on + a 60Hz screen). Refer to [the setup guide](setup.md#gpio) to fix it. + - Enabling 120FPS on a monitor that is not **exactly 120Hz** or **exactly 1080p**. + If you cannot set your monitor's refresh rate to 120Hz, apply the "Bypass 120Hz + monitor check"/"Bypass 1080p monitor check" on a CHUNITHM web patcher (see [Resources](../../resources.md#web-patchers)). + +??? info "Capturing logs from `amdaemon` for troubleshooting" + + To assist with troubleshooting, a script can be used to capture logs from `amdaemon`. Create a file named + `amdaemontest.bat` in `App\bin`, then paste the code block below into the file. + + ```batch + @echo off + cls + echo Attempting to run AM Daemon ... + echo Window should close after 30 seconds + echo Log will be generated at amdaemontest.txt + call :sub >amdaemontest.txt + exit /b + + :sub + set OPENSSL_ia32cap=:~0x20000000 + pushd %~dp0 + start /b "AM Daemon" /min inject_x64 -d -k chusanhook_x64.dll amdaemon.exe -c config_common.json config_server.json config_client.json config_cvt.json config_sp.json config_hook.json + ping 127.0.0.1 -n 31 > nul && taskkill /im amdaemon.exe + ``` + + Double-click it to run. The script should run for 30 seconds, and you will get a file + named `amdaemontest.txt` in `App\bin`, which you can send to help people troubleshoot your issue. + +--- + +### My game takes a long time to boot! + +!!! tip "" + + CHUNITHM game files consist of thousands of small XML files, which Windows Defender + takes a long time to scan through. Add your game folder to the Windows Defender + exclusion list. + +!!! danger + + Doing this will prevent Windows Defender from scanning your game folder for viruses. + Only do this if you trust the source of the data. + +--- + +### My game is running too slow/fast + +!!! tip "" + + The game could be running under or over its required refresh rate. + + - Make sure V-Sync isn't disabled in your graphics settings (called "Vertical sync" + in NVIDIA Control Panel and "Wait for Vertical Refresh" in AMD Control Panel.) + - Make sure your monitor's refresh rate is set to 60Hz or 120Hz. + + It could also be that your computer's performance isn't good enough to keep + a steady framerate. + +--- + +### My game is stuttering + +!!! tip "" + + For NVIDIA users, create an override for `chusanApp.exe` in NVIDIA Control Panel + and change "Power management mode" to "**Prefer maximum performance**". + +--- + +### My game crashes when I tab out of fullscreen! + +!!! tip "" + + As the game is intended to run on arcade hardware, it doesn't like being minimized. + + One workaround for this is to use DXVK. Download the latest version from [releases](https://github.com/doitsujin/dxvk/releases/latest). + This will be a `dxvk-x.y.z.tar.gz` file, which you can open using [7zip](https://www.7-zip.org/). + Navigate to the `x32` folder, and copy the `d3d9.dll` file to your game's `App\bin` folder, agreeing + to overwrite when asked. + + You should now be able to tab out of fullscreen without crashing the game. + +!!! warning + + The game will not ignore inputs when out of focus. + + This means any controller inputs will still be accepted, so try not to lean onto + your slider whilst tabbed out! + + This also means that you can accidentally enter the service menu by hitting your + `Test` key even if the game is minimised. If you were in the middle of a credit, + **your scores will be lost.** + +--- + +### When I run the game all other audio is gone! + +!!! tip "" + + CHUNITHM uses [WASAPI exclusive mode](https://docs.microsoft.com/en-us/windows/win32/coreaudio/exclusive-mode-streams) + for audio to get better latency. + + You can apply the "Shared Audio" patch on a CHUNITHM web patcher (see [Resources](../../resources.md#web-patchers)) + to hear audio outside of the game at the cost of audio latency. \ No newline at end of file diff --git a/docs/games/chunithmsun/controllers.md b/docs/games/chunithmsun/controllers.md new file mode 100644 index 0000000..a1b519c --- /dev/null +++ b/docs/games/chunithmsun/controllers.md @@ -0,0 +1,302 @@ +# CHUNITHM SUN + + +!!! danger "Please make sure you downloaded your data from an appropriate source.
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: + + + + That is your computer's IP address. + +??? info "Automatically launching the Brokenithm server when starting the game" + + **This will only work if you extracted `brokenithm_server.exe` to `App\bin\` 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: + + ```batch hl_lines="5" + @echo off + + pushd %~dp0 + + start /min brokenithm_server + start /min inject_x64 -d -k chusanhook_x64.dll amdaemon.exe -c config_common.json config_server.json config_client.json config_cvt.json config_sp.json config_hook.json + inject_x86 -d -k chusanhook_x86.dll chusanApp.exe + taskkill /f /im amdaemon.exe > nul 2>&1 + + echo. + echo Game processes have terminated + pause + ``` + +??? info "Improving latency" + + You can improve latency by running Brokenithm with your Android device tethered to + your computer. However, this requires a little extra setup: + + - Connect your Android device to your computer with a USB cable. + - If you haven't enabled Developer options on your device, do it by navigating to + the "About" page in your phone's settings, then tap "Build number" seven times. + This varies by device, so if unsure, look up the instructions for your specific + one. + - Navigate to Developer options and enable USB debugging. + - On your computer, download and extract [Android SDK Platform Tools](https://dl.google.com/android/repository/platform-tools-latest-windows.zip) + to your `App\bin\` folder. + - Navigate to the `App\bin\platform-tools` folder in File Explorer, click on the + address bar, type `cmd`, and hit Enter to open a command prompt. + - In the command prompt, type the following command: + + ```batch + adb reverse tcp:52468 tcp:52468 + ``` + + - Start `brokenithm_server.exe`. + - On your Android device, open Brokenithm, and change the address to `0.0.0.0`. + - If the text box to the left of the "SETTINGS" button say "UDP", tap on it + once to switch to "TCP" mode. + - Tap on "START", and you will now be connected via the USB cable. + - You can now start the game as normal. + + The next time you play the game, you only need to run the `adb reverse ...` command + again. To do this automatically when the game starts, add a line to the `start.bat` + script **before** the `brokenithm_server` line: + + ```batch hl_lines="5" + @echo off + + pushd %~dp0 + + start /min platform-tools\adb reverse tcp:52468 tcp:52468 + start /min brokenithm_server + start /min inject_x64 -d -k chusanhook_x64.dll amdaemon.exe -c config_common.json config_server.json config_client.json config_cvt.json config_sp.json config_hook.json + inject_x86 -d -k chusanhook_x86.dll chusanApp.exe + taskkill /f /im amdaemon.exe > nul 2>&1 + + echo. + echo Game processes have terminated + pause + ``` + +#### iOS/iPadOS + +!!! tip "" + + - 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: + + ```batch hl_lines="5" + @echo off + + pushd %~dp0 + + start /min Brokenithm-Server\Brokenithm-Evolved-iOS.exe + start /min inject_x64 -d -k chusanhook_x64.dll amdaemon.exe -c config_common.json config_server.json config_client.json config_cvt.json config_sp.json config_hook.json + inject_x86 -d -k chusanhook_x86.dll chusanApp.exe + taskkill /f /im amdaemon.exe > nul 2>&1 + + echo. + echo Game processes have terminated + pause + ``` + +### TASOLLER + +!!! warning + + This guide only covers TASOLLERs running the v2.0 touch firmware. If you've purchased the + controller after January 2022, the update should have already been applied. + + If you've purchased the controller before then, you will need to update the touch + firmware by following the instructions on [DJ-DAO's support page](https://www.dj-dao.com/en/support/11.html). + +!!! tip "" + + - Install the [custom Host and LED firmware](https://pixeldrain.com/u/DajSPEoa) to your controller. + Instructions on how to do so is provided in the linked archive. + - Pick one of these two TASOLLER IO DLLs to download and extract to your `App\bin` folder. + They should be functionally the same, but if one doesn't work, you can try the other: + - [chuniio-tasoller](https://gitea.tendokyu.moe/Scribbler/chuniio-tasoller/releases) (download `lib.zip`) + - [chuniio-rs](https://gitea.tendokyu.moe/beerpsi/chuniio-rs/releases) (download `chusan.zip`) + - Edit your `App\bin\segatools.ini` to reference the extracted DLLs: + + ```ini + [chuniio] + path32=chuniio_tasoller.dll;(1)! + path64=chuniio_tasoller_x64.dll;(2)! + ``` + + 1. Or `chuniio_tasoller_v2_chusan.dll` if you downloaded `chuniio-rs`. + 2. Or `chuniio_tasoller_v2_amdaemon.dll` if you downloaded `chuniio-rs`. + + - Connect the controller to your computer, and then start the game. + +### YubiDeck + +!!! tip "" + + - Switch your YubiDeck to HID output mode. Instructions on how to do so are provided + in the [YubiDeck manual](https://drive.google.com/file/d/11KVlKbg3zGCRwI7R-30t2IJc6OQwDEgo/view). + - Download the latest version of [YubiDeck IO DLLs](https://gitea.tendokyu.moe/beerpsi/chuniio-yubideck/releases) + and extract it to your `App\bin` folder. + - Edit your `App\bin\segatools.ini` to reference the extracted DLLs: + + ```ini + [chuniio] + path32=chuniio_yubideck_chusan.dll + path64=chuniio_yubideck_amdaemon.dll + ``` + + - Optionally, reference the included AimeIO DLL to use the controller's + built-in card reader: + + ```ini + [aimeio] + path=aimeio_yubideck.dll + ``` + + - Connect the controller to your computer, and then start the game. + +### Arcade hardware and other controllers + +!!! tip "" + + If you're interested in using a cabinet slider and air sensors, or possibly even + making your own controller, the [Cons&Stuff website](https://consandstuff.github.io/) + and Discord community is a great place to start! \ No newline at end of file diff --git a/docs/games/chunithmsun/setup.md b/docs/games/chunithmsun/setup.md new file mode 100644 index 0000000..8fa3a9e --- /dev/null +++ b/docs/games/chunithmsun/setup.md @@ -0,0 +1,371 @@ +# CHUNITHM SUN + + +!!! danger "Please make sure you downloaded your data from an appropriate source.
This guide is unable to troubleshoot any problems related to bad or poorly managed data." + +!!! danger "If you're coming from a previous version of CHUNITHM" + + You'll want to create a new folder for the game and start from scratch. + CHUNITHM **DOES NOT** like being extracted over old data! + +--- + +### Preparing data + +!!! danger "There are currently issues with running game data in the `E:\` or `Y:\` drive.
Please extract the data into other drives." + +!!! tip "" + + After downloading and extracting your data, we need to make sure your files + aren't set to `Read-only`. + + - Right click the folder containing your data, then click on `Properties`. + - In the `General` tab go down to `Attributes`, untick `Read-only` and click `Apply`. + - A popup will appear, select `Apply changes to this folder, subfolder and files` + and press `OK`. + - Finally, click `OK` again to exit out of properties. + + You should end up with a file structure as follows. + + + + Create another empty folder named `AppData` next to them. It should now look like below. + + + + The `App` folder should have a file structure as follows. + + + +??? warning "If your data doesn't look like this" + + If your data looks like the third image: + + - Create an `App` folder and move all files and folders from the image inside of it. + - Create empty folders named `amfs`, `Option` and `AppData` next to the `App` folder. + + If extra files are present next to your folders, such as executables, scripts, etc.. + **remove them. This also means your data was tampered with and we strongly recommend + getting new data from somewhere else.** + +#### Updating the base game + +!!! tip "" + + Extract your patch's files to your existing data in a way that matches its + file structure. Agree to overwrite files if necessary. + +#### Installing option data + +!!! tip "" + + CHUNITHM content updates are distributed through option folders instead of patching + the base game. They are named `A???`, with each `?` being a number. Custom options + distributed by the community might use letters instead, to distinguish them from + official ones. + + Extract any options you've downloaded into the `Option` folder. You should end up with + a file structure as follows. **Do not be worried if you have fewer or more option folders.** + + + +#### Installing ICFs + +!!! tip "" + + Install Configuration Files (ICFs) tell the game what version it is. + **Without this your game cannot go online!** + + If your `amfs` folder already has a file named `ICF1`, skip this step. + + Otherwise, obtain copies of `ICF1` for your game version and place it in + the `amfs` folder. If it is named something else, rename it to exactly + `ICF1` **without any file extensions.** + +!!! info "Showing file extensions" + + By default, file extensions on Windows are hidden. Enable them by navigating to + the `View` tab in File Explorer and select `File name extensions`. + + +#### Installing unprotected executables + +!!! tip "" + + CHUNITHM executables are protected and will not run on a regular computer. + + Obtained unprotected (also called "unpacked" or "decrypted" by the community) + copies of `chusanApp.exe` and `amdaemon.exe` for your game version. If these weren't + provided with your data, join the [Discord](https://discord.gg/cZRUmEPK78) + for assistance. + + Copy `chusanApp.exe` and `amdaemon.exe` to the `bin` folder of your game data. Agree + to overwrite when asked. + +--- + +### Patching the game + +!!! info "Go through the [Web Patching](../../extras/patchweb.md) guide to learn how to use a web patcher." + + There are **many** patches for CHUNITHM. + + We will only bring up the ones we think could be genuinely useful. + +!!! danger "As a general rule of thumb, if you're not sure what a patch does or you're not absolutely certain you need it, leave it alone, regardless of recommendations below." + +| Patch | Recommendation | Description | +|------------------------------|----------------|-------------| +| Force shared audio mode | Either | Force the game to use shared mode audio output, letting you listen to other audio sources while the game is running **at the cost of audio latency.** +| Force 2 channel audio output | Either | Try enabling this patch if you don't get audio output at all. | +| Disable song select timer | Either | Disables the song select timer. | +| No encryption | ON | Disable encrypting network requests. **Required if you plan to run a local server.** | +| No TLS | ON | Disable checking if the server is `HTTPS` or not. **Required if you plan to run a local server.** | +| Bypass 1080p monitor check | Either | Disable checking if the monitor is 1080p when enabling 120FPS. Enable if you cannot set your monitor to 1080p. | +| Bypass 120Hz monitor check | Either | Disable checking if the monitor is **exactly 120Hz** when enabling 120FPS. Enable if you cannot set your monitor to 120Hz. | + +--- + +### Installing segatools + +!!! tip "" + + - Head over to [segatools releases](https://gitea.tendokyu.moe/Dniel97/segatools/releases) + and download `segatools.zip`. **Do not download the source code.** + - Extracting the archive should give you a few more zip files. Find **`chusan.zip`** + and extract it to the `App\bin` folder in your game data. + + You should now have a few more files inside the folder, as highlighted: + + + +--- + +### Configuring segatools + +!!! tip "" + + Since there is no graphical configuration tool for segatools, you will have to edit the + configuration file by hand. It is found in `App\bin\segatools.ini`. + + It is recommended that you follow along using a text editor with syntax highlighting such as [Notepad++](https://notepad-plus-plus.org/). + + Each following sub-section will correspond to a section in `segatools.ini`. If any + section is not mentioned, you can skip them. + +!!! warning + + If a key already exists in the section, delete everything after `=` and replace it with your + setting. Do not add another key. + + ```ini + [gpio] + dipsw2=1 + dipsw2=1 ; WRONG! + ``` + +#### `[vfs]` + +!!! tip "" + + If you've been matching the file structure as described in the [Preparing data](#preparing-data) + section, you can fill in this section with the values below: + + ```ini + [vfs] + amfs=../../amfs + option=../../Option + appdata=../../AppData + ``` + +#### `[gpio]` + +!!! tip "" + + - If you have a 120Hz monitor, set `dipsw2` and `dipsw3` to 0: + + ```ini + [gpio] + dipsw2=0 + dipsw3=0 + ``` + + - If you have a 60Hz monitor, set `dipsw2` and `dipsw3` to 1: + + ```ini + [gpio] + dipsw2=1 + dipsw3=1 + ``` + +#### `[gfx]` + +!!! tip "" + + - Set `windowed` to `0` to run in fullscreen mode and `1` to run in windowed mode. + - If you have multiple monitors and you're running in fullscreen mode (`windowed=0`), + set `monitor` to the index of the monitor you want to run the game on. + +??? info "Getting the monitor index" + + Navigate to Windows display settings. Each monitor should be assigned a number. + The monitor index is that number minus one. For example, monitor 2 means monitor index 1. + +--- + +### Connecting to a network + +!!! danger "Please choose one of the two solutions, not both!" + +??? tip "Remote (Online Network)" + + Head to the `[dns]` section inside `segatools.ini`. Set `default` to the address + provided by your network. **Do not add `http://` or `https://` to the address!** + + ```ini + [dns] + default=network.example + ``` + + Then, head to the `[keychip]` section and set `id` to the keychip ID provided by your network: + + ```ini + [keychip] + id=A69E-XXXXXXXXXXX + ``` + + Finally, you need a card number. Create a file named `aime.txt` inside `App\bin\DEVICE` and type in + your 20-digit access code if you already have one, or make one up if you don't. If you're making one + up, the access code **MUST NOT** start with a 3. + + + +??? warning "Local (ARTEMiS/AquaDX)" + + Both of these options require non-trivial setup. Refer to the official guides for [ARTEMiS](https://gitea.tendokyu.moe/Hay1tsme/artemis/src/branch/develop/docs/INSTALL_WINDOWS.md) + and [AquaDX](https://github.com/hykilpikonna/AquaDX?tab=readme-ov-file#usage-v1-developmental-preview) + to set up a local server. + +--- + +### Pre-launch requirements + +!!! info "These steps are required, otherwise your game won't run." + +#### VCRedist & DirectX + +!!! tip "" + + - Download and install the latest [VCRedist](https://github.com/abbodi1406/vcredist/releases/latest) (`VisualCppRedist_AIO_x86_x64.exe`) + - Download and install the [DirectX End-User Runtimes](https://www.microsoft.com/en-us/download/details.aspx?id=8109) + +#### Audio + +!!! tip "" + + - Right-click on the volume setting in your taskbar and select `Sounds`. + - Navigate to the `Playback` tab, right click on your default audio device, and click on `Properties`. + - Go to the `Advanced` tab. + - Check both boxes under `Exclusive Mode`. + - Open the `Default Format` dropdown. + - Pick either `16 bit, 48000Hz (DVD Quality)` or `24 bit, 48000Hz (Studio Quality)`, click `Apply`, then `OK`. + + + +#### Fixing OpenSSL on Intel 10th Gen and newer CPUs + +!!! tip "" + + If you have an Intel 10th Gen CPU or newer, right click `App\bin\start.bat`, select `Edit`, and add the + highlighted line to the top of the file. + + ```batch hl_lines="2" + @echo off + set OPENSSL_ia32cap=:~0x20000000 + + pushd %~dp0 + ... + ``` + +--- + +### First launch + +!!! danger "If you have any issues running the game, refer to the [Troubleshooting](troubleshooting.md) page." + +!!! tip + + Without an English patch, the service menu will be in Japanese. If you don't know Japanese, [Google Lens](https://lens.google/) + is a handy tool for navigating this menu. + +#### GAME ASSIGNMENTS + +!!! tip "" + + If you've followed all instructions correctly, you're now finally ready to launch the game! + + Start the game by running `App\bin\start.bat`. Let the game load until it reaches the screen below. + + + +!!! tip "" + + Press your `Test` button (default `F1`) to enter the service menu. Use the `Service` button + (default `F2`) to navigate the menu, and `Test` button to select an option. + + Navigate to **ゲーム設定** (`GAME ASSIGNMENTS`, the 4th option). + + + +!!! tip "" + + Select **グループ内基準機設定** (`SET STANDARD IN GROUP`, the second option) + and toggle this setting to **基準機** (`STANDARD`). + + + +!!! tip "" + + Select **終了** (`EXIT`, the last option) to exit to the main service menu. + +#### CLOSE SETTING + +!!! tip "" + + Navigate to **閉店設定** (`CLOSE SETTING`, the 10th option). + + + +!!! tip "" + + Navigate to **時** (`HOUR`, the 2nd option) and use the `Service` button + to toggle the setting until it says **全時刻** (`ALL TIME`). + + + +!!! tip "" + + Select **終了** (`EXIT`, the last option) to exit to the main service menu, then select **終了** + (also the last option) in the main menu to exit the service menu. + +#### Waiting for Distribution Server + +!!! tip "" + + If you're stuck at the `Waiting for Distribution Server` screen below, close the game and relaunch. + + + +!!! tip "" + + You're all done! The game should load up properly now. + + You can add coins using the `Coin` key (default `F3`) and card in by holding the `Enter` key. + +### Further configuration + +!!! info "Input methods and controllers are covered in the [Controllers](controllers.md) page." + +!!! warning "Have any other issues?" + + Check out the [Troubleshooting](troubleshooting.md) and [Error Codes](../../errorcodes/sega.md) pages. diff --git a/docs/games/chunithmsun/troubleshooting.md b/docs/games/chunithmsun/troubleshooting.md new file mode 100644 index 0000000..1a65e8f --- /dev/null +++ b/docs/games/chunithmsun/troubleshooting.md @@ -0,0 +1,122 @@ +# CHUNITHM SUN + + +!!! danger "Please make sure you downloaded your data from an appropriate source.
This guide is unable to troubleshoot any problems related to bad or poorly managed data." + +--- + +### My game crashes on launch! + +!!! tip "" + + Could be due to **many** things, the most common of which are: + + - `amdaemon` crashing in the background. Make sure that the `config_*.json` files + have valid syntax, your ICF files are correct, and [the OpenSSL fix](setup.md#fixing-openssl-on-intel-10th-gen-and-newer-cpus) + is applied on Intel Core 10th Gen CPUs and newer. + - Using the incorrect dipswitch settings for your refresh rate (e.g. `dipsw3=0` on + a 60Hz screen). Refer to [the setup guide](setup.md#gpio) to fix it. + - Enabling 120FPS on a monitor that is not **exactly 120Hz** or **exactly 1080p**. + If you cannot set your monitor's refresh rate to 120Hz, apply the "Bypass 120Hz + monitor check"/"Bypass 1080p monitor check" on a CHUNITHM web patcher (see [Resources](../../resources.md#web-patchers)). + +??? info "Capturing logs from `amdaemon` for troubleshooting" + + To assist with troubleshooting, a script can be used to capture logs from `amdaemon`. Create a file named + `amdaemontest.bat` in `App\bin`, then paste the code block below into the file. + + ```batch + @echo off + cls + echo Attempting to run AM Daemon ... + echo Window should close after 30 seconds + echo Log will be generated at amdaemontest.txt + call :sub >amdaemontest.txt + exit /b + + :sub + set OPENSSL_ia32cap=:~0x20000000 + pushd %~dp0 + start /b "AM Daemon" /min inject_x64 -d -k chusanhook_x64.dll amdaemon.exe -c config_common.json config_server.json config_client.json config_cvt.json config_sp.json config_hook.json + ping 127.0.0.1 -n 31 > nul && taskkill /im amdaemon.exe + ``` + + Double-click it to run. The script should run for 30 seconds, and you will get a file + named `amdaemontest.txt` in `App\bin`, which you can send to help people troubleshoot your issue. + +--- + +### My game takes a long time to boot! + +!!! tip "" + + CHUNITHM game files consist of thousands of small XML files, which Windows Defender + takes a long time to scan through. Add your game folder to the Windows Defender + exclusion list. + +!!! danger + + Doing this will prevent Windows Defender from scanning your game folder for viruses. + Only do this if you trust the source of the data. + +--- + +### My game is running too slow/fast + +!!! tip "" + + The game could be running under or over its required refresh rate. + + - Make sure V-Sync isn't disabled in your graphics settings (called "Vertical sync" + in NVIDIA Control Panel and "Wait for Vertical Refresh" in AMD Control Panel.) + - Make sure your monitor's refresh rate is set to 60Hz or 120Hz. + + It could also be that your computer's performance isn't good enough to keep + a steady framerate. + +--- + +### My game is stuttering + +!!! tip "" + + For NVIDIA users, create an override for `chusanApp.exe` in NVIDIA Control Panel + and change "Power management mode" to "**Prefer maximum performance**". + +--- + +### My game crashes when I tab out of fullscreen! + +!!! tip "" + + As the game is intended to run on arcade hardware, it doesn't like being minimized. + + One workaround for this is to use DXVK. Download the latest version from [releases](https://github.com/doitsujin/dxvk/releases/latest). + This will be a `dxvk-x.y.z.tar.gz` file, which you can open using [7zip](https://www.7-zip.org/). + Navigate to the `x32` folder, and copy the `d3d9.dll` file to your game's `App\bin` folder, agreeing + to overwrite when asked. + + You should now be able to tab out of fullscreen without crashing the game. + +!!! warning + + The game will not ignore inputs when out of focus. + + This means any controller inputs will still be accepted, so try not to lean onto + your slider whilst tabbed out! + + This also means that you can accidentally enter the service menu by hitting your + `Test` key even if the game is minimised. If you were in the middle of a credit, + **your scores will be lost.** + +--- + +### When I run the game all other audio is gone! + +!!! tip "" + + CHUNITHM uses [WASAPI exclusive mode](https://docs.microsoft.com/en-us/windows/win32/coreaudio/exclusive-mode-streams) + for audio to get better latency. + + You can apply the "Shared Audio" patch on a CHUNITHM web patcher (see [Resources](../../resources.md#web-patchers)) + to hear audio outside of the game at the cost of audio latency. \ No newline at end of file diff --git a/docs/games/chunithmsunplus/controllers.md b/docs/games/chunithmsunplus/controllers.md index 5182627..332c1b8 100644 --- a/docs/games/chunithmsunplus/controllers.md +++ b/docs/games/chunithmsunplus/controllers.md @@ -1,85 +1,127 @@ -# CHUNITHM SUN PLUS Controller Setup +# CHUNITHM SUN PLUS + - +!!! danger "Please make sure you downloaded your data from an appropriate source.
This guide is unable to troubleshoot any problems related to bad or poorly managed data." -## How Controller Input works with segatools - -!!! note "segatools:" - `segatools`, the loader used to run CHUNITHM, does not come with any built-in controller support. By default it will only accept keyboard input. - The controller you plan on using with the game should also be provided with IO files, in the form of `*.dll`. If unsure, you can check the support section of the site you purchased your controller from, or email the vendor directly. - Alternate options for the most common controllers are listed below. - These `dll` files should be copied to your `\App\bin\` folder, alongside `chusanApp.exe`, and referenced in your `segatools.ini`. +--- !!! tip "" - The input files you wish to use need to be referenced in the `[chuniio]` section of `segatools.ini`. - If the `dll` files you plan to use consist of 2 files, with names ending in `_x86.dll` and `_x64.dll`, uncomment the `path32` and `path64` lines by removing the `;` from the beginning. Add your file names after the `=`. - + 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 the input file you wish to use consists of a single `*.dll`, uncomment only the `path` line, and enter the dll name after the `=`. - + If you have a single DLL, uncomment the `path=` line by removing the leading semicolon (`;`), + then add your DLL's file name after the `=`: -!!! note "Controllers:" - Below is a quick introduction and setup guide for the commonly used input methods. - -*** - -## 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 the 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 - -!!! note "Brokenithm:" - Brokenithm allows you to use an Android tablet or iPad as a controller for CHUNITHM. It uses the bottom half of the screen as the touch slider, and sliding from the bottom section into the top section of the screen activates the AIR sensors. - -*** - -### Brokenithm Android - -!!! tip "" - Download the latest version of [Brokenithm-Android](https://github.com/tindy2013/Brokenithm-Android) from the [releases section](https://github.com/tindy2013/Brokenithm-Android/releases). Copy the `app-release.apk` to your Android device and install it. - - Download the latest version of [Brokenithm-Android-Server](https://github.com/tindy2013/Brokenithm-Android-Server) from the [releases section](https://github.com/tindy2013/Brokenithm-Android-Server/releases) and extract just the `brokenithm_server.exe` to your `\App\bin\` folder. - - Download the latest version of the [Brokenithm-Evolved](https://gitea.tendokyu.moe/Dniel97/Brokenithm-Evolved/) IO dll files from the [releases tab](https://gitea.tendokyu.moe/Dniel97/Brokenithm-Evolved/releases). Extract the 3 dll files to your `\App\bin\` folder. - - Open your `segatools.ini` with a text editor, and modify the `[aimeio]` section as shown. - ```ini - [aimeio] - ; Uncomment this if you have custom (x64) aime implementation. - ; Leave empty if you want to use Segatools built-in keyboard input. - path=aime_brokenithm.dll - ``` - Modify the `[chuniio]` section as shown. - ```ini + ```ini hl_lines="5" [chuniio] ; Uncomment this if you have custom chuniio implementation comprised of a single 32bit DLL. ; (will use chu2to3 engine internally) - ;path= + ;(1)! + path=controller.dll + ``` - ; Uncomment both of these if you have custom chuniio implementation comprised of two DLLs. - ; x86 chuniio to path32, x64 to path64. Both are necessary. - path32=brokenithm_x86.dll - path64=brokenithm_x64.dll - ``` - Run the `brokenithm_server.exe` you extracted previously. A CMD window should open, with a message that it is waiting for a device on port 52468. - Open the Brokenithm App on your Android device. At the top right, in the Address box, enter your PCs local IP address and then press the start button. - You can now run your game via the `start.bat` as normal. - -#### Automatically launching the Brokenithm server + 1. Note that there is no leading semicolon. !!! tip "" - If you want the `brokenithm_server.exe` to automatically run when launching the game, you will need to modify `start.bat`. - Open `start.bat` with a text editor, and add a new line containing `start /min brokenithm_server` above the existing `start /min inject_x64 ...` line, as shown below. - ```bat + + 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: + + + + That is your computer's IP address. + +??? info "Automatically launching the Brokenithm server when starting the game" + + **This will only work if you extracted `brokenithm_server.exe` to `App\bin\` 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: + + ```batch hl_lines="5" @echo off pushd %~dp0 @@ -92,110 +134,47 @@ echo. echo Game processes have terminated pause - ``` - This will only work if you copied the `brokenithm_server.exe` file to your `\App\bin` folder. - -#### Slider Lights - -!!! tip "" - By default, the Brokenithm Server runs in `UDP` mode. This is done to decrease latency when connected over WiFi, however it does not send any lighting data to the tablet. The server also supports a `TCP` mode, which does send lighting data. - - To run the Brokenithm Server in TCP mode, we need to start it with the ` -T` flag. - - Navigate to the folder that contains your `brokenithm_server.exe`, click on the Address Bar at the top of the folder, type `CMD`, and hit enter. A Command Prompt window should open. - In the Command Prompt window, type `brokenithm_server -T` and hit enter. - - On your Android device, find the button labeled `UDP` at the top-center of the Brokenithm application. Tap the button to toggle to `TCP` mode. You should now be able to connect, using your PC's local IP, as described above. - - If you are running the Brokenithm Server via the `start.bat` as shown in the previous step, simply add ` -T` to the end of the brokenithm_server line, as shown below. - ```bat - start /min brokenithm_server -T ``` -#### Improving Latency +??? info "Improving latency" -!!! tip "" - As WiFi isn't the best for latency, it is preferable to run Brokenithm with your Android device tethered to your PC. This will require enabling Developer options, and USB debugging on your tablet. As this process varies by device, instructions are not included here. + You can improve latency by running Brokenithm with your Android device tethered to + your computer. However, this requires a little extra setup: - Once you have USB debugging enabled, you will need to download and extract the [Android SDK Platform Tools](https://developer.android.com/tools/releases/platform-tools) to somewhere on your PC. - Navigate to the folder you extracted the tools to, click in the Address bar, type `CMD` and hit enter to open a Command Prompt window. + - Connect your Android device to your computer with a USB cable. + - If you haven't enabled Developer options on your device, do it by navigating to + the "About" page in your phone's settings, then tap "Build number" seven times. + This varies by device, so if unsure, look up the instructions for your specific + one. + - Navigate to Developer options and enable USB debugging. + - On your computer, download and extract [Android SDK Platform Tools](https://dl.google.com/android/repository/platform-tools-latest-windows.zip) + to your `App\bin\` folder. + - Navigate to the `App\bin\platform-tools` folder in File Explorer, click on the + address bar, type `cmd`, and hit Enter to open a command prompt. + - In the command prompt, type the following command: - Make sure your Android device is connected and that USB debugging is enabled. - - In the Command Prompt window, type one of the following commands, depending on which mode you plan to run the server in. - - **TCP** - ```bat + ```batch adb reverse tcp:52468 tcp:52468 ``` - **UDP** - ```bat - adb reverse udp:52468 udp:52468 - ``` - Start your `brokenithm_server.exe`. - Open Brokenithm on your Android device, and in the address bar, change the IP to `0.0.0.0`. Press the start button to connect. You will now be connected via the USB cable. - Run the game via the `start.bat` as normal. + - Start `brokenithm_server.exe`. + - On your Android device, open Brokenithm, and change the address to `0.0.0.0`. + - If the text box to the left of the "SETTINGS" button say "UDP", tap on it + once to switch to "TCP" mode. + - Tap on "START", and you will now be connected via the USB cable. + - You can now start the game as normal. - If you extract the `platform-tools` folder to your `\Bin\app\` folder, you can add the following line to your `start.bat` to run this command when the game launches. - ```bat - start /min platform-tools/adb reverse tcp:52468 tcp:52468 - ``` - This should go above the line which starts the `brokenithm_server.exe`. + The next time you play the game, you only need to run the `adb reverse ...` command + again. To do this automatically when the game starts, add a line to the `start.bat` + script **before** the `brokenithm_server` line: -*** - -### Brokenithm iOS - -!!! tip "" - Running Brokenithm on an iPad requires either a jailbroken device, or another method to install .ipa files. Using [Sideloady](https://sideloadly.io/) is a popular method. - - Before proceeding, you must uninstall the Microsoft Store versions of iTunes and iCloud (if present) then install the non Microsoft Store version from the [iTunes website](https://www.apple.com/itunes/download/win64). This is also covered under the **Important Windows Task** section of the Sideloady website. - - Download the latest version of Brokenithm-iOS from the [redive.estertion.win](https://redive.estertion.win/ipas/Brokenithm-iOS-build-10.ipa) website. Install the .ipa to your device using your preferred method. - - Download the latest version of the Brokenithm-Evolved-iOS server from the [redive.estertion.win](https://redive.estertion.win/ipas/Brokenithm/Brokenithm-Evolved-iOS-v0.3.7z) website. - Extract the files to your `\App\bin\` folder. `aimeio.dll` and `chuniio.dll` can be deleted, as they are not required. - - Download the latest version of the [Brokenithm-Evolved](https://gitea.tendokyu.moe/Dniel97/Brokenithm-Evolved/) IO dll files from the [releases tab](https://gitea.tendokyu.moe/Dniel97/Brokenithm-Evolved/releases). Extract the 3 dll files to your `\App\bin\` folder. - - Open your `segatools.ini` with a text editor, and modify the `[aimeio]` section as shown. - ```ini - [aimeio] - ; Uncomment this if you have custom (x64) aime implementation. - ; Leave empty if you want to use Segatools built-in keyboard input. - path=aime_brokenithm.dll - ``` - Modify the `[chuniio]` section as shown. - ```ini - [chuniio] - ; Uncomment this if you have custom chuniio implementation comprised of a single 32bit DLL. - ; (will use chu2to3 engine internally) - ;path= - - ; Uncomment both of these if you have custom chuniio implementation comprised of two DLLs. - ; x86 chuniio to path32, x64 to path64. Both are necessary. - path32=brokenithm_x86.dll - path64=brokenithm_x64.dll - ``` - Run the `Brokenithm-Evolved-iOS.exe` you extracted previously. A CMD window should open, with a message that it is waiting for a device. - Open the Brokenithm App on your iPad, and connect it to your PC via a USB cable. - You can now run your game via the `start.bat` as normal. - -!!! note "Latency" - As Brokenithm for iOS only connects via USB connection, there is no need to configure any extra network settings to improve latency. - -#### Automatically launching the Brokenithm server - -!!! tip "" - If you want the `Brokenithm-Evolved-iOS.exe` to automatically run when launching the game, you will need to modify `start.bat`. - Open `start.bat` with a text editor, and add a new line containing `start /min Brokenithm-Evolved-iOS` above the existing `start /min inject_x64 ...` line, as shown below. - ```bat + ```batch hl_lines="5" @echo off pushd %~dp0 - start /min Brokenithm-Evolved-iOS + start /min platform-tools\adb reverse tcp:52468 tcp:52468 + start /min brokenithm_server start /min inject_x64 -d -k chusanhook_x64.dll amdaemon.exe -c config_common.json config_server.json config_client.json config_cvt.json config_sp.json config_hook.json inject_x86 -d -k chusanhook_x86.dll chusanApp.exe taskkill /f /im amdaemon.exe > nul 2>&1 @@ -203,55 +182,121 @@ echo. echo Game processes have terminated pause - ``` - This will only work if you copied the `Brokenithm-Evolved-iOS.exe` file to your `\App\bin` folder. + ``` -*** - -## Tasoller - -!!! note "Tasoller:" - The Tasoller is an arcade accurate controller, produced by DJ-DAO. - Out of the box, the Tasoller will only offer keyboard input, with no lighting support. To get full compatability with CHUNITHM, you will need to install [custom firmware](https://pixeldrain.com/u/DajSPEoa). Instructions on how to install the firmware are included in the archive. - -!!! danger "Warning:" - The Tasoller custom firmware is only compatabile with controllers running the DJ-DAO 2.0 firmware. If your controller was purchased after January 2022, it should have shipped with the update already applied. - If your Tasoller was purchased before 2022, and is still using the original firmware it shipped with, you will need to first update to 2.0 by following the guide on [DJ-DAO's website](https://www.dj-dao.com/en/support/11.html). - Once you've updated your controller to the DJ-DAO 2.0 firmware, you can follow the instructions included with the Custom Firmware as normal. +#### iOS/iPadOS !!! tip "" - DJ-DAO doesn't directly provide any input assistance for customers wanting to play on data. Thankfully there are community members creating open source alternatives. - There are two up to date drivers available for the Tasoller, with full support for Dniel97's segatools fork. Functionally these work the same as eachother, with the only difference being the language they are written in. - [chuniio-tasoller](https://gitea.tendokyu.moe/Scribbler/chuniio-tasoller) written in `zig`. - [chuniio-rs](https://gitea.tendokyu.moe/beerpsi/chuniio-rs) written in `rust`. + - 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 + ``` - Head to the `Releases` tab for your chosen driver, and download the latest package. For `chuniio-rs` make sure you download the `chusan.zip`. - Extract the `*.dll` files to your `\App\bin\` folder. - Make the required changes to `segatools.ini`, as shown in the `Configuration` section of the readme for the driver you have downloaded. + ```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. -## YubiDeck +??? info "Automatically launching the Brokenithm server when starting the game" -!!! note "YubiDeck:" - The YubiDeck is an arcade accurate controller, produced by ZhouSensor and sold by YubiParts. It also includes a built in Aime card scanner. + **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: + + ```batch hl_lines="5" + @echo off + + pushd %~dp0 + + start /min Brokenithm-Server\Brokenithm-Evolved-iOS.exe + start /min inject_x64 -d -k chusanhook_x64.dll amdaemon.exe -c config_common.json config_server.json config_client.json config_cvt.json config_sp.json config_hook.json + inject_x86 -d -k chusanhook_x86.dll chusanApp.exe + taskkill /f /im amdaemon.exe > nul 2>&1 + + echo. + echo Game processes have terminated + pause + ``` + +### TASOLLER + +!!! warning + + This guide only covers TASOLLERs running the v2.0 touch firmware. If you've purchased the + controller after January 2022, the update should have already been applied. + + If you've purchased the controller before then, you will need to update the touch + firmware by following the instructions on [DJ-DAO's support page](https://www.dj-dao.com/en/support/11.html). !!! tip "" - YubiDeck firmware updates are provided in the support section of the YubiParts website. Unfortunately the IO driver they provide is no longer available for download. - An open source alternative is available, [chuniio-yubideck](https://gitea.tendokyu.moe/beerpsi/chuniio-yubideck). - Head to the `Releases` tab and download the latest package. Extract the `*.dll` files to your `\App\bin\` folder. - Make the required changes to `segatools.ini`, as shown in the `Configuration` section of the chuniio-yubideck readme. + - Install the [custom Host and LED firmware](https://pixeldrain.com/u/DajSPEoa) to your controller. + Instructions on how to do so is provided in the linked archive. + - Pick one of these two TASOLLER IO DLLs to download and extract to your `App\bin` folder. + They should be functionally the same, but if one doesn't work, you can try the other: + - [chuniio-tasoller](https://gitea.tendokyu.moe/Scribbler/chuniio-tasoller/releases) (download `lib.zip`) + - [chuniio-rs](https://gitea.tendokyu.moe/beerpsi/chuniio-rs/releases) (download `chusan.zip`) + - Edit your `App\bin\segatools.ini` to reference the extracted DLLs: - If you want to make use of the built-in card scanner, add the following line to the `[aimeio]` section in `segatools.ini`. ```ini + [chuniio] + path32=chuniio_tasoller.dll;(1)! + path64=chuniio_tasoller_x64.dll;(2)! + ``` + + 1. Or `chuniio_tasoller_v2_chusan.dll` if you downloaded `chuniio-rs`. + 2. Or `chuniio_tasoller_v2_amdaemon.dll` if you downloaded `chuniio-rs`. + + - Connect the controller to your computer, and then start the game. + +### YubiDeck + +!!! tip "" + + - Switch your YubiDeck to HID output mode. Instructions on how to do so are provided + in the [YubiDeck manual](https://drive.google.com/file/d/11KVlKbg3zGCRwI7R-30t2IJc6OQwDEgo/view). + - Download the latest version of [YubiDeck IO DLLs](https://gitea.tendokyu.moe/beerpsi/chuniio-yubideck/releases) + and extract it to your `App\bin` folder. + - Edit your `App\bin\segatools.ini` to reference the extracted DLLs: + + ```ini + [chuniio] + path32=chuniio_yubideck_chusan.dll + path64=chuniio_yubideck_amdaemon.dll + ``` + + - Optionally, reference the included AimeIO DLL to use the controller's + built-in card reader: + + ```ini + [aimeio] path=aimeio_yubideck.dll ``` -*** + - Connect the controller to your computer, and then start the game. -## Arcade Panels and other Controllers +### Arcade hardware and other controllers !!! tip "" - If you're interested in connecting a real cabinet Slider and Airs, or possibly even DIYing your own controller, the [Cons&Stuff](https://consandstuff.github.io/) website and Discord community is a great place to start! \ No newline at end of file + + If you're interested in using a cabinet slider and air sensors, or possibly even + making your own controller, the [Cons&Stuff website](https://consandstuff.github.io/) + and Discord community is a great place to start! \ No newline at end of file diff --git a/docs/games/chunithmsunplus/networks.md b/docs/games/chunithmsunplus/networks.md deleted file mode 100644 index b629468..0000000 --- a/docs/games/chunithmsunplus/networks.md +++ /dev/null @@ -1,42 +0,0 @@ -# CHUNITHM SUN PLUS Network Setup - - - -## Why would you want to use a server? - -!!! tip "" - While CHUNITHM can be run offline, connecting to a server gives you the ability to create a profile, save scores, and unlock additional features. - -## Self hosted local servers - -!!! tip "" - If you wish to run the game locally, but with the ability to create and save a profile, you can run a server on the same computer you are playing the game on. This server will need to be running before you launch the game, however it can be shut down when you are no longer playing. - - These 2 projects are still in active development, and as such, any provided setup instructions are likely to become outdated rather quickly. - - Please refer to the included setup instructions on each projects respective web page. - -### ARTEMiS - -!!! note "" - [ARTEMiS](https://gitea.tendokyu.moe/Hay1tsme/artemis) - A network service emulator for games running SEGA'S ALL.NET service, and similar. - -!!! tip "" - ARTEMiS is a network service emulator for various ALL.NET games. It runs on Python. - While initial setup is more involved than AquaDX, it offers a more complete emulation of the ALL.NET service. - ARTEMiS also uses your own game files to build its database, meaning any new content updates can just be imported to the server yourself, without having to wait for someone else to provide an update. - -### AquaDX - -!!! note "" - [AquaDX](https://github.com/hykilpikonna/AquaDX) - Multipurpose game server powered by Spring Boot, for ALL.Net-based games - -!!! tip "" - AquaDX is a game server targetting SEGA Rhythm Games specifically. It runs on Java. - Initial setup for AquaDX is a little easier, as more of the setup is provided by the developers. - AquaDX does not currently support importing your own game data, so you will need to head back to the github page to download and updated build if new content becomes available. - -## Online Hosted Servers - -!!! tip "" - There are a few online hosted servers that support Chunithm SUN PLUS, however they are all currently invite only. Ask your friends where they play, and maybe they'll invite you! \ No newline at end of file diff --git a/docs/games/chunithmsunplus/problems.md b/docs/games/chunithmsunplus/problems.md deleted file mode 100644 index 7eb1b2d..0000000 --- a/docs/games/chunithmsunplus/problems.md +++ /dev/null @@ -1,97 +0,0 @@ -# CHUNITHM SUN PLUS Common Problems/Tips - - - -### I'm having audio issues - -!!! tip "" - CHUNITHM expects a specific Default Format from your sound card. - In Windows, go to `Playback Devices` and then right click on your default device and go to `Properties`. From there, hit the `Advanced` tab and set your `Default Format` to `16bit, 48000 Hz (DVD Quality)` and check both of the options inside `Exclusive Mode` as pictured. - - By default, CHUNITHM uses Exclusive Audio. This means you won't be able to hear any other sounds from your PC while the game is running. A Shared Audio mode can be enabled via the chusanApp.exe Patcher website, though it should be noted that this can increase audio latency. - - - -### Some of my installed Songs and Events aren't visible in game - -!!! tip "" - Some content in CHUNITHM is locked behind event maps, or other requirements, such as playing the same song on another SEGA game, such as maimai. - We can force unlock this content, making it always available in game. - - Download the [Chunithm_Unlocker](https://pixeldrain.com/u/Ccttn8u9) powershell script, and place it in your game folder, next to the `App` and `Option` folders. - Right click the file, and select `Run with Powershell`. - Once the script has scanned your game files, it will present you with several options for unlocking different types of content. You can either unlock everything, or only unlock specific things (such as songs), leaving the other content to be unlocked via regular gameplay. - -!!! note "" - The Chunithm_Unlocker script creates backups of any file it modifies, and has options to restore the files back to their original state. Please note that certain content (such as character unlocks) are sent to the server and saved to your profile, so reverting the unlock in your game files won't always relock that content for your game profile. - -### My game takes a long time to boot - -!!! tip "" - The game files for CHUNITHM consists of thousands of small .xml files, and Windows Defender is known to spend a long time scanning through them during game boot up. - One way to massively speed up boot times is to add the entire game folder as a Windows Defender Exception. - -!!! danger "Warning:" - Doing this will prevent Defender from scanning your game folder for viruses. Only do this if you trust the source of your data. - -!!! tip "" - Open `Virus & threat protection`. - Under `Virus & threat protection settings` click the `Manage Settings` button. - Scroll down to `Exclusions` and click on `Add or remove exclusions`. - Click the `Add an exclusion` button, select the `folder` option, navigate to the base of your game install and click `Select Folder`. - - - -### My game crashes when I alt-tab out of fullscreen - -!!! tip "" - As the game is intended to run on dedicated hardware, it doesn't like to be minimised. - One work-around for this is to use [DXVK](https://github.com/doitsujin/dxvk/) to run the game with Vulkan rather than Direct3D. This has the added benefit of smoother frame rates for some hardware configurations. - - Download the latest version of DXVK from the [releases tab](https://github.com/doitsujin/dxvk/releases). This will be a `dxvk-x.x.tar.gz` file. Open the file with `7zip` and navigate to the `x32` folder. - Extract the `d3d9.dll` file to your `\CHUNITHMSUNPLUS\App\bin\` folder, alongside your `chusanApp.exe`. - You should now be able to tab out of fullscreeen, leaving the game running. - -!!! note "Additional DXVK configuration:" - DXVK has other options that can be changed by adding a `dxvk.conf` file next to the `d3d9.dll` file. The most common use for this is to add an FPS counter to the game. - If you wish to have an FPS counter, create a `dxvk.conf` file and open it with Notepad++. Add the following line. - ```json - dxvk.hud = fps - ``` - You can learn more about the available options at the [DXVK Configuration Wiki page](https://github.com/doitsujin/dxvk/wiki/Configuration). - -!!! note "Controller inputs whilst minimised:" - As the game was never designed to be minimised, it will not ignore inputs when not focused. This means any controller inputs will be accepted, so try not to lean on your slider while tabbed out! - The most common issue this causes is when typing the number `1` with the game minimised, as by default this will enter the test menu. If you were mid-credit, your scores will be lost. - If you wish to change the keyboard keys assigned to the Test, Service and Coin buttons, this can be configured in the `[io3]` section of `segatools.ini`. - -### My game occasionally drops frames/stutters - -!!! tip "" - While frame drops can be caused by running the game on under-powered hardware, it is also common for this to happen when running on hardware that is too over-powered! - As a lot of the game consists of mostly 2D assets, your GPU is unlikely to be pushed very hard. Modern GPUs attempt to be as energy efficient as possible by changing power-states when under-utilised. If these power-state changes happen mid song, this can lead to slight frame drops and stutters. - This can be solved by forcing the GPU to stay in its maximum power-state while the game is running. - -!!! note "NVIDIA:" - In the Windows Taskbar Icon Tray, right click the NVIDIA Settings icon, and select `NVIDIA Control Panel`. - On the left, select `Manage 3D settings`. - On the right, click on the `Program Settings` tab. - Click the add button, and navigate to your `\CHUNITHMSUNPLUS\App\bin\` folder, and select `chusanApp.exe`. - In the `Feature` list, scroll down to `Power management mode` and select `Prefer maximum performance`. - Save your settings and close `NVIDIA Control Panel`. Your game will now always run in the highest power-state! - - - -!!! note "AMD:" - In the Windows Taskbar Icon Tray, right click the `AMD Software` icon, and select `Open AMD Software: Adrenalin Edition`. - At the top of the window, select the `Gaming` tab. - If `chusanApp` isn't already listed in your Games Library, click on the 3 dots at the top right of the window, then click on `Add A Game...`. Navigate to your `\CHUNITHMSUNPLUS\App\bin\` folder, and select `chusanApp.exe`. - Select `chusanApp` from the Games Library. - Under the `Graphics` section, set the `Graphics Profile` to `Performance`. - - - -!!! note "AMD, continued:" - While the above will help to reduce any issues, it's not quite the same as the `Power management mode` offered by NVIDIA. - A similar configuration can be achieved by adding a custom Overlocking Game Profile in the `Performance` > `Tuning` section of the AMD Software, and increasing the minimum `GPU Frequency` for each `State`. - As these settings will vary wildly from one GPU to another, and as overclocking comes with its own risks, specifics for this won't be included on this page. \ No newline at end of file diff --git a/docs/games/chunithmsunplus/setup.md b/docs/games/chunithmsunplus/setup.md index 7080322..e414679 100644 --- a/docs/games/chunithmsunplus/setup.md +++ b/docs/games/chunithmsunplus/setup.md @@ -1,215 +1,371 @@ # CHUNITHM SUN PLUS + - +!!! danger "Please make sure you downloaded your data from an appropriate source.
This guide is unable to troubleshoot any problems related to bad or poorly managed data." -!!! danger "Warning:" - Please make sure your data is from an appropriate source and unmodified before proceeding, this guide is unable to troubleshoot any problems related to bad or poorly managed data. +!!! danger "If you're coming from a previous version of CHUNITHM" - If you obtained data from a torrent file, make sure you're not seeding the data before proceeding as well. + You'll want to create a new folder for the game and start from scratch. + CHUNITHM **DOES NOT** like being extracted over old data! - This guide will use [Dniel97's segatools](https://gitea.tendokyu.moe/Dniel97/segatools/releases), which is a fork of segatools that gets regular updates and will be needed to get the game running. +--- -### Getting Started +### Preparing data + +!!! danger "There are currently issues with running game data in the `E:\` or `Y:\` drive.
Please extract the data into other drives." !!! tip "" - Before we even touch the game, there are some prerequisites we should install to minimise issues. - First off we should make sure our [Microsoft Visual C++ Runtimes](https://github.com/abbodi1406/vcredist) are up to date. + After downloading and extracting your data, we need to make sure your files + aren't set to `Read-only`. - Grab the latest version of the AIO installer from the [releases tab](https://github.com/abbodi1406/vcredist/releases). Make sure to get the version that installs both x86 and x64 versions. + - Right click the folder containing your data, then click on `Properties`. + - In the `General` tab go down to `Attributes`, untick `Read-only` and click `Apply`. + - A popup will appear, select `Apply changes to this folder, subfolder and files` + and press `OK`. + - Finally, click `OK` again to exit out of properties. - Run the downloaded `VisualCppRedist_AIO_x86_x64.exe` and press next. The installer will proceed to download and install the required files. This may take some time. + You should end up with a file structure as follows. - + + + Create another empty folder named `AppData` next to them. It should now look like below. + + + + The `App` folder should have a file structure as follows. + + + +??? warning "If your data doesn't look like this" + + If your data looks like the third image: + + - Create an `App` folder and move all files and folders from the image inside of it. + - Create empty folders named `amfs`, `Option` and `AppData` next to the `App` folder. + + If extra files are present next to your folders, such as executables, scripts, etc.. + **remove them. This also means your data was tampered with and we strongly recommend + getting new data from somewhere else.** + +#### Updating the base game !!! tip "" - Next we should make sure we have all the required DirectX files. - Download the DirectX Redist (June 2010) from the [Microsoft Website](https://www.microsoft.com/en-gb/download/details.aspx?id=8109). + Extract your patch's files to your existing data in a way that matches its + file structure. Agree to overwrite files if necessary. - Run the downloaded `directx_Jun2010_redist.exe` and accept the License Agreement. You will be asked to pick a location to extract the installer too, it's recommended you create a new folder somewhere as it will extract a lot of files. - - Go to the folder you extracted the installer to, find the `DXSETUP.exe` and run it. Accept the License Agreement and start the installation. Once it's complete, press Finish. - - You can delete the folder you extracted the installer to once the install is complete. - - - -### Verifying your Game Data +#### Installing option data !!! tip "" - SEGA games are generally distributed as a base game folder and sequential update folders. For SUN PLUS, this will be a base `SDHD 2.15.00` and an `SDHD 2.16.00` update. - + CHUNITHM content updates are distributed through option folders instead of patching + the base game. They are named `A???`, with each `?` being a number. Custom options + distributed by the community might use letters instead, to distinguish them from + official ones. + + Extract any options you've downloaded into the `Option` folder. You should end up with + a file structure as follows. **Do not be worried if you have fewer or more option folders.** + + + +#### Installing ICFs !!! tip "" - The base game folder should contain an `amfs`, `App` and `Option` folder. - + Install Configuration Files (ICFs) tell the game what version it is. + **Without this your game cannot go online!** + + If your `amfs` folder already has a file named `ICF1`, skip this step. + + Otherwise, obtain copies of `ICF1` for your game version and place it in + the `amfs` folder. If it is named something else, rename it to exactly + `ICF1` **without any file extensions.** + +!!! info "Showing file extensions" + + By default, file extensions on Windows are hidden. Enable them by navigating to + the `View` tab in File Explorer and select `File name extensions`. + + +#### Installing unprotected executables !!! tip "" - The update folder should only contain an `App` folder. -!!! note "Other Data Formats:" - SEGA data is also commonly distributed as single `.app` and `.opt` files. These files are useful for archival purposes, but are not required to run the game. Always download the unpacked data for home use. + CHUNITHM executables are protected and will not run on a regular computer. -### Setting Up the Game Data + Obtained unprotected (also called "unpacked" or "decrypted" by the community) + copies of `chusanApp.exe` and `amdaemon.exe` for your game version. If these weren't + provided with your data, join the [Discord](https://discord.gg/cZRUmEPK78) + for assistance. -!!! danger "Warning:" - segatools is currently unable to be run from the `E:\` drive. Please ensure your data is setup on another drive letter. + Copy `chusanApp.exe` and `amdaemon.exe` to the `bin` folder of your game data. Agree + to overwrite when asked. -!!! tip "" - Choose a location for your game data, for example, `C:\CHUNITHMSUNPLUS\`. - Copy/move the `amfs`, `App` and `Option` folders from `CHUNITHM SUN PLUS (SDHD 2.15.00)` to this new folder. - Copy the `App` folder from `CHUNITHM SUN PLUS (SDHD 2.16.00)` to your new game folder. When asked, choose to replace the existing files with the newly copied files. +--- - +### Patching the game -!!! tip "" - Next we need to replace the protected executables with copies that will run on a regular PC. - Obtain unpacked copies of `chusanApp.exe` and `amdaemon.exe`. If these weren't provided with your data, join the [Discord](https://discord.gg/cZRUmEPK78) for assistance. - Copy `chusanApp.exe` and `amdaemon.exe` to the `App\bin\` folder of your game data. When asked, overwrite the existing files. +!!! info "Go through the [Web Patching](../../extras/patchweb.md) guide to learn how to use a web patcher." + + There are **many** patches for CHUNITHM. + + We will only bring up the ones we think could be genuinely useful. + +!!! danger "As a general rule of thumb, if you're not sure what a patch does or you're not absolutely certain you need it, leave it alone, regardless of recommendations below." + +| Patch | Recommendation | Description | +|------------------------------|----------------|-------------| +| Force shared audio mode | Either | Force the game to use shared mode audio output, letting you listen to other audio sources while the game is running **at the cost of audio latency.** +| Force 2 channel audio output | Either | Try enabling this patch if you don't get audio output at all. | +| Disable song select timer | Either | Disables the song select timer. | +| No encryption | ON | Disable encrypting network requests. **Required if you plan to run a local server.** | +| No TLS | ON | Disable checking if the server is `HTTPS` or not. **Required if you plan to run a local server.** | +| Bypass 1080p monitor check | Either | Disable checking if the monitor is 1080p when enabling 120FPS. Enable if you cannot set your monitor to 1080p. | +| Bypass 120Hz monitor check | Either | Disable checking if the monitor is **exactly 120Hz** when enabling 120FPS. Enable if you cannot set your monitor to 120Hz. | + +--- ### Installing segatools -!!! note "segatools:" - `segatools` is a loader and hardware emulator for SEGA arcade games. It will allow us to launch the game, as well as configure inputs and network settings. More information can be found at the [segatools gitea page](https://gitea.tendokyu.moe/Dniel97/segatools). +!!! tip "" + + - Head over to [segatools releases](https://gitea.tendokyu.moe/Dniel97/segatools/releases) + and download `segatools.zip`. **Do not download the source code.** + - Extracting the archive should give you a few more zip files. Find **`chusan.zip`** + and extract it to the `App\bin` folder in your game data. + + You should now have a few more files inside the folder, as highlighted: + + + +--- + +### Configuring segatools !!! tip "" - Download the latest version of segatools from [the release tab](https://gitea.tendokyu.moe/Dniel97/segatools/releases) of the segatools page. This will be a file named `segatools.zip`. - As segatools supports many games, the `segatools.zip` file will contain several more zip files. For CHUNITHM SUN PLUS, we will need to open the `chusan.zip`. - + Since there is no graphical configuration tool for segatools, you will have to edit the + configuration file by hand. It is found in `App\bin\segatools.ini`. + + It is recommended that you follow along using a text editor with syntax highlighting such as [Notepad++](https://notepad-plus-plus.org/). + + Each following sub-section will correspond to a section in `segatools.ini`. If any + section is not mentioned, you can skip them. + +!!! warning + + If a key already exists in the section, delete everything after `=` and replace it with your + setting. Do not add another key. + + ```ini + [gpio] + dipsw2=1 + dipsw2=1 ; WRONG! + ``` + +#### `[vfs]` !!! tip "" - Copy the files from `chusan.zip` to your `App/bin` folder. - Here is how your `App/bin` folder should look after everything has been copied correctly. - + If you've been matching the file structure as described in the [Preparing data](#preparing-data) + section, you can fill in this section with the values below: -### Configuring segatools.ini + ```ini + [vfs] + amfs=../../amfs + option=../../Option + appdata=../../AppData + ``` + +#### `[gpio]` !!! tip "" - The configuration information for segatools is all stored within `segatools.ini`. - Open up `segatools.ini` with a text editor of your choice. We'll be using [Notepad++](https://notepad-plus-plus.org/). - `segatools.ini` is separated into several sections, indicated by the section name in `[square brackets]`. - Most options will have comments describing their function and how to configure them. We will go over the most important ones below. + + - If you have a 120Hz monitor, set `dipsw2` and `dipsw3` to 0: + + ```ini + [gpio] + dipsw2=0 + dipsw3=0 + ``` + + - If you have a 60Hz monitor, set `dipsw2` and `dipsw3` to 1: + + ```ini + [gpio] + dipsw2=1 + dipsw3=1 + ``` + +#### `[gfx]` !!! tip "" - The `[vfs]` section contains paths to important game files. You can use either relative or absolute paths, however if your path name has spaces in it, you must wrap the path in "quotations marks". - `amfs=` should point to the `amfs` folder, which should be in the root of your game folder. This folder should contain an ICF1 file. - `option=` should point to the `Option` folder, which contains game data update folders, with A**XXX** names. This should also be in the root of your game folder, next to `amfs`. - `appdata=` is a new folder created for the games appdata. You can either create a folder somewhere to point this too, or simply enter `appdata=appdata` to have a folder created within your `App/bin` folder. + - Set `windowed` to `0` to run in fullscreen mode and `1` to run in windowed mode. + - If you have multiple monitors and you're running in fullscreen mode (`windowed=0`), + set `monitor` to the index of the monitor you want to run the game on. - The example image below was created with a base game folder of `C:\CHUNITHMSUNPLUS\`. +??? info "Getting the monitor index" - + Navigate to Windows display settings. Each monitor should be assigned a number. + The monitor index is that number minus one. For example, monitor 2 means monitor index 1. + +--- + +### Connecting to a network + +!!! danger "Please choose one of the two solutions, not both!" + +??? tip "Remote (Online Network)" + + Head to the `[dns]` section inside `segatools.ini`. Set `default` to the address + provided by your network. **Do not add `http://` or `https://` to the address!** + + ```ini + [dns] + default=network.example + ``` + + Then, head to the `[keychip]` section and set `id` to the keychip ID provided by your network: + + ```ini + [keychip] + id=A69E-XXXXXXXXXXX + ``` + + Finally, you need a card number. Create a file named `aime.txt` inside `App\bin\DEVICE` and type in + your 20-digit access code if you already have one, or make one up if you don't. If you're making one + up, the access code **MUST NOT** start with a 3. + + + +??? warning "Local (ARTEMiS/AquaDX)" + + Both of these options require non-trivial setup. Refer to the official guides for [ARTEMiS](https://gitea.tendokyu.moe/Hay1tsme/artemis/src/branch/develop/docs/INSTALL_WINDOWS.md) + and [AquaDX](https://github.com/hykilpikonna/AquaDX?tab=readme-ov-file#usage-v1-developmental-preview) + to set up a local server. + +--- + +### Pre-launch requirements + +!!! info "These steps are required, otherwise your game won't run." + +#### VCRedist & DirectX + +!!! tip "" + + - Download and install the latest [VCRedist](https://github.com/abbodi1406/vcredist/releases/latest) (`VisualCppRedist_AIO_x86_x64.exe`) + - Download and install the [DirectX End-User Runtimes](https://www.microsoft.com/en-us/download/details.aspx?id=8109) + +#### Audio !!! tip "" - The `[dns]` section is for connecting to a server, however this will also need to be changed for offline play. In most cases this will be set to your local IPv4 Address. - Open your Command Prompt from the start menu, and type `ipconfig`. - Find the line that says `IPv4 Address. . . .` and copy the address. This will normally be in the format of **192.168.x.x**, though this may vary. - Replace `127.0.0.1` with the IP address you copied from Command Prompt. - + - Right-click on the volume setting in your taskbar and select `Sounds`. + - Navigate to the `Playback` tab, right click on your default audio device, and click on `Properties`. + - Go to the `Advanced` tab. + - Check both boxes under `Exclusive Mode`. + - Open the `Default Format` dropdown. + - Pick either `16 bit, 48000Hz (DVD Quality)` or `24 bit, 48000Hz (Studio Quality)`, click `Apply`, then `OK`. + + + +#### Fixing OpenSSL on Intel 10th Gen and newer CPUs !!! tip "" - The `[gpio]` section is where we can change between 60 FPS and 120 FPS. - For 60 FPS, leave the settings as they are. - For 120 FPS, change `dipsw2` and `dipsw3` from `1` to `0`. - + If you have an Intel 10th Gen CPU or newer, right click `App\bin\start.bat`, select `Edit`, and add the + highlighted line to the top of the file. + + ```batch hl_lines="2" + @echo off + set OPENSSL_ia32cap=:~0x20000000 + + pushd %~dp0 + ... + ``` + +--- + +### First launch + +!!! danger "If you have any issues running the game, refer to the [Troubleshooting](troubleshooting.md) page." + +!!! tip + + Without an English patch, the service menu will be in Japanese. If you don't know Japanese, [Google Lens](https://lens.google/) + is a handy tool for navigating this menu. + +#### GAME ASSIGNMENTS !!! tip "" - Save and close `segatools.ini`. - Before we can test the game offline, we need to open `config_hook.json` in a text editor, and replace its content with the following: - ```json - { - "allnet_auth": { - "type": "1.0" - }, - "allnet_accounting": { - "enable": false - }, - "emoney": { - "enable": false - } - } - ``` - This is only needed to boot the game in offline mode, as any correctly configured server should handle the default settings properly. + If you've followed all instructions correctly, you're now finally ready to launch the game! -!!! danger "Intel 10th Gen and higher:" - If your PC has a 10th Gen or newer Intel CPU, there is one last step before running the game. - Due to an [issue with OpenSSL](https://www.intel.com/content/www/us/en/developer/articles/troubleshooting/openssl-sha-crash-bug-requires-application-update.html), AMDaemon will fail to launch without the following changes. + Start the game by running `App\bin\start.bat`. Let the game load until it reaches the screen below. + + !!! tip "" - Find the `start.bat` file in your games bin folder, and open it with a text editor. - At the very top of the file, above the `@echo off` line, add the following. - ```bat - set OPENSSL_ia32cap=:~0x20000000 - ``` - Save and close `start.bat`. -### Service Menu settings + Press your `Test` button (default `F1`) to enter the service menu. Use the `Service` button + (default `F2`) to navigate the menu, and `Test` button to select an option. -!!! note "Service Menu:" - Without an English patch the Service Menu will be in Japanese. [Google Lens](https://lens.google/) is a very handy tool for navigating this menu. + Navigate to **ゲーム設定** (`GAME ASSIGNMENTS`, the 4th option). + + !!! tip "" - We are now ready to test our game setup. - Start the game by launching `start.bat` from the games `App/bin` folder. - Let the game load until it gets to the following screen. - + Select **グループ内基準機設定** (`SET STANDARD IN GROUP`, the second option) + and toggle this setting to **基準機** (`STANDARD`). + + !!! tip "" - Press `F1` on your keyboard to enter the Service Menu (`1` on older versions of segatools). - Use `D` and `F` to navigate the menu, and `L` to select an option. - Navigate to `Game Settings`, the 4th option from the top. + Select **終了** (`EXIT`, the last option) to exit to the main service menu. - +#### CLOSE SETTING !!! tip "" - Select the second option, `reference machine settings` and toggle this setting to `reference machine`, as shown below. - + Navigate to **閉店設定** (`CLOSE SETTING`, the 10th option). + + !!! tip "" - Select the last option from the menu, to return to the previous menu. - Once back to the main Service Menu, select the 10th option in the list, `closing setting`. - + Navigate to **時** (`HOUR`, the 2nd option) and use the `Service` button + to toggle the setting until it says **全時刻** (`ALL TIME`). + + !!! tip "" - Select the second option, `hour`, and toggle with `L` until the option `all time` is selected. - + Select **終了** (`EXIT`, the last option) to exit to the main service menu, then select **終了** + (also the last option) in the main menu to exit the service menu. + +#### Waiting for Distribution Server !!! tip "" - Select the last option from the menu to return to the previous menu, and then select the last option of the main menu to save your settings and continue booting the game. - If you get stuck at a `Waiting for Distribution Server` message, shown below, close the game and relaunch. This is caused by dipswitch settings not setting themselves correctly the very first time the game is launched. + If you're stuck at the `Waiting for Distribution Server` screen below, close the game and relaunch. - + !!! tip "" - If everything has been set up correctly, you should now be at the game's Attract Screen. - `F2` and `F3` will let you insert service/coin credits (`1` and `2` on older versions of segatools). - Now that we know the game is working, we can move on to configuring controllers and network access. -!!! note "Dipswitch Settings:" - The dipswitch settings, `dipsw1`, `dipsw2` and `dipsw3`, are not set the very first time you run the game, as some system files still need to be created. If the game is running at the wrong frame rate, you may need to exit and re-open the game for these settings to apply. + You're all done! The game should load up properly now. -### Further Configuration + You can add coins using the `Coin` key (default `F3`) and card in by holding the `Enter` key. -!!! note "Controllers:" - As there are several different input methods, each with different setup procedures, these will be covered in the [Controllers](controllers.md) section. +### Further configuration -!!! note "Networks:" - Local Network options will be covered in the [Networks](networks.md) section. +!!! info "Input methods and controllers are covered in the [Controllers](controllers.md) page." -!!! warning "Have any other errors?" - Check out the [Common Problems/Tips](problems.md) and [Error Codes](../../errorcodes/sega.md) section. +!!! warning "Have any other issues?" + + Check out the [Troubleshooting](troubleshooting.md) and [Error Codes](../../errorcodes/sega.md) pages. diff --git a/docs/games/chunithmsunplus/troubleshooting.md b/docs/games/chunithmsunplus/troubleshooting.md new file mode 100644 index 0000000..3df5151 --- /dev/null +++ b/docs/games/chunithmsunplus/troubleshooting.md @@ -0,0 +1,122 @@ +# CHUNITHM SUN PLUS + + +!!! danger "Please make sure you downloaded your data from an appropriate source.
This guide is unable to troubleshoot any problems related to bad or poorly managed data." + +--- + +### My game crashes on launch! + +!!! tip "" + + Could be due to **many** things, the most common of which are: + + - `amdaemon` crashing in the background. Make sure that the `config_*.json` files + have valid syntax, your ICF files are correct, and [the OpenSSL fix](setup.md#fixing-openssl-on-intel-10th-gen-and-newer-cpus) + is applied on Intel Core 10th Gen CPUs and newer. + - Using the incorrect dipswitch settings for your refresh rate (e.g. `dipsw3=0` on + a 60Hz screen). Refer to [the setup guide](setup.md#gpio) to fix it. + - Enabling 120FPS on a monitor that is not **exactly 120Hz** or **exactly 1080p**. + If you cannot set your monitor's refresh rate to 120Hz, apply the "Bypass 120Hz + monitor check"/"Bypass 1080p monitor check" on a CHUNITHM web patcher (see [Resources](../../resources.md#web-patchers)). + +??? info "Capturing logs from `amdaemon` for troubleshooting" + + To assist with troubleshooting, a script can be used to capture logs from `amdaemon`. Create a file named + `amdaemontest.bat` in `App\bin`, then paste the code block below into the file. + + ```batch + @echo off + cls + echo Attempting to run AM Daemon ... + echo Window should close after 30 seconds + echo Log will be generated at amdaemontest.txt + call :sub >amdaemontest.txt + exit /b + + :sub + set OPENSSL_ia32cap=:~0x20000000 + pushd %~dp0 + start /b "AM Daemon" /min inject_x64 -d -k chusanhook_x64.dll amdaemon.exe -c config_common.json config_server.json config_client.json config_cvt.json config_sp.json config_hook.json + ping 127.0.0.1 -n 31 > nul && taskkill /im amdaemon.exe + ``` + + Double-click it to run. The script should run for 30 seconds, and you will get a file + named `amdaemontest.txt` in `App\bin`, which you can send to help people troubleshoot your issue. + +--- + +### My game takes a long time to boot! + +!!! tip "" + + CHUNITHM game files consist of thousands of small XML files, which Windows Defender + takes a long time to scan through. Add your game folder to the Windows Defender + exclusion list. + +!!! danger + + Doing this will prevent Windows Defender from scanning your game folder for viruses. + Only do this if you trust the source of the data. + +--- + +### My game is running too slow/fast + +!!! tip "" + + The game could be running under or over its required refresh rate. + + - Make sure V-Sync isn't disabled in your graphics settings (called "Vertical sync" + in NVIDIA Control Panel and "Wait for Vertical Refresh" in AMD Control Panel.) + - Make sure your monitor's refresh rate is set to 60Hz or 120Hz. + + It could also be that your computer's performance isn't good enough to keep + a steady framerate. + +--- + +### My game is stuttering + +!!! tip "" + + For NVIDIA users, create an override for `chusanApp.exe` in NVIDIA Control Panel + and change "Power management mode" to "**Prefer maximum performance**". + +--- + +### My game crashes when I tab out of fullscreen! + +!!! tip "" + + As the game is intended to run on arcade hardware, it doesn't like being minimized. + + One workaround for this is to use DXVK. Download the latest version from [releases](https://github.com/doitsujin/dxvk/releases/latest). + This will be a `dxvk-x.y.z.tar.gz` file, which you can open using [7zip](https://www.7-zip.org/). + Navigate to the `x32` folder, and copy the `d3d9.dll` file to your game's `App\bin` folder, agreeing + to overwrite when asked. + + You should now be able to tab out of fullscreen without crashing the game. + +!!! warning + + The game will not ignore inputs when out of focus. + + This means any controller inputs will still be accepted, so try not to lean onto + your slider whilst tabbed out! + + This also means that you can accidentally enter the service menu by hitting your + `Test` key even if the game is minimised. If you were in the middle of a credit, + **your scores will be lost.** + +--- + +### When I run the game all other audio is gone! + +!!! tip "" + + CHUNITHM uses [WASAPI exclusive mode](https://docs.microsoft.com/en-us/windows/win32/coreaudio/exclusive-mode-streams) + for audio to get better latency. + + You can apply the "Shared Audio" patch on a CHUNITHM web patcher (see [Resources](../../resources.md#web-patchers)) + to hear audio outside of the game at the cost of audio latency. \ No newline at end of file diff --git a/docs/img/chunithm/controllers/0_ipaddress.png b/docs/img/chunithm/sdhd/controllers/0_ipaddress.png similarity index 100% rename from docs/img/chunithm/controllers/0_ipaddress.png rename to docs/img/chunithm/sdhd/controllers/0_ipaddress.png diff --git a/docs/img/chunithm/luminous.png b/docs/img/chunithm/sdhd/luminous.png similarity index 100% rename from docs/img/chunithm/luminous.png rename to docs/img/chunithm/sdhd/luminous.png diff --git a/docs/img/chunithm/sdhd/new.png b/docs/img/chunithm/sdhd/new.png new file mode 100644 index 0000000..79b36ba Binary files /dev/null and b/docs/img/chunithm/sdhd/new.png differ diff --git a/docs/img/chunithm/sdhd/newplus.png b/docs/img/chunithm/sdhd/newplus.png new file mode 100644 index 0000000..c912e24 Binary files /dev/null and b/docs/img/chunithm/sdhd/newplus.png differ diff --git a/docs/img/chunithm/setup/0_chunithmdata.png b/docs/img/chunithm/sdhd/setup/0_chunithmdata.png similarity index 100% rename from docs/img/chunithm/setup/0_chunithmdata.png rename to docs/img/chunithm/sdhd/setup/0_chunithmdata.png diff --git a/docs/img/chunithm/setup/0_chunithmdata_withappdata.png b/docs/img/chunithm/sdhd/setup/0_chunithmdata_withappdata.png similarity index 100% rename from docs/img/chunithm/setup/0_chunithmdata_withappdata.png rename to docs/img/chunithm/sdhd/setup/0_chunithmdata_withappdata.png diff --git a/docs/img/chunithm/setup/1_chunithmapp.png b/docs/img/chunithm/sdhd/setup/1_chunithmapp.png similarity index 100% rename from docs/img/chunithm/setup/1_chunithmapp.png rename to docs/img/chunithm/sdhd/setup/1_chunithmapp.png diff --git a/docs/img/chunithm/setup/2_chunithmoption.png b/docs/img/chunithm/sdhd/setup/2_chunithmoption.png similarity index 100% rename from docs/img/chunithm/setup/2_chunithmoption.png rename to docs/img/chunithm/sdhd/setup/2_chunithmoption.png diff --git a/docs/img/chunithm/setup/3_segatools_installed.png b/docs/img/chunithm/sdhd/setup/3_segatools_installed.png similarity index 100% rename from docs/img/chunithm/setup/3_segatools_installed.png rename to docs/img/chunithm/sdhd/setup/3_segatools_installed.png diff --git a/docs/img/chunithm/setup/4_access_code.png b/docs/img/chunithm/sdhd/setup/4_access_code.png similarity index 100% rename from docs/img/chunithm/setup/4_access_code.png rename to docs/img/chunithm/sdhd/setup/4_access_code.png diff --git a/docs/img/chunithm/setup/5_audio.png b/docs/img/chunithm/sdhd/setup/5_audio.png similarity index 100% rename from docs/img/chunithm/setup/5_audio.png rename to docs/img/chunithm/sdhd/setup/5_audio.png diff --git a/docs/img/chunithmsunplus/asettings.png b/docs/img/chunithm/sdhd/setup/servicemenu/0_asettings.png similarity index 100% rename from docs/img/chunithmsunplus/asettings.png rename to docs/img/chunithm/sdhd/setup/servicemenu/0_asettings.png diff --git a/docs/img/chunithmsunplus/gamesettings.png b/docs/img/chunithm/sdhd/setup/servicemenu/1_gamesettings.png similarity index 100% rename from docs/img/chunithmsunplus/gamesettings.png rename to docs/img/chunithm/sdhd/setup/servicemenu/1_gamesettings.png diff --git a/docs/img/chunithmsunplus/reference.png b/docs/img/chunithm/sdhd/setup/servicemenu/2_reference.png similarity index 100% rename from docs/img/chunithmsunplus/reference.png rename to docs/img/chunithm/sdhd/setup/servicemenu/2_reference.png diff --git a/docs/img/chunithmsunplus/closingsetting.png b/docs/img/chunithm/sdhd/setup/servicemenu/3_closingsetting.png similarity index 100% rename from docs/img/chunithmsunplus/closingsetting.png rename to docs/img/chunithm/sdhd/setup/servicemenu/3_closingsetting.png diff --git a/docs/img/chunithmsunplus/alltime.png b/docs/img/chunithm/sdhd/setup/servicemenu/4_alltime.png similarity index 100% rename from docs/img/chunithmsunplus/alltime.png rename to docs/img/chunithm/sdhd/setup/servicemenu/4_alltime.png diff --git a/docs/img/chunithmsunplus/distserver.png b/docs/img/chunithm/sdhd/setup/servicemenu/5_distserver.png similarity index 100% rename from docs/img/chunithmsunplus/distserver.png rename to docs/img/chunithm/sdhd/setup/servicemenu/5_distserver.png diff --git a/docs/img/chunithm/sdhd/sun.png b/docs/img/chunithm/sdhd/sun.png new file mode 100644 index 0000000..d2d10de Binary files /dev/null and b/docs/img/chunithm/sdhd/sun.png differ diff --git a/docs/img/chunithmsunplus/sunplus.png b/docs/img/chunithm/sdhd/sunplus.png similarity index 100% rename from docs/img/chunithmsunplus/sunplus.png rename to docs/img/chunithm/sdhd/sunplus.png diff --git a/docs/img/chunithmsunplus/1.png b/docs/img/chunithmsunplus/1.png deleted file mode 100644 index be01ebc..0000000 Binary files a/docs/img/chunithmsunplus/1.png and /dev/null differ diff --git a/docs/img/chunithmsunplus/2.png b/docs/img/chunithmsunplus/2.png deleted file mode 100644 index 64b6c93..0000000 Binary files a/docs/img/chunithmsunplus/2.png and /dev/null differ diff --git a/docs/img/chunithmsunplus/AIO_finished.png b/docs/img/chunithmsunplus/AIO_finished.png deleted file mode 100644 index ce77ae3..0000000 Binary files a/docs/img/chunithmsunplus/AIO_finished.png and /dev/null differ diff --git a/docs/img/chunithmsunplus/amdperf.png b/docs/img/chunithmsunplus/amdperf.png deleted file mode 100644 index bc8c46d..0000000 Binary files a/docs/img/chunithmsunplus/amdperf.png and /dev/null differ diff --git a/docs/img/chunithmsunplus/appbincomplete.png b/docs/img/chunithmsunplus/appbincomplete.png deleted file mode 100644 index 514a417..0000000 Binary files a/docs/img/chunithmsunplus/appbincomplete.png and /dev/null differ diff --git a/docs/img/chunithmsunplus/chuniio_onedll.png b/docs/img/chunithmsunplus/chuniio_onedll.png deleted file mode 100644 index 87c33ce..0000000 Binary files a/docs/img/chunithmsunplus/chuniio_onedll.png and /dev/null differ diff --git a/docs/img/chunithmsunplus/chuniio_twodll.png b/docs/img/chunithmsunplus/chuniio_twodll.png deleted file mode 100644 index ff9d1c4..0000000 Binary files a/docs/img/chunithmsunplus/chuniio_twodll.png and /dev/null differ diff --git a/docs/img/chunithmsunplus/chusanzip.png b/docs/img/chunithmsunplus/chusanzip.png deleted file mode 100644 index 7f1b692..0000000 Binary files a/docs/img/chunithmsunplus/chusanzip.png and /dev/null differ diff --git a/docs/img/chunithmsunplus/defender.png b/docs/img/chunithmsunplus/defender.png deleted file mode 100644 index 894c934..0000000 Binary files a/docs/img/chunithmsunplus/defender.png and /dev/null differ diff --git a/docs/img/chunithmsunplus/dns.png b/docs/img/chunithmsunplus/dns.png deleted file mode 100644 index b8791af..0000000 Binary files a/docs/img/chunithmsunplus/dns.png and /dev/null differ diff --git a/docs/img/chunithmsunplus/gpio.png b/docs/img/chunithmsunplus/gpio.png deleted file mode 100644 index 25ce703..0000000 Binary files a/docs/img/chunithmsunplus/gpio.png and /dev/null differ diff --git a/docs/img/chunithmsunplus/nvidiaperf.png b/docs/img/chunithmsunplus/nvidiaperf.png deleted file mode 100644 index 02f0e27..0000000 Binary files a/docs/img/chunithmsunplus/nvidiaperf.png and /dev/null differ diff --git a/docs/img/chunithmsunplus/redist_finished.png b/docs/img/chunithmsunplus/redist_finished.png deleted file mode 100644 index e00746c..0000000 Binary files a/docs/img/chunithmsunplus/redist_finished.png and /dev/null differ diff --git a/docs/img/chunithmsunplus/replace.png b/docs/img/chunithmsunplus/replace.png deleted file mode 100644 index 2bd9b2b..0000000 Binary files a/docs/img/chunithmsunplus/replace.png and /dev/null differ diff --git a/docs/img/chunithmsunplus/vfs.png b/docs/img/chunithmsunplus/vfs.png deleted file mode 100644 index 14b0c19..0000000 Binary files a/docs/img/chunithmsunplus/vfs.png and /dev/null differ diff --git a/mkdocs.yml b/mkdocs.yml index ba7db0c..67c9e83 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -104,11 +104,22 @@ nav: - "Common Problems/Tips": "games/musecafinal/problems.md" - SEGA: - "CHUNITHM": + - "NEW": + - "Game Setup": "games/chunithmnew/setup.md" + - "Controllers": "games/chunithmnew/controllers.md" + - "Troubleshooting": "games/chunithmnew/troubleshooting.md" + - "NEW PLUS": + - "Game Setup": "games/chunithmnewplus/setup.md" + - "Controllers": "games/chunithmnewplus/controllers.md" + - "Troubleshooting": "games/chunithmnewplus/troubleshooting.md" + - "SUN": + - "Game Setup": "games/chunithmsun/setup.md" + - "Controllers": "games/chunithmsun/controllers.md" + - "Troubleshooting": "games/chunithmsun/troubleshooting.md" - "SUN PLUS": - - "First Time Setup": "games/chunithmsunplus/setup.md" + - "Game Setup": "games/chunithmsunplus/setup.md" - "Controllers": "games/chunithmsunplus/controllers.md" - - "Networks": "games/chunithmsunplus/networks.md" - - "Common Problems/Tips": "games/chunithmsunplus/problems.md" + - "Troubleshooting": "games/chunithmsunplus/troubleshooting.md" - "LUMINOUS": - "Game Setup": "games/chunithmluminous/setup.md" - "Controllers": "games/chunithmluminous/controllers.md"