diff --git a/docs/games/bemani/iidx/24_sinobuz/setup.md b/docs/games/bemani/iidx/24_sinobuz/setup.md
index 0f3beb41..855aa497 100644
--- a/docs/games/bemani/iidx/24_sinobuz/setup.md
+++ b/docs/games/bemani/iidx/24_sinobuz/setup.md
@@ -16,7 +16,7 @@
- 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 with a few folders only, as follows.
+ You should end up with a file structure with a few folders only, as follows:
diff --git a/docs/games/bemani/iidx/27_heroicverse/extras.md b/docs/games/bemani/iidx/27_heroicverse/extras.md
index 800b34b1..6406fa9f 100644
--- a/docs/games/bemani/iidx/27_heroicverse/extras.md
+++ b/docs/games/bemani/iidx/27_heroicverse/extras.md
@@ -55,7 +55,7 @@
## Audio Related Crash
!!! tip ""
- If you get a stack trace in your `log.txt` that looks like this...
+ If you get a stack trace in your `log.txt` that looks like this:..
`exception raised: EXCEPTION_ACCESS_VIOLATION`
diff --git a/docs/games/bemani/iidx/30_resident/setup.md b/docs/games/bemani/iidx/30_resident/setup.md
index bc060da1..089a2627 100644
--- a/docs/games/bemani/iidx/30_resident/setup.md
+++ b/docs/games/bemani/iidx/30_resident/setup.md
@@ -31,7 +31,7 @@
- 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 with a few folders only, as follows.
+ You should end up with a file structure with a few folders only, as follows:
diff --git a/docs/games/bemani/iidx/common/31plus/setup.md b/docs/games/bemani/iidx/common/31plus/setup.md
index 2a65f784..e70cab6d 100644
--- a/docs/games/bemani/iidx/common/31plus/setup.md
+++ b/docs/games/bemani/iidx/common/31plus/setup.md
@@ -113,7 +113,7 @@
--8<-- "docs/snippets/bemani/common/spicecfg_nochange.md"
-## Configuring Audio
+## Configuring audio
--8<-- "docs/snippets/bemani/common/setup_audio.md"
diff --git a/docs/games/bemani/popn/common/setup.md b/docs/games/bemani/popn/common/setup.md
index 6f29cdd9..dc96a82f 100644
--- a/docs/games/bemani/popn/common/setup.md
+++ b/docs/games/bemani/popn/common/setup.md
@@ -15,7 +15,7 @@
- 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 with a few folders only, as follows.
+ You should end up with a file structure with a few folders only, as follows:
diff --git a/docs/games/bemani/sdvx/6_exceedgear/setup.md b/docs/games/bemani/sdvx/6_exceedgear/setup.md
index 3c768c76..3c2739e8 100644
--- a/docs/games/bemani/sdvx/6_exceedgear/setup.md
+++ b/docs/games/bemani/sdvx/6_exceedgear/setup.md
@@ -108,7 +108,7 @@
--8<-- "docs/snippets/bemani/common/spicecfg_nochange.md"
-## Configuring Audio
+## Configuring audio
--8<-- "docs/snippets/bemani/common/setup_audio.md"
diff --git a/docs/games/bemani/sdvx/6_exceedgear/troubleshooting.md b/docs/games/bemani/sdvx/6_exceedgear/troubleshooting.md
index 5f19c2fc..9bd9475e 100644
--- a/docs/games/bemani/sdvx/6_exceedgear/troubleshooting.md
+++ b/docs/games/bemani/sdvx/6_exceedgear/troubleshooting.md
@@ -44,7 +44,7 @@
- Search for `Superstep`
If you find a line with `Audio device is not available!!!`, it means the game hasn't found refuses to boot due to misconfigured audio.
- Check the setup guide's [Configuring Audio section](setup.md#configuring-audio) as well as our general [Audio guide](/extras/audio.md) to understand the issue better.
+ Check the setup guide's [Configuring audio section](setup.md#configuring-audio) as well as our general [Audio guide](/extras/audio.md) to understand the issue better.
??? tip "I'm using a laptop with a hybrid internal+dedicated GPU setup"
diff --git a/docs/games/sega/chunithm/air/c2c.md b/docs/games/sega/chunithm/air/c2c.md
new file mode 100644
index 00000000..87fbd3eb
--- /dev/null
+++ b/docs/games/sega/chunithm/air/c2c.md
@@ -0,0 +1,3 @@
+
+
+--8<-- "docs/games/sega/chunithm/common/chuni/c2c.md"
diff --git a/docs/games/sega/chunithm/air/controllers.md b/docs/games/sega/chunithm/air/controllers.md
new file mode 100644
index 00000000..a61ce8fa
--- /dev/null
+++ b/docs/games/sega/chunithm/air/controllers.md
@@ -0,0 +1,3 @@
+
+
+--8<-- "docs/games/sega/chunithm/common/chuni/controllers.md"
diff --git a/docs/games/sega/chunithm/air/setup.md b/docs/games/sega/chunithm/air/setup.md
new file mode 100644
index 00000000..1e210ce5
--- /dev/null
+++ b/docs/games/sega/chunithm/air/setup.md
@@ -0,0 +1,4 @@
+
+
+
+--8<-- "docs/games/sega/chunithm/common/chuni/setup_belowcrystal.md"
diff --git a/docs/games/sega/chunithm/air/troubleshooting.md b/docs/games/sega/chunithm/air/troubleshooting.md
new file mode 100644
index 00000000..7f277a17
--- /dev/null
+++ b/docs/games/sega/chunithm/air/troubleshooting.md
@@ -0,0 +1,3 @@
+
+
+--8<-- "docs/games/sega/chunithm/common/chuni/troubleshooting.md"
diff --git a/docs/games/sega/chunithm/airplus/c2c.md b/docs/games/sega/chunithm/airplus/c2c.md
new file mode 100644
index 00000000..d699af53
--- /dev/null
+++ b/docs/games/sega/chunithm/airplus/c2c.md
@@ -0,0 +1,3 @@
+
+
+--8<-- "docs/games/sega/chunithm/common/chuni/c2c.md"
diff --git a/docs/games/sega/chunithm/airplus/controllers.md b/docs/games/sega/chunithm/airplus/controllers.md
new file mode 100644
index 00000000..bc45855b
--- /dev/null
+++ b/docs/games/sega/chunithm/airplus/controllers.md
@@ -0,0 +1,3 @@
+
+
+--8<-- "docs/games/sega/chunithm/common/chuni/controllers.md"
diff --git a/docs/games/sega/chunithm/airplus/setup.md b/docs/games/sega/chunithm/airplus/setup.md
new file mode 100644
index 00000000..d7edfaae
--- /dev/null
+++ b/docs/games/sega/chunithm/airplus/setup.md
@@ -0,0 +1,4 @@
+
+
+
+--8<-- "docs/games/sega/chunithm/common/chuni/setup_belowcrystal.md"
diff --git a/docs/games/sega/chunithm/airplus/troubleshooting.md b/docs/games/sega/chunithm/airplus/troubleshooting.md
new file mode 100644
index 00000000..d0e6b21c
--- /dev/null
+++ b/docs/games/sega/chunithm/airplus/troubleshooting.md
@@ -0,0 +1,3 @@
+
+
+--8<-- "docs/games/sega/chunithm/common/chuni/troubleshooting.md"
diff --git a/docs/games/sega/chunithm/amazon/c2c.md b/docs/games/sega/chunithm/amazon/c2c.md
new file mode 100644
index 00000000..6619e79f
--- /dev/null
+++ b/docs/games/sega/chunithm/amazon/c2c.md
@@ -0,0 +1,3 @@
+
+
+--8<-- "docs/games/sega/chunithm/common/chuni/c2c.md"
diff --git a/docs/games/sega/chunithm/amazon/controllers.md b/docs/games/sega/chunithm/amazon/controllers.md
new file mode 100644
index 00000000..373375c4
--- /dev/null
+++ b/docs/games/sega/chunithm/amazon/controllers.md
@@ -0,0 +1,3 @@
+
+
+--8<-- "docs/games/sega/chunithm/common/chuni/controllers.md"
diff --git a/docs/games/sega/chunithm/amazon/setup.md b/docs/games/sega/chunithm/amazon/setup.md
new file mode 100644
index 00000000..71798ae0
--- /dev/null
+++ b/docs/games/sega/chunithm/amazon/setup.md
@@ -0,0 +1,4 @@
+
+
+
+--8<-- "docs/games/sega/chunithm/common/chuni/setup_belowcrystal.md"
diff --git a/docs/games/sega/chunithm/amazon/troubleshooting.md b/docs/games/sega/chunithm/amazon/troubleshooting.md
new file mode 100644
index 00000000..37a2bf78
--- /dev/null
+++ b/docs/games/sega/chunithm/amazon/troubleshooting.md
@@ -0,0 +1,3 @@
+
+
+--8<-- "docs/games/sega/chunithm/common/chuni/troubleshooting.md"
diff --git a/docs/games/sega/chunithm/amazonplus/c2c.md b/docs/games/sega/chunithm/amazonplus/c2c.md
new file mode 100644
index 00000000..7142d324
--- /dev/null
+++ b/docs/games/sega/chunithm/amazonplus/c2c.md
@@ -0,0 +1,3 @@
+
+
+--8<-- "docs/games/sega/chunithm/common/chuni/c2c.md"
diff --git a/docs/games/sega/chunithm/amazonplus/controllers.md b/docs/games/sega/chunithm/amazonplus/controllers.md
new file mode 100644
index 00000000..ce7b15fd
--- /dev/null
+++ b/docs/games/sega/chunithm/amazonplus/controllers.md
@@ -0,0 +1,3 @@
+
+
+--8<-- "docs/games/sega/chunithm/common/chuni/controllers.md"
diff --git a/docs/games/sega/chunithm/amazonplus/setup.md b/docs/games/sega/chunithm/amazonplus/setup.md
new file mode 100644
index 00000000..e7816226
--- /dev/null
+++ b/docs/games/sega/chunithm/amazonplus/setup.md
@@ -0,0 +1,4 @@
+
+
+
+--8<-- "docs/games/sega/chunithm/common/chuni/setup_belowcrystal.md"
diff --git a/docs/games/sega/chunithm/amazonplus/troubleshooting.md b/docs/games/sega/chunithm/amazonplus/troubleshooting.md
new file mode 100644
index 00000000..c82d5cbd
--- /dev/null
+++ b/docs/games/sega/chunithm/amazonplus/troubleshooting.md
@@ -0,0 +1,3 @@
+
+
+--8<-- "docs/games/sega/chunithm/common/chuni/troubleshooting.md"
diff --git a/docs/games/sega/chunithm/chunithm/c2c.md b/docs/games/sega/chunithm/chunithm/c2c.md
new file mode 100644
index 00000000..ea9edc18
--- /dev/null
+++ b/docs/games/sega/chunithm/chunithm/c2c.md
@@ -0,0 +1,3 @@
+
+
+--8<-- "docs/games/sega/chunithm/common/chuni/c2c.md"
diff --git a/docs/games/sega/chunithm/chunithm/controllers.md b/docs/games/sega/chunithm/chunithm/controllers.md
new file mode 100644
index 00000000..03cf06ec
--- /dev/null
+++ b/docs/games/sega/chunithm/chunithm/controllers.md
@@ -0,0 +1,3 @@
+
+
+--8<-- "docs/games/sega/chunithm/common/chuni/controllers.md"
diff --git a/docs/games/sega/chunithm/chunithm/setup.md b/docs/games/sega/chunithm/chunithm/setup.md
new file mode 100644
index 00000000..8635b8fa
--- /dev/null
+++ b/docs/games/sega/chunithm/chunithm/setup.md
@@ -0,0 +1,4 @@
+
+
+
+--8<-- "docs/games/sega/chunithm/common/chuni/setup_belowcrystal.md"
diff --git a/docs/games/sega/chunithm/chunithm/troubleshooting.md b/docs/games/sega/chunithm/chunithm/troubleshooting.md
new file mode 100644
index 00000000..e5afbc8f
--- /dev/null
+++ b/docs/games/sega/chunithm/chunithm/troubleshooting.md
@@ -0,0 +1,3 @@
+
+
+--8<-- "docs/games/sega/chunithm/common/chuni/troubleshooting.md"
diff --git a/docs/games/sega/chunithm/common/chuni/c2c.md b/docs/games/sega/chunithm/common/chuni/c2c.md
new file mode 100644
index 00000000..913cba28
--- /dev/null
+++ b/docs/games/sega/chunithm/common/chuni/c2c.md
@@ -0,0 +1,60 @@
+# Cab-to-Cab over Internet
+
+--8<-- "docs/snippets/common/data_warning.md"
+
+!!! danger "You are most likely to have success with Multiplayer when all users are using the SAME data and options, from the same sources. Verify that each person can run the game normally before attempting to network them together."
+
+!!! tip ""
+
+ - Chunithm expects the cabinets to be using specific IP addresses, 192.168.139.**11/12/13/14**
+ - To achieve this over the internet, we can use SoftEther VPN. Refer to the [Setting Up SoftEther VPN Guide](/extras/softether.md) for more information.
+
+### Configuring segatools.ini & Game Assignments
+
+!!! tip "segatools.ini"
+
+ ```
+ [netnev]
+ enable=1
+ addrSuffix= last 2 digits of your SoftEther IP
+
+ [keychip]
+ enable=1
+ subnet=192.168.139.0
+ id=(Everyone needs a seperate keychip. If you play on a remote network, chances are you already have your own keychip. If not, you can use the example keychips below.)
+ ;example keychips: A61E-01D02321145 ; A61E-01A30831145 ; A61E-01E38091145 ; A61E-01E46241145
+ ```
+
+!!! tip "GAME ASSIGNMENTS"
+
+ - After saving your segatools.ini, launch the game and go into the Service Menu > and go to ```GAME ASSIGNMENTS```.
+
+
+ - Enable ```CABINET-TO-CABINET PLAY```, and make sure all machine are on the same group (Group A for example).
+
+
+ - Set one machine to ```STANDARD```, and all other machines to ```FOLLOW THE STANDARD``` .
+
+
+
+ Exit the Service Menu and load into Attract Mode. If the game passes the Group Check then chances are you're good to go! You can now login to a credit and open a cab-to-cab link request to check if the connection is working properly!
+
+### How to Link?
+
+!!! Info "If you're new to Chunithm and have never tried link-play before and you have no idea how, keep reading."
+
+ - Login to a credit.
+
+ - If you're hosting a cab-to-cab session, choose a song first, then scroll to the far left and press Confirm. The cab-to-cab request is now open.
+
+
+ - If you're connecting, navigate to the "Cabinet-to-Cabinet Play" tab and wait for other players to create a session.
+
+
+ If you are able to see each other's session, congrats! You can now enjoy some cab-to-cab chain action!
+
+### Troubleshooting
+
+!!! warning "Have any other issues?"
+
+ Check out the [Troubleshooting](troubleshooting.md) and [Error Codes](/errorcodes/sega.md) pages.
\ No newline at end of file
diff --git a/docs/games/sega/chunithm/common/chuni/controllers.md b/docs/games/sega/chunithm/common/chuni/controllers.md
new file mode 100644
index 00000000..68e0c7be
--- /dev/null
+++ b/docs/games/sega/chunithm/common/chuni/controllers.md
@@ -0,0 +1,124 @@
+# Controllers
+
+--8<-- "docs/snippets/common/data_warning.md"
+
+!!! tip ""
+
+ segatools, by default, only accepts keyboard input and does not recognize any
+ controllers. However, it can be configured with an IO DLL to add support for controllers.
+
+ The controller you plan on using should also be provided with an IO DLL. 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 ""
+
+ To add your IO DLL, ncomment the `path=` line by removing the leading semicolon (`;`),
+ then add your DLL's file name after the `=`:
+
+ ```ini hl_lines="4"
+ [chuniio]
+ ; To use a custom Chunithm IO DLL enter its path here.
+ ; Leave empty if you want to use Segatools built-in keyboard input.
+ path=controller.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`.
+
+### TASOLLER
+
+!!! 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.
+ - Download the TASOLLER IO DLL corrosponding to your firmware version and extract to your `App\bin` folder.
+ - [chuniio-rs](https://gitea.tendokyu.moe/beerpsi/chuniio-rs/releases) (download `chuni.zip`)
+ - Edit your `App\bin\segatools.ini` to reference the extracted DLLs:
+
+ ```ini
+ [chuniio]
+ path=chuniio_tasoller_v2.dll
+ ```
+
+ - Connect the controller to your computer, and then start the game.
+
+### TASOLLER PLUS
+
+!!! tip ""
+
+ - Switch your TASOLLER PLUS to WINUSB mode. You can do so in TASOLLER Options
+ found on the djdao [support page](https://www.dj-dao.com/en/support/22.html).
+ - Download TASOLLER PLUS IO DLLs and extract to your `App\bin` folder.
+ - [chuniio-rs](https://gitea.tendokyu.moe/beerpsi/chuniio-rs/releases) (download `chuni.zip`)
+ - Edit your `App\bin\segatools.ini` to reference the extracted DLLs:
+
+ ```ini
+ [chuniio]
+ path=chuniio_tasoller_plus.dll
+ ```
+
+ - 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 **chuni** 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]
+ path=chuniio_yubideck_v3.dll
+ ```
+
+ - Optionally, reference the included AimeIO DLL to use the controller's
+ built-in card reader:
+
+ ```ini
+ [aimeio]
+ path=aimeio_yubideck_v3.dll
+ ```
+
+ - Connect the controller to your computer, and then start the game.
+
+### Laverita 3
+
+??? tip ""
+
+ - Switch your Laverita to HID mode. You can do so in ConfigApp
+ - Download Laverita IO DLLs and extract to your `App\bin` folder.
+ - [chuniio-rs](https://gitea.tendokyu.moe/beerpsi/chuniio-rs/releases) (download `chuni.zip`)
+ - Edit your `App\bin\segatools.ini` to reference the extracted DLLs:
+
+ ```ini
+ [chuniio]
+ path=chuniio_laverita_v3.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!
diff --git a/docs/games/sega/chunithm/common/chuni/setup.md b/docs/games/sega/chunithm/common/chuni/setup.md
new file mode 100644
index 00000000..205450dd
--- /dev/null
+++ b/docs/games/sega/chunithm/common/chuni/setup.md
@@ -0,0 +1,165 @@
+# Game Setup
+
+--8<-- "docs/snippets/common/data_warning.md"
+
+--8<-- "docs/snippets/sega/common/data_old.md"
+
+## Preparing data
+
+--8<-- "docs/snippets/sega/common/data_driveletter.md"
+
+--8<-- "docs/snippets/common/data_readonly.md"
+
+--8<-- "docs/snippets/sega/common/data_preparation.md"
+
+ ```
+ 📂bin
+ 📂data
+ 📂firm
+ 📂startup
+ 📄firewall.cfg
+ 📄game.bat
+ ▶️oxGetHwInfo.ini
+ 📄oxGetHwInfo.ini
+ ```
+
+--8<-- "docs/snippets/sega/common/data_bad.md"
+
+## Updating data
+
+--8<-- "docs/snippets/sega/common/data_updating.md"
+
+## Installing option data
+
+--8<-- "docs/snippets/sega/chunithm/data_options.md"
+
+## Installing unprotected executables
+
+--8<-- "docs/snippets/sega/chunithm/unprotected_exes.md"
+
+## Installing ICFs
+
+--8<-- "docs/snippets/sega/common/data_icfs.md"
+
+## Patching the game
+
+--8<-- "docs/snippets/sega/common/patching.md"
+
+| Patch | Recommendation | Description |
+|------------------------------|----------------|-------------|
+| Disable shop close lockout | Either | Disables the shop lockout from 12 to 8PM JST. |
+| 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.** |
+
+## Installing segatools
+
+--8<-- "docs/snippets/sega/common/segatools_install.md"
+ - Find `chuni.zip` and extract it to your data's `App\bin` folder
+
+ You should now have these files added to your `App\bin` directory:
+
+ ```
+ 📂DEVICE
+ 📄chunihook.dll
+ ▶️inject.exe
+ 📄segatools.ini
+ ▶️start.bat
+ ```
+
+## Configuring segatools
+
+!!! tip ""
+
+--8<-- "docs/snippets/sega/common/segatools_preamble.md"
+
+=== "[vfs]"
+
+--8<-- "docs/snippets/sega/common/segatools_relativepaths.md"
+
+--8<-- "docs/snippets/sega/common/segatools_vfs.md"
+
+=== "[gfx]"
+
+--8<-- "docs/snippets/sega/chunithm/segatools_gfx.md"
+
+## Configuring audio
+
+--8<-- "docs/snippets/common/audio_48khz.md"
+
+## Connecting to a network
+
+--8<-- "docs/snippets/sega/common/network_preamble.md"
+
+--8<-- "docs/snippets/sega/common/network_remote.md"
+
+--8<-- "docs/snippets/sega/common/network_local_artemisonly.md"
+
+## Installing VCRedist & DirectX
+
+--8<-- "docs/snippets/common/setup_vcredist_directx.md"
+
+## Before playing
+
+--8<-- "docs/snippets/common/before_playing.md"
+
+## First launch
+
+--8<-- "docs/snippets/sega/common/service_jp_googlelens.md"
+
+!!! 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.
+
+
+
+ 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 fourth option).
+
+
+
+ Select **配信サーバー設定** (`DISTRIBUTION SEVER SETTING`, the first option)
+ and toggle this setting to **サーバー** (`SERVER`).
+
+ Select **筐体グループ設定** (`CABINET GROUP SETTINGS`, the second option)
+ and toggle this setting to **OFF**.
+
+
+
+ Select **終了** (`EXIT`, the last option) to exit to the main service menu.
+
+ Select **はい** (`YES`) and select **閉じる**
+
+
+
+
+
+ After this, your game will close. Open it back up, and enter the service menu again.
+
+ Navigate to **閉店設定** (`CLOSE SETTING`, the tenth option).
+
+
+
+ Navigate to **時** (`HOUR`, the second option) and use the `Service` button
+ to toggle the setting until it says **全時刻** (`ALL TIME`).
+
+
+
+ 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.
+
+ If you're stuck at the `Waiting for Distribution Server` screen below, close the game and relaunch.
+
+
+
+--8<-- "docs/snippets/sega/common/success.md"
+
+## Help
+
+--8<-- "docs/snippets/common/help.md"
\ No newline at end of file
diff --git a/docs/games/sega/chunithm/common/chuni/setup_belowcrystal.md b/docs/games/sega/chunithm/common/chuni/setup_belowcrystal.md
new file mode 100644
index 00000000..14c7f798
--- /dev/null
+++ b/docs/games/sega/chunithm/common/chuni/setup_belowcrystal.md
@@ -0,0 +1,159 @@
+# Game Setup
+
+--8<-- "docs/snippets/common/data_warning.md"
+
+--8<-- "docs/snippets/sega/common/data_old.md"
+
+## Preparing data
+
+--8<-- "docs/snippets/sega/common/data_driveletter.md"
+
+--8<-- "docs/snippets/common/data_readonly.md"
+
+--8<-- "docs/snippets/sega/common/data_preparation.md"
+
+ ```
+ 📂bin
+ 📂data
+ 📂firm
+ 📂startup
+ 📄firewall.cfg
+ 📄game.bat
+ ▶️oxGetHwInfo.ini
+ 📄oxGetHwInfo.ini
+ ```
+
+--8<-- "docs/snippets/sega/common/data_bad.md"
+
+## Updating data
+
+--8<-- "docs/snippets/sega/common/data_updating.md"
+
+## Installing option data
+
+--8<-- "docs/snippets/sega/chunithm/data_options.md"
+
+## Installing ICFs
+
+--8<-- "docs/snippets/sega/common/data_icfs.md"
+
+## Patching the game
+
+--8<-- "docs/snippets/sega/common/patching.md"
+
+| Patch | Recommendation | Description |
+|------------------------------|----------------|-------------|
+| Disable shop close lockout | Either | Disables the shop lockout from 12 to 8PM JST. |
+| 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. |
+
+## Installing segatools
+
+!!! tip ""
+
+--8<-- "docs/snippets/sega/common/segatools_install.md"
+ - Find `chuni.zip` and extract it to your data's `App\bin` folder
+
+ You should now have these files added to your `App\bin` directory:
+
+ ```
+ 📂DEVICE
+ 📄chunihook.dll
+ ▶️inject.exe
+ 📄segatools.ini
+ ▶️start.bat
+ ```
+
+## Configuring audio
+
+--8<-- "docs/snippets/common/audio_48khz.md"
+
+## Configuring segatools
+
+--8<-- "docs/snippets/sega/common/segatools_preamble.md"
+
+=== "[vfs]"
+
+--8<-- "docs/snippets/sega/common/segatools_vfs.md"
+
+=== "[gfx]"
+
+--8<-- "docs/snippets/sega/chunithm/segatools_gfx.md"
+
+## Connecting to a network
+
+--8<-- "docs/snippets/sega/common/network_preamble.md"
+
+--8<-- "docs/snippets/sega/common/network_remote.md"
+
+--8<-- "docs/snippets/sega/common/network_local_artemisonly.md"
+
+## Installing VCRedist & DirectX
+
+--8<-- "docs/snippets/common/setup_vcredist_directx.md"
+
+## Before playing
+
+--8<-- "docs/snippets/common/before_playing.md"
+
+## First launch
+
+--8<-- "docs/snippets/sega/common/service_jp_googlelens.md"
+
+!!! 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.
+
+
+
+ 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 fourth option).
+
+
+
+ Select **配信サーバー設定** (`DISTRIBUTION SEVER SETTING`, the first option)
+ and toggle this setting to **サーバー** (`SERVER`).
+
+ Select **筐体グループ設定** (`CABINET GROUP SETTINGS`, the second option)
+ and toggle this setting to **OFF**.
+
+
+
+ Select **終了** (`EXIT`, the last option) to exit to the main service menu.
+
+ Select **はい** (`YES`) and select **閉じる**
+
+
+
+
+
+ After this, your game will close. Open it back up, and enter the service menu again.
+
+ Navigate to **閉店設定** (`CLOSE SETTING`, the tenth option).
+
+
+
+ Navigate to **時** (`HOUR`, the second option) and use the `Service` button
+ to toggle the setting until it says **全時刻** (`ALL TIME`).
+
+
+
+ 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.
+
+!!! tip ""
+
+ If you're stuck at the `Waiting for Distribution Server` screen below, close the game and relaunch.
+
+
+
+--8<-- "docs/snippets/sega/common/success.md"
+
+## Help
+
+--8<-- "docs/snippets/common/help.md"
\ No newline at end of file
diff --git a/docs/games/sega/chunithm/common/chuni/troubleshooting.md b/docs/games/sega/chunithm/common/chuni/troubleshooting.md
new file mode 100644
index 00000000..1eb5b28f
--- /dev/null
+++ b/docs/games/sega/chunithm/common/chuni/troubleshooting.md
@@ -0,0 +1,80 @@
+# Troubleshooting
+
+--8<-- "docs/snippets/common/data_warning.md"
+
+### 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.
+
+ 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 `chuniApp.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.
+
+### Cabinet-to-Cabinet(c2c) Fixes
+
+!!! tip ""
+
+ c2c can have many problems but you can fix most of them by applying the "Patch for head-to-head play" and disabling "Set all timers to 999" on a CHUNITHM web patcher (see [Resources](/resources.md#web-patchers)).
+
+ If the above does not work then please ensure both machines have the exact same data and can communicate with each other if they cannot then you can try disabling firewalls or changing the c2c group.
+
+ If clicking the c2c button does nothing, you can fix it by resetting the network settings in Windows.
diff --git a/docs/games/sega/chunithm/common/chusan/setup.md b/docs/games/sega/chunithm/common/chusan/setup.md
index 93acef60..f4cff747 100644
--- a/docs/games/sega/chunithm/common/chusan/setup.md
+++ b/docs/games/sega/chunithm/common/chusan/setup.md
@@ -2,112 +2,49 @@
--8<-- "docs/snippets/common/data_warning.md"
-!!! 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!
+--8<-- "docs/snippets/sega/common/data_old.md"
## Preparing data
-!!! danger "There are currently issues with running game data in the `E:\` or `Y:\` drive.
Please extract the data into other drives."
+--8<-- "docs/snippets/sega/common/data_driveletter.md"
-!!! tip ""
+--8<-- "docs/snippets/common/data_readonly.md"
- After downloading and extracting your data, we need to make sure your files
- aren't set to `Read-only`.
+--8<-- "docs/snippets/sega/common/data_preparation.md"
- - 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.
+ ```
+ 📂bin
+ 📂data
+ 📂firm
+ 📂license
+ 📄firewall.cfg
+ 📄game.bat
+ ▶️pwGetHwinfo.ini
+ 📄pxGetHwInfo.ini
+ 📄system_config.json
+ ```
- You should end up with a file structure as follows.
+--8<-- "docs/snippets/sega/common/data_bad.md"
-
+## Updating data
- 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.
+--8<-- "docs/snippets/sega/common/data_updating.md"
## 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.**
-
-
-
-!!! warning "If you plan to connect to a network (Hosted or Local), the `A001` option folder for your specific game version is required. This option contains a special Event file that lets the game connect."
+--8<-- "docs/snippets/sega/chunithm/data_options.md"
-
## Installing unprotected executables
-!!! tip ""
-
- CHUNITHM executables are protected and will not run on a regular computer.
-
- Obtain unprotected (also called "unpacked" or "decrypted" by the community)
- copies of `chusanApp.exe` and `amdaemon.exe` for your game version.
-
- Copy `chusanApp.exe` and `amdaemon.exe` to the `bin` folder of your game data. Agree
- to overwrite when asked.
+--8<-- "docs/snippets/sega/chunithm/unprotected_exes.md"
## Installing ICFs
-!!! tip ""
-
- Install Configuration Files (ICFs) tell the game what version it is.
- **Without this your game cannot go online!**
-
- **If your unprotected executables came with an `amfs` folder, and already has a file named `ICF1` in it, 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`.
+--8<-- "docs/snippets/sega/common/data_icfs.md"
## 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."
+--8<-- "docs/snippets/sega/common/patching.md"
| Patch | Recommendation | Description |
|------------------------------|----------------|-------------|
@@ -121,177 +58,83 @@
## Installing segatools
-!!! tip ""
+--8<-- "docs/snippets/sega/common/segatools_install.md"
+ - Find `chusan.zip` and extract it to your data's `App\bin` folder
- - 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 these files added to your `App\bin` directory:
- You should now have a few more files inside the folder, as highlighted:
-
-
+ ```
+ 📂DEVICE
+ 📄chusanhook_x64.dll
+ 📄chusanhook_x86.dll
+ 📄config_hook.json
+ ▶️inject_x64.exe
+ ▶️inject_x86.exe
+ 📄segatools.ini
+ ▶️start.bat
+ ```
## Configuring segatools
-!!! tip ""
+--8<-- "docs/snippets/sega/common/segatools_preamble.md"
- 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/).
+=== "[vfs]"
- Each following sub-section will correspond to a section in `segatools.ini`. If any
- section is not mentioned, you can skip them.
+--8<-- "docs/snippets/sega/common/segatools_relativepaths.md"
-!!! warning
+--8<-- "docs/snippets/sega/common/segatools_vfs.md"
- If a key already exists in the section, delete everything after `=` and replace it with your
- setting. Do not add another key.
+=== "[system]"
- ```ini
- [system]
- dipsw2=1
- dipsw2=1 ; WRONG!
- ```
+ !!! tip ""
-### `[vfs]`
+ - If you have a 120 Hz monitor, set `dipsw2` and `dipsw3` to 0:
-!!! tip ""
+ ```ini
+ [system]
+ dipsw2=0
+ dipsw3=0
+ ```
- 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:
+ - If you have a 60 Hz monitor, set `dipsw2` and `dipsw3` to 1:
- ```ini
- [vfs]
- amfs=../../amfs
- option=../../Option
- appdata=../../AppData
- ```
+ ```ini
+ [system]
+ dipsw2=1
+ dipsw3=1
+ ```
-!!! info "Relative Directories"
+=== "[gfx]"
- The `../` in the above example represents the parent directory in a relative path. It is used to navigate up one level in the directory hierarchy.
+--8<-- "docs/snippets/sega/chunithm/segatools_gfx.md"
- For example, your segatools.ini is located at `/App/bin/segatools.ini` and your Option folder is located next to the App folder.
+## Configuring audio
- Since segatools.ini is in the `/bin/` folder, typing `../` would move you up to the App folder. Since the Option folder is next to the App folder, the second `../` takes you to `App`'s parent folder, which is the folder containing `App`, `Option`, etc.
-
- The benefits of using this method include:
-
- - Avoiding issues that arise when folders have spaces in their names.
-
- - Being able to move your game folder without redefining the locations of your VFS folders.
-
- - A cleaner and easier to read segatools.ini, making spotting issues simpler.
-
-### `[system]`
-
-!!! tip ""
-
- - If you have a 120 Hz monitor, set `dipsw2` and `dipsw3` to 0:
-
- ```ini
- [system]
- dipsw2=0
- dipsw3=0
- ```
-
- - If you have a 60 Hz monitor, set `dipsw2` and `dipsw3` to 1:
-
- ```ini
- [system]
- 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.
+--8<-- "docs/snippets/common/audio_48khz.md"
## Connecting to a network
-!!! danger "Please choose one of the two solutions, not both!"
+--8<-- "docs/snippets/sega/common/network_preamble.md"
-??? tip "Remote (Online Network)"
+--8<-- "docs/snippets/sega/common/network_remote.md"
- 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!**
+--8<-- "docs/snippets/sega/common/network_local.md"
- ```ini
- [dns]
- default=network.example
- ```
+## Installing VCRedist & DirectX
- Then, head to the `[keychip]` section and add & set `id` to the keychip ID provided by your network:
+--8<-- "docs/snippets/common/setup_vcredist_directx.md"
- ```ini
- [keychip]
- subnet=192.168.139.0
- id=A69E-XXXXXXXXXXX
- ```
+## OpenSSL Fix (Intel 10th Gen+)
- 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.
+--8<-- "docs/snippets/sega/common/cpu_intel_openssl.md"
-
+## Before playing
-??? 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, you need to [patch amdaemon](https://patcher.two-torial.xyz/amdaemon) and enable `OpenSSL SHA crash bug fix`.
+--8<-- "docs/snippets/common/before_playing.md"
## 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
+--8<-- "docs/snippets/sega/common/service_jp_googlelens.md"
!!! tip ""
@@ -299,66 +142,40 @@
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).
+ Navigate to **ゲーム設定** (`GAME ASSIGNMENTS`, the fourth 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
+ Navigate to **閉店設定** (`CLOSE SETTING`, the tenth option).
-!!! tip ""
+
- Navigate to **閉店設定** (`CLOSE SETTING`, the 10th option).
-
-
-
-!!! tip ""
-
- Navigate to **時** (`HOUR`, the 2nd option) and use the `Service` button
+ Navigate to **時** (`HOUR`, the second 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 ""
+--8<-- "docs/snippets/sega/common/success.md"
- You're all done! The game should load up properly now.
+## Help
- 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.
+--8<-- "docs/snippets/common/help.md"
\ No newline at end of file
diff --git a/docs/games/sega/chunithm/crystal/c2c.md b/docs/games/sega/chunithm/crystal/c2c.md
new file mode 100644
index 00000000..0a748b08
--- /dev/null
+++ b/docs/games/sega/chunithm/crystal/c2c.md
@@ -0,0 +1,2 @@
+
+--8<-- "docs/games/sega/chunithm/common/chuni/c2c.md"
\ No newline at end of file
diff --git a/docs/games/sega/chunithm/crystal/controllers.md b/docs/games/sega/chunithm/crystal/controllers.md
new file mode 100644
index 00000000..46997aea
--- /dev/null
+++ b/docs/games/sega/chunithm/crystal/controllers.md
@@ -0,0 +1,2 @@
+
+--8<-- "docs/games/sega/chunithm/common/chuni/controllers.md"
\ No newline at end of file
diff --git a/docs/games/sega/chunithm/crystal/setup.md b/docs/games/sega/chunithm/crystal/setup.md
new file mode 100644
index 00000000..5d58cec5
--- /dev/null
+++ b/docs/games/sega/chunithm/crystal/setup.md
@@ -0,0 +1,2 @@
+
+--8<-- "docs/games/sega/chunithm/common/chuni/setup_belowcrystal.md"
\ No newline at end of file
diff --git a/docs/games/sega/chunithm/crystal/troubleshooting.md b/docs/games/sega/chunithm/crystal/troubleshooting.md
new file mode 100644
index 00000000..95f6e2e2
--- /dev/null
+++ b/docs/games/sega/chunithm/crystal/troubleshooting.md
@@ -0,0 +1,2 @@
+
+--8<-- "docs/games/sega/chunithm/common/chuni/troubleshooting.md"
\ No newline at end of file
diff --git a/docs/games/sega/chunithm/crystalplus/c2c.md b/docs/games/sega/chunithm/crystalplus/c2c.md
new file mode 100644
index 00000000..047b6236
--- /dev/null
+++ b/docs/games/sega/chunithm/crystalplus/c2c.md
@@ -0,0 +1,2 @@
+
+--8<-- "docs/games/sega/chunithm/common/chuni/c2c.md"
\ No newline at end of file
diff --git a/docs/games/sega/chunithm/crystalplus/controllers.md b/docs/games/sega/chunithm/crystalplus/controllers.md
new file mode 100644
index 00000000..313b2be0
--- /dev/null
+++ b/docs/games/sega/chunithm/crystalplus/controllers.md
@@ -0,0 +1,2 @@
+
+--8<-- "docs/games/sega/chunithm/common/chuni/controllers.md"
\ No newline at end of file
diff --git a/docs/games/sega/chunithm/crystalplus/setup.md b/docs/games/sega/chunithm/crystalplus/setup.md
new file mode 100644
index 00000000..3ff6e2de
--- /dev/null
+++ b/docs/games/sega/chunithm/crystalplus/setup.md
@@ -0,0 +1,2 @@
+
+--8<-- "docs/games/sega/chunithm/common/chuni/setup.md"
\ No newline at end of file
diff --git a/docs/games/sega/chunithm/crystalplus/troubleshooting.md b/docs/games/sega/chunithm/crystalplus/troubleshooting.md
new file mode 100644
index 00000000..767b590a
--- /dev/null
+++ b/docs/games/sega/chunithm/crystalplus/troubleshooting.md
@@ -0,0 +1,2 @@
+
+--8<-- "docs/games/sega/chunithm/common/chuni/troubleshooting.md"
\ No newline at end of file
diff --git a/docs/games/sega/chunithm/paradise/c2c.md b/docs/games/sega/chunithm/paradise/c2c.md
new file mode 100644
index 00000000..b5592fce
--- /dev/null
+++ b/docs/games/sega/chunithm/paradise/c2c.md
@@ -0,0 +1,2 @@
+
+--8<-- "docs/games/sega/chunithm/common/chuni/c2c.md"
\ No newline at end of file
diff --git a/docs/games/sega/chunithm/paradise/controllers.md b/docs/games/sega/chunithm/paradise/controllers.md
new file mode 100644
index 00000000..ad501685
--- /dev/null
+++ b/docs/games/sega/chunithm/paradise/controllers.md
@@ -0,0 +1,2 @@
+
+--8<-- "docs/games/sega/chunithm/common/chuni/controllers.md"
\ No newline at end of file
diff --git a/docs/games/sega/chunithm/paradise/setup.md b/docs/games/sega/chunithm/paradise/setup.md
new file mode 100644
index 00000000..cc1598f9
--- /dev/null
+++ b/docs/games/sega/chunithm/paradise/setup.md
@@ -0,0 +1,2 @@
+
+--8<-- "docs/games/sega/chunithm/common/chuni/setup.md"
\ No newline at end of file
diff --git a/docs/games/sega/chunithm/paradise/troubleshooting.md b/docs/games/sega/chunithm/paradise/troubleshooting.md
new file mode 100644
index 00000000..e1f570a4
--- /dev/null
+++ b/docs/games/sega/chunithm/paradise/troubleshooting.md
@@ -0,0 +1,2 @@
+
+--8<-- "docs/games/sega/chunithm/common/chuni/troubleshooting.md"
\ No newline at end of file
diff --git a/docs/games/sega/chunithm/paradiselost/c2c.md b/docs/games/sega/chunithm/paradiselost/c2c.md
new file mode 100644
index 00000000..475d2c0b
--- /dev/null
+++ b/docs/games/sega/chunithm/paradiselost/c2c.md
@@ -0,0 +1,2 @@
+
+--8<-- "docs/games/sega/chunithm/common/chuni/c2c.md"
\ No newline at end of file
diff --git a/docs/games/sega/chunithm/paradiselost/controllers.md b/docs/games/sega/chunithm/paradiselost/controllers.md
new file mode 100644
index 00000000..7d826d27
--- /dev/null
+++ b/docs/games/sega/chunithm/paradiselost/controllers.md
@@ -0,0 +1,2 @@
+
+--8<-- "docs/games/sega/chunithm/common/chuni/controllers.md"
\ No newline at end of file
diff --git a/docs/games/sega/chunithm/paradiselost/setup.md b/docs/games/sega/chunithm/paradiselost/setup.md
new file mode 100644
index 00000000..27ec0284
--- /dev/null
+++ b/docs/games/sega/chunithm/paradiselost/setup.md
@@ -0,0 +1,2 @@
+
+--8<-- "docs/games/sega/chunithm/common/chuni/setup.md"
\ No newline at end of file
diff --git a/docs/games/sega/chunithm/paradiselost/troubleshooting.md b/docs/games/sega/chunithm/paradiselost/troubleshooting.md
new file mode 100644
index 00000000..2919df95
--- /dev/null
+++ b/docs/games/sega/chunithm/paradiselost/troubleshooting.md
@@ -0,0 +1,2 @@
+
+--8<-- "docs/games/sega/chunithm/common/chuni/troubleshooting.md"
\ No newline at end of file
diff --git a/docs/games/sega/chunithm/plus/c2c.md b/docs/games/sega/chunithm/plus/c2c.md
new file mode 100644
index 00000000..614c322f
--- /dev/null
+++ b/docs/games/sega/chunithm/plus/c2c.md
@@ -0,0 +1,2 @@
+
+--8<-- "docs/games/sega/chunithm/common/chuni/c2c.md"
\ No newline at end of file
diff --git a/docs/games/sega/chunithm/plus/controllers.md b/docs/games/sega/chunithm/plus/controllers.md
new file mode 100644
index 00000000..34a0182a
--- /dev/null
+++ b/docs/games/sega/chunithm/plus/controllers.md
@@ -0,0 +1,2 @@
+
+--8<-- "docs/games/sega/chunithm/common/chuni/controllers.md"
\ No newline at end of file
diff --git a/docs/games/sega/chunithm/plus/setup.md b/docs/games/sega/chunithm/plus/setup.md
new file mode 100644
index 00000000..8fc7f975
--- /dev/null
+++ b/docs/games/sega/chunithm/plus/setup.md
@@ -0,0 +1,2 @@
+
+--8<-- "docs/games/sega/chunithm/common/chuni/setup_belowcrystal.md"
\ No newline at end of file
diff --git a/docs/games/sega/chunithm/plus/troubleshooting.md b/docs/games/sega/chunithm/plus/troubleshooting.md
new file mode 100644
index 00000000..da4eb8d0
--- /dev/null
+++ b/docs/games/sega/chunithm/plus/troubleshooting.md
@@ -0,0 +1,2 @@
+
+--8<-- "docs/games/sega/chunithm/common/chuni/troubleshooting.md"
\ No newline at end of file
diff --git a/docs/games/sega/chunithm/star/c2c.md b/docs/games/sega/chunithm/star/c2c.md
new file mode 100644
index 00000000..6e0b8c0d
--- /dev/null
+++ b/docs/games/sega/chunithm/star/c2c.md
@@ -0,0 +1,2 @@
+
+--8<-- "docs/games/sega/chunithm/common/chuni/c2c.md"
\ No newline at end of file
diff --git a/docs/games/sega/chunithm/star/controllers.md b/docs/games/sega/chunithm/star/controllers.md
new file mode 100644
index 00000000..3f8a7ac1
--- /dev/null
+++ b/docs/games/sega/chunithm/star/controllers.md
@@ -0,0 +1,2 @@
+
+--8<-- "docs/games/sega/chunithm/common/chuni/controllers.md"
\ No newline at end of file
diff --git a/docs/games/sega/chunithm/star/setup.md b/docs/games/sega/chunithm/star/setup.md
new file mode 100644
index 00000000..cf1955e2
--- /dev/null
+++ b/docs/games/sega/chunithm/star/setup.md
@@ -0,0 +1,2 @@
+
+--8<-- "docs/games/sega/chunithm/common/chuni/setup_belowcrystal.md"
\ No newline at end of file
diff --git a/docs/games/sega/chunithm/star/troubleshooting.md b/docs/games/sega/chunithm/star/troubleshooting.md
new file mode 100644
index 00000000..d1255104
--- /dev/null
+++ b/docs/games/sega/chunithm/star/troubleshooting.md
@@ -0,0 +1,2 @@
+
+--8<-- "docs/games/sega/chunithm/common/chuni/troubleshooting.md"
\ No newline at end of file
diff --git a/docs/games/sega/chunithm/starplus/c2c.md b/docs/games/sega/chunithm/starplus/c2c.md
new file mode 100644
index 00000000..d2123bf2
--- /dev/null
+++ b/docs/games/sega/chunithm/starplus/c2c.md
@@ -0,0 +1,2 @@
+
+--8<-- "docs/games/sega/chunithm/common/chuni/c2c.md"
\ No newline at end of file
diff --git a/docs/games/sega/chunithm/starplus/controllers.md b/docs/games/sega/chunithm/starplus/controllers.md
new file mode 100644
index 00000000..811ee155
--- /dev/null
+++ b/docs/games/sega/chunithm/starplus/controllers.md
@@ -0,0 +1,2 @@
+
+--8<-- "docs/games/sega/chunithm/common/chuni/controllers.md"
\ No newline at end of file
diff --git a/docs/games/sega/chunithm/starplus/setup.md b/docs/games/sega/chunithm/starplus/setup.md
new file mode 100644
index 00000000..72d843b5
--- /dev/null
+++ b/docs/games/sega/chunithm/starplus/setup.md
@@ -0,0 +1,2 @@
+
+--8<-- "docs/games/sega/chunithm/common/chuni/setup_belowcrystal.md"
\ No newline at end of file
diff --git a/docs/games/sega/chunithm/starplus/troubleshooting.md b/docs/games/sega/chunithm/starplus/troubleshooting.md
new file mode 100644
index 00000000..0f84bf9e
--- /dev/null
+++ b/docs/games/sega/chunithm/starplus/troubleshooting.md
@@ -0,0 +1,2 @@
+
+--8<-- "docs/games/sega/chunithm/common/chuni/troubleshooting.md"
\ No newline at end of file
diff --git a/docs/games/sega/maimaidx/common/setup.md b/docs/games/sega/maimaidx/common/setup.md
index 4f03f6b7..0ee10eab 100644
--- a/docs/games/sega/maimaidx/common/setup.md
+++ b/docs/games/sega/maimaidx/common/setup.md
@@ -2,124 +2,98 @@
--8<-- "docs/snippets/common/data_warning.md"
-!!! danger "If you're coming from a previous version of maimai DX"
-
- Create a new folder for the game and start from scratch.
- maimai DX **DOES NOT** like being extracted over old data!
+--8<-- "docs/snippets/sega/common/data_old.md"
## Preparing data
-!!! danger "There are currently issues with running game data in the `E:\` or `Y:\` drive.
Please extract the data into other drives."
+--8<-- "docs/snippets/sega/common/data_driveletter.md"
-!!! tip ""
+--8<-- "docs/snippets/common/data_readonly.md"
- After downloading and extracting your data, we need to make sure your files
- are not set to `Read-only`.
+--8<-- "docs/snippets/sega/common/data_preparation.md"
- - 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.
+ ```
+ 📂license
+ 📂package
+ 📄firewall.cfg
+ 📄game.bat
+ ▶️pwGetHwinfo.exe
+ 📄pxGetHwInfo.ini
+ 📄system_config.json
+ ```
+--8<-- "docs/snippets/sega/common/data_bad.md"
- You should end up with a file structure as follows.
+## Updating data
-
-
- Create two new empty folders named `appdata` and `amfs` (and the folder `option` if not present) next to them as shown 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.
+--8<-- "docs/snippets/sega/common/data_updating.md"
## Installing option data
!!! tip ""
- maimai DX content updates are distributed through option folders instead of patching
- the base game.
+ SEGA games receive content updates through option folders rather than direct game file updates.
- Options are named with a letter followed by three numbers.
+ - maimai DX JPN(SDEZ): each new release of maimai DX increments the first letter of the Options (ie. `H???` for BUDDiES, `I???` BUDDiES+)
+ - maimai DX EXP(SDGA): Options will always begin with the letter `A` (i.e `A???`)
+ - `???` represents a sequence of numbers
- For JPN(SDEZ) data, each new release of maimai DX increments the first letter of the Option (ie. BUDDiES is `H???` and BUDDiES+ is `I???`).
+ After downloading option files, extract them into your game's `Option` folder.
- For EXP(SDGA) data, Options will always begin with the letter `A` (i.e `A???`)
+ ```
+ 📂amf
+ 📂App
+ 📂AppData
+ 📂Option
+ ┣━📂H005
+ ┣━📂H011
+ ┣━📂H031
+ ┗━ etc..
+ ```
- 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.**
+!!! info "Option numbers don't always follow a sequential pattern
It's common to see the numbers jump, for example `H005` then `H011`"
-
+!!! warning "Do not mix option data between game versions"
- !!! warning "Do not mix option data between versions"
-
-### Installing unprotected executables
+## Installing unprotected executables
!!! tip ""
maimai DX executables are protected and will not run on a regular computer.
- Obtain unprotected (also called "unpacked" or "decrypted" by the community)
- copies of the following files and the associated configuration file:
+ - Obtain unprotected (also called "unpacked" or "decrypted" by the community) copies of of the following folders and files:
- - amdaemon.exe
- - Sinmai.exe
- - Sinmai_Data/Plugins/amdaemon_api.dll
- - Sinmai_Data/Plugins/Cake.dll (JPN/SDEZ only)
- - Sinmai_Data/Managed/AMDaemon.NET.dll
- - Sinmai_Data/Managed/Assembly-CSharp.dll
- - mai2.ini
+ ```
+ 📄amdaemon.exe
+ 📄Sinmai.exe
+ 📂Sinmai_Data
+ ┣━📂Plugins
+ ┃ ┣━📄amdaemon_api.dll
+ ┃ ┗━📄Cake.dll (JPN/SDEZ only)
+ ┗━📂Managed
+ ┣━📄AMDaemon.NET.dll
+ ┗━📄Assembly-CSharp.dll
+ 📄mai2.ini
+ ```
- Copy the files and folders into the `App/Package` folder of your game data. Agree to overwrite
- when asked.
+ - Copy all of the above to your data's `App/Package` folder
+ - Agree to overwrite when asked
- !!! Warning "Assembly-CSharp Notes"
+!!! warning "Assembly-CSharp Notes"
- `Assembly-CSharp.dll` **must** match your game version. All others can be
- reused from other game versions.
+ `Assembly-CSharp.dll` **must** match your game version.
+ All other files can be reused between game versions.
-### Installing ICFs
+## Installing ICFs
+
+--8<-- "docs/snippets/sega/common/data_icfs.md"
+
+## mai2.ini
!!! tip ""
- Install Configuration Files (ICFs) tell the game what version it is.
- **Without this your game cannot go online!**
-
- **If your unprotected executables came with an `amfs` folder, and already has a file named `ICF1` in it, 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`.
-
-### mai2.ini
-
-!!! tip ""
Ensure that the `App\Package` folder contains `mai2.ini`.
- If this configuration file is missing, create one using the contents below.
+ If this configuration file is missing, create one using the contents below:
```ini
[Debug]
@@ -139,168 +113,63 @@
## Installing segatools
-!!! tip ""
+--8<-- "docs/snippets/sega/common/segatools_install.md"
+ - Find `mai2.zip` and extract it to your data's `App\Package` folder
- - Head over to [segatools releases](https://gitea.tendokyu.moe/TeamTofuShop/segatools/releases/tag/2024-03-13)
- and download the `segatools.zip` from `2024-03-13`. **Do not download the source code or latest release.**
- - Extracting the archive should give you a few more zip files. Find `mai2.zip`
- and extract it to the `App/Package` folder in your game data.
+ You should now have these files added to your `App\Package` directory:
- You should now have a few more files inside the `App/Package` folder, as highlighted:
-
-
-
-!!! warning
-
- The latest release of segatools currently has issues with maimai, and for the time being an older version of segatools is preferred.
+ ```
+ 📂DEVICE
+ ▶️inject.exe
+ 📄mai2hook.dll
+ 📄segatools.ini
+ ▶️start.bat
+ ```
## 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\package\segatools.ini`.
+--8<-- "docs/snippets/sega/common/segatools_preamble.md"
- It is recommended that you follow along using a text editor with syntax highlighting such as [Notepad++](https://notepad-plus-plus.org/).
+=== "[vfs]"
- Each following sub-section will correspond to a section in `segatools.ini`. If any
- section is not mentioned, you can skip them.
+--8<-- "docs/snippets/sega/common/segatools_relativepaths.md"
-!!! 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]
- dipsw1=1
- dipsw1=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
- ```
+--8<-- "docs/snippets/sega/common/segatools_vfs.md"
??? tip "AquaMai"
- It's strongly recommended to use MelonLoader mods to improve QOL.
- You can find info about the available mods for maimai here [AquaMai](https://github.com/MewoLab/AquaMai).
- For general modding check [Unity modding](/extras/unity.md) page.
+ Find more information about AquaMai on their [GitHub page](https://github.com/MewoLab/AquaMai).
+ Also check our [Unity modding](/extras/unity.md) guide.
-## Setting launch options
+## Configuring audio
-!!! tip ""
- Right click `App\package\start.bat`, select `Edit`. Locate the line that launches `sinmai` and edit it according to your preferences:
-
- ```bat hl_lines="6"
- @echo off
-
- pushd %~dp0
-
- start "AM Daemon" /min inject -d -k mai2hook.dll amdaemon.exe -f -c config_common.json config_server.json config_client.json
- inject -d -k mai2hook.dll sinmai -screen-fullscreen 0 -popupwindow -screen-width 2160 -screen-height 1920 -silent-crashes
-
- taskkill /f /im amdaemon.exe > nul 2>&1
-
- echo.
- echo Game processes have terminated
- pause
- ```
-
-??? tip "Launch options"
- * `-screen-fullscreen 0`: windowed
- * `-screen-fullscreen 0 -popupwindow`: borderless windowed
- * `-screen-fullscreen 1`: exclusive fullscreen
- * `-screen-width -screen-height `: resolution
- * `-monitor `: the monitor 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. For example, monitor 2 means `-monitor 2`.
+--8<-- "docs/snippets/common/audio_48khz.md"
## Connecting to a network
-!!! danger "Please choose one of the two solutions, not both!"
+--8<-- "docs/snippets/sega/common/network_preamble.md"
-??? tip "Remote (Online Network)"
+--8<-- "docs/snippets/sega/common/network_remote.md"
- 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!**
+--8<-- "docs/snippets/sega/common/network_local.md"
- ```ini
- [dns]
- default=network.example
- ```
+## Installing VCRedist & DirectX
- Then, head to the `[keychip]` section and add & set `id` to the keychip ID provided by your network:
+--8<-- "docs/snippets/common/setup_vcredist_directx.md"
- ```ini
- [keychip]
- subnet=192.168.172.0
- id=A69E-XXXXXXXXXXX
- ```
+## OpenSSL Fix (Intel 10th Gen+)
- Finally, you need a card number. Create a file named `aime.txt` inside `App\package\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.
+--8<-- "docs/snippets/sega/common/cpu_intel_openssl.md"
-
+## Before playing
-??? 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, you need to [patch amdaemon](https://patcher.two-torial.xyz/amdaemon) and enable `OpenSSL SHA crash bug fix`.
+--8<-- "docs/snippets/common/before_playing.md"
## 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
+--8<-- "docs/snippets/sega/common/service_jp_googlelens.md"
!!! tip ""
@@ -308,36 +177,24 @@
Start the game by running `App\package\start.bat`. Let the game load until you reach a screen with the message 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 7th option).
-
-
-!!! tip ""
+
Select **店内マッチングの設定** (`IN-STORE MATCHING SETUP`, the first option)
and toggle this setting to **OFF**.
-
-
-!!! tip ""
+
Select **終了** (`EXIT`, the last option) to exit to the main service menu.
-## Custom Mods
+--8<-- "docs/snippets/sega/common/success.md"
-!!! info "Mods are covered on the [Unity modding](/extras/unity.md) page."
+## Help
-## Controllers and Troubleshooting
-
-!!! 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.
+--8<-- "docs/snippets/common/help.md"
\ No newline at end of file
diff --git a/docs/games/sega/ongeki/common/setup.md b/docs/games/sega/ongeki/common/setup.md
index 249689d7..f0875583 100644
--- a/docs/games/sega/ongeki/common/setup.md
+++ b/docs/games/sega/ongeki/common/setup.md
@@ -2,124 +2,100 @@
--8<-- "docs/snippets/common/data_warning.md"
-!!! danger "If you're coming from a previous version of O.N.G.E.K.I."
-
- You'll want to create a new folder for the game and start from scratch.
- O.N.G.E.K.I. **DOES NOT** like being extracted over old data!
+--8<-- "docs/snippets/sega/common/data_old.md"
## Preparing data
-!!! danger "There are currently issues with running game data in the `E:\` or `Y:\` drive.
Please extract the data into other drives."
+--8<-- "docs/snippets/sega/common/data_driveletter.md"
+
+--8<-- "docs/snippets/common/data_readonly.md"
+
+--8<-- "docs/snippets/sega/common/data_preparation.md"
+
+ ```
+ 📂license
+ 📂package
+ 📄firewall.cfg
+ 📄game.bat
+ ▶️pxGetHwinfo.exe
+ 📄pxGetHwInfo.ini
+ ▶️RotateDisplay.exe
+ 📄system_config.json
+ ```
+
+--8<-- "docs/snippets/sega/common/data_bad.md"
+
+## Updating data
+
+--8<-- "docs/snippets/sega/common/data_updating.md"
+
+## Installing option data
!!! tip ""
- After downloading and extracting your data, we need to make sure your files
- aren't set to `Read-only`.
+ SEGA games receive content updates through option folders rather than direct game file updates.
- - 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.
+ For O.N.G.E.K.I., official options are named `A???`, where `???` represents a sequence of numbers.
+ Community-created options often use letters instead of numbers to differentiate them from official releases.
- You should end up with a file structure as follows.
+ After downloading option files, extract them into your game's `Option` folder.
-
+ ```
+ 📂amf
+ 📂App
+ 📂AppData
+ 📂Option
+ ┣━📂A001
+ ┣━📂A002
+ ┣━📂A012
+ ┗━ etc..
+ ```
- Create another empty folder named `AppData` next to them. It should now look like below.
+!!! info "Option numbers don't always follow a sequential pattern
It's common to see the numbers jump, for example `A001` then `A012`"
-
-
- 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
+## Installing unprotected executables
!!! tip ""
- Extract your patch's files to your existing data in a way that matches its
- file structure. Agree to overwrite files if necessary.
+ maimai DX executables are protected and will not run on a regular computer.
-### Installing option data
+ - Obtain unprotected (also called "unpacked" or "decrypted" by the community) copies of of the following folders and files:
+
+ ```
+ 📄amdaemon.exe
+ 📄mu3.exe
+ 📂mu3_Data
+ ┣━📂Plugins
+ ┃ ┣━📄amdaemon_api.dll
+ ┃ ┣━📄chiffre.dll
+ ┃ ┣━📄libhttp.dll
+ ┃ ┗━📄QR_Image.dll
+ ┗━📂Managed
+ ┣━📄AMDaemon.NET.dll
+ ┣━📄Assembly-CSharp-firstpass.dll
+ ┗━📄Assembly-CSharp.dll
+ 📄mu3.ini
+ ```
+
+ - Copy all of the above to your data's `App/Package` folder
+ - Agree to overwrite when asked
+
+!!! warning "Assembly-CSharp Notes"
+
+ `Assembly-CSharp.dll` **must** match your game version.
+ All other files can be reused between game versions.
+
+## Installing ICFs
+
+--8<-- "docs/snippets/sega/common/data_icfs.md"
+
+## mu3.ini
!!! tip ""
- O.N.G.E.K.I. 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.**
-
- In some cases, your data may have options in `App\package\option`. If so, move
- all contents inside to the `Option` folder where `App` and `AppData` are and delete the `App\package\option` folder.
-
-
-
-### Installing unprotected executables
-
-!!! tip ""
-
- O.N.G.E.K.I. executables are protected and will not run on a regular computer.
-
- Obtain unprotected (also called "unpacked" or "decrypted" by the community)
- copies of the following files and the associated configuration file:
-
- - `amdaemon.exe`
- - `mu3.exe`
- - `mu3_Data\Plugins\amdaemon_api.dll`
- - `mu3_Data\Plugins\chiffre.dll`
- - `mu3_Data\Plugins\libhttp.dll`
- - `mu3_Data\Plugins\QR_Image.dll`
- - `mu3_Data\Managed\AMDaemon.NET.dll`
- - `mu3_Data\Managed\Assembly-CSharp-firstpass.dll`
- - `mu3_Data\Managed\Assembly-CSharp.dll`
- - `mu3.ini`
-
- Copy the files and folders into the `App/Package` folder of your game data. Agree to overwrite
- when asked.
-
- !!! Warning "Assembly-CSharp Note"
-
- `Assembly-CSharp.dll` **must** match your game version.
-
-### Installing ICFs
-
-!!! tip ""
-
- Install Configuration Files (ICFs) tell the game what version it is.
- **Without this your game cannot go online!**
-
- **If your unprotected executables came with an `amfs` folder, and already has a file named `ICF1` in it, 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`.
-
-### mu3.ini
-
-!!! tip ""
Ensure that the `App\package` folder contains `mu3.ini`.
- If this configuration file is missing, create one using the contents below.
+ If this configuration file is missing, create one using the contents below:
```ini
[AM]
@@ -133,171 +109,67 @@
WasapiExclusive=0
```
- !!! danger "Warning"
- If you are following the folder structure of this guide, you must ensure that `OptionDev` is set to `0`
- in your `mu3.ini`, or else your Option data will not load.
+!!! danger "Warning"
+ When using the folder structure proposed in this guide, setting `OptionDev=0` in `mu3.ini` is required for the game to properly load Option data.
## Installing segatools
-!!! tip ""
+--8<-- "docs/snippets/sega/common/segatools_install.md"
+ - Find `mu3.zip` and extract it to your data's `App\Package` folder
- - 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 **`mu3.zip`**
- and extract it to the `App\package` folder in your game data.
+ You should now have these files added to your `App\Package` directory:
- You should now have a few more files inside the folder, as highlighted:
-
-
+ ```
+ 📂DEVICE
+ ▶️inject.exe
+ 📄mu3hook.dll
+ 📄segatools.ini
+ ▶️start.bat
+ ```
## Configuring segatools
-!!! tip ""
+--8<-- "docs/snippets/sega/common/segatools_preamble.md"
- Since there is no graphical configuration tool for segatools, you will have to edit the
- configuration file by hand. It is found in `App\package\segatools.ini`.
+=== "[vfs]"
- It is recommended that you follow along using a text editor with syntax highlighting such as [Notepad++](https://notepad-plus-plus.org/).
+--8<-- "docs/snippets/sega/common/segatools_relativepaths.md"
- 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
- [system]
- dipsw1=1
- dipsw1=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
- ```
+--8<-- "docs/snippets/sega/common/segatools_vfs.md"
??? tip "mu3-mods"
+
+ Find more info about O.N.G.E.K.I. mods here [mu3-mods](https://gitea.tendokyu.moe/akanyan/mu3-mods/wiki).
+ Also check our [Unity modding](/extras/unity.md) guide.
- It's strongly recommended to use BepInEx mods to improve QOL.
- You can find info about the available mods for O.N.G.E.K.I. here [mu3-mods](https://gitea.tendokyu.moe/akanyan/mu3-mods/wiki).
- For general modding check [Unity modding](/extras/unity.md) page.
+## Configuring audio
-## Setting launch options
-
-!!! tip ""
- Right click `App\package\start.bat`, select `Edit`. Locate the line that launches `mu3` and edit it according to your preferences:
-
- ```bat hl_lines="6"
- @echo off
-
- pushd %~dp0
-
- start "AM Daemon" /min inject -d -k mu3hook.dll amdaemon.exe -f -c config_common.json config_server.json config_client.json
- inject -d -k mu3hook.dll mu3 -screen-fullscreen 0 -popupwindow -screen-width 1080 -screen-height 1920
- taskkill /f /im amdaemon.exe > nul 2>&1
-
- echo.
- echo Game processes have terminated
- pause
- ```
-
-??? tip "Launch options"
- * `-screen-fullscreen 0`: windowed
- * `-screen-fullscreen 0 -popupwindow`: borderless windowed
- * `-screen-fullscreen 1`: exclusive fullscreen
- * `-screen-width -screen-height `: resolution
- ??? warning "Note about resolution"
- - The service menu will only render correctly at 1080x1920.
- - This can be fixed with a patch.
- * `-monitor `: the monitor 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. For example, monitor 2 means `-monitor 2`.
+--8<-- "docs/snippets/common/audio_48khz.md"
## Connecting to a network
-!!! danger "Please choose one of the two solutions, not both!"
+--8<-- "docs/snippets/sega/common/network_preamble.md"
-??? tip "Remote (Online Network)"
+--8<-- "docs/snippets/sega/common/network_remote.md"
- 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!**
+--8<-- "docs/snippets/sega/common/network_local.md"
- ```ini
- [dns]
- default=network.example
- ```
+## Installing VCRedist & DirectX
- Then, head to the `[keychip]` section and add & set `id` to the keychip ID provided by your network:
+--8<-- "docs/snippets/common/setup_vcredist_directx.md"
- ```ini
- [keychip]
- subnet=192.168.162.0
- id=A69E-XXXXXXXXXXX
- ```
+## OpenSSL Fix (Intel 10th Gen+)
- Finally, you need a card number. Create a file named `aime.txt` inside `App\package\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.
+--8<-- "docs/snippets/sega/common/cpu_intel_openssl.md"
-
+## Before playing
-??? 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 ""
-
- - Open `App\package\mu3.ini` (or create it if it doesn't exist).
- - Set `WasapiExclusive` in the `Sound` section to `0` (create the key if it doesn't exist):
-
- ```ini
- [Sound]
- WasapiExclusive=0
- ```
-### Fixing OpenSSL on Intel 10th Gen and newer CPUs
-
-!!! tip ""
-
- If you have an Intel 10th Gen CPU or newer, you need to [patch amdaemon](https://patcher.two-torial.xyz/amdaemon) and enable `OpenSSL SHA crash bug fix`.
+--8<-- "docs/snippets/common/before_playing.md"
## 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
+--8<-- "docs/snippets/sega/common/service_jp_googlelens.md"
!!! tip ""
@@ -305,62 +177,42 @@
Start the game by running `App\package\start.bat`. Let the game load until you reach a screen with the message 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 6th 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.
-!!! tip ""
+--8<-- "docs/snippets/sega/common/success.md"
- You're all done! The game should load up properly now.
+## Help
- You can add coins using the `Coin` key (default `F3`) and card in by holding the `Enter` key.
-
-## Custom Mods
-
-!!! info "Mods are covered on the [Unity modding](/extras/unity.md) page."
-
-## Controllers and Troubleshooting
-
-!!! info "Input methods and controllers are covered on the [Controllers](controllers.md) page."
-
-!!! warning "Have any other issues?"
-
- Check out the [Troubleshooting](troubleshooting.md) and [Error Codes](/errorcodes/sega.md) pages.
+--8<-- "docs/snippets/common/help.md"
\ No newline at end of file
diff --git a/docs/games/sega/wacca/reverse/setup.md b/docs/games/sega/wacca/reverse/setup.md
index 477fd2fa..0d379e50 100644
--- a/docs/games/sega/wacca/reverse/setup.md
+++ b/docs/games/sega/wacca/reverse/setup.md
@@ -3,195 +3,99 @@
--8<-- "docs/snippets/common/data_warning.md"
+--8<-- "docs/snippets/sega/common/data_old.md"
+
## Preparing data
-!!! danger "There are currently issues with running game data in the `E:\` or `Y:\` drive.
Please extract the data into other drives."
+--8<-- "docs/snippets/sega/common/data_driveletter.md"
-!!! tip ""
+--8<-- "docs/snippets/common/data_readonly.md"
- After downloading and extracting your data, we need to make sure your files
- aren't set to `Read-only`.
+--8<-- "docs/snippets/sega/common/data_preparation.md"
- - 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.
+ The `App` folder should have a file structure as follows:
- You should end up with a file structure as follows.
+ ```
+ 📂bin
+ 📂pxbin
+ 📂WindowsNoEditor
+ 📄firewall.cfg
+ ▶️game.bat
+ ▶️pxGetHwinfo.exe
+ 📄pxGetHwInfo.ini
+ 📄system_config.json
+ ```
-
-
- The `App` folder should have a file structure as follows.
+--8<-- "docs/snippets/sega/common/data_bad.md"
-
+## Updating data
-??? warning "If your data doesn't look like this"
+--8<-- "docs/snippets/sega/common/data_updating.md"
- If your data looks like the third image:
+## Installing ICFs
- - Create an `App` folder and move all files and folders from the image inside of it.
- - Create empty folders named `amfs` 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 all updates in order. Agree to overwrite files if necessary.
-
- For example, if you have `3.00.00`; install `3.01.00`, then `3.02.00`, etc.
-
-
-### 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.
-
- In some cases, your data may have a folder containing ICFs in `App\bin\amfs`.
- If so, move all contents inside to the `amfs` folder where `App` and `AppData`,
- delete the `App\bin\amfs` folder, and 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`.
+--8<-- "docs/snippets/sega/common/data_icfs.md"
## Patching the game
-!!! info "Go through the [Web Patching](/extras/patchweb.md) guide to learn how to use a web patcher."
+--8<-- "docs/snippets/sega/common/patching.md"
## 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 **`mercury.zip`**
- and extract it to the `App\bin` folder in your game data.
+--8<-- "docs/snippets/sega/common/segatools_install.md"
+ - Find `mercury.zip` and extract it to your data's `App\bin` folder
- You should now have a few more files inside the folder, as highlighted:
+ You should now have these files added to your `App\bin` directory:
-
+ ```
+ 📂DEVICE
+ ▶️inject.exe
+ 📄mercuryhook.dll
+ 📄segatools.ini
+ ▶️start.bat
+ ```
## Configuring segatools
-!!! tip ""
+--8<-- "docs/snippets/sega/common/segatools_preamble.md"
- 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`.
+=== "[vfs]"
- It is recommended that you follow along using a text editor with syntax highlighting such as [Notepad++](https://notepad-plus-plus.org/).
+--8<-- "docs/snippets/sega/common/segatools_relativepaths.md"
- Each following sub-section will correspond to a section in `segatools.ini`. If any
- section is not mentioned, you can skip them.
+--8<-- "docs/snippets/sega/common/segatools_vfs.md"
-!!! warning
+## Configuring audio
- If a key already exists in the section, delete everything after `=` and replace it with your
- setting. Do not add another key.
-
- ```ini
- [system]
- dipsw1=1
- dipsw1=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
- appdata=../../AppData
- ```
-
-!!! info "Relative Directories"
-
- The `../` in the above example represents the parent directory in a relative path. It is used to navigate up one level in the directory hierarchy.
-
- For example, your segatools.ini is located at `/App/bin/segatools.ini` and your amfs folder is located next to the App folder.
-
- Since segatools.ini is in the `/bin/` folder, typing `../` would move you up to the App folder. Since the amfs folder is next to the App folder, the second `../` takes you to `App`'s parent folder, which is the folder containing `App`, `amfs`, etc.
-
- The benefits of using this method include:
-
- - Avoiding issues that arise when folders have spaces in their names.
-
- - Being able to move your game folder without redefining the locations of your VFS folders.
-
- - A cleaner and easier to read segatools.ini, making spotting issues simpler.
+--8<-- "docs/snippets/common/audio_48khz.md"
## Connecting to a network
-!!! danger "Please choose one of the two solutions, not both!"
+--8<-- "docs/snippets/sega/common/network_preamble.md"
- This step is not needed if you plan on running the offline patch.
+--8<-- "docs/snippets/sega/common/network_remote.md"
-??? tip "Remote (Online Network)"
+--8<-- "docs/snippets/sega/common/network_local.md"
- 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 add & set `id` to the keychip ID provided by your network:
-
- ```ini
- [keychip]
- subnet=192.168.174.0
- id=A69E-XXXXXXXXXXX
- ```
-
- Finally, you need a card number. Create a file named `aime.txt` inside `App\package\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 requirement
-
-!!! info "This step is required, otherwise your game won't run."
-
-### Install FTDI LEDs driver
+## Installing FTDI LEDs driver
!!! tip ""
- Download FTDI drivers from [here](https://ftdichip.com/wp-content/uploads/2023/09/CDM-v2.12.36.4-WHQL-Certified.zip)
- and extract them to a folder of your choice, then copy `CDM-v2.12.36.4-WHQL-Certified/amd64/ftd2xx64.dll` to
- `/App/WindowsNoEditor/Mercury/Binaries/Win64` and then rename the file to `ftd2xx.dll`.
+ - Download the [FTDI drivers](https://ftdichip.com/wp-content/uploads/2023/09/CDM-v2.12.36.4-WHQL-Certified.zip)
+ - Extract them
+ - Copy `CDM-v2.12.36.4-WHQL-Certified/amd64/ftd2xx64.dll`
+ to `/App/WindowsNoEditor/Mercury/Binaries/Win64/`
+ - Rename the file to `ftd2xx.dll`
-### VCRedist & DirectX
+## Installing VCRedist & DirectX
-!!! tip ""
+--8<-- "docs/snippets/common/setup_vcredist_directx.md"
- - 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)
+## Before playing
+
+--8<-- "docs/snippets/common/before_playing.md"
## First launch
@@ -203,10 +107,6 @@
Start the game by running `App\bin\start.bat`.
-### CLOSE SETTING
-
-!!! 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.
@@ -215,38 +115,24 @@
Navigate to **SYSTEM SETTING**.
-
-
-!!! tip ""
+
Navigate to **CLOSING TIME SETTINGS**.
-
-
-!!! tip ""
+
Navigate to **ALL DAYS OF THE WEEK** and use the `Service` button
to toggle the setting until it says **OFF**.
-
-
-!!! tip ""
+
Select **APPLY SETTINGS AND RE-BOOT** to save the settings.
Note that this will close your game and you will have to start it again
with `start.bat`.
-!!! tip ""
+--8<-- "docs/snippets/sega/common/success.md"
- You're all done! The game should load up properly now.
+## Help
- You can add coins using the `Coin` key (default `F3`) and card in by holding the `Enter` key.
-
-## Controllers and Troubleshooting
-
-!!! info "Input methods and controllers are covered on the [Controllers](./controllers.md) page."
-
-!!! warning "Have any other issues?"
-
- Check out the [Error Codes](/errorcodes/sega.md) page.
+--8<-- "docs/snippets/common/help.md"
\ No newline at end of file
diff --git a/docs/games/taito/tetoteconnect/setup.md b/docs/games/taito/tetoteconnect/setup.md
index 57c3adbd..82de1acc 100644
--- a/docs/games/taito/tetoteconnect/setup.md
+++ b/docs/games/taito/tetoteconnect/setup.md
@@ -16,7 +16,7 @@
and press `OK`.
- Finally, click `OK` again to exit out of properties.
- You should end up with a file structure as follows.
+ You should end up with a file structure as follows:
@@ -43,7 +43,7 @@
- Create a folder called `plugins` in the `BepInEx` folder, and move the dll file to that newly created folder.
- You should end up with a file structure as follows.
+ You should end up with a file structure as follows:
```
📂BepInEx
diff --git a/docs/img/sega/chunithm/air/logo.webp b/docs/img/sega/chunithm/air/logo.webp
new file mode 100644
index 00000000..4debbaf6
Binary files /dev/null and b/docs/img/sega/chunithm/air/logo.webp differ
diff --git a/docs/img/sega/chunithm/airplus/logo.webp b/docs/img/sega/chunithm/airplus/logo.webp
new file mode 100644
index 00000000..872c53a3
Binary files /dev/null and b/docs/img/sega/chunithm/airplus/logo.webp differ
diff --git a/docs/img/sega/chunithm/amazon/logo.webp b/docs/img/sega/chunithm/amazon/logo.webp
new file mode 100644
index 00000000..cce2d8da
Binary files /dev/null and b/docs/img/sega/chunithm/amazon/logo.webp differ
diff --git a/docs/img/sega/chunithm/amazonplus/logo.webp b/docs/img/sega/chunithm/amazonplus/logo.webp
new file mode 100644
index 00000000..1cfb87df
Binary files /dev/null and b/docs/img/sega/chunithm/amazonplus/logo.webp differ
diff --git a/docs/img/sega/chunithm/chunithm/logo.webp b/docs/img/sega/chunithm/chunithm/logo.webp
new file mode 100644
index 00000000..3c02668c
Binary files /dev/null and b/docs/img/sega/chunithm/chunithm/logo.webp differ
diff --git a/docs/img/sega/chunithm/common/setup/0_chunithmdata.webp b/docs/img/sega/chunithm/common/setup/0_chunithmdata.webp
deleted file mode 100644
index 2087d3da..00000000
Binary files a/docs/img/sega/chunithm/common/setup/0_chunithmdata.webp and /dev/null differ
diff --git a/docs/img/sega/chunithm/common/setup/0_chunithmdata_withappdata.webp b/docs/img/sega/chunithm/common/setup/0_chunithmdata_withappdata.webp
deleted file mode 100644
index ea0c1268..00000000
Binary files a/docs/img/sega/chunithm/common/setup/0_chunithmdata_withappdata.webp and /dev/null differ
diff --git a/docs/img/sega/chunithm/common/setup/1_chunithmapp.webp b/docs/img/sega/chunithm/common/setup/1_chunithmapp.webp
deleted file mode 100644
index 3b43f2c0..00000000
Binary files a/docs/img/sega/chunithm/common/setup/1_chunithmapp.webp and /dev/null differ
diff --git a/docs/img/sega/chunithm/common/setup/2_chunithmoption.webp b/docs/img/sega/chunithm/common/setup/2_chunithmoption.webp
deleted file mode 100644
index f38bf2ae..00000000
Binary files a/docs/img/sega/chunithm/common/setup/2_chunithmoption.webp and /dev/null differ
diff --git a/docs/img/sega/chunithm/common/setup/3_segatools_installed.webp b/docs/img/sega/chunithm/common/setup/3_segatools_installed.webp
deleted file mode 100644
index e51dc2b5..00000000
Binary files a/docs/img/sega/chunithm/common/setup/3_segatools_installed.webp and /dev/null differ
diff --git a/docs/img/sega/chunithm/common/setup/4_access_code.webp b/docs/img/sega/chunithm/common/setup/4_access_code.webp
deleted file mode 100644
index 0d2d275f..00000000
Binary files a/docs/img/sega/chunithm/common/setup/4_access_code.webp and /dev/null differ
diff --git a/docs/img/sega/chunithm/common/setup/5_audio.webp b/docs/img/sega/chunithm/common/setup/5_audio.webp
deleted file mode 100644
index 8b63376d..00000000
Binary files a/docs/img/sega/chunithm/common/setup/5_audio.webp and /dev/null differ
diff --git a/docs/img/sega/chunithm/common/setup/servicemenu/0_asettings.webp b/docs/img/sega/chunithm/common/setup/chuni/servicemenu/0_asettings.webp
similarity index 100%
rename from docs/img/sega/chunithm/common/setup/servicemenu/0_asettings.webp
rename to docs/img/sega/chunithm/common/setup/chuni/servicemenu/0_asettings.webp
diff --git a/docs/img/sega/chunithm/common/setup/chuni/servicemenu/1_gamesettings.webp b/docs/img/sega/chunithm/common/setup/chuni/servicemenu/1_gamesettings.webp
new file mode 100644
index 00000000..8df214e1
Binary files /dev/null and b/docs/img/sega/chunithm/common/setup/chuni/servicemenu/1_gamesettings.webp differ
diff --git a/docs/img/sega/chunithm/common/setup/chuni/servicemenu/2_reference.webp b/docs/img/sega/chunithm/common/setup/chuni/servicemenu/2_reference.webp
new file mode 100644
index 00000000..650f939e
Binary files /dev/null and b/docs/img/sega/chunithm/common/setup/chuni/servicemenu/2_reference.webp differ
diff --git a/docs/img/sega/chunithm/common/setup/chuni/servicemenu/3_referenceconfirm.webp b/docs/img/sega/chunithm/common/setup/chuni/servicemenu/3_referenceconfirm.webp
new file mode 100644
index 00000000..e8e7222e
Binary files /dev/null and b/docs/img/sega/chunithm/common/setup/chuni/servicemenu/3_referenceconfirm.webp differ
diff --git a/docs/img/sega/chunithm/common/setup/chuni/servicemenu/4_referenceconfirm.webp b/docs/img/sega/chunithm/common/setup/chuni/servicemenu/4_referenceconfirm.webp
new file mode 100644
index 00000000..5a70b833
Binary files /dev/null and b/docs/img/sega/chunithm/common/setup/chuni/servicemenu/4_referenceconfirm.webp differ
diff --git a/docs/img/sega/chunithm/common/setup/chuni/servicemenu/5_closingsetting.webp b/docs/img/sega/chunithm/common/setup/chuni/servicemenu/5_closingsetting.webp
new file mode 100644
index 00000000..d83aaf9a
Binary files /dev/null and b/docs/img/sega/chunithm/common/setup/chuni/servicemenu/5_closingsetting.webp differ
diff --git a/docs/img/sega/chunithm/common/setup/servicemenu/4_alltime.webp b/docs/img/sega/chunithm/common/setup/chuni/servicemenu/6_alltime.webp
similarity index 100%
rename from docs/img/sega/chunithm/common/setup/servicemenu/4_alltime.webp
rename to docs/img/sega/chunithm/common/setup/chuni/servicemenu/6_alltime.webp
diff --git a/docs/img/sega/chunithm/common/setup/servicemenu/5_distserver.webp b/docs/img/sega/chunithm/common/setup/chuni/servicemenu/7_distserver.webp
similarity index 100%
rename from docs/img/sega/chunithm/common/setup/servicemenu/5_distserver.webp
rename to docs/img/sega/chunithm/common/setup/chuni/servicemenu/7_distserver.webp
diff --git a/docs/img/sega/chunithm/common/setup/chusan/servicemenu/0_asettings.webp b/docs/img/sega/chunithm/common/setup/chusan/servicemenu/0_asettings.webp
new file mode 100644
index 00000000..7ec6133b
Binary files /dev/null and b/docs/img/sega/chunithm/common/setup/chusan/servicemenu/0_asettings.webp differ
diff --git a/docs/img/sega/chunithm/common/setup/servicemenu/1_gamesettings.webp b/docs/img/sega/chunithm/common/setup/chusan/servicemenu/1_gamesettings.webp
similarity index 100%
rename from docs/img/sega/chunithm/common/setup/servicemenu/1_gamesettings.webp
rename to docs/img/sega/chunithm/common/setup/chusan/servicemenu/1_gamesettings.webp
diff --git a/docs/img/sega/chunithm/common/setup/servicemenu/2_reference.webp b/docs/img/sega/chunithm/common/setup/chusan/servicemenu/2_reference.webp
similarity index 100%
rename from docs/img/sega/chunithm/common/setup/servicemenu/2_reference.webp
rename to docs/img/sega/chunithm/common/setup/chusan/servicemenu/2_reference.webp
diff --git a/docs/img/sega/chunithm/common/setup/servicemenu/3_closingsetting.webp b/docs/img/sega/chunithm/common/setup/chusan/servicemenu/3_closingsetting.webp
similarity index 100%
rename from docs/img/sega/chunithm/common/setup/servicemenu/3_closingsetting.webp
rename to docs/img/sega/chunithm/common/setup/chusan/servicemenu/3_closingsetting.webp
diff --git a/docs/img/sega/chunithm/common/setup/chusan/servicemenu/4_alltime.webp b/docs/img/sega/chunithm/common/setup/chusan/servicemenu/4_alltime.webp
new file mode 100644
index 00000000..a345d9f3
Binary files /dev/null and b/docs/img/sega/chunithm/common/setup/chusan/servicemenu/4_alltime.webp differ
diff --git a/docs/img/sega/chunithm/common/setup/chusan/servicemenu/5_distserver.webp b/docs/img/sega/chunithm/common/setup/chusan/servicemenu/5_distserver.webp
new file mode 100644
index 00000000..5c2653cd
Binary files /dev/null and b/docs/img/sega/chunithm/common/setup/chusan/servicemenu/5_distserver.webp differ
diff --git a/docs/img/sega/chunithm/crystal/logo.webp b/docs/img/sega/chunithm/crystal/logo.webp
new file mode 100644
index 00000000..7f67d8f4
Binary files /dev/null and b/docs/img/sega/chunithm/crystal/logo.webp differ
diff --git a/docs/img/sega/chunithm/crystalplus/logo.webp b/docs/img/sega/chunithm/crystalplus/logo.webp
new file mode 100644
index 00000000..e86a57dc
Binary files /dev/null and b/docs/img/sega/chunithm/crystalplus/logo.webp differ
diff --git a/docs/img/sega/chunithm/paradise/logo.webp b/docs/img/sega/chunithm/paradise/logo.webp
new file mode 100644
index 00000000..bf867cfc
Binary files /dev/null and b/docs/img/sega/chunithm/paradise/logo.webp differ
diff --git a/docs/img/sega/chunithm/paradiselost/logo.webp b/docs/img/sega/chunithm/paradiselost/logo.webp
new file mode 100644
index 00000000..92738a4e
Binary files /dev/null and b/docs/img/sega/chunithm/paradiselost/logo.webp differ
diff --git a/docs/img/sega/chunithm/plus/logo.webp b/docs/img/sega/chunithm/plus/logo.webp
new file mode 100644
index 00000000..b6c7ceaf
Binary files /dev/null and b/docs/img/sega/chunithm/plus/logo.webp differ
diff --git a/docs/img/sega/chunithm/star/logo.webp b/docs/img/sega/chunithm/star/logo.webp
new file mode 100644
index 00000000..8a9a733e
Binary files /dev/null and b/docs/img/sega/chunithm/star/logo.webp differ
diff --git a/docs/img/sega/chunithm/starplus/logo.webp b/docs/img/sega/chunithm/starplus/logo.webp
new file mode 100644
index 00000000..91d19f8f
Binary files /dev/null and b/docs/img/sega/chunithm/starplus/logo.webp differ
diff --git a/docs/img/sega/maimaidx/common/setup/access_code.webp b/docs/img/sega/maimaidx/common/setup/access_code.webp
deleted file mode 100644
index 0d2d275f..00000000
Binary files a/docs/img/sega/maimaidx/common/setup/access_code.webp and /dev/null differ
diff --git a/docs/img/sega/maimaidx/common/setup/appdir.webp b/docs/img/sega/maimaidx/common/setup/appdir.webp
deleted file mode 100644
index d8ec52d4..00000000
Binary files a/docs/img/sega/maimaidx/common/setup/appdir.webp and /dev/null differ
diff --git a/docs/img/sega/maimaidx/common/setup/audio.webp b/docs/img/sega/maimaidx/common/setup/audio.webp
deleted file mode 100644
index 8b63376d..00000000
Binary files a/docs/img/sega/maimaidx/common/setup/audio.webp and /dev/null differ
diff --git a/docs/img/sega/maimaidx/common/setup/cmd.webp b/docs/img/sega/maimaidx/common/setup/cmd.webp
deleted file mode 100644
index 2fec4536..00000000
Binary files a/docs/img/sega/maimaidx/common/setup/cmd.webp and /dev/null differ
diff --git a/docs/img/sega/maimaidx/common/setup/options.webp b/docs/img/sega/maimaidx/common/setup/options.webp
deleted file mode 100644
index a3911acf..00000000
Binary files a/docs/img/sega/maimaidx/common/setup/options.webp and /dev/null differ
diff --git a/docs/img/sega/maimaidx/common/setup/rootdir.webp b/docs/img/sega/maimaidx/common/setup/rootdir.webp
deleted file mode 100644
index 11187e58..00000000
Binary files a/docs/img/sega/maimaidx/common/setup/rootdir.webp and /dev/null differ
diff --git a/docs/img/sega/maimaidx/common/setup/rootdir2.webp b/docs/img/sega/maimaidx/common/setup/rootdir2.webp
deleted file mode 100644
index 378f3db5..00000000
Binary files a/docs/img/sega/maimaidx/common/setup/rootdir2.webp and /dev/null differ
diff --git a/docs/img/sega/maimaidx/common/setup/segatools.webp b/docs/img/sega/maimaidx/common/setup/segatools.webp
deleted file mode 100644
index 56bf45b1..00000000
Binary files a/docs/img/sega/maimaidx/common/setup/segatools.webp and /dev/null differ
diff --git a/docs/img/sega/ongeki/common/setup/0_ongekidata.webp b/docs/img/sega/ongeki/common/setup/0_ongekidata.webp
deleted file mode 100644
index 0ae62510..00000000
Binary files a/docs/img/sega/ongeki/common/setup/0_ongekidata.webp and /dev/null differ
diff --git a/docs/img/sega/ongeki/common/setup/0_ongekidata_withappdata.webp b/docs/img/sega/ongeki/common/setup/0_ongekidata_withappdata.webp
deleted file mode 100644
index 98a59f17..00000000
Binary files a/docs/img/sega/ongeki/common/setup/0_ongekidata_withappdata.webp and /dev/null differ
diff --git a/docs/img/sega/ongeki/common/setup/1_ongekiapp.webp b/docs/img/sega/ongeki/common/setup/1_ongekiapp.webp
deleted file mode 100644
index f2f08908..00000000
Binary files a/docs/img/sega/ongeki/common/setup/1_ongekiapp.webp and /dev/null differ
diff --git a/docs/img/sega/ongeki/common/setup/2_ongekioption.webp b/docs/img/sega/ongeki/common/setup/2_ongekioption.webp
deleted file mode 100644
index 5ca5e4a9..00000000
Binary files a/docs/img/sega/ongeki/common/setup/2_ongekioption.webp and /dev/null differ
diff --git a/docs/img/sega/ongeki/common/setup/3_ongeki_segatools_installed.webp b/docs/img/sega/ongeki/common/setup/3_ongeki_segatools_installed.webp
deleted file mode 100644
index e9650416..00000000
Binary files a/docs/img/sega/ongeki/common/setup/3_ongeki_segatools_installed.webp and /dev/null differ
diff --git a/docs/img/sega/ongeki/common/setup/4_access_code.webp b/docs/img/sega/ongeki/common/setup/4_access_code.webp
deleted file mode 100644
index 0d2d275f..00000000
Binary files a/docs/img/sega/ongeki/common/setup/4_access_code.webp and /dev/null differ
diff --git a/docs/img/sega/ongeki/common/setup/4_ongeki_groupcheck.webp b/docs/img/sega/ongeki/common/setup/servicemenu/0_ongeki_groupcheck.webp
similarity index 100%
rename from docs/img/sega/ongeki/common/setup/4_ongeki_groupcheck.webp
rename to docs/img/sega/ongeki/common/setup/servicemenu/0_ongeki_groupcheck.webp
diff --git a/docs/img/sega/wacca/reverse/setup/0_waccadata.webp b/docs/img/sega/wacca/reverse/setup/0_waccadata.webp
deleted file mode 100644
index 7b1a5a1d..00000000
Binary files a/docs/img/sega/wacca/reverse/setup/0_waccadata.webp and /dev/null differ
diff --git a/docs/img/sega/wacca/reverse/setup/1_waccaapp.webp b/docs/img/sega/wacca/reverse/setup/1_waccaapp.webp
deleted file mode 100644
index 5691b31e..00000000
Binary files a/docs/img/sega/wacca/reverse/setup/1_waccaapp.webp and /dev/null differ
diff --git a/docs/img/sega/wacca/reverse/setup/2_wacca_segatools_installed.webp b/docs/img/sega/wacca/reverse/setup/2_wacca_segatools_installed.webp
deleted file mode 100644
index 04d8d183..00000000
Binary files a/docs/img/sega/wacca/reverse/setup/2_wacca_segatools_installed.webp and /dev/null differ
diff --git a/docs/img/sega/wacca/reverse/setup/3_access_code.webp b/docs/img/sega/wacca/reverse/setup/3_access_code.webp
deleted file mode 100644
index 0d2d275f..00000000
Binary files a/docs/img/sega/wacca/reverse/setup/3_access_code.webp and /dev/null differ
diff --git a/docs/img/sega/wacca/reverse/setup/servicemenu/4_systemsetting.webp b/docs/img/sega/wacca/reverse/setup/servicemenu/1_systemsetting.webp
similarity index 100%
rename from docs/img/sega/wacca/reverse/setup/servicemenu/4_systemsetting.webp
rename to docs/img/sega/wacca/reverse/setup/servicemenu/1_systemsetting.webp
diff --git a/docs/img/sega/wacca/reverse/setup/servicemenu/5_closingtime.webp b/docs/img/sega/wacca/reverse/setup/servicemenu/2_closingtime.webp
similarity index 100%
rename from docs/img/sega/wacca/reverse/setup/servicemenu/5_closingtime.webp
rename to docs/img/sega/wacca/reverse/setup/servicemenu/2_closingtime.webp
diff --git a/docs/img/sega/wacca/reverse/setup/servicemenu/6_closingtimesetting.webp b/docs/img/sega/wacca/reverse/setup/servicemenu/3_closingtimesetting.webp
similarity index 100%
rename from docs/img/sega/wacca/reverse/setup/servicemenu/6_closingtimesetting.webp
rename to docs/img/sega/wacca/reverse/setup/servicemenu/3_closingtimesetting.webp
diff --git a/docs/snippets/common/audio_48khz.md b/docs/snippets/common/audio_48khz.md
new file mode 100644
index 00000000..8ad52733
--- /dev/null
+++ b/docs/snippets/common/audio_48khz.md
@@ -0,0 +1,10 @@
+!!! 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`
+
+
\ No newline at end of file
diff --git a/docs/snippets/sega/chunithm/data_options.md b/docs/snippets/sega/chunithm/data_options.md
new file mode 100644
index 00000000..476dce39
--- /dev/null
+++ b/docs/snippets/sega/chunithm/data_options.md
@@ -0,0 +1,23 @@
+!!! tip ""
+
+ SEGA games receive content updates through option folders rather than direct game file updates.
+
+ For CHUNITHM, official options are named `A???`, where `???` represents a sequence of numbers.
+ Community-created options often use letters instead of numbers to differentiate them from official releases.
+
+ After downloading option files, extract them into your game's `Option` folder.
+
+ ```
+ 📂amf
+ 📂App
+ 📂AppData
+ 📂Option
+ ┣━📂A001
+ ┣━📂A121
+ ┣━📂A131
+ ┗━ etc..
+ ```
+
+!!! info "Option numbers don't always follow a sequential pattern
It's common to see the numbers jump, for example `A113` then `A121`"
+
+!!! warning "The `A001` option folder may be required for network connectivity"
\ No newline at end of file
diff --git a/docs/snippets/sega/chunithm/segatools_gfx.md b/docs/snippets/sega/chunithm/segatools_gfx.md
new file mode 100644
index 00000000..97b31148
--- /dev/null
+++ b/docs/snippets/sega/chunithm/segatools_gfx.md
@@ -0,0 +1,10 @@
+ !!! tip "Display settings"
+
+ - Use `windowed=0` for fullscreen mode or `windowed=1` for windowed mode
+ - For multi-monitor setups in fullscreen mode, specify your target display using the `monitor` index setting
+
+ ??? info "Finding your monitor index"
+
+ Open Windows display settings to find your monitor numbers.
+ Your monitor's index is one less than the displayed number.
+ For example, if Windows shows "Display 2", use monitor index 1.
\ No newline at end of file
diff --git a/docs/snippets/sega/chunithm/unprotected_exes.md b/docs/snippets/sega/chunithm/unprotected_exes.md
new file mode 100644
index 00000000..369f170d
--- /dev/null
+++ b/docs/snippets/sega/chunithm/unprotected_exes.md
@@ -0,0 +1,8 @@
+!!! tip ""
+
+ CHUNITHM executables are protected and will not run on a regular computer.
+
+ Obtain unprotected (also called "unpacked" or "decrypted" by the community) copies of `chusanApp.exe` and `amdaemon.exe` for your game version.
+
+ - Copy `chusanApp.exe` and `amdaemon.exe` to data's `App\bin` folder
+ - Agree to overwrite when asked
\ No newline at end of file
diff --git a/docs/snippets/sega/common/cpu_intel_openssl.md b/docs/snippets/sega/common/cpu_intel_openssl.md
new file mode 100644
index 00000000..3810b6d7
--- /dev/null
+++ b/docs/snippets/sega/common/cpu_intel_openssl.md
@@ -0,0 +1,3 @@
+!!! tip ""
+
+ If you have an Intel 10th Gen CPU or newer, you need to [patch amdaemon](https://patcher.two-torial.xyz/amdaemon) and enable `OpenSSL SHA crash bug fix`.
\ No newline at end of file
diff --git a/docs/snippets/sega/common/data_bad.md b/docs/snippets/sega/common/data_bad.md
new file mode 100644
index 00000000..42e1a898
--- /dev/null
+++ b/docs/snippets/sega/common/data_bad.md
@@ -0,0 +1,10 @@
+!!! danger "If your data doesn't look like this"
+
+ If your data looks like the third example:
+
+ - 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 directories or files are still present (executables, scripts, etc.), **remove them**.
+
+ **This also indicates tampered data, we strongly recommend obtaining clean data from elsewhere.**
\ No newline at end of file
diff --git a/docs/snippets/sega/common/data_driveletter.md b/docs/snippets/sega/common/data_driveletter.md
new file mode 100644
index 00000000..80b8fb7b
--- /dev/null
+++ b/docs/snippets/sega/common/data_driveletter.md
@@ -0,0 +1 @@
+!!! danger "Game data cannot run on `E:\` or `Y:\` drives, use a different drive letter"
\ No newline at end of file
diff --git a/docs/snippets/sega/common/data_icfs.md b/docs/snippets/sega/common/data_icfs.md
new file mode 100644
index 00000000..8e46c2af
--- /dev/null
+++ b/docs/snippets/sega/common/data_icfs.md
@@ -0,0 +1,15 @@
+!!! tip ""
+
+ Install Configuration Files (ICFs) tell the game what version it is.
+ **Without this your game cannot go online!**
+
+ **If your unprotected executables came with an `amfs` folder, and already has a file named `ICF1` in it, 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`.
\ No newline at end of file
diff --git a/docs/snippets/sega/common/data_modding.md b/docs/snippets/sega/common/data_modding.md
new file mode 100644
index 00000000..d17a681f
--- /dev/null
+++ b/docs/snippets/sega/common/data_modding.md
@@ -0,0 +1,3 @@
+??? tip "Modding"
+
+ Mods are covered on the [Unity modding](/extras/unity.md) page.
\ No newline at end of file
diff --git a/docs/snippets/sega/common/data_old.md b/docs/snippets/sega/common/data_old.md
new file mode 100644
index 00000000..83c981fd
--- /dev/null
+++ b/docs/snippets/sega/common/data_old.md
@@ -0,0 +1,4 @@
+!!! danger "If you're coming from a previous version of the game"
+
+ You'll want to create a new folder for the game and start from scratch.
+ SEGA games **DO NOT** like being extracted over old data!
\ No newline at end of file
diff --git a/docs/snippets/sega/common/data_preparation.md b/docs/snippets/sega/common/data_preparation.md
new file mode 100644
index 00000000..e9cdd6c1
--- /dev/null
+++ b/docs/snippets/sega/common/data_preparation.md
@@ -0,0 +1,18 @@
+ Here's what the expected original data structure should look like:
+
+ ```
+ 📂amfs
+ 📂App
+ 📂Option
+ ```
+
+ Create another empty folder named `AppData` next to them:
+
+ ```
+ 📂amf
+ 📂App
+ 📂AppData
+ 📂Option
+ ```
+
+ The `App` folder should have a file structure as follows:
\ No newline at end of file
diff --git a/docs/snippets/sega/common/data_updating.md b/docs/snippets/sega/common/data_updating.md
new file mode 100644
index 00000000..dd1c25d2
--- /dev/null
+++ b/docs/snippets/sega/common/data_updating.md
@@ -0,0 +1,4 @@
+!!! tip ""
+
+ Extract your patch's files to your existing data in a way that matches its file structure.
+ Agree to overwrite files if necessary.
\ No newline at end of file
diff --git a/docs/snippets/sega/common/network_local.md b/docs/snippets/sega/common/network_local.md
new file mode 100644
index 00000000..fe3186e2
--- /dev/null
+++ b/docs/snippets/sega/common/network_local.md
@@ -0,0 +1,3 @@
+??? tip "Option 2: Local (ARTEMiS/AquaDX)"
+
+ 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.
\ No newline at end of file
diff --git a/docs/snippets/sega/common/network_local_artemisonly.md b/docs/snippets/sega/common/network_local_artemisonly.md
new file mode 100644
index 00000000..6ab069bf
--- /dev/null
+++ b/docs/snippets/sega/common/network_local_artemisonly.md
@@ -0,0 +1,3 @@
+??? tip "Option 2: Local (ARTEMiS)"
+
+ Refer to the official guide for [ARTEMiS](https://gitea.tendokyu.moe/Hay1tsme/artemis/src/branch/develop/docs/INSTALL_WINDOWS.md) to set up a local server.
\ No newline at end of file
diff --git a/docs/snippets/sega/common/network_preamble.md b/docs/snippets/sega/common/network_preamble.md
new file mode 100644
index 00000000..59bacbbc
--- /dev/null
+++ b/docs/snippets/sega/common/network_preamble.md
@@ -0,0 +1 @@
+!!! danger "Pick one or the other, not both!"
\ No newline at end of file
diff --git a/docs/snippets/sega/common/network_remote.md b/docs/snippets/sega/common/network_remote.md
new file mode 100644
index 00000000..ecbc9902
--- /dev/null
+++ b/docs/snippets/sega/common/network_remote.md
@@ -0,0 +1,27 @@
+??? tip "Option 1: 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 add & set `id` to the keychip ID provided by your network
+ **Do not change the subnet from its default unless told to by your network!**
+
+ ```ini
+ [keychip]
+ subnet=192.168.XXX.XXX
+ id=A69E-XXXXXXXXXXX
+ ```
+
+ - Create a file named `aime.txt` inside `App\bin\DEVICE` and type in a 20-digit access code
+ If you don't already have one, simply make one up, just know **it must not start with the number 3!**
+
+ ```
+ 📄aime.txt
+ 01234567890123456789
+ ```
\ No newline at end of file
diff --git a/docs/snippets/sega/common/patching.md b/docs/snippets/sega/common/patching.md
new file mode 100644
index 00000000..8eee2870
--- /dev/null
+++ b/docs/snippets/sega/common/patching.md
@@ -0,0 +1,3 @@
+!!! info "Go through the [Web Patching](/extras/patchweb.md) guide to learn how to use a web patcher"
+
+!!! danger "Avoid patching anything you don't need or understand unless explicitly told to"
\ No newline at end of file
diff --git a/docs/snippets/sega/common/segatools_install.md b/docs/snippets/sega/common/segatools_install.md
new file mode 100644
index 00000000..b3bc3483
--- /dev/null
+++ b/docs/snippets/sega/common/segatools_install.md
@@ -0,0 +1,5 @@
+!!! tip ""
+
+ - Head over to [segatools releases](https://gitea.tendokyu.moe/TeamTofuShop/segatools/releases)
+ - Download `segatools.zip`
+ - Extract the archive
\ No newline at end of file
diff --git a/docs/snippets/sega/common/segatools_preamble.md b/docs/snippets/sega/common/segatools_preamble.md
new file mode 100644
index 00000000..a5ee935e
--- /dev/null
+++ b/docs/snippets/sega/common/segatools_preamble.md
@@ -0,0 +1,15 @@
+!!! info ""
+
+ You'll need to manually edit `App\bin\segatools.ini` as segatools has no graphical configuration tool.
+
+ We recommend using a text editor with syntax highlighting such as [Notepad++](https://notepad-plus-plus.org/).
+
+ The following sections match those found in `segatools.ini` - skip any sections not listed below.
+
+ If a key already exists in a section, simply change its value after `=`, do not add another key.
+
+ ```ini
+ [system]
+ dipsw2=1
+ dipsw2=1 ; WRONG!
+ ```
\ No newline at end of file
diff --git a/docs/snippets/sega/common/segatools_relativepaths.md b/docs/snippets/sega/common/segatools_relativepaths.md
new file mode 100644
index 00000000..1a0a4bd3
--- /dev/null
+++ b/docs/snippets/sega/common/segatools_relativepaths.md
@@ -0,0 +1,18 @@
+ ??? info "Relative Paths"
+
+ Relative paths make your configuration portable and easier to maintain.
+
+ Say your game folder structure looks like this:
+
+ ```
+ 📂Game Folder
+ ┣━📂App
+ ┃ ┗━📄segatools.ini
+ ┗━📂Option
+ ```
+
+ If `segatools.ini` needs to access the `Option` folder, you can use `../../Option/`:
+
+ - `../` moves up from `bin` to `App`
+ - `../` moves up again from `App` to the root `Game Folder`
+ - Then it can access the `Option` folder
\ No newline at end of file
diff --git a/docs/snippets/sega/common/segatools_vfs.md b/docs/snippets/sega/common/segatools_vfs.md
new file mode 100644
index 00000000..f02724c4
--- /dev/null
+++ b/docs/snippets/sega/common/segatools_vfs.md
@@ -0,0 +1,12 @@
+ !!! tip ""
+
+ If you've followed our recommended file structure, use these values:
+
+ ```ini
+ [vfs]
+ amfs=../../amfs
+ option=../../Option
+ appdata=../../AppData
+ ```
+
+ If not, point those to their respective folders.
\ No newline at end of file
diff --git a/docs/snippets/sega/common/service_jp_googlelens.md b/docs/snippets/sega/common/service_jp_googlelens.md
new file mode 100644
index 00000000..21ddd46e
--- /dev/null
+++ b/docs/snippets/sega/common/service_jp_googlelens.md
@@ -0,0 +1,4 @@
+!!! note ""
+
+ 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.
\ No newline at end of file
diff --git a/docs/snippets/sega/common/success.md b/docs/snippets/sega/common/success.md
new file mode 100644
index 00000000..8cd45a91
--- /dev/null
+++ b/docs/snippets/sega/common/success.md
@@ -0,0 +1,3 @@
+!!! success "You're all done! The game should load up properly now."
+
+!!! tip "You can add coins using the `Coin` key (default `F3`) and card in by holding the `Enter` key."
\ No newline at end of file
diff --git a/mkdocs.yml b/mkdocs.yml
index 2d61c78a..7b77f704 100644
--- a/mkdocs.yml
+++ b/mkdocs.yml
@@ -126,6 +126,66 @@ nav:
- "Troubleshooting": "games/bemani/museca/1plushalf/troubleshooting.md"
- SEGA:
- "CHUNITHM":
+ - "CHUNITHM":
+ - "Game Setup": "games/sega/chunithm/chunithm/setup.md"
+ - "Controllers": "games/sega/chunithm/chunithm/controllers.md"
+ - "Cab-to-Cab": "games/sega/chunithm/chunithm/c2c.md"
+ - "Troubleshooting": "games/sega/chunithm/chunithm/troubleshooting.md"
+ - "PLUS":
+ - "Game Setup": "games/sega/chunithm/plus/setup.md"
+ - "Controllers": "games/sega/chunithm/plus/controllers.md"
+ - "Cab-to-Cab": "games/sega/chunithm/plus/c2c.md"
+ - "Troubleshooting": "games/sega/chunithm/plus/troubleshooting.md"
+ - "AIR":
+ - "Game Setup": "games/sega/chunithm/air/setup.md"
+ - "Controllers": "games/sega/chunithm/air/controllers.md"
+ - "Cab-to-Cab": "games/sega/chunithm/air/c2c.md"
+ - "Troubleshooting": "games/sega/chunithm/air/troubleshooting.md"
+ - "AIR PLUS":
+ - "Game Setup": "games/sega/chunithm/airplus/setup.md"
+ - "Controllers": "games/sega/chunithm/airplus/controllers.md"
+ - "Cab-to-Cab": "games/sega/chunithm/airplus/c2c.md"
+ - "Troubleshooting": "games/sega/chunithm/airplus/troubleshooting.md"
+ - "STAR":
+ - "Game Setup": "games/sega/chunithm/star/setup.md"
+ - "Controllers": "games/sega/chunithm/star/controllers.md"
+ - "Cab-to-Cab": "games/sega/chunithm/star/c2c.md"
+ - "Troubleshooting": "games/sega/chunithm/star/troubleshooting.md"
+ - "STAR PLUS":
+ - "Game Setup": "games/sega/chunithm/starplus/setup.md"
+ - "Controllers": "games/sega/chunithm/starplus/controllers.md"
+ - "Cab-to-Cab": "games/sega/chunithm/starplus/c2c.md"
+ - "Troubleshooting": "games/sega/chunithm/starplus/troubleshooting.md"
+ - "AMAZON":
+ - "Game Setup": "games/sega/chunithm/amazon/setup.md"
+ - "Controllers": "games/sega/chunithm/amazon/controllers.md"
+ - "Cab-to-Cab": "games/sega/chunithm/amazon/c2c.md"
+ - "Troubleshooting": "games/sega/chunithm/amazon/troubleshooting.md"
+ - "AMAZON PLUS":
+ - "Game Setup": "games/sega/chunithm/amazonplus/setup.md"
+ - "Controllers": "games/sega/chunithm/amazonplus/controllers.md"
+ - "Cab-to-Cab": "games/sega/chunithm/amazonplus/c2c.md"
+ - "Troubleshooting": "games/sega/chunithm/amazonplus/troubleshooting.md"
+ - "CRYSTAL":
+ - "Game Setup": "games/sega/chunithm/crystal/setup.md"
+ - "Controllers": "games/sega/chunithm/crystal/controllers.md"
+ - "Cab-to-Cab": "games/sega/chunithm/crystal/c2c.md"
+ - "Troubleshooting": "games/sega/chunithm/crystal/troubleshooting.md"
+ - "CRYSTAL PLUS":
+ - "Game Setup": "games/sega/chunithm/crystalplus/setup.md"
+ - "Controllers": "games/sega/chunithm/crystalplus/controllers.md"
+ - "Cab-to-Cab": "games/sega/chunithm/crystalplus/c2c.md"
+ - "Troubleshooting": "games/sega/chunithm/crystalplus/troubleshooting.md"
+ - "PARADISE":
+ - "Game Setup": "games/sega/chunithm/paradise/setup.md"
+ - "Controllers": "games/sega/chunithm/paradise/controllers.md"
+ - "Cab-to-Cab": "games/sega/chunithm/paradise/c2c.md"
+ - "Troubleshooting": "games/sega/chunithm/paradise/troubleshooting.md"
+ - "PARADISE LOST":
+ - "Game Setup": "games/sega/chunithm/paradiselost/setup.md"
+ - "Controllers": "games/sega/chunithm/paradiselost/controllers.md"
+ - "Cab-to-Cab": "games/sega/chunithm/paradiselost/c2c.md"
+ - "Troubleshooting": "games/sega/chunithm/paradiselost/troubleshooting.md"
- "NEW":
- "Game Setup": "games/sega/chunithm/new/setup.md"
- "Controllers": "games/sega/chunithm/new/controllers.md"