!!! danger "Please make sure you downloaded your data from an appropriate source.<br>This guide is unable to troubleshoot any problems related to bad or poorly managed data."
---
### About data
!!! info "The full game should be around 100gb while updates are only around 2-5gb in size."
!!! info "Standard (LDJ) / Lightning (TDJ)"
Please keep the following in mind as you're going through this guide.
IIDX's codename is `LDJ`. For `IIDX 32 Pinky Crush` this would be either:
-`LDJ-010`*(TDJ, Lightning cab, 120 FPS)*
-`LDJ-012`*(LDJ, Standard cab, 60 FPS)*
The main difference between `010` and `012` is the game's main `.dll` file, `bm2dx.dll`.
This changes which features the game offers, and which conditions the game expects to run under.
- **TDJ** expects a `120hz` compatible monitor for its main screen, and a second `60hz` touchscreen compatible monitor called a subscreen. The second monitor isn't mandatory, we can get around that using spice2x.
- **LDJ** expects `60hz` monitor for its main screen, and no subscreen.
We'll be using the terms **TDJ** for **Lightning**, and **LDJ** for **Standard** throughout the guide.
!!! danger "If you're coming from IIDX 30 Resident"
You'll want to [update your data](#updating-data) **from**`LDJ-003`**to**`LDJ-010`**or**`LDJ-012`**FIRST** then follow this guide as normal.
---
### Preparing data
!!! tip ""
After downloading and extracting your data, we need to make sure your files aren't set to `Read-only`.
- Right click the folder containing your data, then click on `Properties`.
- In the `General` tab go down to `Attributes`, untick `Read-only` and click `Apply`.
- A popup will appear, select `Apply changes to this folder, subfolder and files` and press `OK`.
- Finally, click `OK` again to exit out of properties.
You should end up with a file structure with a few folders only, as follows.
<imgsrc="/img/iidx30-31/setup/2_iidxdata.png">
??? warning "If your data doesn't look like this"
If you're missing the `modules` folder and instead have bunch of `.dll` files next to your folders:
- Create a `modules` folder.
- Move all `.dll` files inside of it so you end up with a structure as shown above.
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.**
!!! info "If you don't need to update your data, you can skip over to the [Installing Spice2x](#installing-spice2x) section."
---
### Updating data
??? danger "Please make sure you're using the right update for your current data."
As we've seen in the [About data](#about-data) section, the main difference between `LDJ` and `TDJ` is the `bm2dx.dll` file.
When updating from a previous version to the next, our current `.dll` will be overwritten.
Knowing that, patches re-uploaded by the community tend to be named `LDJ-DATECODE-to-LDJ-010/012-DATECODE`.
**Note**: If updating from `IIDX 30 Resident`, it will be `LDJ-003-DATECODE-to-LDJ-010/012-DATECODE`.
For example `LDJ-2024082600-to-LDJ-010-2024100900`.
-`2024082600` being your current data's version, no matter if it's using a TDJ or LDJ `.dll` file.
-`2024100900` being the version you would arrive at.
-`010` meaning you would end up with a `TDJ`*(Lightning Cab)*`bm2dx.dll` file.
!!! tip ""
- Extract your patch's files to your existing data in a way that matches its file structure. Agree to overwrite files if necessary.
- Open `prop\ea3-config.xml` in a text editor and find the following lines near the top.
```xml
<soft>
<model__type="str">LDJ</model>
<dest__type="str">J</dest>
<spec__type="str">E</spec>
<rev__type="str">A</rev>
<ext__type="str">2024100900</ext>
</soft>
```
On the line with `<spec __type="str">` the letter needs to match your data type:
- ^^`E`^^ for Standard (LDJ-012, LDJ, 60hz)
- ^^`D`^^ for Lightning (LDJ-010, TDJ, 120hz)
Replace the letter accordingly if necessary.
On the line with `<ext __type="str">` the datecode needs to match your new version.
- If that's already the case then great! Don't touch anything.
- If it instead corresponds to our pre-patch datecode, replace it with the new one.
Now save the file.
---
### Installing Spice2x
!!! tip ""
- Head over to [spice2x.github.io](https://spice2x.github.io) and download the latest release.
- Extract the `spice64.exe` and `spicecfg.exe` files from the archive to your game's directory.
<imgsrc="/img/iidx30-31/setup/4_spicedata.png">
### Configuring Spice2x
!!! info "Open `spicecfg.exe`, each following sub-section corresponds to a tab at the top."
#### Buttons
!!! tip ""
Click on `Bind` then press the key you want associated with the action.
With your controller and/or keyboard plugged in, configure your keys for:
- **Maintenance**: `Service, Test`
- **P1 Game buttons**: `1 to 7, Start, EFFECT, VEFX`
- **P1 Keypad**: `Keypad Insert Card`
**Only if** you're using LDJ:
- **P1 Keypad**: `1 to 9`
**Only if** you're playing using a keyboard:
- **Turntable**: `TT+, TT-`**and optionally**`TT+/-` which alternates between `TT+` and `TT-` on each press.
#### Analogs (controller/cab only)
!!! tip ""
With a controller rather than binding buttons to `TT+` and `TT-`, you need to:
- For Turntable P1, click `Bind`.
- In `Device`, pick your controller.
- In `Control`, pick whichever one corresponds to the turntable.
- Turn your turntable ensuring that the Preview turns along with it.
- Click `Close`, leaving the rest of the settings alone.
#### Overlay
!!! tip ""
Modifying buttons in this section is not required but you are free to change what you want.
Click on `Bind` then press the key you want associated with the action.
#### Lights (controller/cab only)
!!! tip ""
Your controller might support having its lights controlled by the game through spice2x.
If it does, here's how you may link different actions to your lights:
- Click `Bind`.
- In `Device`, pick your controller.
- In `Light Control`, select the corresponding light.
- Click `Close`.
- Repeat for your other lights.
#### Cards
!!! info "Covered in the [Connecting to a network](#connecting-to-a-network) section."
| Force TDJ Mode | Either | Starts the game in TDJ (010) mode when using a LDJ (012) `.dll` file. Use this instead of forcing 120Hz using other patches. |