2019-09-27 22:36:50 +02:00
|
|
|
# Game list
|
|
|
|
|
|
|
|
The following games are compatible with this version of iidxhook:
|
2024-01-29 23:18:21 +01:00
|
|
|
|
|
|
|
- Lincle
|
2019-09-27 22:36:50 +02:00
|
|
|
|
2019-10-19 21:33:49 +02:00
|
|
|
The games must be bootstrapped using [launcher](../launcher.md).
|
|
|
|
|
2019-09-27 22:36:50 +02:00
|
|
|
# Data setup and running the game
|
|
|
|
|
2024-01-29 23:18:21 +01:00
|
|
|
We assume that you are using a clean/vanilla data dump. Ensure your ("concents") folder with your
|
|
|
|
unpacked data looks like this:
|
|
|
|
|
2019-09-27 22:36:50 +02:00
|
|
|
- data
|
|
|
|
- modules
|
|
|
|
- prop
|
|
|
|
|
2024-01-29 23:18:21 +01:00
|
|
|
* Copy/Move all files from the *modules* directory to the root folder, so they are located next to
|
|
|
|
the *data* and *prop* folders.
|
2019-09-27 22:36:50 +02:00
|
|
|
* Copy all files from *prop/defaults* to the *prop* folder.
|
2024-01-29 23:18:21 +01:00
|
|
|
* Create a new file *app-config.xml* in the *prop* folder with the following content:
|
|
|
|
|
2019-09-27 22:36:50 +02:00
|
|
|
```
|
|
|
|
<?xml version="1.0"?>
|
|
|
|
<param></param>
|
|
|
|
```
|
2024-01-29 23:18:21 +01:00
|
|
|
|
|
|
|
- Setup proper paths for *dev/nvram* and *dev/raw* in *prop/avs-config.xml* by replacing the
|
|
|
|
*<fs>*-block in that file with the following block:
|
|
|
|
|
2019-09-27 22:36:50 +02:00
|
|
|
```
|
|
|
|
<fs>
|
|
|
|
<root>
|
|
|
|
<device __type="str">.</device>
|
|
|
|
</root>
|
|
|
|
<nvram>
|
|
|
|
<device __type="str">dev/nvram</device>
|
|
|
|
<fstype __type="str">fs</fstype>
|
|
|
|
<option __type="str">posix=1</option>
|
|
|
|
</nvram>
|
|
|
|
<raw>
|
|
|
|
<device __type="str">dev/raw</device>
|
|
|
|
</raw>
|
|
|
|
<nr_mountpoint __type="u16">256</nr_mountpoint>
|
|
|
|
<nr_filedesc __type="u16">256</nr_filedesc>
|
|
|
|
</fs>
|
|
|
|
```
|
2024-01-29 23:18:21 +01:00
|
|
|
|
|
|
|
- Unpack the package containing iidxhook5 into the root folder so iidxhook5.dll and all other files
|
|
|
|
are located in the same folder as *data*, *prop*, *bm2dx.dll*, etc.
|
|
|
|
- Run the gamestart-19.bat file as admin.
|
2019-09-27 22:36:50 +02:00
|
|
|
|
|
|
|
# Configuring iidxhook
|
|
|
|
|
2024-01-29 23:18:21 +01:00
|
|
|
The hook library can be configured via cmd arguments or a configuration file. The latter is
|
|
|
|
generated (*iidxhook-19.conf* in the same directory) on the first start of the game using the
|
|
|
|
gamestart-19.bat file. It contains default values for all available parameters and comments
|
|
|
|
explaining each parameter. Please follow the comments when configuring your setup.
|
|
|
|
|
|
|
|
Add the argument *-h* when running gamestart-19.bat (e.g. *gamestart-19.bat -h*) to print help/usage
|
|
|
|
information with a list of all available parameters. Every parameter can be either set as command
|
|
|
|
line argument or using a configuration file.
|
2019-09-27 22:36:50 +02:00
|
|
|
|
2024-01-29 23:18:21 +01:00
|
|
|
To set a parameter from the command line, just add it as an argument after the bat file like this
|
2019-09-27 22:36:50 +02:00
|
|
|
|
|
|
|
```
|
|
|
|
gamestart-09.bat -p gfx.windowed=true -p gfx.framed=true
|
|
|
|
```
|
|
|
|
|
2024-01-29 23:18:21 +01:00
|
|
|
The syntax for the "key=value" is the same as in the config file. Make sure to have a pre-ceeding
|
|
|
|
"-p" for every parameter added.
|
2019-09-27 22:36:50 +02:00
|
|
|
|
2024-01-29 23:18:21 +01:00
|
|
|
However, if a parameter is specifed in the configuration file and as a command line argument, the
|
|
|
|
command line argument overrides the config file's value.
|
2019-09-27 22:36:50 +02:00
|
|
|
|
|
|
|
# Eamuse network setup
|
|
|
|
|
2024-01-29 23:18:21 +01:00
|
|
|
If you want to run the games online, you need a valid PCBID and the service URL. Open
|
|
|
|
*prop/ea3-config.xml* and set the values of the *ea3/id/pcbid* and *ea3/network/services* nodes
|
|
|
|
accordingly.
|
2019-09-27 22:36:50 +02:00
|
|
|
|
2024-01-29 23:18:21 +01:00
|
|
|
Run the game with the gamestart-19.bat file and enable network on the operator menu. When enabled,
|
|
|
|
the game seems to hang and expects you to power cycle the machine (i.e. quit the game and restart
|
|
|
|
it).
|
2019-09-27 22:36:50 +02:00
|
|
|
|
|
|
|
# Real hardware support
|
|
|
|
|
|
|
|
## USB IO (ezusb)
|
|
|
|
|
2020-11-08 00:24:52 +01:00
|
|
|
You have the following options:
|
2024-01-29 23:18:21 +01:00
|
|
|
|
|
|
|
- Set `io.disable_io_emu=true` in the `iidxhook.conf` file to not hook ezusb IO communication with
|
|
|
|
an emulation layer. The game will directly talk to the IO. The game supports the ezusb (C02) as
|
|
|
|
well as ezusb FX2 (IO2) boards.
|
|
|
|
- Set `io.disable_io_emu=false` in the `iidxhook.conf` file. Use the specific iidxio API
|
|
|
|
implementations, e.g. `iidxio-ezusb2.dll` to use the IO2 EZUSB board. The common `iidxio`
|
|
|
|
abstraction layer also allows you to use custom IO boards or whatever Konami hardware is going to
|
|
|
|
be available in the future. Obviously, someone has to write an imlementation of the `iidxio` API,
|
|
|
|
first.
|
2019-09-27 22:36:50 +02:00
|
|
|
|
|
|
|
## Slotted/Wave pass card readers
|
|
|
|
|
2020-11-08 00:24:52 +01:00
|
|
|
You have the following options:
|
2024-01-29 23:18:21 +01:00
|
|
|
|
|
|
|
- Set `io.disable_card_reader_emu=true` in the `iidxhook.conf` file to not hook card reader
|
|
|
|
communication with an emulation layer. The game will directly talk to the real readers though this
|
|
|
|
only supports whatever readers the game directly supports (wave pass readers)
|
|
|
|
- Set `io.disable_card_reader_emu=false` in the `iidxhook.conf` file. Replace the default
|
|
|
|
`eamio.dll` with the `eamio-icca.dll` and have either your slotted (IIDX, DDR Supernova or GF/DM
|
|
|
|
type) or new wave pass card readers conencted and and assigned to `COM1`. Other custom
|
|
|
|
implementations of of the `eamio` API also work.
|
2019-09-27 22:36:50 +02:00
|
|
|
|
|
|
|
### ICCA device settings (device manager)
|
|
|
|
|
2024-01-29 23:18:21 +01:00
|
|
|
- Port: COM1
|
|
|
|
- BAUD rate: 57600
|
|
|
|
- Data bits: 8
|
|
|
|
- Parity: None
|
|
|
|
- Stop bits: 1
|
|
|
|
- Flow control: None
|
|
|
|
|
|
|
|
If you encounter issues after the game opened the device, e.g. application stuck, try a USB \<-> COM
|
|
|
|
dongle instead of using one of the COM ports of the mainboard.
|
2019-09-27 22:36:50 +02:00
|
|
|
|
|
|
|
# Known bugs
|
2024-01-29 23:18:21 +01:00
|
|
|
|
2019-09-27 22:36:50 +02:00
|
|
|
## USBIO (FM-DL TIMEOUT)
|
2024-01-29 23:18:21 +01:00
|
|
|
|
|
|
|
IIDX occasionally fails to boot with a "USBIO (FM-DL TIMEOUT)" error. If this happens, run the game
|
|
|
|
again.
|
2019-09-27 22:36:50 +02:00
|
|
|
|
|
|
|
# Troubleshooting and FAQ
|
|
|
|
|
|
|
|
## The game does not run "well" (frame drops, drifting offsync etc)
|
2024-01-29 23:18:21 +01:00
|
|
|
|
2019-09-27 22:36:50 +02:00
|
|
|
This can be related to various issues:
|
2024-01-29 23:18:21 +01:00
|
|
|
|
|
|
|
- Make sure to run the game as (true) Administrator especially on Windows 7 and newer. This will
|
|
|
|
also get rid of various other errors (see below) that are related to permission issues.
|
|
|
|
- Run the game's process with a higher priority:
|
|
|
|
|
2019-09-27 22:36:50 +02:00
|
|
|
```
|
|
|
|
start "" /relatime "gamestart.bat"
|
|
|
|
```
|
2024-01-29 23:18:21 +01:00
|
|
|
|
|
|
|
- Enforce v-sync enabled in your GPU settings.
|
|
|
|
- Ensure that you have a constant refresh rate around the 60 hz (59.9xx or 60.0xx) that is not
|
|
|
|
jumping around. Use the timebase feature of one of the newer games to check that or enable
|
|
|
|
iidxhook's timebase and check the log output for the determined value. Run this a few times and
|
|
|
|
check if the results differ.
|
|
|
|
- Use iidxhook's frame rate limiter feature (see further below) to software lock the refresh rate.
|
|
|
|
This might be necessary on Windows 7 and newer for D3D8 games, e.g. iidx 9 to 12, which seem to
|
|
|
|
ignore GPU side v-sync.
|
|
|
|
- Use iidxhook's auto timebase feature (see further below) or set a pre-determined value to cut down
|
|
|
|
start-up times.
|
2019-09-27 22:36:50 +02:00
|
|
|
|
|
|
|
## "NETWORK WARNING" instead of "NETWORK OK"
|
2024-01-29 23:18:21 +01:00
|
|
|
|
2019-09-27 22:36:50 +02:00
|
|
|
This can be caused by:
|
2024-01-29 23:18:21 +01:00
|
|
|
|
|
|
|
- Invalid PCBID
|
|
|
|
- Firewall blocking connections
|
|
|
|
- Invalid eamuse url or port specified
|
|
|
|
- Game is not run using the Administrator account Make sure to check these things first
|
2019-09-27 22:36:50 +02:00
|
|
|
|
|
|
|
## My songs are offsync
|
2024-01-29 23:18:21 +01:00
|
|
|
|
|
|
|
From this version onwards (if you use the very final data of Lincle), the game comes with a built-in
|
|
|
|
auto timebase option ("monitor check" on startup) which dynamically, detects the refresh rate of
|
|
|
|
your current setup. Thus, BT5's timebase option is not included from this hook version onwards,
|
|
|
|
anymore. Ensure that refresh rate displayed is very stable, e.g. 60.00x hz, and the game should be
|
|
|
|
able to provide you with a smooth and sync game experience.
|
2019-09-27 22:36:50 +02:00
|
|
|
|
|
|
|
## My game runs too fast
|
2024-01-29 23:18:21 +01:00
|
|
|
|
2019-09-27 22:36:50 +02:00
|
|
|
iidxhook can limit the frame rate for you (refer to help/config file)
|
|
|
|
|
|
|
|
## My game crashes when I try fullscreen
|
2024-01-29 23:18:21 +01:00
|
|
|
|
2019-09-27 22:36:50 +02:00
|
|
|
Use dxwnd and set settings like "Acquire admin caps" and "Fullscreen only"
|
|
|
|
|
|
|
|
## Background videos aren't working. When starting a song, windows is playing the error sound and a message box appears
|
2024-01-29 23:18:21 +01:00
|
|
|
|
2021-05-02 13:00:41 +02:00
|
|
|
If you are running in window mode, you can see an error pop-up window with the title
|
|
|
|
`DirectShow Texture3D Sample` and error message
|
|
|
|
`Could not create source filter to graph! hr=<some number>`.
|
|
|
|
|
2024-01-29 23:18:21 +01:00
|
|
|
When running fullscreen, you only hear a windows error sound and the game appears to be frozen when
|
|
|
|
trying to play a background video.
|
2021-05-02 13:00:41 +02:00
|
|
|
|
2024-01-29 23:18:21 +01:00
|
|
|
You are missing a codec to decode and play the videos. There are different methods available to get
|
|
|
|
background videos working. Probably, the easiest solution: grab the CLVSD.ax file and go to Start ->
|
|
|
|
Run -> regsvr32 clvsd.ax Make sure to run cmd.exe as Administrator, otherwise you will get errors
|
|
|
|
caused by invalid permissions.
|
2019-09-27 22:36:50 +02:00
|
|
|
|
|
|
|
## I installed the CLVSD.ax codec but the game crashes or displays a message box that tells me to disable my debugger
|
2024-01-29 23:18:21 +01:00
|
|
|
|
2019-09-27 22:36:50 +02:00
|
|
|
If songs keep crashing upon start and you get an error message that says
|
2024-01-29 23:18:21 +01:00
|
|
|
|
2019-09-27 22:36:50 +02:00
|
|
|
```
|
|
|
|
DirectShow Texture3D Sample
|
|
|
|
Could not create source filter to graph! hr=0x80040266
|
|
|
|
```
|
2024-01-29 23:18:21 +01:00
|
|
|
|
|
|
|
despite having the codec (CLVSD.ax) installed, remove the debug flag (*-D*) from gamestart or use a
|
|
|
|
CLVSD.ax codec which has the debugger checks removed.
|
2019-09-27 22:36:50 +02:00
|
|
|
|
|
|
|
## I am getting a message box with a japanese error message and a black window immediately after starting the game
|
2024-01-29 23:18:21 +01:00
|
|
|
|
|
|
|
The game checks the vendor and product ID of your GPU installed. If it doesn't match a hardcoded
|
|
|
|
whitelist, the game won't boot. Use the option *gfx.pci_id* either in the config file or as a cmd
|
|
|
|
argument to spoof these IDs. See the help message for instructions and possible IDs.
|
2019-09-27 22:36:50 +02:00
|
|
|
|
|
|
|
## Over-/underscan, bad image quality or latency caused by my monitor's/TV's upscaler
|
2024-01-29 23:18:21 +01:00
|
|
|
|
|
|
|
Many modern monitors/TVs cannot upscale 640x480 output properly. This can lead to over-/underscan,
|
|
|
|
bad image quality or even latency caused by the upscaler of the device you are using. If one or
|
|
|
|
multiple of these issues apply, use the built in scaling options by setting
|
|
|
|
*gfx.scale_back_buffer_width* and *gfx.scale_back_buffer_height* to a target resolution to scale to.
|
|
|
|
Usually, you want to set this to the monitor's native resolution, e.g. 1920x1080 for full HD. You
|
|
|
|
can play around with a few different filters using *gfx.scale_back_buffer_filter* which impacts
|
|
|
|
image quality/blurriness on upscaling.
|