mirror of
https://github.com/djhackersdev/bemanitools.git
synced 2026-09-15 11:55:10 -05:00
Compare commits
296 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
649e031712 | ||
|
|
64901bdb61 | ||
|
|
52ff4927b4 | ||
|
|
d989e75488 | ||
|
|
b0564b97c6 | ||
|
|
47bfb4e9b2 | ||
|
|
5c4afb8a2a | ||
|
|
83ef8e2e9d | ||
|
|
3a71a5047a | ||
|
|
aaab9bfbfc | ||
|
|
eab80455b2 | ||
|
|
27e9775101 | ||
|
|
da94ad8f76 | ||
|
|
4c127d26e5 | ||
|
|
e807376d6b | ||
|
|
a2c2d31ca8 | ||
|
|
22978afc9b | ||
|
|
94c562f17b | ||
|
|
1f95437b17 | ||
|
|
58d4130c2a | ||
|
|
e530968dab | ||
|
|
99d756f207 | ||
|
|
2b8d19d82a | ||
|
|
fb84085f69 | ||
|
|
ffe678de61 | ||
|
|
031836ef0e | ||
|
|
a1a849aef3 | ||
|
|
32c786de27 | ||
|
|
4d9fe0002a | ||
|
|
a2ceb0f6cc | ||
|
|
2a57ed9916 | ||
|
|
825ac8e6d2 | ||
|
|
ef103eb299 | ||
|
|
65aa31ca22 | ||
|
|
ecda3ff86f | ||
|
|
389708f794 | ||
|
|
34aca9dc2a | ||
|
|
c2104e7758 | ||
|
|
6a140699ec | ||
|
|
b2e0d9f3d6 | ||
|
|
cb884c307c | ||
|
|
1154444d16 | ||
|
|
7b90963f53 | ||
|
|
722927caa7 | ||
|
|
5eb40bfad3 | ||
|
|
f2678539c3 | ||
|
|
bb0d2823bf | ||
|
|
cb290ab02e | ||
|
|
3d955a8dca | ||
|
|
4a333d0b13 | ||
|
|
f63c759ab2 | ||
|
|
edd0bda3bb | ||
|
|
c49fc61f89 | ||
|
|
885bffd9eb | ||
|
|
c310a41752 | ||
|
|
2a7738dac8 | ||
|
|
b4bf1f481d | ||
|
|
dc931faf86 | ||
|
|
523c0ad3f2 | ||
|
|
3cba8db787 | ||
|
|
2139fce2ae | ||
|
|
bb86aa65e5 | ||
|
|
f0dfc61128 | ||
|
|
61a343d59a | ||
|
|
119272b5d2 | ||
|
|
0cd85083f6 | ||
|
|
485c4d0ad7 | ||
|
|
4bd0ee5ef6 | ||
|
|
8081793a5f | ||
|
|
badd616add | ||
|
|
926e976c36 | ||
|
|
5d2b46376d | ||
|
|
8d5ef0bfb3 | ||
|
|
db12f21fd2 | ||
|
|
d009502c9f | ||
|
|
aa147022c6 | ||
|
|
8bcadcfa8f | ||
|
|
993e6718b3 | ||
|
|
2939106841 | ||
|
|
91bb3b4278 | ||
|
|
9c49839e57 | ||
|
|
52d907e0c6 | ||
|
|
f8a09580ea | ||
|
|
6e06685551 | ||
|
|
efca967553 | ||
|
|
6c1bb3db82 | ||
|
|
bec809fbaa | ||
|
|
9775f2c853 | ||
|
|
26c9d7fe0a | ||
|
|
6b81cd7535 | ||
|
|
b3b6c3f499 | ||
|
|
0586ea50aa | ||
|
|
cafa60d0f6 | ||
|
|
76c2c49c13 | ||
|
|
6d38aa5f4a | ||
|
|
c1c5685e3a | ||
|
|
050e52b21e | ||
|
|
ab50c70f71 | ||
|
|
2223947dd8 | ||
|
|
0294eed22b | ||
|
|
d7235c3c2c | ||
|
|
402d0d4ca4 | ||
|
|
89fe822919 | ||
|
|
75583897c1 | ||
|
|
58d297458c | ||
|
|
ba528488f0 | ||
|
|
7692e14b0b | ||
|
|
4cc81f48f3 | ||
|
|
da736d2968 | ||
|
|
c3f9ce7e91 | ||
|
|
41de45d459 | ||
|
|
bda239a2ba | ||
|
|
1e32d1a9a8 | ||
|
|
852d770629 | ||
|
|
4be866e69e | ||
|
|
537b1fa384 | ||
|
|
bd2d722031 | ||
|
|
4f8f6c0f7a | ||
|
|
51a018b0cf | ||
|
|
04442a6dbc | ||
|
|
85a080e6b3 | ||
|
|
28633ded37 | ||
|
|
721897d7b0 | ||
|
|
926bbf2e10 | ||
|
|
ce75e149f7 | ||
|
|
57d9d976ff | ||
|
|
7e731916e2 | ||
|
|
dd9b8faafe | ||
|
|
50ff026b85 | ||
|
|
0ff6134b79 | ||
|
|
ae35b859d9 | ||
|
|
3cf3d44945 | ||
|
|
2a80083af2 | ||
|
|
66e0467ad3 | ||
|
|
c5f0116294 | ||
|
|
ddfa814387 | ||
|
|
088d4bf338 | ||
|
|
f1a7621e2b | ||
|
|
4a3d5fa189 | ||
|
|
0f2828da40 | ||
|
|
ba2016b5bc | ||
|
|
b42c9aa93b | ||
|
|
8de259c639 | ||
|
|
0d54587787 | ||
|
|
4721ba2d3c | ||
|
|
1105a2a130 | ||
|
|
8ab92872ad | ||
|
|
a16dc82cef | ||
|
|
729f5abcc0 | ||
|
|
6e0e5031ac | ||
|
|
f17e8d6739 | ||
|
|
ac02609948 | ||
|
|
c644db03ae | ||
|
|
7d5398b6af | ||
|
|
cac09f8f87 | ||
|
|
85c9c444f1 | ||
|
|
8f2ce1f1b3 | ||
|
|
d3bf381a4f | ||
|
|
3acbc7f251 | ||
|
|
839903ab48 | ||
|
|
c929141e71 | ||
|
|
1477480836 | ||
|
|
bf4322e855 | ||
|
|
3eed0a4ab3 | ||
|
|
a9ade9d9d4 | ||
|
|
26336805d2 | ||
|
|
7d0e916b9f | ||
|
|
a03a5604ec | ||
|
|
54e7d783ef | ||
|
|
4ea1397af2 | ||
|
|
fb593df4a1 | ||
|
|
f0c33663e9 | ||
|
|
87ee37d059 | ||
|
|
5688fb7319 | ||
|
|
d529ee484f | ||
|
|
7c43fb7163 | ||
|
|
652d2ef633 | ||
|
|
78884aebad | ||
|
|
549f00bfb3 | ||
|
|
aab45f145f | ||
|
|
6171f0dc60 | ||
|
|
2f05760f4e | ||
|
|
7b5e4772ea | ||
|
|
e266aed1f9 | ||
|
|
0b0e7faef0 | ||
|
|
53866130cb | ||
|
|
dbb8c45a9f | ||
|
|
8ed7d6db71 | ||
|
|
4c746df6a8 | ||
|
|
7d485e7c7e | ||
|
|
deb6e5cf77 | ||
|
|
2a03690772 | ||
|
|
6ce4cce500 | ||
|
|
c6e59bae9b | ||
|
|
31e15ec5ea | ||
|
|
9cef7c03d0 | ||
|
|
f9b37c7a72 | ||
|
|
609c19b0ca | ||
|
|
75b27d5992 | ||
|
|
965df98093 | ||
|
|
0c06d224cc | ||
|
|
fb3d2ea312 | ||
|
|
089253a537 | ||
|
|
a4436747de | ||
|
|
43b11c8778 | ||
|
|
dd7fd860b5 | ||
|
|
18842a1dd3 | ||
|
|
18f6d9ef70 | ||
|
|
592967e191 | ||
|
|
6614cc801e | ||
|
|
8e1151ac02 | ||
|
|
4b60cb6c6c | ||
|
|
770bae4169 | ||
|
|
49d0bc638b | ||
|
|
837affc66c | ||
|
|
ec76ba075f | ||
|
|
f438f04f2a | ||
|
|
865980991e | ||
|
|
37384c15ec | ||
|
|
f0d62cc938 | ||
|
|
bf067de633 | ||
|
|
f3b07aeb0a | ||
|
|
a1a67697c4 | ||
|
|
ce5b1b2eac | ||
|
|
3f2aed65e4 | ||
|
|
22f3845609 | ||
|
|
de0d70d808 | ||
|
|
12c52bb0d8 | ||
|
|
279d4de4b3 | ||
|
|
2b52fbe211 | ||
|
|
78e7c05876 | ||
|
|
9a5418f6a3 | ||
|
|
2363498f73 | ||
|
|
edbbe5ae67 | ||
|
|
d799b69d12 | ||
|
|
91f83cd975 | ||
|
|
adeabbea19 | ||
|
|
41187091b0 | ||
|
|
5658658d3a | ||
|
|
79a74b2d2f | ||
|
|
51484b1d3d | ||
|
|
df8f3bc96a | ||
|
|
ec435e7a7b | ||
|
|
f8a01ed92f | ||
|
|
2b1dd866d0 | ||
|
|
7d129a3e63 | ||
|
|
29db89cebe | ||
|
|
f7e1c8b3f9 | ||
|
|
f667ae5601 | ||
|
|
4b061bdf8f | ||
|
|
13600db1d5 | ||
|
|
e4126500ef | ||
|
|
049f1b4564 | ||
|
|
687c000000 | ||
|
|
1b593a8e23 | ||
|
|
24178121f0 | ||
|
|
62ad4e0616 | ||
|
|
c348a41d22 | ||
|
|
ef377f40d8 | ||
|
|
0c88518a1f | ||
|
|
0bc87db8da | ||
|
|
53f8cb3bf3 | ||
|
|
41edfec702 | ||
|
|
c6c3bdb075 | ||
|
|
b3a89012ca | ||
|
|
f0bc87f1d6 | ||
|
|
7508c43119 | ||
|
|
34be731211 | ||
|
|
bac1ce62e5 | ||
|
|
58689bbc30 | ||
|
|
d5e186ffe2 | ||
|
|
34c95561c4 | ||
|
|
81d697d59a | ||
|
|
3bdda4d123 | ||
|
|
ea8842b58a | ||
|
|
e89889806b | ||
|
|
b3b2f8f433 | ||
|
|
1cdf330cbf | ||
|
|
89c3ada28f | ||
|
|
d9cb953b67 | ||
|
|
7ebb80d600 | ||
|
|
e737d60893 | ||
|
|
f39843b41f | ||
|
|
98d0debd05 | ||
|
|
950584f025 | ||
|
|
e4081c057f | ||
|
|
8c3030354a | ||
|
|
9777eddaa0 | ||
|
|
671723febd | ||
|
|
c1f6166e1b | ||
|
|
538650f7ac | ||
|
|
efd243fd9d | ||
|
|
383b301d3c | ||
|
|
a9d201691a | ||
|
|
ebb6f811b4 | ||
|
|
9e96cf074f |
@@ -1,16 +1,26 @@
|
|||||||
|
# Bug report
|
||||||
|
|
||||||
## Summary
|
## Summary
|
||||||
|
|
||||||
<!--- Provide a general summary of the issue in the Title above -->
|
<!--- Provide a general summary of the issue in the Title above -->
|
||||||
|
|
||||||
## Expected behavior
|
## Expected behavior
|
||||||
|
|
||||||
<!--- Tell us what should happen -->
|
<!--- Tell us what should happen -->
|
||||||
|
|
||||||
## Current behavior
|
## Current behavior
|
||||||
|
|
||||||
<!--- Tell us what happens instead of the expected behavior -->
|
<!--- Tell us what happens instead of the expected behavior -->
|
||||||
|
|
||||||
## Detailed Description
|
## Detailed Description
|
||||||
<!--- Provide a detailed description of the issue. Include links to screenshots or videos if necessary -->
|
|
||||||
|
<!--- Provide a detailed description of the issue. Include links to screenshots or videos if
|
||||||
|
necessary -->
|
||||||
|
|
||||||
## Steps to reproduce
|
## Steps to reproduce
|
||||||
|
|
||||||
|
<!-- Try running the game with a default configuration as well. If that also causes issues, please point that out here in the report. This might speed up the debugging process.-->
|
||||||
|
|
||||||
<!--- Provide a detailed step by step description how to reproduce this issue -->
|
<!--- Provide a detailed step by step description how to reproduce this issue -->
|
||||||
1.
|
1.
|
||||||
2.
|
2.
|
||||||
@@ -18,35 +28,74 @@
|
|||||||
4.
|
4.
|
||||||
|
|
||||||
## Possible solution
|
## Possible solution
|
||||||
|
|
||||||
<!--- Not obligatory, but suggest a fix/reason for the bug, -->
|
<!--- Not obligatory, but suggest a fix/reason for the bug, -->
|
||||||
|
|
||||||
## Context (Environment)
|
## Context (Environment)
|
||||||
|
|
||||||
### Bemanitools version(s) affected
|
### Bemanitools version(s) affected
|
||||||
|
|
||||||
* <!--- Add one or multiple versions as a bullet list -->
|
* <!--- Add one or multiple versions as a bullet list -->
|
||||||
|
|
||||||
### Game(s) and version(s) affected
|
### Game(s) and version(s) affected
|
||||||
|
|
||||||
* <!--- Add one or multiple game versions as a bullet list -->
|
* <!--- Add one or multiple game versions as a bullet list -->
|
||||||
|
|
||||||
### Log output
|
### Log output
|
||||||
|
|
||||||
See attachment.
|
See attachment.
|
||||||
<!--- Provide log output as attachment. Make sure to censor sensitive data like PCBIDs or device names if necessary -->
|
|
||||||
|
<!---
|
||||||
|
Provide FULL log output, e.g. inject.log or launcher.log. Please do not guess which things
|
||||||
|
are relevant or not. Without knowing, you might leave out things that are relevant for the developers. You have to enable log output explicitly if not done already.
|
||||||
|
|
||||||
|
For inject.exe and launcher.exe, add `-Y logfile.log` to the command line args to output to a file, e.g. `gamestart.bat -Y logfile.log`.
|
||||||
|
|
||||||
|
!!!!!!
|
||||||
|
REMOVE ANY SENSITIVE DATA LIKE PCBIDS OR DEVICE NAMES BY REPLACING IT THEM WITH
|
||||||
|
|
||||||
|
[REDACTED]
|
||||||
|
|
||||||
|
BEFORE UPLOADING/POSTING ANY LOG DATA!!!
|
||||||
|
|
||||||
|
Use the search and replace feature of any kind of text editor.
|
||||||
|
!!!!!!
|
||||||
|
-->
|
||||||
|
|
||||||
### Configuration files
|
### Configuration files
|
||||||
|
|
||||||
See attachment.
|
See attachment.
|
||||||
<!--- Provide any configuration files that you used, e.g. iidxhook-XX.conf. Make sure to censor sensitive data like
|
|
||||||
PCBIDs -->
|
<!--- Provide any configuration files that you used, e.g. iidxhook-XX.conf. This file is located in
|
||||||
|
the same directory as launcher.exe or inject.exe.
|
||||||
|
|
||||||
|
!!!!!!
|
||||||
|
REMOVE ANY SENSITIVE DATA LIKE PCBIDS OR DEVICE NAMES BY REPLACING IT THEM WITH
|
||||||
|
|
||||||
|
[REDACTED]
|
||||||
|
|
||||||
|
BEFORE UPLOADING/POSTING ANY LOG DATA!!!
|
||||||
|
|
||||||
|
Use the search and replace feature of any kind of text editor.
|
||||||
|
!!!!!!
|
||||||
|
-->
|
||||||
|
|
||||||
### Command line arguments
|
### Command line arguments
|
||||||
<!--- Provide how you run the game from the command line, e.g. which gamestart.bat you used and any additional arguments
|
|
||||||
that you provided to it. Also provide the contents of the gamestart.bat you used if you altered it. -->
|
<!--- Provide how you run the game from the command line, e.g. which gamestart.bat you used and any
|
||||||
|
additional arguments that you provided to it. Also provide the contents of the gamestart.bat you
|
||||||
|
used if you altered it. -->
|
||||||
|
|
||||||
### APIs used
|
### APIs used
|
||||||
|
|
||||||
* <!--- List all APIs you used as a bullet list, e.g. iidxio-keyboard, eamio-keyboard -->
|
* <!--- List all APIs you used as a bullet list, e.g. iidxio-keyboard, eamio-keyboard -->
|
||||||
|
|
||||||
### OS version
|
### OS version
|
||||||
|
|
||||||
<!--- Provide the version of Windows you used with whatever update/build identifier -->
|
<!--- Provide the version of Windows you used with whatever update/build identifier -->
|
||||||
|
|
||||||
### Hardware specs
|
### Hardware specs
|
||||||
|
|
||||||
* CPU: <!--- Insert, e.g. Core i7 2600k 3.20ghz -->
|
* CPU: <!--- Insert, e.g. Core i7 2600k 3.20ghz -->
|
||||||
* RAM: <!--- Insert, e.g. 16 GB -->
|
* RAM: <!--- Insert, e.g. 16 GB -->
|
||||||
* GPU: <!--- Insert, e.g. Nvidia GeForce GTX 970, 4GB -->
|
* GPU: <!--- Insert, e.g. Nvidia GeForce GTX 970, 4GB -->
|
||||||
@@ -1,14 +1,21 @@
|
|||||||
|
# Feature request
|
||||||
|
|
||||||
## Summary
|
## Summary
|
||||||
|
|
||||||
<!--- Provide a general summary of your changes in the Title above -->
|
<!--- Provide a general summary of your changes in the Title above -->
|
||||||
|
|
||||||
## Detailed description
|
## Detailed description
|
||||||
|
|
||||||
<!--- Describe your feature in detail -->
|
<!--- Describe your feature in detail -->
|
||||||
|
|
||||||
## Benefits
|
## Benefits
|
||||||
|
|
||||||
<!--- Describe the value/benefits of the feature in detail -->
|
<!--- Describe the value/benefits of the feature in detail -->
|
||||||
|
|
||||||
## Drawbacks
|
## Drawbacks
|
||||||
|
|
||||||
<!--- Describe any drawbacks that might be introduced with this feature -->
|
<!--- Describe any drawbacks that might be introduced with this feature -->
|
||||||
|
|
||||||
## Current blockers
|
## Current blockers
|
||||||
|
|
||||||
<!--- Describe any blockers that need to be resolved before implementing this feature -->
|
<!--- Describe any blockers that need to be resolved before implementing this feature -->
|
||||||
@@ -1,23 +1,31 @@
|
|||||||
|
# Pull request
|
||||||
|
|
||||||
## Summary
|
## Summary
|
||||||
|
|
||||||
<!--- Provide a general summary of your changes in the Title above -->
|
<!--- Provide a general summary of your changes in the Title above -->
|
||||||
|
|
||||||
## Description
|
## Description
|
||||||
|
|
||||||
<!--- Describe your changes in detail -->
|
<!--- Describe your changes in detail -->
|
||||||
|
|
||||||
## Related Issue
|
## Related Issue
|
||||||
|
|
||||||
<!--- This project only accepts pull requests related to open issues -->
|
<!--- This project only accepts pull requests related to open issues -->
|
||||||
<!--- If suggesting a new feature or change, please discuss it in an issue first -->
|
<!--- If suggesting a new feature or change, please discuss it in an issue first -->
|
||||||
<!--- If fixing a bug, there should be an issue describing it with steps to reproduce -->
|
<!--- If fixing a bug, there should be an issue describing it with steps to reproduce -->
|
||||||
<!--- Please link to the issue here: -->
|
<!--- Please link to the issue here: -->
|
||||||
|
|
||||||
## How Has This Been Tested?
|
## How Has This Been Tested?
|
||||||
|
|
||||||
<!--- Please describe in detail how you tested your changes. -->
|
<!--- Please describe in detail how you tested your changes. -->
|
||||||
<!--- Include details of your testing environment, and the tests you ran to -->
|
<!--- Include details of your testing environment, and the tests you ran to -->
|
||||||
<!--- see how your change affects other areas of the code, etc. -->
|
<!--- see how your change affects other areas of the code, etc. -->
|
||||||
|
|
||||||
## Checklist
|
## Checklist
|
||||||
|
|
||||||
<!-- Make sure you covered all items, which apply, of the checklist below. -->
|
<!-- Make sure you covered all items, which apply, of the checklist below. -->
|
||||||
<!-- Strikethrough items that do not apply and provide a brief description why. -->
|
<!-- Strikethrough items that do not apply and provide a brief description why. -->
|
||||||
|
|
||||||
* [ ] Implemented (unit) test(s) which prove that the introduced changes are working as expected.
|
* [ ] Implemented (unit) test(s) which prove that the introduced changes are working as expected.
|
||||||
* Tested with the following games:
|
* Tested with the following games:
|
||||||
* [ ] ... <!-- insert game name 1-->
|
* [ ] ... <!-- insert game name 1-->
|
||||||
38
.github/workflows/build-master.yaml
vendored
Normal file
38
.github/workflows/build-master.yaml
vendored
Normal file
@@ -0,0 +1,38 @@
|
|||||||
|
name: "Build bemanitools"
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches:
|
||||||
|
- master
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: "ubuntu-22.04"
|
||||||
|
steps:
|
||||||
|
- name: "Checkout repository"
|
||||||
|
uses: "actions/checkout@v2"
|
||||||
|
|
||||||
|
- name: "Install prerequisites"
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install -y runc containerd docker.io
|
||||||
|
|
||||||
|
- name: "Build"
|
||||||
|
run: |
|
||||||
|
make build-docker
|
||||||
|
|
||||||
|
# Do some unpacking of the dist zip. Artifact upload repackages stuff
|
||||||
|
- name: "Prepare artifact package"
|
||||||
|
run: |
|
||||||
|
mkdir artifact
|
||||||
|
cd artifact
|
||||||
|
unzip ../build/bemanitools.zip
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
- name: "Upload artifact"
|
||||||
|
uses: "actions/upload-artifact@v2"
|
||||||
|
with:
|
||||||
|
name: bemanitools-${{ github.sha }}
|
||||||
|
retention-days: 30
|
||||||
|
if-no-files-found: "error"
|
||||||
|
path: |
|
||||||
|
artifact/**
|
||||||
71
.github/workflows/build-tag.yaml
vendored
Normal file
71
.github/workflows/build-tag.yaml
vendored
Normal file
@@ -0,0 +1,71 @@
|
|||||||
|
name: "Build bemanitools"
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
tags:
|
||||||
|
- "*.*"
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: "ubuntu-22.04"
|
||||||
|
steps:
|
||||||
|
- name: "Checkout repository"
|
||||||
|
uses: "actions/checkout@v2"
|
||||||
|
|
||||||
|
# Building bootstrapped using docker containers
|
||||||
|
- name: "Install prerequisites"
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install -y runc containerd docker.io
|
||||||
|
|
||||||
|
- name: "Build"
|
||||||
|
run: |
|
||||||
|
make build-docker
|
||||||
|
|
||||||
|
# Do some unpacking of the dist zip. Artifact upload repackages stuff
|
||||||
|
- name: "Prepare artifact package"
|
||||||
|
run: |
|
||||||
|
mkdir artifact
|
||||||
|
cd artifact
|
||||||
|
unzip ../build/bemanitools.zip
|
||||||
|
cd ..
|
||||||
|
|
||||||
|
- name: "Upload artifact"
|
||||||
|
uses: "actions/upload-artifact@v2"
|
||||||
|
with:
|
||||||
|
name: bemanitools-${{ github.sha }}
|
||||||
|
retention-days: 30
|
||||||
|
if-no-files-found: "error"
|
||||||
|
path: |
|
||||||
|
artifact/**
|
||||||
|
|
||||||
|
publish-release:
|
||||||
|
needs: "build"
|
||||||
|
runs-on: "ubuntu-22.04"
|
||||||
|
steps:
|
||||||
|
# This already extracts the contents of the artifact
|
||||||
|
- name: "Download artifact"
|
||||||
|
uses: "actions/download-artifact@v2"
|
||||||
|
with:
|
||||||
|
name: bemanitools-${{ github.sha }}
|
||||||
|
|
||||||
|
- name: "Get the version"
|
||||||
|
id: get_version
|
||||||
|
run: |
|
||||||
|
echo ::set-output name=VERSION::$(echo $GITHUB_REF | cut -d / -f 3)
|
||||||
|
|
||||||
|
# The publish release action does not package the artifact *sigh*
|
||||||
|
- name: "Create release package"
|
||||||
|
run: |
|
||||||
|
zip bemanitools-${{ steps.get_version.outputs.VERSION }}.zip *
|
||||||
|
|
||||||
|
- name: "Publish release"
|
||||||
|
uses: "marvinpinto/action-automatic-releases@v1.2.1"
|
||||||
|
with:
|
||||||
|
repo_token: "${{ secrets.GITHUB_TOKEN }}"
|
||||||
|
automatic_release_tag: "latest"
|
||||||
|
draft: false
|
||||||
|
prerelease: true
|
||||||
|
title: ${{ steps.get_version.outputs.VERSION }}
|
||||||
|
files: |
|
||||||
|
bemanitools-${{ steps.get_version.outputs.VERSION }}.zip
|
||||||
3
.gitignore
vendored
3
.gitignore
vendored
@@ -3,4 +3,5 @@ build/
|
|||||||
.idea
|
.idea
|
||||||
.vscode
|
.vscode
|
||||||
.vs
|
.vs
|
||||||
version
|
version
|
||||||
|
.DS_Store
|
||||||
|
|||||||
147
.gitlab-ci.yml
147
.gitlab-ci.yml
@@ -1,67 +1,136 @@
|
|||||||
|
#
|
||||||
|
# This pipeline requires packages to be switched on under the repository settings. Otherwise, you will 403s when
|
||||||
|
# uploading to the package repo is triggered.
|
||||||
|
#
|
||||||
|
# Variables to setup in GitLab CI/CD settings of the project
|
||||||
|
#
|
||||||
|
# The variables with BASE64 postfixes need to contain the base64 encoded data. Otherwise, masking
|
||||||
|
# in GitLab won't work due to not matching their pre-defined regex
|
||||||
|
#
|
||||||
|
# CI_PIGSTALL_DATA_PREFIX_BASE64
|
||||||
|
# CI_PIGSTALL_LINK_BASE64
|
||||||
|
# CI_PIGSTALL_PHP_SESSION_ID
|
||||||
|
# CI_PIGSTALL_SESSION_BASE64
|
||||||
|
#
|
||||||
|
# CI_TOOLS_UPLOAD_KEY
|
||||||
|
# CI_TOOLS_UPLOAD_URL
|
||||||
|
# CI_TOOLS_URL
|
||||||
|
|
||||||
image: docker:stable
|
image: docker:stable
|
||||||
|
|
||||||
variables:
|
variables:
|
||||||
DOCKER_TLS_CERTDIR: "/certs"
|
DOCKER_TLS_CERTDIR: "/certs"
|
||||||
|
DIST_PACKAGE_RELATIVE_PATH: "build/docker/bemanitools.zip"
|
||||||
|
PACKAGE_REGISTRY_URL: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/bemanitools"
|
||||||
|
|
||||||
services:
|
services:
|
||||||
- docker:19.03.8-dind
|
- docker:19.03.8-dind
|
||||||
|
|
||||||
before_script:
|
|
||||||
- docker info
|
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
- build
|
- build
|
||||||
- create-release-package
|
- upload
|
||||||
- releasetag
|
- release
|
||||||
|
|
||||||
build:
|
build:
|
||||||
stage: build
|
stage: build
|
||||||
|
only:
|
||||||
|
refs:
|
||||||
|
- master
|
||||||
|
- tags
|
||||||
before_script:
|
before_script:
|
||||||
- apk update && apk add make > /dev/null
|
- apk update && apk add make > /dev/null
|
||||||
script:
|
script:
|
||||||
- make build-docker
|
- make build-docker
|
||||||
artifacts:
|
artifacts:
|
||||||
name: "$CI_COMMIT_SHORT_SHA-$CI_JOB_NAME"
|
|
||||||
paths:
|
paths:
|
||||||
- build
|
- build
|
||||||
|
expire_in: 1 week
|
||||||
|
|
||||||
|
upload-package-registry:
|
||||||
|
stage: upload
|
||||||
|
image: curlimages/curl:latest
|
||||||
only:
|
only:
|
||||||
refs:
|
refs:
|
||||||
- master
|
- master
|
||||||
|
- tags
|
||||||
create-release-package:
|
|
||||||
stage: create-release-package
|
|
||||||
variables:
|
|
||||||
GIT_STRATEGY: none
|
|
||||||
dependencies:
|
dependencies:
|
||||||
- build
|
- build
|
||||||
before_script:
|
|
||||||
- apk update && apk add zip > /dev/null
|
|
||||||
script:
|
|
||||||
- mv build/docker/bemanitools.zip ./bemanitools.zip
|
|
||||||
- rm -r build
|
|
||||||
- find . -mindepth 1 ! -regex '^./bemanitools.zip' -delete
|
|
||||||
- unzip bemanitools.zip
|
|
||||||
- rm bemanitools.zip
|
|
||||||
artifacts:
|
|
||||||
name: "$CI_COMMIT_SHORT_SHA-$CI_JOB_NAME"
|
|
||||||
paths:
|
|
||||||
- ./*
|
|
||||||
only:
|
|
||||||
refs:
|
|
||||||
- master
|
|
||||||
|
|
||||||
releasetag:
|
|
||||||
stage: releasetag
|
|
||||||
dependencies: []
|
|
||||||
before_script:
|
|
||||||
- apk update && apk add curl > /dev/null
|
|
||||||
script:
|
script:
|
||||||
- |
|
- |
|
||||||
curl --silent --show-error \
|
if [ "${CI_COMMIT_TAG}" ]; then
|
||||||
--data "{\"tag_name\": \"${CI_COMMIT_TAG}\", \"name\": \"${CI_PROJECT_NAME}-${CI_COMMIT_TAG}\", \"description\": \"${CI_COMMIT_TAG_MESSAGE:-No release notes.}\"}" \
|
version="${CI_COMMIT_TAG}"
|
||||||
--header "Content-Type: application/json" \
|
else
|
||||||
--header "Private-Token: ${CI_PRIVATE_TOKEN}" \
|
version="${CI_COMMIT_SHORT_SHA}"
|
||||||
--request POST \
|
fi
|
||||||
"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/releases"
|
- |
|
||||||
|
curl \
|
||||||
|
--silent \
|
||||||
|
--fail \
|
||||||
|
--show-error \
|
||||||
|
--header "JOB-TOKEN: ${CI_JOB_TOKEN}" \
|
||||||
|
--upload-file "${DIST_PACKAGE_RELATIVE_PATH}" \
|
||||||
|
$PACKAGE_REGISTRY_URL/${version}/bemanitools.zip
|
||||||
|
|
||||||
|
upload-tools-page:
|
||||||
|
stage: upload
|
||||||
|
image: curlimages/curl:latest
|
||||||
only:
|
only:
|
||||||
- tags
|
refs:
|
||||||
|
- tags
|
||||||
|
dependencies:
|
||||||
|
- build
|
||||||
|
script:
|
||||||
|
- |
|
||||||
|
curl \
|
||||||
|
--silent \
|
||||||
|
--fail \
|
||||||
|
--show-error \
|
||||||
|
--connect-timeout 5 \
|
||||||
|
--max-time 10 \
|
||||||
|
--retry 5 \
|
||||||
|
-F "key=${CI_TOOLS_UPLOAD_KEY}" \
|
||||||
|
-F "filename=${CI_PROJECT_NAME}-v${CI_COMMIT_TAG}.zip" \
|
||||||
|
-F "file=@${DIST_PACKAGE_RELATIVE_PATH}" \
|
||||||
|
${CI_TOOLS_UPLOAD_URL}
|
||||||
|
|
||||||
|
release-gitlab:
|
||||||
|
stage: release
|
||||||
|
image: registry.gitlab.com/gitlab-org/release-cli:v0.8.0
|
||||||
|
only:
|
||||||
|
refs:
|
||||||
|
- tags
|
||||||
|
script:
|
||||||
|
- version="$CI_COMMIT_TAG"
|
||||||
|
- release_message="$(scripts/ci/create-release-message.sh "${version}" < CHANGELOG.md)"
|
||||||
|
- |
|
||||||
|
release-cli create \
|
||||||
|
--name "bemanitools ${version}" \
|
||||||
|
--description="${release_message}" \
|
||||||
|
--tag-name ${version} \
|
||||||
|
--assets-link "{\"name\":\"Distribution binaries\",\"url\":\"${PACKAGE_REGISTRY_URL}/${version}/bemanitools.zip\"}"
|
||||||
|
|
||||||
|
release-pigstall:
|
||||||
|
stage: release
|
||||||
|
image: curlimages/curl:latest
|
||||||
|
only:
|
||||||
|
refs:
|
||||||
|
- tags
|
||||||
|
script:
|
||||||
|
- version="${CI_COMMIT_TAG}"
|
||||||
|
- changelog_excerpt="$(scripts/ci/create-release-message.sh "${version}" < CHANGELOG.md)"
|
||||||
|
- release_message="$(printf "bemanitools ${version} released\n${CI_TOOLS_URL}/bemanitools-v${version}.zip\n${changelog_excerpt}")"
|
||||||
|
- session="$(echo "$CI_PIGSTALL_SESSION_BASE64" | base64 -d)"
|
||||||
|
- data_prefix="$(echo "$CI_PIGSTALL_DATA_PREFIX_BASE64" | base64 -d)"
|
||||||
|
- link="$(echo "$CI_PIGSTALL_LINK_BASE64" | base64 -d)"
|
||||||
|
- |
|
||||||
|
curl \
|
||||||
|
--silent \
|
||||||
|
--fail \
|
||||||
|
--connect-timeout 5 \
|
||||||
|
--max-time 10 \
|
||||||
|
--retry 5 \
|
||||||
|
--show-error \
|
||||||
|
-H 'Content-Type: application/x-www-form-urlencoded' \
|
||||||
|
-H "Cookie: PHPSESSID=$CI_PIGSTALL_PHP_SESSION_ID; session=${session}" \
|
||||||
|
--data-raw "${data_prefix}&body=${release_message}" \
|
||||||
|
"${link}"
|
||||||
|
|||||||
@@ -1,27 +0,0 @@
|
|||||||
## Summary
|
|
||||||
<!--- Provide a general summary of your changes in the Title above -->
|
|
||||||
|
|
||||||
## Description
|
|
||||||
<!--- Describe your changes in detail -->
|
|
||||||
|
|
||||||
## Related Issue
|
|
||||||
<!--- This project only accepts pull requests related to open issues -->
|
|
||||||
<!--- If suggesting a new feature or change, please discuss it in an issue first -->
|
|
||||||
<!--- If fixing a bug, there should be an issue describing it with steps to reproduce -->
|
|
||||||
<!--- Please link to the issue here: -->
|
|
||||||
|
|
||||||
## How Has This Been Tested?
|
|
||||||
<!--- Please describe in detail how you tested your changes. -->
|
|
||||||
<!--- Include details of your testing environment, and the tests you ran to -->
|
|
||||||
<!--- see how your change affects other areas of the code, etc. -->
|
|
||||||
|
|
||||||
## Checklist
|
|
||||||
<!-- Make sure you covered all items, which apply, of the checklist below. -->
|
|
||||||
<!-- Strikethrough items that do not apply and provide a brief description why. -->
|
|
||||||
* [ ] Implemented (unit) test(s) which prove that the introduced changes are working as expected.
|
|
||||||
* Tested with the following games:
|
|
||||||
* [ ] ... <!-- insert game name 1-->
|
|
||||||
* [ ] ... <!-- insert game name 2--->
|
|
||||||
* [ ] Followed the developer (style) guidelines.
|
|
||||||
* [ ] Updated existing doc of or add new doc to README file(s).
|
|
||||||
* [ ] Updated development documentation.
|
|
||||||
95
CHANGELOG.md
95
CHANGELOG.md
@@ -1,4 +1,99 @@
|
|||||||
# Release history
|
# Release history
|
||||||
|
Note for CI/CD: Ensure the version formatting in the sections is kept identical to the versions
|
||||||
|
given in tags. The pipeline will pick this up and cuts out the relevant section for release notes.
|
||||||
|
|
||||||
|
## 5.45
|
||||||
|
### Features
|
||||||
|
|
||||||
|
### Fixes
|
||||||
|
|
||||||
|
## 5.44
|
||||||
|
### Features
|
||||||
|
* feat(doc): ezusb dev journal entry, 10th style ezusb boot up and security setup
|
||||||
|
* feat(iidx 09/10): ezusb API call monitoring module and configuration flag
|
||||||
|
* feat(iidx 19): Add back btools monitor check for iidxhook5
|
||||||
|
* feat(iidx 9-19): Add configurable settings path hook. Redirect settings paths, i.e. `d/`, `e/` and
|
||||||
|
`f/` drive "folders" to an arbitrary path on any partition, e.g. writable partition
|
||||||
|
* feat(iidx 9/10): Improve commandline script for irbeat-patch 09 and 10, add interactive mode
|
||||||
|
|
||||||
|
### Fixes
|
||||||
|
* fix(iidx 10): SQ-INIT error caused by incorrect security configuration
|
||||||
|
* fix(iidx 9-24): Wire up coin input in ezusb1/2 IO emulation layer
|
||||||
|
* fix(pnm 15-18): Fix IO buffer inconsistency causing random input misfiring
|
||||||
|
* fix(jb 1-8): Fix IO buffer inconsistency causing random input misfiring
|
||||||
|
* fix(iidx 9-24): Fix IO buffer inconsistency causing random input misfiring
|
||||||
|
* fix(iidx 19): imagefs override strategy with local file redir. Required to enable monitor-check
|
||||||
|
on all chart files
|
||||||
|
* fix(iidx 9-19): Code synchronization issue causing deadlock resulting in game hang/stuck on boot
|
||||||
|
* fix(iidx 9-19): Fix broken settings path handling with mixed / and \
|
||||||
|
* fix(iidx 27): Align disabled cam connection config defaults with 28/29
|
||||||
|
* fix(inject): Fix missing forwarding of exit code
|
||||||
|
* fix(inject): Getting stuck when game exits cleanly due to locked up debugger thread.
|
||||||
|
* fix(iidx 18/19 CN): gamestart.bat creating dev/nvram and dev/raw folders
|
||||||
|
|
||||||
|
## 5.43
|
||||||
|
* iidx29: (Officially) support IIDX CASTHOUR
|
||||||
|
* Code structure maintenance
|
||||||
|
* Various documentation improvements
|
||||||
|
|
||||||
|
## 5.42
|
||||||
|
* Bugfix: Fix diagonal texture tearing on IIDX 18 and 19 based games
|
||||||
|
* Feature: Add support for IIDX Resort Anthem CN using iidxhook4-cn
|
||||||
|
* Feature/bugfix: Enable "nvidia fix" for iidxhook4, 5 and 5-cn. Should fix crashing on some/all
|
||||||
|
nvidia cards
|
||||||
|
* Various minor fixes
|
||||||
|
|
||||||
|
## 5.41
|
||||||
|
* Feature: Support pop'n music 15-18 using popnhook1
|
||||||
|
* Feature: Support IIDX tricoro CN using iidxhook5-cn
|
||||||
|
* Various documentation improvements
|
||||||
|
|
||||||
|
## 5.40
|
||||||
|
* Feature: Support DDR X and X2 US/EU using ddrhook1 including memory card emulation
|
||||||
|
* Fix: sdvxhook2 crashing on some OS versions
|
||||||
|
* Feature: Support sdvx generator lights in sdvxio
|
||||||
|
|
||||||
|
## 5.39
|
||||||
|
* jbhook3: Fix window mode, remove window frame option, add show cursor on window option
|
||||||
|
* Code simplification and cleanup round plug modules
|
||||||
|
* Code structure improvements p3io jubeat
|
||||||
|
|
||||||
|
## 5.38
|
||||||
|
* sdvxhook2: Support sound voltex exceed gear
|
||||||
|
|
||||||
|
## 5.37
|
||||||
|
* jbhook1: Support jubeat (1) and ripples
|
||||||
|
* jbhook2: Support jubeat knit and copious
|
||||||
|
* jbhook3: Support jubeat saucer, prop, qubell, clan and festo
|
||||||
|
|
||||||
|
## 5.36
|
||||||
|
* iidxhook9: Support for IIDX28
|
||||||
|
* Various bugfixes
|
||||||
|
|
||||||
|
## 5.35
|
||||||
|
* Jubeat: Add jbio-p4io
|
||||||
|
* Nostalgia: Add nostio-panb
|
||||||
|
* Misc: Add wavepass support to aciodrv-icca (and eamio-icca)
|
||||||
|
* Misc: Refactor aciodrv to support multiple devices using the same port (with aciomgr)
|
||||||
|
* Misc: Fix d3d9ex windowed hook not behaving correctly (size/framed)
|
||||||
|
* Misc: Fix docs not being included with release
|
||||||
|
* Various bugfixes
|
||||||
|
|
||||||
|
## 5.34
|
||||||
|
* IIDX: Support IO and card reader feature switches to disable emulation in iidxhook4-7
|
||||||
|
* Jubeat: jbio implementation for magicbox hardware
|
||||||
|
* Misc: Various documentation improvements
|
||||||
|
* IIDX: Turntable multiplier (can also be used as inverted) for iidxhook9
|
||||||
|
* IIDX: iidxhook9, add force screen resolution option to fix sometimes wrong auto res detection by
|
||||||
|
iidx27 causing inaccurate/wrong refresh rates on monitor check
|
||||||
|
* IIDX: iidxio BIO2 implementation -> Use BIO2 hardware with any iidxhook or other software
|
||||||
|
supporting BT5's iidxio interface
|
||||||
|
* IIDX: BIO2 exit hook, exit the game pressing Start P1 + Start P2, Effect and VEFX
|
||||||
|
* launcher: Allow overriding service URL from command line
|
||||||
|
* IIDX: vigem-iidxio, tool to allow using iidxio (ezusb, ezusb2 or bio2) to emulate XBOX controllers
|
||||||
|
to play other non arcade games that support xinput, e.g. Lunatic Rave (note: Infinitas does not
|
||||||
|
work with this since it only supports direct input)
|
||||||
|
|
||||||
## 5.33
|
## 5.33
|
||||||
* iidxhook9: Support for IIDX27
|
* iidxhook9: Support for IIDX27
|
||||||
* sdvxio-bio2: Driver for real sdvx5 cabinet IO hardware
|
* sdvxio-bio2: Driver for real sdvx5 cabinet IO hardware
|
||||||
|
|||||||
@@ -1,30 +1,83 @@
|
|||||||
# Contributing
|
# Contributing
|
||||||
Please have a look at the issue board about what's currently going on. If you see an issue that is not assigned yet and
|
This document outlines different types of contributions and how YOU can help us to improve the
|
||||||
that you can and want to work on, please leave a comment to reach out to one of our developers. You can also ask
|
project. Read it, as it provides guidelines that are there to help you and the maintainers.
|
||||||
questions and discuss the issue.
|
|
||||||
|
|
||||||
# Bug reports
|
## Reporting and discussions: Issues section on gitlab
|
||||||
Please check if the bug was already reported by searching the existing issues. If it does, feel free to leave a comment
|
In order to avoid having to manage ongoing discussions and bug reports on different communication
|
||||||
that you also have this issue. Add additional information, screenshots, log files etc. The more information and details
|
channels, e.g. forums, messangers or other closed groups, we ask everyone to treat the issue
|
||||||
we have, the easier it might get to solve the issue.
|
section on gitlab as the place to open their relevant discussions and bug reports regarding the
|
||||||
|
project.
|
||||||
|
|
||||||
When creating new issues, use our template for reporting bugs. It tells you what kind of information we need.
|
The maintainers of the project do not have the time nor motivation to micromanage on the various
|
||||||
|
channels and enter all data here to have it collected. This is a simple task that *ANYONE* can do
|
||||||
|
allowing the maintainers and developers to spend their time on the codebase.
|
||||||
|
|
||||||
# Pull requests: bugfixes, new features or other code contributions
|
## Bug reports
|
||||||
Pull requests are welcome! May it be a PR to an already known issue or a new feature that you consider as a valuable
|
Follow these steps when reporting bugs to ensure you provide all information we *always* need and
|
||||||
contribution, please open a PR. If you want to start working on a new feature that was proposed in an issue, yet, it
|
make your report valuable and actionable.
|
||||||
is recommended to reach out to the developers about this, first, to discuss if this contribution is valuable to the
|
|
||||||
project. Otherwise, you might waste your time on implementing something that won't make it into master.
|
|
||||||
|
|
||||||
Please read our [development guidelines](doc/development.md) as they contain valuable information that your contribution
|
1. On the bemanitools repository, go `Issues` on the left-hand sidebar.
|
||||||
meets our standards.
|
1. Use the search function to check if there is an already open issue regarding what you want to
|
||||||
|
report
|
||||||
|
1. If that applies, read the open issue to check what's already covered regarding the bug
|
||||||
|
1. Provide additional information or things that are missing. Upload your log files,
|
||||||
|
screenshots, videos etc. Be careful to remove sensitive information like PCBIDs
|
||||||
|
1. Give a thumbs up to the issue to show you are interested/affected as well
|
||||||
|
1. If no existing issue avilable, create a new one
|
||||||
|
1. Come up with a descriptive title
|
||||||
|
1. **USE OUR BUG REPORTING TEMPLATE**: Pick it by selecting `Bug` on the `Description` section
|
||||||
|
1. Follow the sections and their instructions provided by the template and fill them in. All fields
|
||||||
|
are mandatory to provide a comprehensive report if not stated otherwise
|
||||||
|
1. When finished, submit the issue
|
||||||
|
|
||||||
Fork the upstream repository and start developing on your personal fork. Make sure to test your changes with games that
|
## Pull requests: bugfixes, new features or other code contributions
|
||||||
are affected by them. Pay attention to the target platform/hardware you are testing on! This is valuable information
|
Pull requests are welcome! May it be a merge request to an already known issue or a new feature that
|
||||||
that should be included in the PR.
|
you consider as a valuable contribution, please open a MR.
|
||||||
|
|
||||||
Once you completed your implementation, open a pull request on the upstream repository to propose your changes. We will review your contribution and get back to you about any changes or when we merge them to our upstream repository. Your changes, once approved, will be included in the next release.
|
**!!! Maintaining documentation by adding new or improving existing documentation is as important as
|
||||||
|
code !!!**
|
||||||
|
|
||||||
# Roadmap
|
If you want to start working on a new feature that was proposed in an issue, yet, it is recommended
|
||||||
No concrete roadmap or timeline exists. We want to continue adding support for new games as well as old games (some of
|
to reach out to the active developers about this, first, to discuss if this contribution is valuable
|
||||||
the old games supported by BT4 are not supported, yet).
|
to the project. Otherwise, you might waste your time on implementing something that won't make it
|
||||||
|
into master.
|
||||||
|
|
||||||
|
Please read our [development guidelines](doc/development.md) as they contain valuable information
|
||||||
|
that your contribution meets our standards. This is not meant to annoy people but ensures
|
||||||
|
consistency that the project stays maintainable for everyone.
|
||||||
|
|
||||||
|
Steps for contributing to the repository using a merge request:
|
||||||
|
1. If you are new to git, take a bit of time to learn the basics which are very simple, e.g. Google
|
||||||
|
for "git tutorial for non-programmers"
|
||||||
|
1. Fork the upstream repository (Fork button on the top right on the main page of the repository)
|
||||||
|
1. You can start editing files like documentation easily inside gitlab which might be the prefered
|
||||||
|
option for many non-coders
|
||||||
|
1. Clone your fork to your local machine and start working on stuff
|
||||||
|
1. Ensure you push your changes to your fork on gitlab
|
||||||
|
1. When done, go to the `Merge Requests` section on the left sidebar of the upstream repository
|
||||||
|
1. Hit the `New merge request` button
|
||||||
|
1. Select the `master` branch as the source branch
|
||||||
|
1. Select whatever branch you worked, likely `master` if you didn't change that, as the target
|
||||||
|
branch
|
||||||
|
1. Hit `Compare branches and continue`
|
||||||
|
1. Provide a descriptive title of what your change is about
|
||||||
|
1. **USE OUR MR TEMPLATES**
|
||||||
|
1. If you submit a bugfix, use the `Bugfix` tempalte and fill in the sections
|
||||||
|
1. If you submit a new feature, use the `Feature` template and fill in the sections
|
||||||
|
1. If you submit some minor fixes or documentation improvements, there is no template for that.
|
||||||
|
Please provide a expressive description what you did and *why* you did that
|
||||||
|
1. If any of your changes are tied to one or multiple issues, link them in the description
|
||||||
|
1. When done, hit `Submit merge request`
|
||||||
|
|
||||||
|
The maintainers will take a look at your submission and provide their feedback. The intention of
|
||||||
|
this process is to ensure the contribution meets the quality standards. Please also see this is
|
||||||
|
a learning opportunity, especially with your first contribution, if a lot of comments and change
|
||||||
|
requests are being made. The maintainers are open to discuss their suggestions/feedback if
|
||||||
|
reasonable feedback is given back to them.
|
||||||
|
|
||||||
|
Once all discussion is resolved and the involved maintainers approved your submission, it will be
|
||||||
|
merged into master and also included in the next release.
|
||||||
|
|
||||||
|
## Roadmap
|
||||||
|
No concrete roadmap or timeline exists. We want to continue adding support for new games as well as
|
||||||
|
old games (some of the old games supported by BT4 are not supported, yet).
|
||||||
35
Dockerfile
35
Dockerfile
@@ -1,32 +1,21 @@
|
|||||||
FROM fedora:31
|
FROM --platform=amd64 debian:11.6-slim@sha256:f7d141c1ec6af549958a7a2543365a7829c2cdc4476308ec2e182f8a7c59b519
|
||||||
|
|
||||||
LABEL description="Build environment for bemanitools"
|
LABEL description="Build environment for bemanitools"
|
||||||
|
|
||||||
RUN yum -y install \
|
# mingw-w64-gcc has 32-bit and 64-bit toolchains
|
||||||
git \
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
|
mingw-w64 \
|
||||||
|
mingw-w64-common \
|
||||||
make \
|
make \
|
||||||
zip \
|
zip \
|
||||||
clang \
|
git \
|
||||||
mingw64-gcc.x86_64 \
|
&& rm -rf /var/lib/apt/lists/*
|
||||||
mingw32-gcc.x86_64 \
|
|
||||||
wine.x86_64
|
|
||||||
|
|
||||||
RUN mkdir /bemanitools
|
RUN mkdir /bemanitools
|
||||||
WORKDIR /bemanitools
|
WORKDIR /bemanitools
|
||||||
|
|
||||||
# Order optimized for docker layer caching
|
ENTRYPOINT [ \
|
||||||
COPY run-tests-wine.sh run-tests-wine.sh
|
"/bin/sh", \
|
||||||
COPY CHANGELOG.md CHANGELOG.md
|
"-c" , \
|
||||||
COPY CONTRIBUTING.md CONTRIBUTING.md
|
"cd /bemanitools && \
|
||||||
COPY LICENSE LICENSE
|
make" ]
|
||||||
COPY GNUmakefile GNUmakefile
|
|
||||||
COPY Module.mk Module.mk
|
|
||||||
COPY README.md README.md
|
|
||||||
COPY doc doc
|
|
||||||
COPY dist dist
|
|
||||||
COPY src src
|
|
||||||
# .git folder required or building fails when version is generated
|
|
||||||
COPY .git .git
|
|
||||||
|
|
||||||
# Building
|
|
||||||
RUN make
|
|
||||||
30
GNUmakefile
30
GNUmakefile
@@ -14,7 +14,7 @@ BUILDDIR ?= build
|
|||||||
builddir_docker := $(BUILDDIR)/docker
|
builddir_docker := $(BUILDDIR)/docker
|
||||||
|
|
||||||
docker_container_name := "bemanitools-build"
|
docker_container_name := "bemanitools-build"
|
||||||
docker_image_name := "bemanitools:build"
|
docker_image_name := "bemanitools-build:latest"
|
||||||
|
|
||||||
depdir := $(BUILDDIR)/dep
|
depdir := $(BUILDDIR)/dep
|
||||||
objdir := $(BUILDDIR)/obj
|
objdir := $(BUILDDIR)/obj
|
||||||
@@ -69,7 +69,7 @@ clean:
|
|||||||
|
|
||||||
code-format:
|
code-format:
|
||||||
$(V)echo "Applying clang-format..."
|
$(V)echo "Applying clang-format..."
|
||||||
$(V)find src/ -name '*.c' -o -name '*.h' | xargs clang-format -i -style=file
|
$(V)find src/main src/test -name '*.c' -o -name '*.h' | xargs clang-format -i -style=file
|
||||||
|
|
||||||
run-tests:
|
run-tests:
|
||||||
$(V)echo "Running tests..."
|
$(V)echo "Running tests..."
|
||||||
@@ -81,13 +81,21 @@ version:
|
|||||||
|
|
||||||
build-docker:
|
build-docker:
|
||||||
$(V)docker rm -f $(docker_container_name) 2> /dev/null || true
|
$(V)docker rm -f $(docker_container_name) 2> /dev/null || true
|
||||||
$(V)docker build -t $(docker_image_name) -f Dockerfile .
|
$(V)docker \
|
||||||
$(V)docker create --name $(docker_container_name) $(docker_image_name)
|
build \
|
||||||
$(V)rm -rf $(builddir_docker)
|
-t $(docker_image_name) \
|
||||||
$(V)mkdir -p $(builddir_docker)
|
-f Dockerfile \
|
||||||
$(V)docker cp $(docker_container_name):/bemanitools/build $(builddir_docker)
|
.
|
||||||
$(V)mv $(builddir_docker)/build/* $(builddir_docker)
|
$(V)docker \
|
||||||
$(V)rm -r $(builddir_docker)/build
|
run \
|
||||||
|
--volume $(shell pwd):/bemanitools \
|
||||||
|
--name $(docker_container_name) \
|
||||||
|
$(docker_image_name)
|
||||||
|
|
||||||
|
clean-docker:
|
||||||
|
$(V)docker rm -f $(docker_container_name) || true
|
||||||
|
$(V)docker image rm -f $(docker_image_name) || true
|
||||||
|
$(V)rm -rf $(BUILDDIR)
|
||||||
|
|
||||||
#
|
#
|
||||||
# Pull in module definitions
|
# Pull in module definitions
|
||||||
@@ -226,7 +234,7 @@ $$(dll_$1_$2_$3) $$(implib_$1_$2_$3): $$(obj_$1_$2_$3) $$(abslib_$1_$2_$3) \
|
|||||||
$(V)echo ... $$(dll_$1_$2_$3)
|
$(V)echo ... $$(dll_$1_$2_$3)
|
||||||
$(V)$$(toolchain_$1)gcc -shared \
|
$(V)$$(toolchain_$1)gcc -shared \
|
||||||
-o $$(dll_$1_$2_$3) -Wl,--out-implib,$$(implib_$1_$2_$3) \
|
-o $$(dll_$1_$2_$3) -Wl,--out-implib,$$(implib_$1_$2_$3) \
|
||||||
$$^ $$(ldflags_$3)
|
-Wl,--start-group $$^ -Wl,--end-group $$(ldflags_$3)
|
||||||
$(V)$$(toolchain_$1)strip $$(dll_$1_$2_$3)
|
$(V)$$(toolchain_$1)strip $$(dll_$1_$2_$3)
|
||||||
$(V)$$(toolchain_$1)ranlib $$(implib_$1_$2_$3)
|
$(V)$$(toolchain_$1)ranlib $$(implib_$1_$2_$3)
|
||||||
|
|
||||||
@@ -256,7 +264,7 @@ impdef_$1_$2_$3 ?= src/imports/import_$1_$2_$3.def
|
|||||||
|
|
||||||
$$(bindir_$1_$2)/lib$3.a: $$(impdef_$1_$2_$3) | $$(bindir_$1_$2)
|
$$(bindir_$1_$2)/lib$3.a: $$(impdef_$1_$2_$3) | $$(bindir_$1_$2)
|
||||||
$(V)echo ... $$@ [dlltool]
|
$(V)echo ... $$@ [dlltool]
|
||||||
$(V)$$(toolchain_$1)dlltool -l $$@ -d $$<
|
$(V)$$(toolchain_$1)dlltool --kill-at -l $$@ -d $$<
|
||||||
|
|
||||||
endef
|
endef
|
||||||
|
|
||||||
|
|||||||
304
Module.mk
304
Module.mk
@@ -21,12 +21,20 @@
|
|||||||
#
|
#
|
||||||
# 4: Patch 2: beatmania IIDX 14 GOLD
|
# 4: Patch 2: beatmania IIDX 14 GOLD
|
||||||
#
|
#
|
||||||
|
# 4: Patch 3: pop'n music 15 ADVENTURE
|
||||||
|
#
|
||||||
# 6: Patch 5: beatmania IIDX 15 DJ Troopers
|
# 6: Patch 5: beatmania IIDX 15 DJ Troopers
|
||||||
#
|
#
|
||||||
|
# 7: Patch 1: pop'n music 16 PARTY
|
||||||
|
#
|
||||||
# 8: Patch 3: beatmania IIDX 16 Empress
|
# 8: Patch 3: beatmania IIDX 16 Empress
|
||||||
# jubeat
|
# jubeat
|
||||||
#
|
#
|
||||||
# 10: Patch 4: DanceDanceRevolution X2
|
# 9: Patch 0: pop'n music 17 THE MOVIE
|
||||||
|
#
|
||||||
|
# 10: Patch 1: pop'n music 18 Sengoku Retsuden
|
||||||
|
# Patch 2: jubeat Knit
|
||||||
|
# Patch 4: DanceDanceRevolution X2
|
||||||
#
|
#
|
||||||
# 11: Patch 1: beatmania IIDX 18 Resort Anthem
|
# 11: Patch 1: beatmania IIDX 18 Resort Anthem
|
||||||
# pop'n music 19 Tune Street
|
# pop'n music 19 Tune Street
|
||||||
@@ -49,14 +57,17 @@
|
|||||||
# beatmania IIDX 22 PENDUAL
|
# beatmania IIDX 22 PENDUAL
|
||||||
# beatmania IIDX 23 copula
|
# beatmania IIDX 23 copula
|
||||||
# beatmania IIDX 24 SINOBUZ
|
# beatmania IIDX 24 SINOBUZ
|
||||||
|
# Patch 3: DanceDanceRevoluion A20+ (64-bit)
|
||||||
# "Patch" 3: Silent Scope Bone Eater (compatible with p7)
|
# "Patch" 3: Silent Scope Bone Eater (compatible with p7)
|
||||||
# "Patch" 7: Steel Chronicle VicTroopers (not a Bemani, w/e)
|
# "Patch" 7: Steel Chronicle VicTroopers (not a Bemani, w/e)
|
||||||
#
|
#
|
||||||
# 17: Patch 0: beatmania IIDX 25 CANNON BALLERS
|
# 17: Patch 0: beatmania IIDX 25 CANNON BALLERS
|
||||||
# beatmania IIDX 26 Rootage
|
# beatmania IIDX 26 Rootage
|
||||||
|
# beatmania IIDX 27 HEROIC VERSE
|
||||||
#
|
#
|
||||||
# Patch 3: SOUND VOLTEX VIVID WAVE
|
# Patch 3: SOUND VOLTEX VIVID WAVE
|
||||||
#
|
#
|
||||||
|
#
|
||||||
|
|
||||||
cflags += \
|
cflags += \
|
||||||
-DWIN32_LEAN_AND_MEAN \
|
-DWIN32_LEAN_AND_MEAN \
|
||||||
@@ -69,48 +80,56 @@ cflags += \
|
|||||||
# Each AVS-dependent project should consume the earliest AVS import definition
|
# Each AVS-dependent project should consume the earliest AVS import definition
|
||||||
# that is still ABI-compatible with the real build its target links against.
|
# that is still ABI-compatible with the real build its target links against.
|
||||||
|
|
||||||
avsvers_32 := 1700 1603 1601 1508 1403 1304 1101 803 0
|
avsvers_32 := 1700 1603 1601 1508 1403 1304 1101 1002 803 0
|
||||||
avsvers_64 := 1700 1603 1601 1508
|
avsvers_64 := 1700 1603 1601 1509 1508
|
||||||
|
|
||||||
imps += avs avs-ea3
|
imps += avs avs-ea3
|
||||||
|
|
||||||
include src/main/aciodrv/Module.mk
|
include src/main/aciodrv/Module.mk
|
||||||
|
include src/main/aciodrv-proc/Module.mk
|
||||||
include src/main/acioemu/Module.mk
|
include src/main/acioemu/Module.mk
|
||||||
|
include src/main/aciomgr/Module.mk
|
||||||
include src/main/aciotest/Module.mk
|
include src/main/aciotest/Module.mk
|
||||||
include src/main/asio/Module.mk
|
include src/main/asio/Module.mk
|
||||||
include src/main/bio2drv/Module.mk
|
include src/main/bio2drv/Module.mk
|
||||||
include src/main/bio2emu/Module.mk
|
|
||||||
include src/main/bio2emu-iidx/Module.mk
|
include src/main/bio2emu-iidx/Module.mk
|
||||||
|
include src/main/bio2emu/Module.mk
|
||||||
include src/main/bsthook/Module.mk
|
include src/main/bsthook/Module.mk
|
||||||
include src/main/bstio/Module.mk
|
include src/main/bstio/Module.mk
|
||||||
include src/main/camhook/Module.mk
|
include src/main/camhook/Module.mk
|
||||||
include src/main/cconfig/Module.mk
|
include src/main/cconfig/Module.mk
|
||||||
include src/main/config/Module.mk
|
include src/main/config/Module.mk
|
||||||
include src/main/d3d9exhook/Module.mk
|
include src/main/d3d9exhook/Module.mk
|
||||||
include src/main/ddrhook/Module.mk
|
include src/main/ddrhook-util/Module.mk
|
||||||
include src/main/ddrio/Module.mk
|
include src/main/ddrhook1/Module.mk
|
||||||
include src/main/ddrio-smx/Module.mk
|
include src/main/ddrhook2/Module.mk
|
||||||
include src/main/ddrio-mm/Module.mk
|
include src/main/ddrio-mm/Module.mk
|
||||||
|
include src/main/ddrio-smx/Module.mk
|
||||||
|
include src/main/ddrio/Module.mk
|
||||||
include src/main/dinput/Module.mk
|
include src/main/dinput/Module.mk
|
||||||
include src/main/eamio/Module.mk
|
|
||||||
include src/main/eamio-icca/Module.mk
|
include src/main/eamio-icca/Module.mk
|
||||||
|
include src/main/eamio/Module.mk
|
||||||
include src/main/eamiotest/Module.mk
|
include src/main/eamiotest/Module.mk
|
||||||
include src/main/ezusb/Module.mk
|
|
||||||
include src/main/ezusb-emu/Module.mk
|
include src/main/ezusb-emu/Module.mk
|
||||||
include src/main/ezusb-iidx/Module.mk
|
include src/main/ezusb-iidx-16seg-emu/Module.mk
|
||||||
|
include src/main/ezusb-iidx-emu/Module.mk
|
||||||
include src/main/ezusb-iidx-fpga-flash/Module.mk
|
include src/main/ezusb-iidx-fpga-flash/Module.mk
|
||||||
include src/main/ezusb-iidx-sram-flash/Module.mk
|
include src/main/ezusb-iidx-sram-flash/Module.mk
|
||||||
|
include src/main/ezusb-iidx/Module.mk
|
||||||
include src/main/ezusb-tool/Module.mk
|
include src/main/ezusb-tool/Module.mk
|
||||||
include src/main/ezusb2/Module.mk
|
include src/main/ezusb/Module.mk
|
||||||
include src/main/ezusb2-dbg-hook/Module.mk
|
include src/main/ezusb2-dbg-hook/Module.mk
|
||||||
include src/main/ezusb2-emu/Module.mk
|
include src/main/ezusb2-emu/Module.mk
|
||||||
include src/main/ezusb2-iidx/Module.mk
|
|
||||||
include src/main/ezusb2-iidx-emu/Module.mk
|
include src/main/ezusb2-iidx-emu/Module.mk
|
||||||
|
include src/main/ezusb2-iidx/Module.mk
|
||||||
|
include src/main/ezusb2-popn-emu/Module.mk
|
||||||
|
include src/main/ezusb2-popn-shim/Module.mk
|
||||||
include src/main/ezusb2-tool/Module.mk
|
include src/main/ezusb2-tool/Module.mk
|
||||||
include src/main/ezusb-iidx-emu/Module.mk
|
include src/main/ezusb2/Module.mk
|
||||||
include src/main/geninput/Module.mk
|
include src/main/geninput/Module.mk
|
||||||
include src/main/hook/Module.mk
|
include src/main/hook/Module.mk
|
||||||
include src/main/hooklib/Module.mk
|
include src/main/hooklib/Module.mk
|
||||||
|
include src/main/iidx-bio2-exit-hook/Module.mk
|
||||||
include src/main/iidx-ezusb-exit-hook/Module.mk
|
include src/main/iidx-ezusb-exit-hook/Module.mk
|
||||||
include src/main/iidx-ezusb2-exit-hook/Module.mk
|
include src/main/iidx-ezusb2-exit-hook/Module.mk
|
||||||
include src/main/iidx-irbeat-patch/Module.mk
|
include src/main/iidx-irbeat-patch/Module.mk
|
||||||
@@ -119,47 +138,60 @@ include src/main/iidxhook1/Module.mk
|
|||||||
include src/main/iidxhook2/Module.mk
|
include src/main/iidxhook2/Module.mk
|
||||||
include src/main/iidxhook3/Module.mk
|
include src/main/iidxhook3/Module.mk
|
||||||
include src/main/iidxhook4/Module.mk
|
include src/main/iidxhook4/Module.mk
|
||||||
|
include src/main/iidxhook4-cn/Module.mk
|
||||||
include src/main/iidxhook5/Module.mk
|
include src/main/iidxhook5/Module.mk
|
||||||
|
include src/main/iidxhook5-cn/Module.mk
|
||||||
include src/main/iidxhook6/Module.mk
|
include src/main/iidxhook6/Module.mk
|
||||||
include src/main/iidxhook7/Module.mk
|
include src/main/iidxhook7/Module.mk
|
||||||
include src/main/iidxhook8/Module.mk
|
include src/main/iidxhook8/Module.mk
|
||||||
include src/main/iidxhook9/Module.mk
|
include src/main/iidxhook9/Module.mk
|
||||||
include src/main/iidxio/Module.mk
|
include src/main/iidxio-bio2/Module.mk
|
||||||
include src/main/iidxio-ezusb/Module.mk
|
include src/main/iidxio-ezusb/Module.mk
|
||||||
include src/main/iidxio-ezusb2/Module.mk
|
include src/main/iidxio-ezusb2/Module.mk
|
||||||
|
include src/main/iidxio/Module.mk
|
||||||
include src/main/iidxiotest/Module.mk
|
include src/main/iidxiotest/Module.mk
|
||||||
include src/main/inject/Module.mk
|
include src/main/inject/Module.mk
|
||||||
|
include src/main/jbio-magicbox/Module.mk
|
||||||
|
include src/main/jbio-p4io/Module.mk
|
||||||
include src/main/jbio/Module.mk
|
include src/main/jbio/Module.mk
|
||||||
include src/main/jbiotest/Module.mk
|
include src/main/jbiotest/Module.mk
|
||||||
include src/main/jbhook/Module.mk
|
include src/main/jbhook-util/Module.mk
|
||||||
|
include src/main/jbhook-util-p3io/Module.mk
|
||||||
include src/main/jbhook1/Module.mk
|
include src/main/jbhook1/Module.mk
|
||||||
|
include src/main/jbhook2/Module.mk
|
||||||
|
include src/main/jbhook3/Module.mk
|
||||||
include src/main/launcher/Module.mk
|
include src/main/launcher/Module.mk
|
||||||
include src/main/mempatch-hook/Module.mk
|
include src/main/mempatch-hook/Module.mk
|
||||||
include src/main/mm/Module.mk
|
include src/main/mm/Module.mk
|
||||||
include src/main/p3io/Module.mk
|
include src/main/p3io/Module.mk
|
||||||
include src/main/p3ioemu/Module.mk
|
include src/main/p3ioemu/Module.mk
|
||||||
|
include src/main/p4iodrv/Module.mk
|
||||||
include src/main/p4ioemu/Module.mk
|
include src/main/p4ioemu/Module.mk
|
||||||
|
include src/main/popnhook-util/Module.mk
|
||||||
|
include src/main/popnhook1/Module.mk
|
||||||
|
include src/main/popnio/Module.mk
|
||||||
include src/main/pcbidgen/Module.mk
|
include src/main/pcbidgen/Module.mk
|
||||||
include src/main/sdvxhook/Module.mk
|
include src/main/sdvxhook/Module.mk
|
||||||
include src/main/sdvxhook2/Module.mk
|
|
||||||
include src/main/sdvxhook2-cn/Module.mk
|
include src/main/sdvxhook2-cn/Module.mk
|
||||||
include src/main/sdvxio/Module.mk
|
include src/main/sdvxhook2/Module.mk
|
||||||
include src/main/sdvxio-kfca/Module.mk
|
|
||||||
include src/main/sdvxio-bio2/Module.mk
|
include src/main/sdvxio-bio2/Module.mk
|
||||||
|
include src/main/sdvxio-kfca/Module.mk
|
||||||
|
include src/main/sdvxio/Module.mk
|
||||||
include src/main/security/Module.mk
|
include src/main/security/Module.mk
|
||||||
include src/main/unicorntail/Module.mk
|
include src/main/unicorntail/Module.mk
|
||||||
include src/main/util/Module.mk
|
include src/main/util/Module.mk
|
||||||
include src/main/vefxio/Module.mk
|
include src/main/vefxio/Module.mk
|
||||||
|
include src/main/vigem-iidxio/Module.mk
|
||||||
include src/main/vigem-sdvxio/Module.mk
|
include src/main/vigem-sdvxio/Module.mk
|
||||||
include src/main/vigemstub/Module.mk
|
include src/main/vigemstub/Module.mk
|
||||||
|
|
||||||
include src/test/cconfig/Module.mk
|
include src/test/cconfig/Module.mk
|
||||||
include src/test/d3d9hook/Module.mk
|
include src/test/d3d9hook/Module.mk
|
||||||
include src/test/iidxhook-util/Module.mk
|
include src/test/iidxhook-util/Module.mk
|
||||||
|
include src/test/iidxhook8/Module.mk
|
||||||
include src/test/security/Module.mk
|
include src/test/security/Module.mk
|
||||||
include src/test/test/Module.mk
|
include src/test/test/Module.mk
|
||||||
include src/test/util/Module.mk
|
include src/test/util/Module.mk
|
||||||
include src/test/iidxhook8/Module.mk
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Distribution build rules
|
# Distribution build rules
|
||||||
@@ -176,6 +208,7 @@ $(zipdir)/tools.zip: \
|
|||||||
build/bin/indep-32/ezusb-iidx-fpga-flash.exe \
|
build/bin/indep-32/ezusb-iidx-fpga-flash.exe \
|
||||||
build/bin/indep-32/ezusb-iidx-sram-flash.exe \
|
build/bin/indep-32/ezusb-iidx-sram-flash.exe \
|
||||||
build/bin/indep-32/iidxiotest.exe \
|
build/bin/indep-32/iidxiotest.exe \
|
||||||
|
build/bin/indep-32/iidx-bio2-exit-hook.dll \
|
||||||
build/bin/indep-32/iidx-ezusb-exit-hook.dll \
|
build/bin/indep-32/iidx-ezusb-exit-hook.dll \
|
||||||
build/bin/indep-32/iidx-ezusb2-exit-hook.dll \
|
build/bin/indep-32/iidx-ezusb2-exit-hook.dll \
|
||||||
build/bin/indep-32/jbiotest.exe \
|
build/bin/indep-32/jbiotest.exe \
|
||||||
@@ -194,6 +227,7 @@ $(zipdir)/tools-x64.zip: \
|
|||||||
build/bin/indep-64/aciotest.exe \
|
build/bin/indep-64/aciotest.exe \
|
||||||
build/bin/indep-64/eamiotest.exe \
|
build/bin/indep-64/eamiotest.exe \
|
||||||
build/bin/indep-64/iidxiotest.exe \
|
build/bin/indep-64/iidxiotest.exe \
|
||||||
|
build/bin/indep-64/iidx-bio2-exit-hook.dll \
|
||||||
build/bin/indep-64/iidx-ezusb-exit-hook.dll \
|
build/bin/indep-64/iidx-ezusb-exit-hook.dll \
|
||||||
build/bin/indep-64/iidx-ezusb2-exit-hook.dll \
|
build/bin/indep-64/iidx-ezusb2-exit-hook.dll \
|
||||||
build/bin/indep-64/jbiotest.exe \
|
build/bin/indep-64/jbiotest.exe \
|
||||||
@@ -281,6 +315,21 @@ $(zipdir)/iidx-18.zip: \
|
|||||||
$(V)echo ... $@
|
$(V)echo ... $@
|
||||||
$(V)zip -j $@ $^
|
$(V)zip -j $@ $^
|
||||||
|
|
||||||
|
$(zipdir)/iidx-18-cn.zip: \
|
||||||
|
build/bin/avs2_1101-32/iidxhook4-cn.dll \
|
||||||
|
build/bin/indep-32/config.exe \
|
||||||
|
build/bin/indep-32/geninput.dll \
|
||||||
|
build/bin/indep-32/iidxio.dll \
|
||||||
|
build/bin/indep-32/vefxio.dll \
|
||||||
|
build/bin/indep-32/inject.exe \
|
||||||
|
dist/iidx/config.bat \
|
||||||
|
dist/iidx/gamestart-18-cn.bat \
|
||||||
|
dist/iidx/iidxhook-18-cn.conf \
|
||||||
|
dist/iidx/vefx.txt \
|
||||||
|
| $(zipdir)/
|
||||||
|
$(V)echo ... $@
|
||||||
|
$(V)zip -j $@ $^
|
||||||
|
|
||||||
$(zipdir)/iidx-19.zip: \
|
$(zipdir)/iidx-19.zip: \
|
||||||
build/bin/avs2_1304-32/iidxhook5.dll \
|
build/bin/avs2_1304-32/iidxhook5.dll \
|
||||||
build/bin/avs2_1304-32/launcher.exe \
|
build/bin/avs2_1304-32/launcher.exe \
|
||||||
@@ -313,6 +362,21 @@ $(zipdir)/iidx-20.zip: \
|
|||||||
$(V)echo ... $@
|
$(V)echo ... $@
|
||||||
$(V)zip -j $@ $^
|
$(V)zip -j $@ $^
|
||||||
|
|
||||||
|
$(zipdir)/iidx-20-cn.zip: \
|
||||||
|
build/bin/avs2_1304-32/iidxhook5-cn.dll \
|
||||||
|
build/bin/indep-32/config.exe \
|
||||||
|
build/bin/indep-32/geninput.dll \
|
||||||
|
build/bin/indep-32/iidxio.dll \
|
||||||
|
build/bin/indep-32/vefxio.dll \
|
||||||
|
build/bin/indep-32/inject.exe \
|
||||||
|
dist/iidx/config.bat \
|
||||||
|
dist/iidx/gamestart-20-cn.bat \
|
||||||
|
dist/iidx/iidxhook-20-cn.conf \
|
||||||
|
dist/iidx/vefx.txt \
|
||||||
|
| $(zipdir)/
|
||||||
|
$(V)echo ... $@
|
||||||
|
$(V)zip -j $@ $^
|
||||||
|
|
||||||
$(zipdir)/iidx-21-to-24.zip: \
|
$(zipdir)/iidx-21-to-24.zip: \
|
||||||
build/bin/avs2_1601-32/iidxhook7.dll \
|
build/bin/avs2_1601-32/iidxhook7.dll \
|
||||||
build/bin/avs2_1601-32/launcher.exe \
|
build/bin/avs2_1601-32/launcher.exe \
|
||||||
@@ -353,7 +417,7 @@ $(zipdir)/iidx-25-to-26.zip: \
|
|||||||
$(V)echo ... $@
|
$(V)echo ... $@
|
||||||
$(V)zip -j $@ $^
|
$(V)zip -j $@ $^
|
||||||
|
|
||||||
$(zipdir)/iidx-27.zip: \
|
$(zipdir)/iidx-27-to-29.zip: \
|
||||||
build/bin/avs2_1700-64/iidxhook9.dll \
|
build/bin/avs2_1700-64/iidxhook9.dll \
|
||||||
build/bin/avs2_1700-64/launcher.exe \
|
build/bin/avs2_1700-64/launcher.exe \
|
||||||
build/bin/indep-64/config.exe \
|
build/bin/indep-64/config.exe \
|
||||||
@@ -363,24 +427,38 @@ $(zipdir)/iidx-27.zip: \
|
|||||||
build/bin/indep-64/vefxio.dll \
|
build/bin/indep-64/vefxio.dll \
|
||||||
dist/iidx/config.bat \
|
dist/iidx/config.bat \
|
||||||
dist/iidx/gamestart-27.bat \
|
dist/iidx/gamestart-27.bat \
|
||||||
|
dist/iidx/gamestart-28.bat \
|
||||||
|
dist/iidx/gamestart-29.bat \
|
||||||
dist/iidx/iidxhook-27.conf \
|
dist/iidx/iidxhook-27.conf \
|
||||||
|
dist/iidx/iidxhook-28.conf \
|
||||||
|
dist/iidx/iidxhook-29.conf \
|
||||||
dist/iidx/vefx.txt \
|
dist/iidx/vefx.txt \
|
||||||
| $(zipdir)/
|
| $(zipdir)/
|
||||||
$(V)echo ... $@
|
$(V)echo ... $@
|
||||||
$(V)zip -j $@ $^
|
$(V)zip -j $@ $^
|
||||||
|
|
||||||
$(zipdir)/iidx-hwio-x86.zip: \
|
$(zipdir)/iidx-hwio-x86.zip: \
|
||||||
|
build/bin/indep-32/aciomgr.dll \
|
||||||
build/bin/indep-32/eamio-icca.dll \
|
build/bin/indep-32/eamio-icca.dll \
|
||||||
|
build/bin/indep-32/iidxio-bio2.dll \
|
||||||
build/bin/indep-32/iidxio-ezusb.dll \
|
build/bin/indep-32/iidxio-ezusb.dll \
|
||||||
build/bin/indep-32/iidxio-ezusb2.dll \
|
build/bin/indep-32/iidxio-ezusb2.dll \
|
||||||
|
dist/iidx/iidxio-bio2.conf \
|
||||||
|
build/bin/indep-32/vigem-iidxio.exe \
|
||||||
|
dist/iidx/vigem-iidxio.conf \
|
||||||
| $(zipdir)/
|
| $(zipdir)/
|
||||||
$(V)echo ... $@
|
$(V)echo ... $@
|
||||||
$(V)zip -j $@ $^
|
$(V)zip -j $@ $^
|
||||||
|
|
||||||
$(zipdir)/iidx-hwio-x64.zip: \
|
$(zipdir)/iidx-hwio-x64.zip: \
|
||||||
|
build/bin/indep-64/aciomgr.dll \
|
||||||
build/bin/indep-64/eamio-icca.dll \
|
build/bin/indep-64/eamio-icca.dll \
|
||||||
|
build/bin/indep-64/iidxio-bio2.dll \
|
||||||
build/bin/indep-64/iidxio-ezusb.dll \
|
build/bin/indep-64/iidxio-ezusb.dll \
|
||||||
build/bin/indep-64/iidxio-ezusb2.dll \
|
build/bin/indep-64/iidxio-ezusb2.dll \
|
||||||
|
dist/iidx/iidxio-bio2.conf \
|
||||||
|
build/bin/indep-64/vigem-iidxio.exe \
|
||||||
|
dist/iidx/vigem-iidxio.conf \
|
||||||
| $(zipdir)/
|
| $(zipdir)/
|
||||||
$(V)echo ... $@
|
$(V)echo ... $@
|
||||||
$(V)zip -j $@ $^
|
$(V)zip -j $@ $^
|
||||||
@@ -399,28 +477,79 @@ $(zipdir)/jb-01.zip: \
|
|||||||
$(V)echo ... $@
|
$(V)echo ... $@
|
||||||
$(V)zip -j $@ $^
|
$(V)zip -j $@ $^
|
||||||
|
|
||||||
|
$(zipdir)/jb-02.zip: \
|
||||||
|
build/bin/avs2_1002-32/jbhook1.dll \
|
||||||
|
build/bin/indep-32/inject.exe \
|
||||||
|
build/bin/indep-32/config.exe \
|
||||||
|
build/bin/indep-32/eamio.dll \
|
||||||
|
build/bin/indep-32/geninput.dll \
|
||||||
|
build/bin/indep-32/jbio.dll \
|
||||||
|
dist/jb/config.bat \
|
||||||
|
dist/jb/gamestart-02.bat \
|
||||||
|
dist/jb/jbhook-02.conf \
|
||||||
|
| $(zipdir)/
|
||||||
|
$(V)echo ... $@
|
||||||
|
$(V)zip -j $@ $^
|
||||||
|
|
||||||
|
$(zipdir)/jb-03.zip: \
|
||||||
|
build/bin/avs2_1101-32/jbhook2.dll \
|
||||||
|
build/bin/avs2_1101-32/launcher.exe \
|
||||||
|
build/bin/indep-32/config.exe \
|
||||||
|
build/bin/indep-32/eamio.dll \
|
||||||
|
build/bin/indep-32/geninput.dll \
|
||||||
|
build/bin/indep-32/jbio.dll \
|
||||||
|
dist/jb/config.bat \
|
||||||
|
dist/jb/gamestart-03.bat \
|
||||||
|
| $(zipdir)/
|
||||||
|
$(V)echo ... $@
|
||||||
|
$(V)zip -j $@ $^
|
||||||
|
|
||||||
|
$(zipdir)/jb-04.zip: \
|
||||||
|
build/bin/avs2_1304-32/jbhook2.dll \
|
||||||
|
build/bin/avs2_1304-32/launcher.exe \
|
||||||
|
build/bin/indep-32/config.exe \
|
||||||
|
build/bin/indep-32/eamio.dll \
|
||||||
|
build/bin/indep-32/geninput.dll \
|
||||||
|
build/bin/indep-32/jbio.dll \
|
||||||
|
dist/jb/config.bat \
|
||||||
|
dist/jb/gamestart-03.bat \
|
||||||
|
| $(zipdir)/
|
||||||
|
$(V)echo ... $@
|
||||||
|
$(V)zip -j $@ $^
|
||||||
|
|
||||||
$(zipdir)/jb-05-to-07.zip: \
|
$(zipdir)/jb-05-to-07.zip: \
|
||||||
build/bin/avs2_1508-32/jbhook.dll \
|
build/bin/avs2_1508-32/jbhook3.dll \
|
||||||
build/bin/avs2_1508-32/launcher.exe \
|
build/bin/avs2_1508-32/launcher.exe \
|
||||||
build/bin/indep-32/config.exe \
|
build/bin/indep-32/config.exe \
|
||||||
build/bin/indep-32/eamio.dll \
|
build/bin/indep-32/eamio.dll \
|
||||||
build/bin/indep-32/geninput.dll \
|
build/bin/indep-32/geninput.dll \
|
||||||
build/bin/indep-32/jbio.dll \
|
build/bin/indep-32/jbio.dll \
|
||||||
dist/jb/config.bat \
|
dist/jb/config.bat \
|
||||||
dist/jb/gamestart.bat \
|
dist/jb/gamestart-04.bat \
|
||||||
| $(zipdir)/
|
| $(zipdir)/
|
||||||
$(V)echo ... $@
|
$(V)echo ... $@
|
||||||
$(V)zip -j $@ $^
|
$(V)zip -j $@ $^
|
||||||
|
|
||||||
$(zipdir)/jb-08.zip: \
|
$(zipdir)/jb-08.zip: \
|
||||||
build/bin/avs2_1700-32/jbhook.dll \
|
build/bin/avs2_1700-32/jbhook3.dll \
|
||||||
build/bin/avs2_1700-32/launcher.exe \
|
build/bin/avs2_1700-32/launcher.exe \
|
||||||
build/bin/indep-32/config.exe \
|
build/bin/indep-32/config.exe \
|
||||||
build/bin/indep-32/eamio.dll \
|
build/bin/indep-32/eamio.dll \
|
||||||
build/bin/indep-32/geninput.dll \
|
build/bin/indep-32/geninput.dll \
|
||||||
build/bin/indep-32/jbio.dll \
|
build/bin/indep-32/jbio.dll \
|
||||||
dist/jb/config.bat \
|
dist/jb/config.bat \
|
||||||
dist/jb/gamestart.bat \
|
dist/jb/gamestart-04.bat \
|
||||||
|
| $(zipdir)/
|
||||||
|
$(V)echo ... $@
|
||||||
|
$(V)zip -j $@ $^
|
||||||
|
|
||||||
|
$(zipdir)/jb-hwio.zip: \
|
||||||
|
build/bin/indep-32/aciomgr.dll \
|
||||||
|
build/bin/indep-32/eamio-icca.dll \
|
||||||
|
build/bin/indep-32/jbio-magicbox.dll \
|
||||||
|
build/bin/indep-32/jbio-p4io.dll \
|
||||||
|
dist/jb/jbio-h44b.conf \
|
||||||
|
dist/jb/eamio-icc.conf \
|
||||||
| $(zipdir)/
|
| $(zipdir)/
|
||||||
$(V)echo ... $@
|
$(V)echo ... $@
|
||||||
$(V)zip -j $@ $^
|
$(V)zip -j $@ $^
|
||||||
@@ -438,7 +567,7 @@ $(zipdir)/sdvx-01-to-04.zip: \
|
|||||||
$(V)echo ... $@
|
$(V)echo ... $@
|
||||||
$(V)zip -j $@ $^
|
$(V)zip -j $@ $^
|
||||||
|
|
||||||
$(zipdir)/sdvx-05.zip: \
|
$(zipdir)/sdvx-05-to-06.zip: \
|
||||||
build/bin/avs2_1700-64/launcher.exe \
|
build/bin/avs2_1700-64/launcher.exe \
|
||||||
build/bin/avs2_1700-64/sdvxhook2.dll \
|
build/bin/avs2_1700-64/sdvxhook2.dll \
|
||||||
build/bin/indep-64/config.exe \
|
build/bin/indep-64/config.exe \
|
||||||
@@ -467,6 +596,8 @@ $(zipdir)/sdvx-05-cn.zip: \
|
|||||||
$(V)zip -j $@ $^
|
$(V)zip -j $@ $^
|
||||||
|
|
||||||
$(zipdir)/sdvx-hwio-x86.zip: \
|
$(zipdir)/sdvx-hwio-x86.zip: \
|
||||||
|
build/bin/indep-32/aciomgr.dll \
|
||||||
|
build/bin/indep-32/eamio-icca.dll \
|
||||||
build/bin/indep-32/sdvxio-kfca.dll \
|
build/bin/indep-32/sdvxio-kfca.dll \
|
||||||
build/bin/indep-32/sdvxio-bio2.dll \
|
build/bin/indep-32/sdvxio-bio2.dll \
|
||||||
build/bin/indep-32/vigem-sdvxio.exe \
|
build/bin/indep-32/vigem-sdvxio.exe \
|
||||||
@@ -475,6 +606,8 @@ $(zipdir)/sdvx-hwio-x86.zip: \
|
|||||||
$(V)zip -j $@ $^
|
$(V)zip -j $@ $^
|
||||||
|
|
||||||
$(zipdir)/sdvx-hwio-x64.zip: \
|
$(zipdir)/sdvx-hwio-x64.zip: \
|
||||||
|
build/bin/indep-64/aciomgr.dll \
|
||||||
|
build/bin/indep-64/eamio-icca.dll \
|
||||||
build/bin/indep-64/sdvxio-kfca.dll \
|
build/bin/indep-64/sdvxio-kfca.dll \
|
||||||
build/bin/indep-64/sdvxio-bio2.dll \
|
build/bin/indep-64/sdvxio-bio2.dll \
|
||||||
build/bin/indep-64/vigem-sdvxio.exe \
|
build/bin/indep-64/vigem-sdvxio.exe \
|
||||||
@@ -482,10 +615,48 @@ $(zipdir)/sdvx-hwio-x64.zip: \
|
|||||||
$(V)echo ... $@
|
$(V)echo ... $@
|
||||||
$(V)zip -j $@ $^
|
$(V)zip -j $@ $^
|
||||||
|
|
||||||
$(zipdir)/ddr-12-to-16.zip: \
|
$(zipdir)/ddr-11.zip: \
|
||||||
build/bin/avs2_1508-32/launcher.exe \
|
build/bin/indep-32/inject.exe \
|
||||||
build/bin/avs2_1508-32/ddrhook.dll \
|
build/bin/avs2_803-32/ddrhook1.dll \
|
||||||
build/bin/avs2_1508-32/unicorntail.dll \
|
build/bin/avs2_803-32/unicorntail.dll \
|
||||||
|
build/bin/indep-32/config.exe \
|
||||||
|
build/bin/indep-32/ddrio.dll \
|
||||||
|
build/bin/indep-32/ddrio-mm.dll \
|
||||||
|
build/bin/indep-32/ddrio-smx.dll \
|
||||||
|
build/bin/indep-32/eamio.dll \
|
||||||
|
build/bin/indep-32/geninput.dll \
|
||||||
|
dist/ddr/config.bat \
|
||||||
|
dist/ddr/gamestart-11.bat \
|
||||||
|
dist/ddr/gamestart-11-us.bat \
|
||||||
|
dist/ddr/ddr-11.conf \
|
||||||
|
dist/ddr/ddr-11-us.conf \
|
||||||
|
| $(zipdir)/
|
||||||
|
$(V)echo ... $@
|
||||||
|
$(V)zip -j $@ $^
|
||||||
|
|
||||||
|
$(zipdir)/ddr-12-us.zip: \
|
||||||
|
build/bin/indep-32/inject.exe \
|
||||||
|
build/bin/avs2_1002-32/ddrhook1.dll \
|
||||||
|
build/bin/avs2_1002-32/unicorntail.dll \
|
||||||
|
build/bin/indep-32/config.exe \
|
||||||
|
build/bin/indep-32/ddrio.dll \
|
||||||
|
build/bin/indep-32/ddrio-mm.dll \
|
||||||
|
build/bin/indep-32/ddrio-smx.dll \
|
||||||
|
build/bin/indep-32/eamio.dll \
|
||||||
|
build/bin/indep-32/geninput.dll \
|
||||||
|
dist/ddr/config.bat \
|
||||||
|
dist/ddr/gamestart-12-us.bat \
|
||||||
|
dist/ddr/gamestart-12-eu.bat \
|
||||||
|
dist/ddr/ddr-12-us.conf \
|
||||||
|
dist/ddr/ddr-12-eu.conf \
|
||||||
|
| $(zipdir)/
|
||||||
|
$(V)echo ... $@
|
||||||
|
$(V)zip -j $@ $^
|
||||||
|
|
||||||
|
$(zipdir)/ddr-12.zip: \
|
||||||
|
build/bin/avs2_1002-32/launcher.exe \
|
||||||
|
build/bin/avs2_1002-32/ddrhook2.dll \
|
||||||
|
build/bin/avs2_1002-32/unicorntail.dll \
|
||||||
build/bin/indep-32/config.exe \
|
build/bin/indep-32/config.exe \
|
||||||
build/bin/indep-32/ddrio.dll \
|
build/bin/indep-32/ddrio.dll \
|
||||||
build/bin/indep-32/ddrio-mm.dll \
|
build/bin/indep-32/ddrio-mm.dll \
|
||||||
@@ -494,7 +665,37 @@ $(zipdir)/ddr-12-to-16.zip: \
|
|||||||
build/bin/indep-32/geninput.dll \
|
build/bin/indep-32/geninput.dll \
|
||||||
dist/ddr/config.bat \
|
dist/ddr/config.bat \
|
||||||
dist/ddr/gamestart-12.bat \
|
dist/ddr/gamestart-12.bat \
|
||||||
|
| $(zipdir)/
|
||||||
|
$(V)echo ... $@
|
||||||
|
$(V)zip -j $@ $^
|
||||||
|
|
||||||
|
$(zipdir)/ddr-13.zip: \
|
||||||
|
build/bin/avs2_1304-32/launcher.exe \
|
||||||
|
build/bin/avs2_1304-32/ddrhook2.dll \
|
||||||
|
build/bin/avs2_1304-32/unicorntail.dll \
|
||||||
|
build/bin/indep-32/config.exe \
|
||||||
|
build/bin/indep-32/ddrio.dll \
|
||||||
|
build/bin/indep-32/ddrio-mm.dll \
|
||||||
|
build/bin/indep-32/ddrio-smx.dll \
|
||||||
|
build/bin/indep-32/eamio.dll \
|
||||||
|
build/bin/indep-32/geninput.dll \
|
||||||
|
dist/ddr/config.bat \
|
||||||
dist/ddr/gamestart-13.bat \
|
dist/ddr/gamestart-13.bat \
|
||||||
|
| $(zipdir)/
|
||||||
|
$(V)echo ... $@
|
||||||
|
$(V)zip -j $@ $^
|
||||||
|
|
||||||
|
$(zipdir)/ddr-14-to-16.zip: \
|
||||||
|
build/bin/avs2_1508-32/launcher.exe \
|
||||||
|
build/bin/avs2_1508-32/ddrhook2.dll \
|
||||||
|
build/bin/avs2_1508-32/unicorntail.dll \
|
||||||
|
build/bin/indep-32/config.exe \
|
||||||
|
build/bin/indep-32/ddrio.dll \
|
||||||
|
build/bin/indep-32/ddrio-mm.dll \
|
||||||
|
build/bin/indep-32/ddrio-smx.dll \
|
||||||
|
build/bin/indep-32/eamio.dll \
|
||||||
|
build/bin/indep-32/geninput.dll \
|
||||||
|
dist/ddr/config.bat \
|
||||||
dist/ddr/gamestart-14.bat \
|
dist/ddr/gamestart-14.bat \
|
||||||
dist/ddr/gamestart-15.bat \
|
dist/ddr/gamestart-15.bat \
|
||||||
dist/ddr/gamestart-16.bat \
|
dist/ddr/gamestart-16.bat \
|
||||||
@@ -504,7 +705,7 @@ $(zipdir)/ddr-12-to-16.zip: \
|
|||||||
|
|
||||||
$(zipdir)/ddr-16-x64.zip: \
|
$(zipdir)/ddr-16-x64.zip: \
|
||||||
build/bin/avs2_1603-64/launcher.exe \
|
build/bin/avs2_1603-64/launcher.exe \
|
||||||
build/bin/avs2_1603-64/ddrhook.dll \
|
build/bin/avs2_1603-64/ddrhook2.dll \
|
||||||
build/bin/avs2_1603-64/unicorntail.dll \
|
build/bin/avs2_1603-64/unicorntail.dll \
|
||||||
build/bin/indep-64/config.exe \
|
build/bin/indep-64/config.exe \
|
||||||
build/bin/indep-64/ddrio.dll \
|
build/bin/indep-64/ddrio.dll \
|
||||||
@@ -532,11 +733,29 @@ $(zipdir)/bst.zip: \
|
|||||||
$(V)echo ... $@
|
$(V)echo ... $@
|
||||||
$(V)zip -j $@ $^
|
$(V)zip -j $@ $^
|
||||||
|
|
||||||
|
$(zipdir)/popn-15-to-18.zip: \
|
||||||
|
build/bin/avs2_803-32/popnhook1.dll \
|
||||||
|
build/bin/indep-32/config.exe \
|
||||||
|
build/bin/indep-32/inject.exe \
|
||||||
|
build/bin/indep-32/geninput.dll \
|
||||||
|
build/bin/indep-32/eamio.dll \
|
||||||
|
build/bin/indep-32/popnio.dll \
|
||||||
|
build/bin/indep-32/ezusb2-popn-shim.dll \
|
||||||
|
dist/popn/config.bat \
|
||||||
|
dist/popn/gamestart-15.bat \
|
||||||
|
dist/popn/gamestart-16.bat \
|
||||||
|
dist/popn/gamestart-17.bat \
|
||||||
|
dist/popn/gamestart-18.bat \
|
||||||
|
dist/popn/popnhook-15.conf \
|
||||||
|
dist/popn/popnhook-16.conf \
|
||||||
|
dist/popn/popnhook-17.conf \
|
||||||
|
dist/popn/popnhook-18.conf \
|
||||||
|
| $(zipdir)/
|
||||||
|
$(V)echo ... $@
|
||||||
|
$(V)zip -j $@ $^
|
||||||
|
|
||||||
$(zipdir)/doc.zip: \
|
$(zipdir)/doc.zip: \
|
||||||
doc/iidxhook \
|
doc/ \
|
||||||
doc/sdvxhook \
|
|
||||||
doc/jbhook \
|
|
||||||
doc/tools \
|
|
||||||
| $(zipdir)/
|
| $(zipdir)/
|
||||||
$(V)echo ... $@
|
$(V)echo ... $@
|
||||||
$(V)zip -r $@ $^
|
$(V)zip -r $@ $^
|
||||||
@@ -569,25 +788,36 @@ $(BUILDDIR)/tests.zip: \
|
|||||||
|
|
||||||
$(BUILDDIR)/bemanitools.zip: \
|
$(BUILDDIR)/bemanitools.zip: \
|
||||||
$(zipdir)/bst.zip \
|
$(zipdir)/bst.zip \
|
||||||
$(zipdir)/ddr-12-to-16.zip \
|
$(zipdir)/ddr-11.zip \
|
||||||
|
$(zipdir)/ddr-12.zip \
|
||||||
|
$(zipdir)/ddr-12-us.zip \
|
||||||
|
$(zipdir)/ddr-13.zip \
|
||||||
|
$(zipdir)/ddr-14-to-16.zip \
|
||||||
$(zipdir)/ddr-16-x64.zip \
|
$(zipdir)/ddr-16-x64.zip \
|
||||||
$(zipdir)/doc.zip \
|
$(zipdir)/doc.zip \
|
||||||
$(zipdir)/iidx-09-to-12.zip \
|
$(zipdir)/iidx-09-to-12.zip \
|
||||||
$(zipdir)/iidx-13.zip \
|
$(zipdir)/iidx-13.zip \
|
||||||
$(zipdir)/iidx-14-to-17.zip \
|
$(zipdir)/iidx-14-to-17.zip \
|
||||||
$(zipdir)/iidx-18.zip \
|
$(zipdir)/iidx-18.zip \
|
||||||
|
$(zipdir)/iidx-18-cn.zip \
|
||||||
$(zipdir)/iidx-19.zip \
|
$(zipdir)/iidx-19.zip \
|
||||||
$(zipdir)/iidx-20.zip \
|
$(zipdir)/iidx-20.zip \
|
||||||
|
$(zipdir)/iidx-20-cn.zip \
|
||||||
$(zipdir)/iidx-21-to-24.zip \
|
$(zipdir)/iidx-21-to-24.zip \
|
||||||
$(zipdir)/iidx-25-to-26.zip \
|
$(zipdir)/iidx-25-to-26.zip \
|
||||||
$(zipdir)/iidx-27.zip \
|
$(zipdir)/iidx-27-to-29.zip \
|
||||||
$(zipdir)/iidx-hwio-x86.zip \
|
$(zipdir)/iidx-hwio-x86.zip \
|
||||||
$(zipdir)/iidx-hwio-x64.zip \
|
$(zipdir)/iidx-hwio-x64.zip \
|
||||||
$(zipdir)/jb-01.zip \
|
$(zipdir)/jb-01.zip \
|
||||||
|
$(zipdir)/jb-02.zip \
|
||||||
|
$(zipdir)/jb-03.zip \
|
||||||
|
$(zipdir)/jb-04.zip \
|
||||||
$(zipdir)/jb-05-to-07.zip \
|
$(zipdir)/jb-05-to-07.zip \
|
||||||
$(zipdir)/jb-08.zip \
|
$(zipdir)/jb-08.zip \
|
||||||
|
$(zipdir)/jb-hwio.zip \
|
||||||
|
$(zipdir)/popn-15-to-18.zip \
|
||||||
$(zipdir)/sdvx-01-to-04.zip \
|
$(zipdir)/sdvx-01-to-04.zip \
|
||||||
$(zipdir)/sdvx-05.zip \
|
$(zipdir)/sdvx-05-to-06.zip \
|
||||||
$(zipdir)/sdvx-05-cn.zip \
|
$(zipdir)/sdvx-05-cn.zip \
|
||||||
$(zipdir)/sdvx-hwio-x86.zip \
|
$(zipdir)/sdvx-hwio-x86.zip \
|
||||||
$(zipdir)/sdvx-hwio-x64.zip \
|
$(zipdir)/sdvx-hwio-x64.zip \
|
||||||
|
|||||||
186
README.md
186
README.md
@@ -1,99 +1,165 @@
|
|||||||
# Bemanitools 5
|
# Bemanitools 5
|
||||||
[](https://dev.s-ul.eu/djhackers/bemanitools/commits/master)
|
[](https://dev.s-ul.net/djhackers/bemanitools/commits/master)
|
||||||
|
|
||||||
Version: 5.33
|
Version: 5.45
|
||||||
|
|
||||||
[Release history](CHANGELOG.md)
|
[Release history](CHANGELOG.md)
|
||||||
|
|
||||||
A collection of tools to run [various Bemani arcade games](#list-of-supported-games).
|
A collection of tools to run [various Bemani arcade games](#supported-games).
|
||||||
|
|
||||||
Bemanitools 5 (BT5) is the successor to Bemanitools 4 which introduces a big code cleanup and support for newer games.
|
Bemanitools 5 (BT5) is the successor to Bemanitools 4 which introduces a big code cleanup and support for newer games.
|
||||||
BT5 uses a cleaner approach than BT4 did; specifically, all input and lighting is handled by emulating the protocols
|
BT5 uses a cleaner approach than BT4 did; specifically, all input and lighting is handled by emulating the protocols
|
||||||
spoken by the real IO PCBs, instead of replacing chunks of game code like BT4. The benefits of this approach are a more
|
spoken by the real IO PCBs, instead of replacing chunks of game code like BT4. The benefits of this approach are a more
|
||||||
authentic gameplay experience, and easier support for a broader range of releases from each game series.
|
authentic gameplay experience, and easier support for a broader range of releases from each game series.
|
||||||
|
|
||||||
# List of supported games
|
## Documentation
|
||||||
* BeatStream
|
Browse our [documentation](doc/README.md) as it might already cover various questions and concerns
|
||||||
* BeatStream (bst.zip) using bsthook
|
you are looking for or about to ask.
|
||||||
* BeatStream アニムトライヴ (bst.zip) using bsthook
|
|
||||||
* Dance Dance Revolution
|
|
||||||
* Dance Dance Revolution X2 (ddr-12-to-16.zip) using ddrhook
|
|
||||||
* Dance Dance Revolution X3 vs. 2ndMIX (ddr-12-to-16.zip) using ddrhook
|
|
||||||
* Dance Dance Revolution 2013 (ddr-12-to-16.zip) using ddrhook
|
|
||||||
* Dance Dance Revolution 2014 (ddr-12-to-16.zip) using ddrhook
|
|
||||||
* Dance Dance Revolution A (ddr-12-to-16.zip) using ddrhook
|
|
||||||
* Beatmania IIDX
|
|
||||||
* Beatmania IIDX 9th Style (iidx-09-to-12.zip) using [iidxhook1](doc/iidxhook/iidxhook1.md)
|
|
||||||
* Beatmania IIDX 10th Style (iidx-09-to-12.zip) using [iidxhook1](doc/iidxhook/iidxhook1.md)
|
|
||||||
* Beatmania IIDX 11 IIDX RED (iidx-09-to-12.zip) using [iidxhook1](doc/iidxhook/iidxhook1.md)
|
|
||||||
* Beatmania IIDX 12 HAPPY SKY (iidx-09-to-12.zip) using [iidxhook1](doc/iidxhook/iidxhook1.md)
|
|
||||||
* Beatmania IIDX 13 DistorteD (iidx-13.zip) using [iidxhook2](doc/iidxhook/iidxhook2.md)
|
|
||||||
* Beatmania IIDX 14 GOLD (iidx-14-to-17.zip) using [iidxhook3](doc/iidxhook/iidxhook3.md)
|
|
||||||
* Beatmania IIDX 15 DJ TROOPERS (iidx-14-to-17.zip) using [iidxhook3](doc/iidxhook/iidxhook3.md)
|
|
||||||
* Beatmania IIDX 16 EMPRESS (iidx-14-to-17.zip) using [iidxhook3](doc/iidxhook/iidxhook3.md)
|
|
||||||
* Beatmania IIDX 17 SIRIUS (iidx-14-to-17.zip) using [iidxhook3](doc/iidxhook/iidxhook3.md)
|
|
||||||
* Beatmania IIDX 18 Resort Anthem (iidx-18.zip) using [iidxhook4](doc/iidxhook/iidxhook4.md)
|
|
||||||
* Beatmania IIDX 19 Lincle (iidx-19.zip) using [iidxhook5](doc/iidxhook/iidxhook5.md)
|
|
||||||
* Beatmania IIDX 20 Tricoro (iidx-20.zip) using [iidxhook6](doc/iidxhook/iidxhook6.md)
|
|
||||||
* Beatmania IIDX 21 SPADA (iidx-21-to-24.zip) using [iidxhook7](doc/iidxhook/iidxhook7.md)
|
|
||||||
* Beatmania IIDX 22 PENDUAL (iidx-21-to-24.zip) using [iidxhook7](doc/iidxhook/iidxhook7.md)
|
|
||||||
* Beatmania IIDX 23 copula (iidx-21-to-24.zip) using [iidxhook7](doc/iidxhook/iidxhook7.md)
|
|
||||||
* Beatmania IIDX 24 SINOBUZ (iidx-21-to-24.zip) using [iidxhook7](doc/iidxhook/iidxhook7.md)
|
|
||||||
* Beatmania IIDX 25 CANNON BALLERS (iidx-25-to-26.zip) using [iidxhook8](doc/iidxhook/iidxhook8.md)
|
|
||||||
* Beatmania IIDX 26 Rootage (iidx-25-to-26.zip) using [iidxhook8](doc/iidxhook/iidxhook8.md)
|
|
||||||
* Beatmania IIDX 27 Heroic Verse (iidx-27.zip) using [iidxhook9](doc/iidxhook/iidxhook9.md)
|
|
||||||
* jubeat
|
|
||||||
* jubeat (experimental/buggy) (jb-01.zip) using [jbhook1](doc/jbhook1/jbhook1.md)
|
|
||||||
* jubeat saucer (fulfill) (jb-05-to-07.zip) using jbhook
|
|
||||||
* jubeat prop (jb-05-to-07.zip) using jbhook
|
|
||||||
* jubeat Qubell (jb-05-to-07.zip) using jbhook
|
|
||||||
* jubeat clan (jb-08.zip) using jbhook
|
|
||||||
* SOUND VOLTEX
|
|
||||||
* SOUND VOLTEX BOOTH (sdvx-01-to-04.zip) using sdvxhook
|
|
||||||
* SOUND VOLTEX II -infinite infection- (sdvx-01-to-04.zip) using sdvxhook
|
|
||||||
* SOUND VOLTEX III GRAVITY WARS (sdvx-01-to-04.zip) using sdvxhook
|
|
||||||
* SOUND VOLTEX IV HEAVENLY HAVEN (sdvx-01-to-04.zip) using sdvxhook
|
|
||||||
* SOUND VOLTEX Vivid Wave (sdvx-05.zip) using sdvxhook2
|
|
||||||
|
|
||||||
# Supported platforms
|
## Contributions and bug reporting
|
||||||
|
[Read the dedicated CONTRIBUTING.md documentation](CONTRIBUTING.md).
|
||||||
|
|
||||||
|
The tl;dr version and golden rules of the sections in the document:
|
||||||
|
* **EVERYONE** can contribute, this is **NOT** limited to people coding
|
||||||
|
* [Open an issue on gitlab for discussions, feature requests and bug reports](CONTRIBUTING.md#reporting-and-discussions-issues-section-on-github)
|
||||||
|
* [ALWAYS report bugs as issues and ALWAYS use the available bug template](CONTRIBUTING.md#bug-reports)
|
||||||
|
* [Everyone is allowed to submit changes which are not just limited to code by opening merge requests](CONTRIBUTING.md#pull-requests-bugfixes-new-features-or-other-code-contributions)
|
||||||
|
* [Documentation improvements can and even should be contributed by non developers](CONTRIBUTING.md#pull-requests-bugfixes-new-features-or-other-code-contributions)
|
||||||
|
|
||||||
|
## Supported games
|
||||||
|
The following games are supported with their corresponding hook-libraries.
|
||||||
|
|
||||||
|
* BeatStream
|
||||||
|
* BeatStream (`bst.zip`): bsthook
|
||||||
|
* BeatStream アニムトライヴ (`bst.zip`): bsthook
|
||||||
|
* [Dance Dance Revolution](doc/ddrhook/README.md)
|
||||||
|
* Dance Dance Revolution X (`ddr-11.zip`): [ddrhook1](doc/ddrhook/ddrhook1.md)
|
||||||
|
* Dance Dance Revolution X2 (US/EU regions) (`ddr-12-us.zip`): [ddrhook1](doc/ddrhook/ddrhook1.md)
|
||||||
|
* Dance Dance Revolution X2 (JP region) (`ddr-12.zip`): [ddrhook2](doc/ddrhook/ddrhook2.md)
|
||||||
|
* Dance Dance Revolution 2013 (`ddr-14-to-16.zip`): [ddrhook2](doc/ddrhook/ddrhook2.md)
|
||||||
|
* Dance Dance Revolution 2014 (`ddr-14-to-16.zip`): [ddrhook2](doc/ddrhook/ddrhook2.md)
|
||||||
|
* Dance Dance Revolution A (`ddr-14-to-16.zip`): [ddrhook2](doc/ddrhook/ddrhook2.md)
|
||||||
|
* [Beatmania IIDX](doc/iidxhook/README.md)
|
||||||
|
* Beatmania IIDX 9th Style (`iidx-09-to-12.zip`): [iidxhook1](doc/iidxhook/iidxhook1.md)
|
||||||
|
* Beatmania IIDX 10th Style (`iidx-09-to-12.zip`): [iidxhook1](doc/iidxhook/iidxhook1.md)
|
||||||
|
* Beatmania IIDX 11 IIDX RED (`iidx-09-to-12.zip`): [iidxhook1](doc/iidxhook/iidxhook1.md)
|
||||||
|
* Beatmania IIDX 12 HAPPY SKY (`iidx-09-to-12.zip`): [iidxhook1](doc/iidxhook/iidxhook1.md)
|
||||||
|
* Beatmania IIDX 13 DistorteD (`iidx-13.zip`): [iidxhook2](doc/iidxhook/iidxhook2.md)
|
||||||
|
* Beatmania IIDX 14 GOLD (`iidx-14-to-17.zip`): [iidxhook3](doc/iidxhook/iidxhook3.md)
|
||||||
|
* Beatmania IIDX 15 DJ TROOPERS (`iidx-14-to-17.zip`): [iidxhook3](doc/iidxhook/iidxhook3.md)
|
||||||
|
* Beatmania IIDX 16 EMPRESS (`iidx-14-to-17.zip`): [iidxhook3](doc/iidxhook/iidxhook3.md)
|
||||||
|
* Beatmania IIDX 17 SIRIUS (`iidx-14-to-17.zip`): [iidxhook3](doc/iidxhook/iidxhook3.md)
|
||||||
|
* Beatmania IIDX 18 Resort Anthem (`iidx-18.zip`): [iidxhook4](doc/iidxhook/iidxhook4.md)
|
||||||
|
* Beatmania IIDX 19 Lincle (`iidx-19.zip`): [iidxhook5](doc/iidxhook/iidxhook5.md)
|
||||||
|
* Beatmania IIDX tricoro CN (狂热节拍 IIDX 2) (`iidx-20-cn.zip`): [iidxhook5-cn](doc/iidxhook/iidxhook5-cn.md)
|
||||||
|
* Beatmania IIDX 20 Tricoro (`iidx-20.zip`): [iidxhook6](doc/iidxhook/iidxhook6.md)
|
||||||
|
* Beatmania IIDX 21 SPADA (`iidx-21-to-24.zip`): [iidxhook7](doc/iidxhook/iidxhook7.md)
|
||||||
|
* Beatmania IIDX 22 PENDUAL (`iidx-21-to-24.zip`): [iidxhook7](doc/iidxhook/iidxhook7.md)
|
||||||
|
* Beatmania IIDX 23 copula (`iidx-21-to-24.zip`): [iidxhook7](doc/iidxhook/iidxhook7.md)
|
||||||
|
* Beatmania IIDX 24 SINOBUZ (`iidx-21-to-24.zip`): [iidxhook7](doc/iidxhook/iidxhook7.md)
|
||||||
|
* Beatmania IIDX 25 CANNON BALLERS (`iidx-25-to-26.zip`): [iidxhook8](doc/iidxhook/iidxhook8.md)
|
||||||
|
* Beatmania IIDX 26 Rootage (`iidx-25-to-26.zip`): [iidxhook8](doc/iidxhook/iidxhook8.md)
|
||||||
|
* Beatmania IIDX 27 Heroic Verse (`iidx-27-to-29.zip`): [iidxhook9](doc/iidxhook/iidxhook9.md)
|
||||||
|
* Beatmania IIDX 28 BISTROVER (`iidx-27-to-29.zip`): [iidxhook9](doc/iidxhook/iidxhook9.md)
|
||||||
|
* Beatmania IIDX 29 CASTHOUR (`iidx-27-to-29.zip`): [iidxhook9](doc/iidxhook/iidxhook9.md)
|
||||||
|
* [jubeat](doc/jbhook/README.md)
|
||||||
|
* jubeat (`jb-01.zip`): [jbhook1](doc/jbhook/jbhook1.md)
|
||||||
|
* jubeat ripples (`jb-02.zip`): [jbhook1](doc/jbhook/jbhook1.md)
|
||||||
|
* jubeat knit (`jb-03.zip`): [jbhook2](doc/jbhook/jbhook2.md)
|
||||||
|
* jubeat copious (`jb-04.zip`): [jbhook2](doc/jbhook/jbhook2.md)
|
||||||
|
* jubeat saucer (fulfill) (`jb-05-to-07.zip`): [jbhook3](doc/jbhook/jbhook3.md)
|
||||||
|
* jubeat prop (`jb-05-to-07.zip`): [jbhook3](doc/jbhook/jbhook3.md)
|
||||||
|
* jubeat qubell (`jb-05-to-07.zip`): [jbhook3](doc/jbhook/jbhook3.md)
|
||||||
|
* jubeat clan (`jb-08.zip`): [jbhook3](doc/jbhook/jbhook3.md)
|
||||||
|
* jubeat festo (`jb-08.zip`): [jbhook3](doc/jbhook/jbhook3.md)
|
||||||
|
* [pop'n music](doc/popnhook/README.md)
|
||||||
|
* pop'n music 15 ADVENTURE (`popn-15-to-18.zip`) using [popnhook1](doc/popnhook/popnhook1.md)
|
||||||
|
* pop'n music 16 PARTY♪ (`popn-15-to-18.zip`) using [popnhook1](doc/popnhook/popnhook1.md)
|
||||||
|
* pop'n music 17 THE MOVIE (`popn-15-to-18.zip`) using [popnhook1](doc/popnhook/popnhook1.md)
|
||||||
|
* pop'n music 18 せんごく列伝 (`popn-15-to-18.zip`) using [popnhook1](doc/popnhook/popnhook1.md)
|
||||||
|
* SOUND VOLTEX
|
||||||
|
* SOUND VOLTEX BOOTH (`sdvx-01-to-04.zip`): sdvxhook
|
||||||
|
* SOUND VOLTEX II -infinite infection- (`sdvx-01-to-04.zip`): sdvxhook
|
||||||
|
* SOUND VOLTEX III GRAVITY WARS (`sdvx-01-to-04.zip`): sdvxhook
|
||||||
|
* SOUND VOLTEX IV HEAVENLY HAVEN (`sdvx-01-to-04.zip`): sdvxhook
|
||||||
|
* SOUND VOLTEX Vivid Wave (`sdvx-05-to-06`): sdvxhook2
|
||||||
|
* SOUND VOLTEX EXCEED GEAR (`sdvx-05-to-06`): sdvxhook2
|
||||||
|
|
||||||
|
## Auxiliary tooling
|
||||||
|
* Bootstrapping
|
||||||
|
* [inject](doc/inject.md): Inject arbitrary hooking libraries into a target application process.
|
||||||
|
* [launcher](doc/launcher.md): Bootstrap Konami's AVS environment and launch a target application with arbitrary
|
||||||
|
injected hooking libraries.
|
||||||
|
* Beatmnia IIDX Ezusb IO board
|
||||||
|
* [ezusb-iidx-fpga-flash](doc/tools/ezusb-iidx-fpga-flash.md): Flash a binary blob with FPGA firmware to a target
|
||||||
|
ezusb FX IO board
|
||||||
|
* [ezusb-iidx-sram-flash](doc/tools/ezusb-iidx-sram-flash.md): Flash a binary blob with SRAM contents to a target
|
||||||
|
ezusb FX2 IO board
|
||||||
|
* Exit hooks: Exit the game with a button combination using native cabinet inputs
|
||||||
|
* [iidx-ezusb-exit-hook](doc/tools/iidx-ezusb-exit-hook.md): For IIDX with ezusb IO
|
||||||
|
* [iidx-bio2-exit-hook](doc/tools/iidx-bio2-exit-hook.md): For IIDX with BIO2 IO
|
||||||
|
* [iidx-ezusb2-exit-hook](doc/tools/iidx-ezusb-exit-hook.md): For IIDX with ezusb FX2 IO
|
||||||
|
* Bemanitools API testing: Tools for testing bemanitools API implementations
|
||||||
|
* [eamiotest](doc/tools/eamiotest.md): For [eamio API](doc/api.md#eamuse-readers)
|
||||||
|
* [iidxiotest](doc/tools/iidxiotest.md): For [iidxio API](doc/api.md#io-boards)
|
||||||
|
* [jbiotest](doc/tools/jbiotest.md): For [jbio API](doc/api.md#io-boards)
|
||||||
|
* [aciotest](doc/tools/aciotest.md): Command line tool to quickly test ACIO devices
|
||||||
|
* config: UI input/output configuration tool when using the default bemanitools API (geninput)
|
||||||
|
* ir-beat-patch-9/10: Patch the IR beat phase on IIDX 9 and 10
|
||||||
|
* [mempatch-hook](doc/tools/mempatch-hook.md): Patch raw memory locations in the target process based on the provided
|
||||||
|
configuration
|
||||||
|
* [pcbidgen](doc/tools/pcbidgen.md): Konami PCBID generator tool
|
||||||
|
* [ViGEm clients](doc/vigem/README.md): Expose BT5 APIs as XBOX game controllers to play any games with real cabinet
|
||||||
|
hardware.
|
||||||
|
|
||||||
|
## Pre-requisites
|
||||||
|
|
||||||
|
### Supported platforms
|
||||||
Our main platforms are currently Windows XP and Windows 7 which are also the target platforms on the original hardware
|
Our main platforms are currently Windows XP and Windows 7 which are also the target platforms on the original hardware
|
||||||
of those games. However, as it gets more difficult to get and maintain hardware comptible with Windows XP, this might
|
of those games. However, as it gets more difficult to get and maintain hardware comptible with Windows XP, this might
|
||||||
change in the future. Many games also run on very recent Windows 10 builds but bear with us that it's hard to keep up
|
change in the future. Many games also run on very recent Windows 10 builds but bear with us that it's hard to keep up
|
||||||
with Windows updates breaking legacy software.
|
with Windows updates breaking legacy software.
|
||||||
|
|
||||||
# Distribution contents
|
### Distribution contents
|
||||||
Check the [list of supported games](#list-of-supported-games) to grab the right files for your game. BT5 also includes
|
Check the [list of supported games](#supported-games) to grab the right files for your game. BT5 also includes
|
||||||
a *tools* subpackage (tools.zip) as well as the full source code (src.zip).
|
a *tools* subpackage (tools.zip) as well as the full source code (src.zip).
|
||||||
|
|
||||||
You will find *.md files in various sub-packages that give you further instructions for setup, usage, error information
|
You will find *.md files in various sub-packages that give you further instructions for setup, usage, error information
|
||||||
or FAQ. We advice you to read them as your questions and concerns might already be answered by them. If not, let us
|
or FAQ. We advice you to read them as your questions and concerns might already be answered by them. If not, let us
|
||||||
know if there is any information that you consider helpful or important to know and should be added.
|
know if there is any information that you consider helpful or important to know and should be added.
|
||||||
|
|
||||||
# Setup and dependencies
|
### Setup and dependencies
|
||||||
Most (older generation) games were developed for Windows XP Embedded but should run fine on any
|
Most (older generation) games were developed for Windows XP Embedded but should run fine on any
|
||||||
consumer version of Windows XP. Newer versions of Windows, e.g. Windows 7, 8 and 10, should be fine
|
consumer version of Windows XP. Newer versions of Windows, e.g. Windows 7, 8 and 10, should be fine
|
||||||
as well. Some hooks also include fixes required to run the games on a more recent version.
|
as well. Some hooks also include fixes required to run the games on a more recent version.
|
||||||
|
|
||||||
Depending on the game, you also need the following dependencies installed:
|
Depending on the game, you also need the following dependencies installed:
|
||||||
* DirectX 9 runtime
|
|
||||||
* Microsoft Visual C++ Redistributables 2010 **and** 2013: Depends on the game and age but both
|
|
||||||
should cover most if not all of the games so far
|
|
||||||
|
|
||||||
# Contributions
|
* The 32-bit (x86) version of
|
||||||
Please refer to the [dedicated documentation](CONTRIBUTING.md).
|
[Microsoft Visual C++ 2010 Service Pack 1 Redistributable Package MFC Security Update](https://www.microsoft.com/en-sg/download/details.aspx?id=26999)
|
||||||
|
* The 32-bit (x86) and 64-bit (x64) versions of
|
||||||
|
[Microsoft Visual C++ Redistributable Packages for Visual Studio 2013](https://www.microsoft.com/en-sg/download/details.aspx?id=40784)
|
||||||
|
* The [DirectX 9 End-User Runtimes (June 2010)](https://www.microsoft.com/en-us/download/details.aspx?id=8109)
|
||||||
|
|
||||||
# Development
|
See also
|
||||||
## Building
|
[bemanitools-supplements](https://dev.s-ul.net/djhackers/bemanitools-supplement/-/blob/master/misc/win-runtime/README.md)
|
||||||
See the [development document](doc/development).
|
for files.
|
||||||
|
|
||||||
## Architecture
|
## Development
|
||||||
|
### Building
|
||||||
|
See the [development document](doc/development.md).
|
||||||
|
|
||||||
|
### Architecture
|
||||||
A dedicate [architecture document](doc/architecture.md) outlines the architecture of Bemanitools and points out the most
|
A dedicate [architecture document](doc/architecture.md) outlines the architecture of Bemanitools and points out the most
|
||||||
important aspects you should know before you get started with development.
|
important aspects you should know before you get started with development.
|
||||||
|
|
||||||
## API
|
### API
|
||||||
Please refer to the [API documentation](doc/api.md).
|
Please refer to the [API documentation](doc/api.md).
|
||||||
|
|
||||||
# License
|
## Release process
|
||||||
|
Please refer to the [dedicated documentation](doc/release-process.md).
|
||||||
|
|
||||||
|
## License
|
||||||
Source code license is the Unlicense; you are permitted to do with this as thou wilt. For details, please refer to the
|
Source code license is the Unlicense; you are permitted to do with this as thou wilt. For details, please refer to the
|
||||||
[LICENSE file](LICENSE) included with the source code.
|
[LICENSE file](LICENSE) included with the source code.
|
||||||
|
|
||||||
|
|||||||
32
dist/ddr/ddr-11-us.conf
vendored
Normal file
32
dist/ddr/ddr-11-us.conf
vendored
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
# URL (e.g. http://my.eamuse.server:80/whatever) or IPV4 (e.g. 127.0.0.1:80) of the target eamuse server. The port is optional but defaults to 80.
|
||||||
|
eamuse.server=localhost:80
|
||||||
|
|
||||||
|
# PCBID
|
||||||
|
eamuse.pcbid=0101020304050607086F
|
||||||
|
|
||||||
|
# EAMID
|
||||||
|
eamuse.eamid=0101020304050607086F
|
||||||
|
|
||||||
|
# Mcode of the game to run.
|
||||||
|
security.mcode=GQHDXUAA
|
||||||
|
|
||||||
|
# Emulate P3IO COM4 and its downstream devices. Uses the Windows COM4 port when disabled.
|
||||||
|
ddrhook1.use_com4_emu=true
|
||||||
|
|
||||||
|
# SD cabinet mode
|
||||||
|
ddrhook1.standard_def=false
|
||||||
|
|
||||||
|
# Use 15 kHz monitor mode
|
||||||
|
ddrhook1.use_15khz=false
|
||||||
|
|
||||||
|
# Enable USB memory data emulation
|
||||||
|
ddrhook1.usbmem_enabled=false
|
||||||
|
|
||||||
|
# Specify path for P1 USB memory data
|
||||||
|
ddrhook1.usbmem_path_p1=usbmem_p1
|
||||||
|
|
||||||
|
# Specify path for P2 USB memory data
|
||||||
|
ddrhook1.usbmem_path_p2=usbmem_p2
|
||||||
|
|
||||||
|
# Run the game windowed
|
||||||
|
gfx.windowed=false
|
||||||
32
dist/ddr/ddr-11.conf
vendored
Normal file
32
dist/ddr/ddr-11.conf
vendored
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
# URL (e.g. http://my.eamuse.server:80/whatever) or IPV4 (e.g. 127.0.0.1:80) of the target eamuse server. The port is optional but defaults to 80.
|
||||||
|
eamuse.server=localhost:80
|
||||||
|
|
||||||
|
# PCBID
|
||||||
|
eamuse.pcbid=0101020304050607086F
|
||||||
|
|
||||||
|
# EAMID
|
||||||
|
eamuse.eamid=0101020304050607086F
|
||||||
|
|
||||||
|
# Mcode of the game to run.
|
||||||
|
security.mcode=GQHDXJAA
|
||||||
|
|
||||||
|
# Emulate P3IO COM4 and its downstream devices. Uses the Windows COM4 port when disabled.
|
||||||
|
ddrhook1.use_com4_emu=true
|
||||||
|
|
||||||
|
# SD cabinet mode
|
||||||
|
ddrhook1.standard_def=false
|
||||||
|
|
||||||
|
# Use 15 kHz monitor mode
|
||||||
|
ddrhook1.use_15khz=false
|
||||||
|
|
||||||
|
# Enable USB memory data emulation
|
||||||
|
ddrhook1.usbmem_enabled=false
|
||||||
|
|
||||||
|
# Specify path for P1 USB memory data
|
||||||
|
ddrhook1.usbmem_path_p1=usbmem_p1
|
||||||
|
|
||||||
|
# Specify path for P2 USB memory data
|
||||||
|
ddrhook1.usbmem_path_p2=usbmem_p2
|
||||||
|
|
||||||
|
# Run the game windowed
|
||||||
|
gfx.windowed=false
|
||||||
32
dist/ddr/ddr-12-eu.conf
vendored
Normal file
32
dist/ddr/ddr-12-eu.conf
vendored
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
# URL (e.g. http://my.eamuse.server:80/whatever) or IPV4 (e.g. 127.0.0.1:80) of the target eamuse server. The port is optional but defaults to 80.
|
||||||
|
eamuse.server=localhost:80
|
||||||
|
|
||||||
|
# PCBID
|
||||||
|
eamuse.pcbid=0101020304050607086F
|
||||||
|
|
||||||
|
# EAMID
|
||||||
|
eamuse.eamid=0101020304050607086F
|
||||||
|
|
||||||
|
# Mcode of the game to run.
|
||||||
|
security.mcode=GQJDXEAA
|
||||||
|
|
||||||
|
# Emulate P3IO COM4 and its downstream devices. Uses the Windows COM4 port when disabled.
|
||||||
|
ddrhook1.use_com4_emu=true
|
||||||
|
|
||||||
|
# SD cabinet mode
|
||||||
|
ddrhook1.standard_def=false
|
||||||
|
|
||||||
|
# Use 15 kHz monitor mode
|
||||||
|
ddrhook1.use_15khz=false
|
||||||
|
|
||||||
|
# Enable USB memory data emulation
|
||||||
|
ddrhook1.usbmem_enabled=false
|
||||||
|
|
||||||
|
# Specify path for P1 USB memory data
|
||||||
|
ddrhook1.usbmem_path_p1=usbmem_p1
|
||||||
|
|
||||||
|
# Specify path for P2 USB memory data
|
||||||
|
ddrhook1.usbmem_path_p2=usbmem_p2
|
||||||
|
|
||||||
|
# Run the game windowed
|
||||||
|
gfx.windowed=false
|
||||||
32
dist/ddr/ddr-12-us.conf
vendored
Normal file
32
dist/ddr/ddr-12-us.conf
vendored
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
# URL (e.g. http://my.eamuse.server:80/whatever) or IPV4 (e.g. 127.0.0.1:80) of the target eamuse server. The port is optional but defaults to 80.
|
||||||
|
eamuse.server=localhost:80
|
||||||
|
|
||||||
|
# PCBID
|
||||||
|
eamuse.pcbid=0101020304050607086F
|
||||||
|
|
||||||
|
# EAMID
|
||||||
|
eamuse.eamid=0101020304050607086F
|
||||||
|
|
||||||
|
# Mcode of the game to run.
|
||||||
|
security.mcode=GQJDXUAA
|
||||||
|
|
||||||
|
# Emulate P3IO COM4 and its downstream devices. Uses the Windows COM4 port when disabled.
|
||||||
|
ddrhook1.use_com4_emu=true
|
||||||
|
|
||||||
|
# SD cabinet mode
|
||||||
|
ddrhook1.standard_def=false
|
||||||
|
|
||||||
|
# Use 15 kHz monitor mode
|
||||||
|
ddrhook1.use_15khz=false
|
||||||
|
|
||||||
|
# Enable USB memory data emulation
|
||||||
|
ddrhook1.usbmem_enabled=false
|
||||||
|
|
||||||
|
# Specify path for P1 USB memory data
|
||||||
|
ddrhook1.usbmem_path_p1=usbmem_p1
|
||||||
|
|
||||||
|
# Specify path for P2 USB memory data
|
||||||
|
ddrhook1.usbmem_path_p2=usbmem_p2
|
||||||
|
|
||||||
|
# Run the game windowed
|
||||||
|
gfx.windowed=false
|
||||||
11
dist/ddr/gamestart-11-us.bat
vendored
Normal file
11
dist/ddr/gamestart-11-us.bat
vendored
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
@echo off
|
||||||
|
|
||||||
|
cd /d %~dp0
|
||||||
|
|
||||||
|
if not exist conf\nvram mkdir conf\nvram
|
||||||
|
if not exist conf\raw mkdir conf\raw
|
||||||
|
|
||||||
|
regsvr32 /s com\CLVsd.ax
|
||||||
|
regsvr32 /s com\xactengine2_10.dll
|
||||||
|
|
||||||
|
inject ddrhook1.dll DDR.exe --config ddr-11-us.conf %*
|
||||||
11
dist/ddr/gamestart-11.bat
vendored
Normal file
11
dist/ddr/gamestart-11.bat
vendored
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
@echo off
|
||||||
|
|
||||||
|
cd /d %~dp0
|
||||||
|
|
||||||
|
if not exist conf\nvram mkdir conf\nvram
|
||||||
|
if not exist conf\raw mkdir conf\raw
|
||||||
|
|
||||||
|
regsvr32 /s com\CLVsd.ax
|
||||||
|
regsvr32 /s com\xactengine2_10.dll
|
||||||
|
|
||||||
|
inject ddrhook1.dll DDR.exe --config ddr-11.conf %*
|
||||||
11
dist/ddr/gamestart-12-eu.bat
vendored
Normal file
11
dist/ddr/gamestart-12-eu.bat
vendored
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
@echo off
|
||||||
|
|
||||||
|
cd /d %~dp0
|
||||||
|
|
||||||
|
if not exist conf\nvram mkdir conf\nvram
|
||||||
|
if not exist conf\raw mkdir conf\raw
|
||||||
|
|
||||||
|
regsvr32 /s com\CLVsd.ax
|
||||||
|
regsvr32 /s com\xactengine2_10.dll
|
||||||
|
|
||||||
|
inject ddrhook1.dll DDR.exe --config ddr-12-eu.conf %*
|
||||||
11
dist/ddr/gamestart-12-us.bat
vendored
Normal file
11
dist/ddr/gamestart-12-us.bat
vendored
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
@echo off
|
||||||
|
|
||||||
|
cd /d %~dp0
|
||||||
|
|
||||||
|
if not exist conf\nvram mkdir conf\nvram
|
||||||
|
if not exist conf\raw mkdir conf\raw
|
||||||
|
|
||||||
|
regsvr32 /s com\CLVsd.ax
|
||||||
|
regsvr32 /s com\xactengine2_10.dll
|
||||||
|
|
||||||
|
inject ddrhook1.dll DDR.exe --config ddr-12-us.conf %*
|
||||||
2
dist/ddr/gamestart-12.bat
vendored
2
dist/ddr/gamestart-12.bat
vendored
@@ -8,4 +8,4 @@ if not exist conf\raw mkdir conf\raw
|
|||||||
regsvr32 /s k-clvsd.dll
|
regsvr32 /s k-clvsd.dll
|
||||||
regsvr32 /s xactengine2_10.dll
|
regsvr32 /s xactengine2_10.dll
|
||||||
|
|
||||||
.\launcher.exe -K .\ddrhook.dll .\ddr.dll %*
|
.\launcher.exe -K .\ddrhook2.dll .\ddr.dll %*
|
||||||
|
|||||||
2
dist/ddr/gamestart-13.bat
vendored
2
dist/ddr/gamestart-13.bat
vendored
@@ -8,4 +8,4 @@ if not exist conf\raw mkdir conf\raw
|
|||||||
regsvr32 /s k-clvsd.dll
|
regsvr32 /s k-clvsd.dll
|
||||||
regsvr32 /s xactengine2_10.dll
|
regsvr32 /s xactengine2_10.dll
|
||||||
|
|
||||||
.\launcher.exe -K .\ddrhook.dll .\ddr.dll %*
|
.\launcher.exe -K .\ddrhook2.dll .\ddr.dll %*
|
||||||
|
|||||||
2
dist/ddr/gamestart-14.bat
vendored
2
dist/ddr/gamestart-14.bat
vendored
@@ -11,4 +11,4 @@ if not exist conf\raw mkdir conf\raw
|
|||||||
regsvr32 /s k-clvsd.dll
|
regsvr32 /s k-clvsd.dll
|
||||||
regsvr32 /s xactengine2_10.dll
|
regsvr32 /s xactengine2_10.dll
|
||||||
|
|
||||||
.\launcher.exe -K .\ddrhook.dll .\mdxja_945.dll %*
|
.\launcher.exe -K .\ddrhook2.dll .\mdxja_945.dll %*
|
||||||
|
|||||||
2
dist/ddr/gamestart-15.bat
vendored
2
dist/ddr/gamestart-15.bat
vendored
@@ -11,4 +11,4 @@ if not exist conf\raw mkdir conf\raw
|
|||||||
regsvr32 /s k-clvsd.dll
|
regsvr32 /s k-clvsd.dll
|
||||||
regsvr32 /s xactengine2_10.dll
|
regsvr32 /s xactengine2_10.dll
|
||||||
|
|
||||||
.\launcher.exe -K .\ddrhook.dll .\mdxja_945.dll %*
|
.\launcher.exe -K .\ddrhook2.dll .\mdxja_945.dll %*
|
||||||
|
|||||||
2
dist/ddr/gamestart-16.bat
vendored
2
dist/ddr/gamestart-16.bat
vendored
@@ -12,4 +12,4 @@ if not exist conf\raw mkdir conf\raw
|
|||||||
regsvr32 /s com\k-clvsd.dll
|
regsvr32 /s com\k-clvsd.dll
|
||||||
regsvr32 /s com\xactengine2_10.dll
|
regsvr32 /s com\xactengine2_10.dll
|
||||||
|
|
||||||
.\launcher.exe -H 33554432 -K .\ddrhook.dll .\arkmdxp3.dll %*
|
.\launcher.exe -H 33554432 -K .\ddrhook2.dll .\arkmdxp3.dll %*
|
||||||
|
|||||||
17
dist/iidx/gamestart-18-cn.bat
vendored
Normal file
17
dist/iidx/gamestart-18-cn.bat
vendored
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
@echo off
|
||||||
|
|
||||||
|
cd /d %~dp0
|
||||||
|
|
||||||
|
if not exist d mkdir d
|
||||||
|
if not exist e mkdir e
|
||||||
|
if not exist f mkdir f
|
||||||
|
|
||||||
|
if not exist e\avs_conf mkdir e\avs_conf
|
||||||
|
if not exist e\avs_conf\CONF mkdir e\avs_conf\CONF
|
||||||
|
if not exist e\avs_conf\CONF\NVRAM mkdir e\avs_conf\CONF\NVRAM
|
||||||
|
if not exist e\avs_conf\CONF\RAW mkdir e\avs_conf\CONF\RAW
|
||||||
|
|
||||||
|
if not exist dev\nvram mkdir dev\nvram
|
||||||
|
if not exist dev\raw mkdir dev\raw
|
||||||
|
|
||||||
|
inject iidxhook4-cn.dll bm2dx.exe -D --config iidxhook-18-cn.conf %*
|
||||||
17
dist/iidx/gamestart-20-cn.bat
vendored
Normal file
17
dist/iidx/gamestart-20-cn.bat
vendored
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
@echo off
|
||||||
|
|
||||||
|
cd /d %~dp0
|
||||||
|
|
||||||
|
if not exist d mkdir d
|
||||||
|
if not exist e mkdir e
|
||||||
|
if not exist f mkdir f
|
||||||
|
|
||||||
|
if not exist e\avs_conf mkdir e\avs_conf
|
||||||
|
if not exist e\avs_conf\CONF mkdir e\avs_conf\CONF
|
||||||
|
if not exist e\avs_conf\CONF\NVRAM mkdir e\avs_conf\CONF\NVRAM
|
||||||
|
if not exist e\avs_conf\CONF\RAW mkdir e\avs_conf\CONF\RAW
|
||||||
|
|
||||||
|
if not exist dev\nvram mkdir dev\nvram
|
||||||
|
if not exist dev\raw mkdir dev\raw
|
||||||
|
|
||||||
|
inject iidxhook5-cn.dll bm2dx.exe -D --config iidxhook-20-cn.conf %*
|
||||||
16
dist/iidx/gamestart-28.bat
vendored
Normal file
16
dist/iidx/gamestart-28.bat
vendored
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
@echo off
|
||||||
|
cd /d %~dp0
|
||||||
|
|
||||||
|
if not exist dev mkdir dev
|
||||||
|
if not exist dev\e mkdir dev\e
|
||||||
|
if not exist dev\g mkdir dev\g
|
||||||
|
if not exist dev\nvram mkdir dev\nvram
|
||||||
|
if not exist dev\raw mkdir dev\raw
|
||||||
|
if not exist dev\raw\log mkdir dev\raw\log
|
||||||
|
if not exist dev\raw\fscache mkdir dev\raw\fscache
|
||||||
|
|
||||||
|
for /R prop\defaults %%D in (*.*) do (
|
||||||
|
if not exist dev\nvram\%%~nxD copy /y prop\defaults\%%~nxD dev\nvram
|
||||||
|
)
|
||||||
|
|
||||||
|
launcher -H 134217728 -B iidxhook9.dll bm2dx.dll --config iidxhook-28.conf %*
|
||||||
16
dist/iidx/gamestart-29.bat
vendored
Normal file
16
dist/iidx/gamestart-29.bat
vendored
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
@echo off
|
||||||
|
cd /d %~dp0
|
||||||
|
|
||||||
|
if not exist dev mkdir dev
|
||||||
|
if not exist dev\e mkdir dev\e
|
||||||
|
if not exist dev\g mkdir dev\g
|
||||||
|
if not exist dev\nvram mkdir dev\nvram
|
||||||
|
if not exist dev\raw mkdir dev\raw
|
||||||
|
if not exist dev\raw\log mkdir dev\raw\log
|
||||||
|
if not exist dev\raw\fscache mkdir dev\raw\fscache
|
||||||
|
|
||||||
|
for /R prop\defaults %%D in (*.*) do (
|
||||||
|
if not exist dev\nvram\%%~nxD copy /y prop\defaults\%%~nxD dev\nvram
|
||||||
|
)
|
||||||
|
|
||||||
|
launcher -H 134217728 -B iidxhook9.dll bm2dx.dll --config iidxhook-29.conf %*
|
||||||
47
dist/iidx/iidx-irbeat-patch-09.bat
vendored
47
dist/iidx/iidx-irbeat-patch-09.bat
vendored
@@ -1,12 +1,45 @@
|
|||||||
@echo off
|
@echo off
|
||||||
|
cd /d %~dp0
|
||||||
|
|
||||||
IF "%1"=="" GOTO USAGE
|
REM Open menu if no arguments specified
|
||||||
|
if "%~1" == "" goto menu
|
||||||
|
|
||||||
iidx-irbeat-patch.exe 9 %1 e\\settings.bin.0
|
if "%~1" gtr "3" goto badbeat
|
||||||
iidx-irbeat-patch.exe 9 %1 f\\settings.bin.1
|
if "%~1" == "0" goto badbeat
|
||||||
GOTO END
|
|
||||||
|
|
||||||
:USAGE
|
set beat = "%~1" - 1
|
||||||
ECHO "Usage: iidx-irbeat-patch.bat <beat phase>"
|
iidx-irbeat-patch.exe 9 %beat% e\\settings.bin.0
|
||||||
|
iidx-irbeat-patch.exe 9 %beat% f\\settings.bin.1
|
||||||
|
|
||||||
|
if not errorlevel 0 goto error
|
||||||
|
echo Beat phase patched sucessfully
|
||||||
|
exit /b
|
||||||
|
|
||||||
|
:menu
|
||||||
|
echo Select beat phase:
|
||||||
|
echo 1 - beat#1
|
||||||
|
echo 2 - beat#2
|
||||||
|
echo 3 - beat#3
|
||||||
|
|
||||||
|
choice /n /c:123
|
||||||
|
set /a beat = %errorlevel% - 1
|
||||||
|
|
||||||
|
echo.
|
||||||
|
iidx-irbeat-patch.exe 9 %beat% e\\settings.bin.0
|
||||||
|
iidx-irbeat-patch.exe 9 %beat% f\\settings.bin.1
|
||||||
|
echo.
|
||||||
|
|
||||||
|
if not errorlevel 0 goto error
|
||||||
|
echo Beat phase patched sucessfully
|
||||||
|
timeout 5
|
||||||
|
exit /b
|
||||||
|
|
||||||
|
:error
|
||||||
|
echo Something has gone wrong with the patching process, have you run the game at least once?
|
||||||
|
pause
|
||||||
|
exit /b
|
||||||
|
|
||||||
|
:badbeat
|
||||||
|
echo Invalid beat phase specified, values are 1 to 3.
|
||||||
|
exit /b
|
||||||
|
|
||||||
:END
|
|
||||||
|
|||||||
47
dist/iidx/iidx-irbeat-patch-10.bat
vendored
47
dist/iidx/iidx-irbeat-patch-10.bat
vendored
@@ -1,12 +1,45 @@
|
|||||||
@echo off
|
@echo off
|
||||||
|
cd /d %~dp0
|
||||||
|
|
||||||
IF "%1"=="" GOTO USAGE
|
REM Open menu if no arguments specified
|
||||||
|
if "%~1" == "" goto menu
|
||||||
|
|
||||||
iidx-irbeat-patch.exe 10 %1 e\\settings.bin.0
|
if %~1 gtr 3 goto badbeat
|
||||||
iidx-irbeat-patch.exe 10 %1 f\\settings.bin.1
|
if %~1 == 0 goto badbeat
|
||||||
GOTO END
|
|
||||||
|
|
||||||
:USAGE
|
set /a beat = %~1 - 1
|
||||||
ECHO "Usage: iidx-irbeat-patch.bat <beat phase>"
|
iidx-irbeat-patch.exe 9 %beat% e\\settings.bin.0
|
||||||
|
iidx-irbeat-patch.exe 9 %beat% f\\settings.bin.1
|
||||||
|
|
||||||
|
if not errorlevel 0 goto error
|
||||||
|
echo Beat phase patched sucessfully
|
||||||
|
exit /b
|
||||||
|
|
||||||
|
:menu
|
||||||
|
echo Select beat phase:
|
||||||
|
echo 1 - beat#1
|
||||||
|
echo 2 - beat#2
|
||||||
|
echo 3 - beat#3
|
||||||
|
|
||||||
|
choice /n /c:123
|
||||||
|
set /a beat = %errorlevel% - 1
|
||||||
|
|
||||||
|
echo.
|
||||||
|
iidx-irbeat-patch.exe 10 %beat% e\\settings.bin.0
|
||||||
|
iidx-irbeat-patch.exe 10 %beat% f\\settings.bin.1
|
||||||
|
echo.
|
||||||
|
|
||||||
|
if not errorlevel 0 goto error
|
||||||
|
echo Beat phase patched sucessfully
|
||||||
|
timeout 5
|
||||||
|
exit /b
|
||||||
|
|
||||||
|
:error
|
||||||
|
echo Something has gone wrong with the patching process, have you run the game at least once?
|
||||||
|
pause
|
||||||
|
exit /b
|
||||||
|
|
||||||
|
:badbeat
|
||||||
|
echo Invalid beat phase specified, values are 1 to 3.
|
||||||
|
exit /b
|
||||||
|
|
||||||
:END
|
|
||||||
|
|||||||
13
dist/iidx/iidxhook-09.conf
vendored
13
dist/iidx/iidxhook-09.conf
vendored
@@ -46,17 +46,26 @@ gfx.forced_refresh_rate=-1
|
|||||||
# D3D9 device adapter (monitor), -1 to use default, 0, 1, 2 etc. to use specified adapter
|
# D3D9 device adapter (monitor), -1 to use default, 0, 1, 2 etc. to use specified adapter
|
||||||
gfx.device_adapter=-1
|
gfx.device_adapter=-1
|
||||||
|
|
||||||
|
# Enable monitoring of ezusb.dll calls by logging call traces. Only works on 9th and 10th style!
|
||||||
|
ezusb.api_call_monitoring=false
|
||||||
|
|
||||||
|
# Set the type of ezusb IO board. 0 = C02, 1 = D01. Note: Impacts security settings!
|
||||||
|
ezusb.io_board_type=0
|
||||||
|
|
||||||
# Disable operator clock setting system clock time
|
# Disable operator clock setting system clock time
|
||||||
misc.disable_clock_set=false
|
misc.disable_clock_set=false
|
||||||
|
|
||||||
# Stub calls to rteffect.dll (10th to DistorteD)
|
# Stub calls to rteffect.dll (10th to DistorteD)
|
||||||
misc.rteffect_stub=false
|
misc.rteffect_stub=false
|
||||||
|
|
||||||
|
# Path to store the settings, e.g. bookkeeping, operator settings. d:, e: and f: drive configuration/settings data
|
||||||
|
misc.settings_path=.\
|
||||||
|
|
||||||
# Security boot version (e.g. GEC02).
|
# Security boot version (e.g. GEC02).
|
||||||
sec.boot_version=GEC02
|
sec.boot_version=GEC02
|
||||||
|
|
||||||
# Security boot seeds for ezusb, format: X:X:X where X is a number of 0-9 (e.g. 0:0:0).
|
# Security boot seeds for ezusb, format: X:X:X where X is a number of 0-9 (e.g. 0:0:0).
|
||||||
sec.boot_seeds=0:0:0
|
sec.boot_seeds=0:0:0
|
||||||
|
|
||||||
# Security black plug mcode id string (e.g. GQC02JAA).
|
# Security black plug mcode id string (e.g. GEC02JAA).
|
||||||
sec.black_plug_mcode=GQC02JAA
|
sec.black_plug_mcode=GEC02JAA
|
||||||
9
dist/iidx/iidxhook-10.conf
vendored
9
dist/iidx/iidxhook-10.conf
vendored
@@ -46,12 +46,21 @@ gfx.forced_refresh_rate=-1
|
|||||||
# D3D9 device adapter (monitor), -1 to use default, 0, 1, 2 etc. to use specified adapter
|
# D3D9 device adapter (monitor), -1 to use default, 0, 1, 2 etc. to use specified adapter
|
||||||
gfx.device_adapter=-1
|
gfx.device_adapter=-1
|
||||||
|
|
||||||
|
# Enable monitoring of ezusb.dll calls by logging call traces. Only works on 9th and 10th style!
|
||||||
|
ezusb.api_call_monitoring=false
|
||||||
|
|
||||||
|
# Set the type of ezusb IO board. 0 = C02, 1 = D01. Note: Impacts security settings!
|
||||||
|
ezusb.io_board_type=1
|
||||||
|
|
||||||
# Disable operator clock setting system clock time
|
# Disable operator clock setting system clock time
|
||||||
misc.disable_clock_set=false
|
misc.disable_clock_set=false
|
||||||
|
|
||||||
# Stub calls to rteffect.dll (10th to DistorteD)
|
# Stub calls to rteffect.dll (10th to DistorteD)
|
||||||
misc.rteffect_stub=false
|
misc.rteffect_stub=false
|
||||||
|
|
||||||
|
# Path to store the settings, e.g. bookkeeping, operator settings. d:, e: and f: drive configuration/settings data
|
||||||
|
misc.settings_path=.\
|
||||||
|
|
||||||
# Security boot version (e.g. GEC02).
|
# Security boot version (e.g. GEC02).
|
||||||
sec.boot_version=GEC02
|
sec.boot_version=GEC02
|
||||||
|
|
||||||
|
|||||||
9
dist/iidx/iidxhook-11.conf
vendored
9
dist/iidx/iidxhook-11.conf
vendored
@@ -46,12 +46,21 @@ gfx.forced_refresh_rate=-1
|
|||||||
# D3D9 device adapter (monitor), -1 to use default, 0, 1, 2 etc. to use specified adapter
|
# D3D9 device adapter (monitor), -1 to use default, 0, 1, 2 etc. to use specified adapter
|
||||||
gfx.device_adapter=-1
|
gfx.device_adapter=-1
|
||||||
|
|
||||||
|
# Enable monitoring of ezusb.dll calls by logging call traces. Only works on 9th and 10th style!
|
||||||
|
ezusb.api_call_monitoring=false
|
||||||
|
|
||||||
|
# Set the type of ezusb IO board. 0 = C02, 1 = D01. Note: Impacts security settings!
|
||||||
|
ezusb.io_board_type=1
|
||||||
|
|
||||||
# Disable operator clock setting system clock time
|
# Disable operator clock setting system clock time
|
||||||
misc.disable_clock_set=false
|
misc.disable_clock_set=false
|
||||||
|
|
||||||
# Stub calls to rteffect.dll (10th to DistorteD)
|
# Stub calls to rteffect.dll (10th to DistorteD)
|
||||||
misc.rteffect_stub=false
|
misc.rteffect_stub=false
|
||||||
|
|
||||||
|
# Path to store the settings, e.g. bookkeeping, operator settings. d:, e: and f: drive configuration/settings data
|
||||||
|
misc.settings_path=.\
|
||||||
|
|
||||||
# Security boot version (e.g. GEC02).
|
# Security boot version (e.g. GEC02).
|
||||||
sec.boot_version=GEC02
|
sec.boot_version=GEC02
|
||||||
|
|
||||||
|
|||||||
9
dist/iidx/iidxhook-12.conf
vendored
9
dist/iidx/iidxhook-12.conf
vendored
@@ -46,6 +46,12 @@ gfx.forced_refresh_rate=-1
|
|||||||
# D3D9 device adapter (monitor), -1 to use default, 0, 1, 2 etc. to use specified adapter
|
# D3D9 device adapter (monitor), -1 to use default, 0, 1, 2 etc. to use specified adapter
|
||||||
gfx.device_adapter=-1
|
gfx.device_adapter=-1
|
||||||
|
|
||||||
|
# Enable monitoring of ezusb.dll calls by logging call traces. Only works on 9th and 10th style!
|
||||||
|
ezusb.api_call_monitoring=false
|
||||||
|
|
||||||
|
# Set the type of ezusb IO board. 0 = C02, 1 = D01. Note: Impacts security settings!
|
||||||
|
ezusb.io_board_type=1
|
||||||
|
|
||||||
# Fix broken 3D background on Happy Sky's music select (if appearing completely white)
|
# Fix broken 3D background on Happy Sky's music select (if appearing completely white)
|
||||||
misc.happy_sky_ms_bg_fix=false
|
misc.happy_sky_ms_bg_fix=false
|
||||||
|
|
||||||
@@ -55,6 +61,9 @@ misc.disable_clock_set=false
|
|||||||
# Stub calls to rteffect.dll (10th to DistorteD)
|
# Stub calls to rteffect.dll (10th to DistorteD)
|
||||||
misc.rteffect_stub=false
|
misc.rteffect_stub=false
|
||||||
|
|
||||||
|
# Path to store the settings, e.g. bookkeeping, operator settings. d:, e: and f: drive configuration/settings data
|
||||||
|
misc.settings_path=.\
|
||||||
|
|
||||||
# Security boot version (e.g. GEC02).
|
# Security boot version (e.g. GEC02).
|
||||||
sec.boot_version=GEC02
|
sec.boot_version=GEC02
|
||||||
|
|
||||||
|
|||||||
9
dist/iidx/iidxhook-13.conf
vendored
9
dist/iidx/iidxhook-13.conf
vendored
@@ -46,6 +46,12 @@ gfx.forced_refresh_rate=-1
|
|||||||
# D3D9 device adapter (monitor), -1 to use default, 0, 1, 2 etc. to use specified adapter
|
# D3D9 device adapter (monitor), -1 to use default, 0, 1, 2 etc. to use specified adapter
|
||||||
gfx.device_adapter=-1
|
gfx.device_adapter=-1
|
||||||
|
|
||||||
|
# Enable monitoring of ezusb.dll calls by logging call traces. Only works on 9th and 10th style!
|
||||||
|
ezusb.api_call_monitoring=false
|
||||||
|
|
||||||
|
# Set the type of ezusb IO board. 0 = C02, 1 = D01. Note: Impacts security settings!
|
||||||
|
ezusb.io_board_type=1
|
||||||
|
|
||||||
# Fix broken 3D background on DistorteD's music select (if appearing completely black)
|
# Fix broken 3D background on DistorteD's music select (if appearing completely black)
|
||||||
misc.distorted_ms_bg_fix=false
|
misc.distorted_ms_bg_fix=false
|
||||||
|
|
||||||
@@ -55,6 +61,9 @@ misc.disable_clock_set=false
|
|||||||
# Stub calls to rteffect.dll (10th to DistorteD)
|
# Stub calls to rteffect.dll (10th to DistorteD)
|
||||||
misc.rteffect_stub=false
|
misc.rteffect_stub=false
|
||||||
|
|
||||||
|
# Path to store the settings, e.g. bookkeeping, operator settings. d:, e: and f: drive configuration/settings data
|
||||||
|
misc.settings_path=.\
|
||||||
|
|
||||||
# Security boot version (e.g. GEC02).
|
# Security boot version (e.g. GEC02).
|
||||||
sec.boot_version=GEC02
|
sec.boot_version=GEC02
|
||||||
|
|
||||||
|
|||||||
6
dist/iidx/iidxhook-14.conf
vendored
6
dist/iidx/iidxhook-14.conf
vendored
@@ -46,8 +46,8 @@ gfx.device_adapter=-1
|
|||||||
# Disable operator clock setting system clock time
|
# Disable operator clock setting system clock time
|
||||||
misc.disable_clock_set=false
|
misc.disable_clock_set=false
|
||||||
|
|
||||||
# Security boot version (e.g. GEC02).
|
# Path to store the settings, e.g. bookkeeping, operator settings. d:, e: and f: drive configuration/settings data
|
||||||
sec.boot_version=GQGLDJAA
|
misc.settings_path=.\
|
||||||
|
|
||||||
# Security black plug mcode id string (e.g. GQC02JAA).
|
# Security black plug mcode id string (e.g. GQC02JAA).
|
||||||
sec.black_plug_mcode=GQGLDJA
|
sec.black_plug_mcode=GQGLDJAA
|
||||||
6
dist/iidx/iidxhook-15.conf
vendored
6
dist/iidx/iidxhook-15.conf
vendored
@@ -46,8 +46,8 @@ gfx.device_adapter=-1
|
|||||||
# Disable operator clock setting system clock time
|
# Disable operator clock setting system clock time
|
||||||
misc.disable_clock_set=false
|
misc.disable_clock_set=false
|
||||||
|
|
||||||
# Security boot version (e.g. GEC02).
|
# Path to store the settings, e.g. bookkeeping, operator settings. d:, e: and f: drive configuration/settings data
|
||||||
sec.boot_version=GQHDDJAA
|
misc.settings_path=.\
|
||||||
|
|
||||||
# Security black plug mcode id string (e.g. GQC02JAA).
|
# Security black plug mcode id string (e.g. GQC02JAA).
|
||||||
sec.black_plug_mcode=GQHDDJA
|
sec.black_plug_mcode=GQHDDJAA
|
||||||
6
dist/iidx/iidxhook-16.conf
vendored
6
dist/iidx/iidxhook-16.conf
vendored
@@ -49,8 +49,8 @@ gfx.device_adapter=-1
|
|||||||
# Disable operator clock setting system clock time
|
# Disable operator clock setting system clock time
|
||||||
misc.disable_clock_set=false
|
misc.disable_clock_set=false
|
||||||
|
|
||||||
# Security boot version (e.g. GEC02).
|
# Path to store the settings, e.g. bookkeeping, operator settings. d:, e: and f: drive configuration/settings data
|
||||||
sec.boot_version=GQI00JAA
|
misc.settings_path=.\
|
||||||
|
|
||||||
# Security black plug mcode id string (e.g. GQC02JAA).
|
# Security black plug mcode id string (e.g. GQC02JAA).
|
||||||
sec.black_plug_mcode=GQI00JA
|
sec.black_plug_mcode=GQI00JAA
|
||||||
6
dist/iidx/iidxhook-17.conf
vendored
6
dist/iidx/iidxhook-17.conf
vendored
@@ -49,8 +49,8 @@ gfx.device_adapter=-1
|
|||||||
# Disable operator clock setting system clock time
|
# Disable operator clock setting system clock time
|
||||||
misc.disable_clock_set=false
|
misc.disable_clock_set=false
|
||||||
|
|
||||||
# Security boot version (e.g. GEC02).
|
# Path to store the settings, e.g. bookkeeping, operator settings. d:, e: and f: drive configuration/settings data
|
||||||
sec.boot_version=GCJDJJAA
|
misc.settings_path=.\
|
||||||
|
|
||||||
# Security black plug mcode id string (e.g. GQC02JAA).
|
# Security black plug mcode id string (e.g. GQC02JAA).
|
||||||
sec.black_plug_mcode=GCJDJJA
|
sec.black_plug_mcode=GCJDJJAA
|
||||||
53
dist/iidx/iidxhook-18-cn.conf
vendored
Normal file
53
dist/iidx/iidxhook-18-cn.conf
vendored
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
# PCBID
|
||||||
|
eamuse.pcbid=0101020304050607086F
|
||||||
|
|
||||||
|
# Fix stretched BG videos on newer GPUs. Might appear on Red and newer
|
||||||
|
gfx.bgvideo_uv_fix=false
|
||||||
|
|
||||||
|
# Run the game in a framed window (requires windowed option)
|
||||||
|
gfx.framed=false
|
||||||
|
|
||||||
|
# Software limit the frame rate of the rendering loop in hz, e.g. 60 or 59.95 (0.0 = no software limit)
|
||||||
|
gfx.frame_rate_limit=0.0
|
||||||
|
|
||||||
|
# Enable/disable software monitor check/auto timebase or set a pre-determined refresh value. -1 disables this feature. 0 enables auto detecting the current refresh rate on startup. Setting any positive value > 0 allows you to set a pre-determined refresh rate (e.g. retrieved from the monitor check on newer IIDX games). Either the auto detected value or pre-determined value is used to patch any chart files in-memory to fix song synchronization issues. Requires constant refresh rate!!!
|
||||||
|
gfx.monitor_check=-1.000000
|
||||||
|
|
||||||
|
# Patch the GPU device ID detection (leave empty to disable), format XXXX:YYYY, two 4 digit hex numbers (vid:pid). Examples: 1002:7146 (RV515, Radeon X1300), 1002:95C5 (RV620 LE, Radeon HD3450)
|
||||||
|
gfx.pci_id=1002:7146
|
||||||
|
|
||||||
|
# Run the game windowed
|
||||||
|
gfx.windowed=false
|
||||||
|
|
||||||
|
# Windowed width, 0 for default size
|
||||||
|
gfx.window_width=0
|
||||||
|
|
||||||
|
# Windowed height, 0 for default size
|
||||||
|
gfx.window_height=0
|
||||||
|
|
||||||
|
# Up-/downscale the back buffer's width. This does not change the game's rendering resolution but scales the final frame. Use this to target the native resolution of your monitor/TV, e.g. to avoid over-/underscan, bad image quality or latency caused by the monitors internal upscaler. 0 to disable this feature. Must be set in combination with the corresponding height parameter.
|
||||||
|
gfx.scale_back_buffer_width=0
|
||||||
|
|
||||||
|
# Up-/downscale the back buffer's height. This does not change the game's rendering resolution but scales the final frame. Use this to target the native resolution of your monitor/TV, e.g. to avoid over-/underscan, bad image quality or latency caused by the monitors internal upscaler. 0 to disable this feature. Must be set in combination with the corresponding width parameter.
|
||||||
|
gfx.scale_back_buffer_height=0
|
||||||
|
|
||||||
|
# Filter type to use for up-/downscaling the back buffer. Only used if scaling feature was enabled by setting the scaling width and height parameters. Available types: none, linear, point (refer to D3DTEXTUREFILTERTYPE for explanation).
|
||||||
|
gfx.scale_back_buffer_filter=none
|
||||||
|
|
||||||
|
# Forced refresh rate, -1 to not force any (try 59 or 60 if monitor check fails to lock on high refresh rate monitors)
|
||||||
|
gfx.forced_refresh_rate=-1
|
||||||
|
|
||||||
|
# D3D9 device adapter (monitor), -1 to use default, 0, 1, 2 etc. to use specified adapter
|
||||||
|
gfx.device_adapter=-1
|
||||||
|
|
||||||
|
# Fix diagonal tearing with video cards other than Radeon X1300 and HD3450
|
||||||
|
gfx.diagonal_tearing_fix=false
|
||||||
|
|
||||||
|
# Disable ezusb IO emulation and enable usage of real ezusb1/2 IO hardware
|
||||||
|
io.disable_io_emu=false
|
||||||
|
|
||||||
|
# Path to store the settings, e.g. bookkeeping, operator settings. d:, e: and f: drive configuration/settings data
|
||||||
|
misc.settings_path=.\
|
||||||
|
|
||||||
|
# Security black plug mcode id string (e.g. GQC02JAA).
|
||||||
|
sec.black_plug_mcode=GKJDZCAA
|
||||||
12
dist/iidx/iidxhook-18.conf
vendored
12
dist/iidx/iidxhook-18.conf
vendored
@@ -36,3 +36,15 @@ gfx.forced_refresh_rate=-1
|
|||||||
|
|
||||||
# D3D9 device adapter (monitor), -1 to use default, 0, 1, 2 etc. to use specified adapter
|
# D3D9 device adapter (monitor), -1 to use default, 0, 1, 2 etc. to use specified adapter
|
||||||
gfx.device_adapter=-1
|
gfx.device_adapter=-1
|
||||||
|
|
||||||
|
# Fix diagonal tearing with video cards other than Radeon X1300 and HD3450
|
||||||
|
gfx.diagonal_tearing_fix=false
|
||||||
|
|
||||||
|
# Disable card reader emulation and enable usage of real card reader hardware on COM1 (for games supporting slotted/wavepass readers)
|
||||||
|
io.disable_card_reader_emu=false
|
||||||
|
|
||||||
|
# Disable ezusb IO emulation and enable usage of real ezusb1/2 IO hardware
|
||||||
|
io.disable_io_emu=false
|
||||||
|
|
||||||
|
# Path to store the settings, e.g. bookkeeping, operator settings. d:, e: and f: drive configuration/settings data
|
||||||
|
misc.settings_path=.\
|
||||||
15
dist/iidx/iidxhook-19.conf
vendored
15
dist/iidx/iidxhook-19.conf
vendored
@@ -7,6 +7,9 @@ gfx.framed=false
|
|||||||
# Software limit the frame rate of the rendering loop in hz, e.g. 60 or 59.95 (0.0 = no software limit)
|
# Software limit the frame rate of the rendering loop in hz, e.g. 60 or 59.95 (0.0 = no software limit)
|
||||||
gfx.frame_rate_limit=0.0
|
gfx.frame_rate_limit=0.0
|
||||||
|
|
||||||
|
# Enable/disable software monitor check/auto timebase or set a pre-determined refresh value. -1 disables this feature. 0 enables auto detecting the current refresh rate on startup. Setting any positive value > 0 allows you to set a pre-determined refresh rate (e.g. retrieved from the monitor check on newer IIDX games). Either the auto detected value or pre-determined value is used to patch any chart files in-memory to fix song synchronization issues. Requires constant refresh rate!!!
|
||||||
|
gfx.monitor_check=-1.000000
|
||||||
|
|
||||||
# Patch the GPU device ID detection (leave empty to disable), format XXXX:YYYY, two 4 digit hex numbers (vid:pid). Examples: 1002:7146 (RV515, Radeon X1300), 1002:95C5 (RV620 LE, Radeon HD3450)
|
# Patch the GPU device ID detection (leave empty to disable), format XXXX:YYYY, two 4 digit hex numbers (vid:pid). Examples: 1002:7146 (RV515, Radeon X1300), 1002:95C5 (RV620 LE, Radeon HD3450)
|
||||||
gfx.pci_id=1002:7146
|
gfx.pci_id=1002:7146
|
||||||
|
|
||||||
@@ -33,3 +36,15 @@ gfx.forced_refresh_rate=-1
|
|||||||
|
|
||||||
# D3D9 device adapter (monitor), -1 to use default, 0, 1, 2 etc. to use specified adapter
|
# D3D9 device adapter (monitor), -1 to use default, 0, 1, 2 etc. to use specified adapter
|
||||||
gfx.device_adapter=-1
|
gfx.device_adapter=-1
|
||||||
|
|
||||||
|
# Fix diagonal tearing with video cards other than Radeon X1300 and HD3450
|
||||||
|
gfx.diagonal_tearing_fix=false
|
||||||
|
|
||||||
|
# Disable card reader emulation and enable usage of real card reader hardware on COM1 (for games supporting slotted/wavepass readers)
|
||||||
|
io.disable_card_reader_emu=false
|
||||||
|
|
||||||
|
# Disable ezusb IO emulation and enable usage of real ezusb1/2 IO hardware
|
||||||
|
io.disable_io_emu=false
|
||||||
|
|
||||||
|
# Path to store the settings, e.g. bookkeeping, operator settings. d:, e: and f: drive configuration/settings data
|
||||||
|
misc.settings_path=.\
|
||||||
50
dist/iidx/iidxhook-20-cn.conf
vendored
Normal file
50
dist/iidx/iidxhook-20-cn.conf
vendored
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
# PCBID
|
||||||
|
eamuse.pcbid=0101020304050607086F
|
||||||
|
|
||||||
|
# Fix stretched BG videos on newer GPUs. Might appear on Red and newer
|
||||||
|
gfx.bgvideo_uv_fix=false
|
||||||
|
|
||||||
|
# Run the game in a framed window (requires windowed option)
|
||||||
|
gfx.framed=false
|
||||||
|
|
||||||
|
# Software limit the frame rate of the rendering loop in hz, e.g. 60 or 59.95 (0.0 = no software limit)
|
||||||
|
gfx.frame_rate_limit=0.0
|
||||||
|
|
||||||
|
# Patch the GPU device ID detection (leave empty to disable), format XXXX:YYYY, two 4 digit hex numbers (vid:pid). Examples: 1002:7146 (RV515, Radeon X1300), 1002:95C5 (RV620 LE, Radeon HD3450)
|
||||||
|
gfx.pci_id=1002:7146
|
||||||
|
|
||||||
|
# Run the game windowed
|
||||||
|
gfx.windowed=false
|
||||||
|
|
||||||
|
# Windowed width, 0 for default size
|
||||||
|
gfx.window_width=0
|
||||||
|
|
||||||
|
# Windowed height, 0 for default size
|
||||||
|
gfx.window_height=0
|
||||||
|
|
||||||
|
# Up-/downscale the back buffer's width. This does not change the game's rendering resolution but scales the final frame. Use this to target the native resolution of your monitor/TV, e.g. to avoid over-/underscan, bad image quality or latency caused by the monitors internal upscaler. 0 to disable this feature. Must be set in combination with the corresponding height parameter.
|
||||||
|
gfx.scale_back_buffer_width=0
|
||||||
|
|
||||||
|
# Up-/downscale the back buffer's height. This does not change the game's rendering resolution but scales the final frame. Use this to target the native resolution of your monitor/TV, e.g. to avoid over-/underscan, bad image quality or latency caused by the monitors internal upscaler. 0 to disable this feature. Must be set in combination with the corresponding width parameter.
|
||||||
|
gfx.scale_back_buffer_height=0
|
||||||
|
|
||||||
|
# Filter type to use for up-/downscaling the back buffer. Only used if scaling feature was enabled by setting the scaling width and height parameters. Available types: none, linear, point (refer to D3DTEXTUREFILTERTYPE for explanation).
|
||||||
|
gfx.scale_back_buffer_filter=none
|
||||||
|
|
||||||
|
# Forced refresh rate, -1 to not force any (try 59 or 60 if monitor check fails to lock on high refresh rate monitors)
|
||||||
|
gfx.forced_refresh_rate=-1
|
||||||
|
|
||||||
|
# D3D9 device adapter (monitor), -1 to use default, 0, 1, 2 etc. to use specified adapter
|
||||||
|
gfx.device_adapter=-1
|
||||||
|
|
||||||
|
# Fix diagonal tearing with video cards other than Radeon X1300 and HD3450
|
||||||
|
gfx.diagonal_tearing_fix=false
|
||||||
|
|
||||||
|
# Disable ezusb IO emulation and enable usage of real ezusb1/2 IO hardware
|
||||||
|
io.disable_io_emu=false
|
||||||
|
|
||||||
|
# Path to store the settings, e.g. bookkeeping, operator settings. d:, e: and f: drive configuration/settings data
|
||||||
|
misc.settings_path=.\
|
||||||
|
|
||||||
|
# Security black plug mcode id string (e.g. GQC02JAA).
|
||||||
|
sec.black_plug_mcode=GKJDZCAA
|
||||||
6
dist/iidx/iidxhook-20.conf
vendored
6
dist/iidx/iidxhook-20.conf
vendored
@@ -33,3 +33,9 @@ gfx.forced_refresh_rate=-1
|
|||||||
|
|
||||||
# D3D9 device adapter (monitor), -1 to use default, 0, 1, 2 etc. to use specified adapter
|
# D3D9 device adapter (monitor), -1 to use default, 0, 1, 2 etc. to use specified adapter
|
||||||
gfx.device_adapter=-1
|
gfx.device_adapter=-1
|
||||||
|
|
||||||
|
# Disable card reader emulation and enable usage of real card reader hardware on COM1 (for games supporting slotted/wavepass readers)
|
||||||
|
io.disable_card_reader_emu=false
|
||||||
|
|
||||||
|
# Disable ezusb IO emulation and enable usage of real ezusb1/2 IO hardware
|
||||||
|
io.disable_io_emu=false
|
||||||
6
dist/iidx/iidxhook-21.conf
vendored
6
dist/iidx/iidxhook-21.conf
vendored
@@ -33,3 +33,9 @@ gfx.forced_refresh_rate=-1
|
|||||||
|
|
||||||
# D3D9 device adapter (monitor), -1 to use default, 0, 1, 2 etc. to use specified adapter
|
# D3D9 device adapter (monitor), -1 to use default, 0, 1, 2 etc. to use specified adapter
|
||||||
gfx.device_adapter=-1
|
gfx.device_adapter=-1
|
||||||
|
|
||||||
|
# Disable card reader emulation and enable usage of real card reader hardware on COM1 (for games supporting slotted/wavepass readers)
|
||||||
|
io.disable_card_reader_emu=false
|
||||||
|
|
||||||
|
# Disable ezusb IO emulation and enable usage of real ezusb1/2 IO hardware
|
||||||
|
io.disable_io_emu=false
|
||||||
6
dist/iidx/iidxhook-22.conf
vendored
6
dist/iidx/iidxhook-22.conf
vendored
@@ -33,3 +33,9 @@ gfx.forced_refresh_rate=-1
|
|||||||
|
|
||||||
# D3D9 device adapter (monitor), -1 to use default, 0, 1, 2 etc. to use specified adapter
|
# D3D9 device adapter (monitor), -1 to use default, 0, 1, 2 etc. to use specified adapter
|
||||||
gfx.device_adapter=-1
|
gfx.device_adapter=-1
|
||||||
|
|
||||||
|
# Disable card reader emulation and enable usage of real card reader hardware on COM1 (for games supporting slotted/wavepass readers)
|
||||||
|
io.disable_card_reader_emu=false
|
||||||
|
|
||||||
|
# Disable ezusb IO emulation and enable usage of real ezusb1/2 IO hardware
|
||||||
|
io.disable_io_emu=false
|
||||||
6
dist/iidx/iidxhook-23.conf
vendored
6
dist/iidx/iidxhook-23.conf
vendored
@@ -33,3 +33,9 @@ gfx.forced_refresh_rate=-1
|
|||||||
|
|
||||||
# D3D9 device adapter (monitor), -1 to use default, 0, 1, 2 etc. to use specified adapter
|
# D3D9 device adapter (monitor), -1 to use default, 0, 1, 2 etc. to use specified adapter
|
||||||
gfx.device_adapter=-1
|
gfx.device_adapter=-1
|
||||||
|
|
||||||
|
# Disable card reader emulation and enable usage of real card reader hardware on COM1 (for games supporting slotted/wavepass readers)
|
||||||
|
io.disable_card_reader_emu=false
|
||||||
|
|
||||||
|
# Disable ezusb IO emulation and enable usage of real ezusb1/2 IO hardware
|
||||||
|
io.disable_io_emu=false
|
||||||
6
dist/iidx/iidxhook-24.conf
vendored
6
dist/iidx/iidxhook-24.conf
vendored
@@ -33,3 +33,9 @@ gfx.forced_refresh_rate=-1
|
|||||||
|
|
||||||
# D3D9 device adapter (monitor), -1 to use default, 0, 1, 2 etc. to use specified adapter
|
# D3D9 device adapter (monitor), -1 to use default, 0, 1, 2 etc. to use specified adapter
|
||||||
gfx.device_adapter=-1
|
gfx.device_adapter=-1
|
||||||
|
|
||||||
|
# Disable card reader emulation and enable usage of real card reader hardware on COM1 (for games supporting slotted/wavepass readers)
|
||||||
|
io.disable_card_reader_emu=false
|
||||||
|
|
||||||
|
# Disable ezusb IO emulation and enable usage of real ezusb1/2 IO hardware
|
||||||
|
io.disable_io_emu=false
|
||||||
2
dist/iidx/iidxhook-25.conf
vendored
2
dist/iidx/iidxhook-25.conf
vendored
@@ -43,7 +43,7 @@ cam.device_id1=
|
|||||||
# Override camera device ID 2 detection (copy from device manager, do not escape)
|
# Override camera device ID 2 detection (copy from device manager, do not escape)
|
||||||
cam.device_id2=
|
cam.device_id2=
|
||||||
|
|
||||||
# Disable card reader emulation and enable usage of real card reader hardware on COM0 (for games supporting slotted readers)
|
# Disable card reader emulation and enable usage of real card reader hardware on COM1 (for games supporting slotted readers)
|
||||||
io.disable_card_reader_emu=false
|
io.disable_card_reader_emu=false
|
||||||
|
|
||||||
# Disable BIO2 emulation and enable usage of real BIO2 hardware
|
# Disable BIO2 emulation and enable usage of real BIO2 hardware
|
||||||
|
|||||||
2
dist/iidx/iidxhook-26.conf
vendored
2
dist/iidx/iidxhook-26.conf
vendored
@@ -43,7 +43,7 @@ cam.device_id1=
|
|||||||
# Override camera device ID 2 detection (copy from device manager, do not escape)
|
# Override camera device ID 2 detection (copy from device manager, do not escape)
|
||||||
cam.device_id2=
|
cam.device_id2=
|
||||||
|
|
||||||
# Disable card reader emulation and enable usage of real card reader hardware on COM0 (for games supporting slotted readers)
|
# Disable card reader emulation and enable usage of real card reader hardware on COM1 (for games supporting slotted readers)
|
||||||
io.disable_card_reader_emu=false
|
io.disable_card_reader_emu=false
|
||||||
|
|
||||||
# Disable BIO2 emulation and enable usage of real BIO2 hardware
|
# Disable BIO2 emulation and enable usage of real BIO2 hardware
|
||||||
|
|||||||
21
dist/iidx/iidxhook-27.conf
vendored
21
dist/iidx/iidxhook-27.conf
vendored
@@ -1,4 +1,4 @@
|
|||||||
# Disable card reader emulation and enable usage of real card reader hardware on COM0 (for games supporting slotted readers)
|
# Disable card reader emulation and enable usage of real card reader hardware on COM1 (for games supporting slotted readers)
|
||||||
io.disable_card_reader_emu=false
|
io.disable_card_reader_emu=false
|
||||||
|
|
||||||
# Disable BIO2 emulation and enable usage of real BIO2 hardware
|
# Disable BIO2 emulation and enable usage of real BIO2 hardware
|
||||||
@@ -11,11 +11,14 @@ io.disable_poll_limiter=false
|
|||||||
io.lightning_mode=false
|
io.lightning_mode=false
|
||||||
|
|
||||||
# Disable camera connection
|
# Disable camera connection
|
||||||
io.disable_cams=false
|
io.disable_cams=true
|
||||||
|
|
||||||
# Disables the built in file hooks, requiring manual file creation
|
# Disables the built in file hooks, requiring manual file creation
|
||||||
io.disable_file_hooks=false
|
io.disable_file_hooks=false
|
||||||
|
|
||||||
|
# Turntable sensitivity multiplier (1.0 is default)
|
||||||
|
io.tt_multiplier=1.0
|
||||||
|
|
||||||
# Disables the camera emulation
|
# Disables the camera emulation
|
||||||
cam.disable_emu=false
|
cam.disable_emu=false
|
||||||
|
|
||||||
@@ -31,7 +34,7 @@ gfx.framed=true
|
|||||||
# Run the game windowed
|
# Run the game windowed
|
||||||
gfx.windowed=false
|
gfx.windowed=false
|
||||||
|
|
||||||
# Confine mouse coursor to window
|
# Confine mouse cursor to window
|
||||||
gfx.confined=false
|
gfx.confined=false
|
||||||
|
|
||||||
# Windowed width, -1 for default size
|
# Windowed width, -1 for default size
|
||||||
@@ -40,6 +43,12 @@ gfx.window_width=-1
|
|||||||
# Windowed height, -1 for default size
|
# Windowed height, -1 for default size
|
||||||
gfx.window_height=-1
|
gfx.window_height=-1
|
||||||
|
|
||||||
|
# Windowed X, -1 for default X position
|
||||||
|
gfx.window_x=-1
|
||||||
|
|
||||||
|
# Windowed Y, -1 for default Y position
|
||||||
|
gfx.window_y=-1
|
||||||
|
|
||||||
# Forced refresh rate, -1 to not force any (try 59 or 60 if monitor check fails to lock on high refresh rate monitors)
|
# Forced refresh rate, -1 to not force any (try 59 or 60 if monitor check fails to lock on high refresh rate monitors)
|
||||||
gfx.forced_refresh_rate=-1
|
gfx.forced_refresh_rate=-1
|
||||||
|
|
||||||
@@ -49,6 +58,12 @@ gfx.device_adapter=-1
|
|||||||
# Orientation to force monitor into, -1 to use default, 0, 1, 2, 3 to do 0, 90, 180, 270 degrees
|
# Orientation to force monitor into, -1 to use default, 0, 1, 2, 3 to do 0, 90, 180, 270 degrees
|
||||||
gfx.force_orientation=-1
|
gfx.force_orientation=-1
|
||||||
|
|
||||||
|
# Force a screen resolution (width), -1 to disable. Use this if the game does not auto detect your monitor's resolution properly, e.g. 1368x768 instead of 1280x720.
|
||||||
|
gfx.force_screen_res.width=-1
|
||||||
|
|
||||||
|
# Force a screen resolution (height), -1 to disable. Use this if the game does not auto detect your monitor's resolution properly, e.g. 1368x768 instead of 1280x720.
|
||||||
|
gfx.force_screen_res.height=-1
|
||||||
|
|
||||||
# IP of adapter to force override with
|
# IP of adapter to force override with
|
||||||
adapter.override_ip=
|
adapter.override_ip=
|
||||||
|
|
||||||
|
|||||||
78
dist/iidx/iidxhook-28.conf
vendored
Normal file
78
dist/iidx/iidxhook-28.conf
vendored
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
# Disable card reader emulation and enable usage of real card reader hardware on COM1 (for games supporting slotted readers)
|
||||||
|
io.disable_card_reader_emu=false
|
||||||
|
|
||||||
|
# Disable BIO2 emulation and enable usage of real BIO2 hardware
|
||||||
|
io.disable_bio2_emu=false
|
||||||
|
|
||||||
|
# Disables the poll limiter, warning very high CPU usage may arise
|
||||||
|
io.disable_poll_limiter=false
|
||||||
|
|
||||||
|
# Lightning cab mode (requires additional IO emulation)
|
||||||
|
io.lightning_mode=false
|
||||||
|
|
||||||
|
# Disable camera connection
|
||||||
|
io.disable_cams=true
|
||||||
|
|
||||||
|
# Disables the built in file hooks, requiring manual file creation
|
||||||
|
io.disable_file_hooks=false
|
||||||
|
|
||||||
|
# Turntable sensitivity multiplier (1.0 is default)
|
||||||
|
io.tt_multiplier=1.0
|
||||||
|
|
||||||
|
# Disables the camera emulation
|
||||||
|
cam.disable_emu=true
|
||||||
|
|
||||||
|
# Override camera device ID detection (copy from device manager, do not escape)
|
||||||
|
cam.device_id1=
|
||||||
|
|
||||||
|
# Override camera device ID detection (copy from device manager, do not escape)
|
||||||
|
cam.device_id2=
|
||||||
|
|
||||||
|
# Run the game in a framed window (requires windowed option)
|
||||||
|
gfx.framed=true
|
||||||
|
|
||||||
|
# Run the game windowed
|
||||||
|
gfx.windowed=false
|
||||||
|
|
||||||
|
# Confine mouse cursor to window
|
||||||
|
gfx.confined=false
|
||||||
|
|
||||||
|
# Windowed width, -1 for default size
|
||||||
|
gfx.window_width=-1
|
||||||
|
|
||||||
|
# Windowed height, -1 for default size
|
||||||
|
gfx.window_height=-1
|
||||||
|
|
||||||
|
# Windowed X, -1 for default X position
|
||||||
|
gfx.window_x=-1
|
||||||
|
|
||||||
|
# Windowed Y, -1 for default Y position
|
||||||
|
gfx.window_y=-1
|
||||||
|
|
||||||
|
# Forced refresh rate, -1 to not force any (try 59 or 60 if monitor check fails to lock on high refresh rate monitors)
|
||||||
|
gfx.forced_refresh_rate=-1
|
||||||
|
|
||||||
|
# D3D9ex device adapter (monitor), -1 to use default, 0, 1, 2 etc. to use specified adapter
|
||||||
|
gfx.device_adapter=-1
|
||||||
|
|
||||||
|
# Orientation to force monitor into, -1 to use default, 0, 1, 2, 3 to do 0, 90, 180, 270 degrees
|
||||||
|
gfx.force_orientation=-1
|
||||||
|
|
||||||
|
# Force a screen resolution (width), -1 to disable. Use this if the game does not auto detect your monitor's resolution properly, e.g. 1368x768 instead of 1280x720.
|
||||||
|
gfx.force_screen_res.width=-1
|
||||||
|
|
||||||
|
# Force a screen resolution (height), -1 to disable. Use this if the game does not auto detect your monitor's resolution properly, e.g. 1368x768 instead of 1280x720.
|
||||||
|
gfx.force_screen_res.height=-1
|
||||||
|
|
||||||
|
# IP of adapter to force override with
|
||||||
|
adapter.override_ip=
|
||||||
|
|
||||||
|
# Force ASIO audio mode/device (if applicable / TDJ default)
|
||||||
|
asio.force_asio=false
|
||||||
|
|
||||||
|
# Force WASAPI audio mode (if applicable / LDJ default)
|
||||||
|
asio.force_wasapi=true
|
||||||
|
|
||||||
|
# The ASIO device name to use
|
||||||
|
asio.device_name=XONAR SOUND CARD(64)
|
||||||
|
|
||||||
78
dist/iidx/iidxhook-29.conf
vendored
Normal file
78
dist/iidx/iidxhook-29.conf
vendored
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
# Disable card reader emulation and enable usage of real card reader hardware on COM1 (for games supporting slotted readers)
|
||||||
|
io.disable_card_reader_emu=false
|
||||||
|
|
||||||
|
# Disable BIO2 emulation and enable usage of real BIO2 hardware
|
||||||
|
io.disable_bio2_emu=false
|
||||||
|
|
||||||
|
# Disables the poll limiter, warning very high CPU usage may arise
|
||||||
|
io.disable_poll_limiter=false
|
||||||
|
|
||||||
|
# Lightning cab mode (requires additional IO emulation)
|
||||||
|
io.lightning_mode=false
|
||||||
|
|
||||||
|
# Disable camera connection
|
||||||
|
io.disable_cams=true
|
||||||
|
|
||||||
|
# Disables the built in file hooks, requiring manual file creation
|
||||||
|
io.disable_file_hooks=false
|
||||||
|
|
||||||
|
# Turntable sensitivity multiplier (1.0 is default)
|
||||||
|
io.tt_multiplier=1.0
|
||||||
|
|
||||||
|
# Disables the camera emulation
|
||||||
|
cam.disable_emu=true
|
||||||
|
|
||||||
|
# Override camera device ID detection (copy from device manager, do not escape)
|
||||||
|
cam.device_id1=
|
||||||
|
|
||||||
|
# Override camera device ID detection (copy from device manager, do not escape)
|
||||||
|
cam.device_id2=
|
||||||
|
|
||||||
|
# Run the game in a framed window (requires windowed option)
|
||||||
|
gfx.framed=true
|
||||||
|
|
||||||
|
# Run the game windowed
|
||||||
|
gfx.windowed=false
|
||||||
|
|
||||||
|
# Confine mouse cursor to window
|
||||||
|
gfx.confined=false
|
||||||
|
|
||||||
|
# Windowed width, -1 for default size
|
||||||
|
gfx.window_width=-1
|
||||||
|
|
||||||
|
# Windowed height, -1 for default size
|
||||||
|
gfx.window_height=-1
|
||||||
|
|
||||||
|
# Windowed X, -1 for default X position
|
||||||
|
gfx.window_x=-1
|
||||||
|
|
||||||
|
# Windowed Y, -1 for default Y position
|
||||||
|
gfx.window_y=-1
|
||||||
|
|
||||||
|
# Forced refresh rate, -1 to not force any (try 59 or 60 if monitor check fails to lock on high refresh rate monitors)
|
||||||
|
gfx.forced_refresh_rate=-1
|
||||||
|
|
||||||
|
# D3D9ex device adapter (monitor), -1 to use default, 0, 1, 2 etc. to use specified adapter
|
||||||
|
gfx.device_adapter=-1
|
||||||
|
|
||||||
|
# Orientation to force monitor into, -1 to use default, 0, 1, 2, 3 to do 0, 90, 180, 270 degrees
|
||||||
|
gfx.force_orientation=-1
|
||||||
|
|
||||||
|
# Force a screen resolution (width), -1 to disable. Use this if the game does not auto detect your monitor's resolution properly, e.g. 1368x768 instead of 1280x720.
|
||||||
|
gfx.force_screen_res.width=-1
|
||||||
|
|
||||||
|
# Force a screen resolution (height), -1 to disable. Use this if the game does not auto detect your monitor's resolution properly, e.g. 1368x768 instead of 1280x720.
|
||||||
|
gfx.force_screen_res.height=-1
|
||||||
|
|
||||||
|
# IP of adapter to force override with
|
||||||
|
adapter.override_ip=
|
||||||
|
|
||||||
|
# Force ASIO audio mode/device (if applicable / TDJ default)
|
||||||
|
asio.force_asio=false
|
||||||
|
|
||||||
|
# Force WASAPI audio mode (if applicable / LDJ default)
|
||||||
|
asio.force_wasapi=true
|
||||||
|
|
||||||
|
# The ASIO device name to use
|
||||||
|
asio.device_name=XONAR SOUND CARD(64)
|
||||||
|
|
||||||
8
dist/iidx/iidxio-bio2.conf
vendored
Normal file
8
dist/iidx/iidxio-bio2.conf
vendored
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
# Autodetect BIO2 port (default: on)
|
||||||
|
bio2.autodetect=true
|
||||||
|
|
||||||
|
# BIO2 serial port. Optional, if autodetect property is turned on
|
||||||
|
bio2.port=COM4
|
||||||
|
|
||||||
|
# BIO2 bus baudrate (real devices expect 115200)
|
||||||
|
bio2.baud=115200
|
||||||
26
dist/iidx/vigem-iidxio.conf
vendored
Normal file
26
dist/iidx/vigem-iidxio.conf
vendored
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
# Use relative mode analog mapping instead of absolute analog values
|
||||||
|
vigem.iidxio.tt.anlog.relative=false
|
||||||
|
|
||||||
|
# Sensitivity value for relative mode (1 to 32767). Tweak if you are having issues with jittering/misfiring/unresponsiveness
|
||||||
|
vigem.iidxio.tt.anlog.relative_sensitivity=1024
|
||||||
|
|
||||||
|
# Button turntable: "debounce" value (1 to 50, recommend 20). Tweak if you are having issues with TT button misfiring/unresponsiveness
|
||||||
|
vigem.iidxio.tt.button.debounce=20
|
||||||
|
|
||||||
|
# Button turntable: minimum ticks required within (debounce * 2) ms to register movement (1 to 4, recommend 2). Tweak if you button input is too (un-) responsive
|
||||||
|
vigem.iidxio.tt.button.threshold=2
|
||||||
|
|
||||||
|
# Print verbose debug output to the console for debugging turntable sensitivity issues
|
||||||
|
vigem.iidxio.tt.debug_output=false
|
||||||
|
|
||||||
|
# Enable input based key lighting
|
||||||
|
vigem.iidxio.cab_light.enable_keylight=true
|
||||||
|
|
||||||
|
# Different cabinet light modes: 0 = off, 1 = neons sequence, 2 = neons flash on TT spin
|
||||||
|
vigem.iidxio.cab_light.light_mode=0
|
||||||
|
|
||||||
|
# Display text on 16seg. If text exceeds 9 char display limit, it will scroll + cycle
|
||||||
|
vigem.iidxio.cab_light.text_16seg=
|
||||||
|
|
||||||
|
# Cycle time/scroll speed for text exceeding 16seg display length (9) to scroll from right
|
||||||
|
vigem.iidxio.cab_light.text_scroll_cycle_time_ms=500
|
||||||
5
dist/jb/eamio-icc.conf
vendored
Normal file
5
dist/jb/eamio-icc.conf
vendored
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# ICCA serial port
|
||||||
|
icc.port=COM2
|
||||||
|
|
||||||
|
# ICCA bus baudrate (real devices expect 57600)
|
||||||
|
icc.baud=57600
|
||||||
7
dist/jb/gamestart-02.bat
vendored
Normal file
7
dist/jb/gamestart-02.bat
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
@echo off
|
||||||
|
|
||||||
|
cd /d %~dp0
|
||||||
|
|
||||||
|
if not exist dev\nvram mkdir dev\nvram
|
||||||
|
|
||||||
|
inject jbhook1.dll jubeat.exe --config jbhook-02.conf %*
|
||||||
10
dist/jb/gamestart-03.bat
vendored
Normal file
10
dist/jb/gamestart-03.bat
vendored
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
@echo off
|
||||||
|
|
||||||
|
cd /d %~dp0
|
||||||
|
|
||||||
|
if not exist dev\nvram mkdir dev\nvram
|
||||||
|
if not exist dev\nvram\coin.xml copy prop\defaults\coin.xml dev\nvram\coin.xml
|
||||||
|
if not exist dev\nvram\eacoin.xml copy prop\defaults\eacoin.xml dev\nvram\eacoin.xml
|
||||||
|
if not exist dev\raw mkdir dev\raw
|
||||||
|
|
||||||
|
launcher -H 33554432 -K jbhook2.dll jubeat.dll -v
|
||||||
@@ -7,4 +7,4 @@ if not exist dev\nvram\coin.xml copy prop\defaults\coin.xml dev\nvram\coin.xml
|
|||||||
if not exist dev\nvram\eacoin.xml copy prop\defaults\eacoin.xml dev\nvram\eacoin.xml
|
if not exist dev\nvram\eacoin.xml copy prop\defaults\eacoin.xml dev\nvram\eacoin.xml
|
||||||
if not exist dev\raw mkdir dev\raw
|
if not exist dev\raw mkdir dev\raw
|
||||||
|
|
||||||
launcher -K jbhook.dll jubeat.dll
|
launcher -H 33554432 -K jbhook3.dll jubeat.dll
|
||||||
3
dist/jb/jbhook-01.conf
vendored
3
dist/jb/jbhook-01.conf
vendored
@@ -1,6 +1,9 @@
|
|||||||
# Run the game windowed
|
# Run the game windowed
|
||||||
gfx.windowed=false
|
gfx.windowed=false
|
||||||
|
|
||||||
|
# rotate the normally-horizontal game window to be vertical
|
||||||
|
gfx.vertical=true
|
||||||
|
|
||||||
# URL (e.g. http://my.eamuse.server:80/whatever) or IPV4 (e.g. 127.0.0.1:80) of the target eamuse server. The port is optional but defaults to 80.
|
# URL (e.g. http://my.eamuse.server:80/whatever) or IPV4 (e.g. 127.0.0.1:80) of the target eamuse server. The port is optional but defaults to 80.
|
||||||
eamuse.server=localhost:80
|
eamuse.server=localhost:80
|
||||||
|
|
||||||
|
|||||||
18
dist/jb/jbhook-02.conf
vendored
Normal file
18
dist/jb/jbhook-02.conf
vendored
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
# Run the game windowed
|
||||||
|
gfx.windowed=false
|
||||||
|
|
||||||
|
# rotate the normally-horizontal game window to be vertical
|
||||||
|
gfx.vertical=true
|
||||||
|
|
||||||
|
# URL (e.g. http://my.eamuse.server:80/whatever) or IPV4 (e.g. 127.0.0.1:80) of the target eamuse server. The port is optional but defaults to 80.
|
||||||
|
eamuse.server=localhost:80
|
||||||
|
|
||||||
|
# PCBID
|
||||||
|
eamuse.pcbid=0101020304050607086F
|
||||||
|
|
||||||
|
# EAMID
|
||||||
|
eamuse.eamid=0101020304050607086F
|
||||||
|
|
||||||
|
# Mcode of the game to run.
|
||||||
|
security.mcode=GCI44JAA
|
||||||
|
|
||||||
5
dist/jb/jbio-h44b.conf
vendored
Normal file
5
dist/jb/jbio-h44b.conf
vendored
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# H44B serial port
|
||||||
|
h44b.port=COM2
|
||||||
|
|
||||||
|
# H44B bus baudrate (real devices expect 57600)
|
||||||
|
h44b.baud=57600
|
||||||
1
dist/popn/config.bat
vendored
Normal file
1
dist/popn/config.bat
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
@start config.exe pnm
|
||||||
16
dist/popn/gamestart-15.bat
vendored
Normal file
16
dist/popn/gamestart-15.bat
vendored
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
@echo off
|
||||||
|
|
||||||
|
cd /d %~dp0
|
||||||
|
|
||||||
|
if not exist e\bookkeeping mkdir e\bookkeeping
|
||||||
|
if not exist e\CONF\NVRAM mkdir e\CONF\NVRAM
|
||||||
|
if not exist e\CONF\NVRAM\0 mkdir e\CONF\NVRAM\0
|
||||||
|
if not exist e\CONF\NVRAM\1 mkdir e\CONF\NVRAM\1
|
||||||
|
if not exist e\CONF\NVRAM\2 mkdir e\CONF\NVRAM\2
|
||||||
|
if not exist e\CONF\NVRAM\3 mkdir e\CONF\NVRAM\3
|
||||||
|
if not exist e\CONF\RAW mkdir e\CONF\RAW
|
||||||
|
if not exist e\settings mkdir e\settings
|
||||||
|
if not exist e\UP mkdir e\UP
|
||||||
|
|
||||||
|
inject popnhook1.dll ezusb.dll=ezusb2-popn-shim.dll popn15.exe --config popnhook-15.conf %*
|
||||||
|
|
||||||
16
dist/popn/gamestart-16.bat
vendored
Normal file
16
dist/popn/gamestart-16.bat
vendored
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
@echo off
|
||||||
|
|
||||||
|
cd /d %~dp0
|
||||||
|
|
||||||
|
if not exist e\bookkeeping mkdir e\bookkeeping
|
||||||
|
if not exist e\CONF\NVRAM mkdir e\CONF\NVRAM
|
||||||
|
if not exist e\CONF\NVRAM\0 mkdir e\CONF\NVRAM\0
|
||||||
|
if not exist e\CONF\NVRAM\1 mkdir e\CONF\NVRAM\1
|
||||||
|
if not exist e\CONF\NVRAM\2 mkdir e\CONF\NVRAM\2
|
||||||
|
if not exist e\CONF\NVRAM\3 mkdir e\CONF\NVRAM\3
|
||||||
|
if not exist e\CONF\RAW mkdir e\CONF\RAW
|
||||||
|
if not exist e\settings mkdir e\settings
|
||||||
|
if not exist e\UP mkdir e\UP
|
||||||
|
|
||||||
|
inject popnhook1.dll ezusb.dll=ezusb2-popn-shim.dll popn16.exe --config popnhook-16.conf %*
|
||||||
|
|
||||||
16
dist/popn/gamestart-17.bat
vendored
Normal file
16
dist/popn/gamestart-17.bat
vendored
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
@echo off
|
||||||
|
|
||||||
|
cd /d %~dp0
|
||||||
|
|
||||||
|
if not exist e\bookkeeping mkdir e\bookkeeping
|
||||||
|
if not exist e\CONF\NVRAM mkdir e\CONF\NVRAM
|
||||||
|
if not exist e\CONF\NVRAM\0 mkdir e\CONF\NVRAM\0
|
||||||
|
if not exist e\CONF\NVRAM\1 mkdir e\CONF\NVRAM\1
|
||||||
|
if not exist e\CONF\NVRAM\2 mkdir e\CONF\NVRAM\2
|
||||||
|
if not exist e\CONF\NVRAM\3 mkdir e\CONF\NVRAM\3
|
||||||
|
if not exist e\CONF\RAW mkdir e\CONF\RAW
|
||||||
|
if not exist e\settings mkdir e\settings
|
||||||
|
if not exist e\UP mkdir e\UP
|
||||||
|
|
||||||
|
inject popnhook1.dll ezusb.dll=ezusb2-popn-shim.dll popn17.exe --config popnhook-17.conf %*
|
||||||
|
|
||||||
16
dist/popn/gamestart-18.bat
vendored
Normal file
16
dist/popn/gamestart-18.bat
vendored
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
@echo off
|
||||||
|
|
||||||
|
cd /d %~dp0
|
||||||
|
|
||||||
|
if not exist e\bookkeeping mkdir e\bookkeeping
|
||||||
|
if not exist e\CONF\NVRAM mkdir e\CONF\NVRAM
|
||||||
|
if not exist e\CONF\NVRAM\0 mkdir e\CONF\NVRAM\0
|
||||||
|
if not exist e\CONF\NVRAM\1 mkdir e\CONF\NVRAM\1
|
||||||
|
if not exist e\CONF\NVRAM\2 mkdir e\CONF\NVRAM\2
|
||||||
|
if not exist e\CONF\NVRAM\3 mkdir e\CONF\NVRAM\3
|
||||||
|
if not exist e\CONF\RAW mkdir e\CONF\RAW
|
||||||
|
if not exist e\settings mkdir e\settings
|
||||||
|
if not exist e\UP mkdir e\UP
|
||||||
|
|
||||||
|
inject popnhook1.dll ezusb.dll=ezusb2-popn-shim.dll popn18.exe --config popnhook-18.conf %*
|
||||||
|
|
||||||
23
dist/popn/popnhook-15.conf
vendored
Normal file
23
dist/popn/popnhook-15.conf
vendored
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
# URL (e.g. http://my.eamuse.server:80/whatever) or IPV4 (e.g. 127.0.0.1:80) of the target eamuse server. The port is optional but defaults to 80.
|
||||||
|
eamuse.server=localhost:80
|
||||||
|
|
||||||
|
# PCBID
|
||||||
|
eamuse.pcbid=0101020304050607086F
|
||||||
|
|
||||||
|
# EAMID
|
||||||
|
eamuse.eamid=0101020304050607086F
|
||||||
|
|
||||||
|
# Run the game windowed
|
||||||
|
gfx.windowed=false
|
||||||
|
|
||||||
|
# Run the game in a framed window (requires windowed option)
|
||||||
|
gfx.framed=false
|
||||||
|
|
||||||
|
# Windowed width, 0 for default size
|
||||||
|
gfx.window_width=0
|
||||||
|
|
||||||
|
# Windowed height, 0 for default size
|
||||||
|
gfx.window_height=0
|
||||||
|
|
||||||
|
# Security black plug mcode id string (e.g. GQC02JAA).
|
||||||
|
sec.black_plug_mcode=GQG15JAA
|
||||||
23
dist/popn/popnhook-16.conf
vendored
Normal file
23
dist/popn/popnhook-16.conf
vendored
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
# URL (e.g. http://my.eamuse.server:80/whatever) or IPV4 (e.g. 127.0.0.1:80) of the target eamuse server. The port is optional but defaults to 80.
|
||||||
|
eamuse.server=localhost:80
|
||||||
|
|
||||||
|
# PCBID
|
||||||
|
eamuse.pcbid=0101020304050607086F
|
||||||
|
|
||||||
|
# EAMID
|
||||||
|
eamuse.eamid=0101020304050607086F
|
||||||
|
|
||||||
|
# Run the game windowed
|
||||||
|
gfx.windowed=false
|
||||||
|
|
||||||
|
# Run the game in a framed window (requires windowed option)
|
||||||
|
gfx.framed=false
|
||||||
|
|
||||||
|
# Windowed width, 0 for default size
|
||||||
|
gfx.window_width=0
|
||||||
|
|
||||||
|
# Windowed height, 0 for default size
|
||||||
|
gfx.window_height=0
|
||||||
|
|
||||||
|
# Security black plug mcode id string (e.g. GQC02JAA).
|
||||||
|
sec.black_plug_mcode=GQH16JAA
|
||||||
23
dist/popn/popnhook-17.conf
vendored
Normal file
23
dist/popn/popnhook-17.conf
vendored
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
# URL (e.g. http://my.eamuse.server:80/whatever) or IPV4 (e.g. 127.0.0.1:80) of the target eamuse server. The port is optional but defaults to 80.
|
||||||
|
eamuse.server=localhost:80
|
||||||
|
|
||||||
|
# PCBID
|
||||||
|
eamuse.pcbid=0101020304050607086F
|
||||||
|
|
||||||
|
# EAMID
|
||||||
|
eamuse.eamid=0101020304050607086F
|
||||||
|
|
||||||
|
# Run the game windowed
|
||||||
|
gfx.windowed=false
|
||||||
|
|
||||||
|
# Run the game in a framed window (requires windowed option)
|
||||||
|
gfx.framed=false
|
||||||
|
|
||||||
|
# Windowed width, 0 for default size
|
||||||
|
gfx.window_width=0
|
||||||
|
|
||||||
|
# Windowed height, 0 for default size
|
||||||
|
gfx.window_height=0
|
||||||
|
|
||||||
|
# Security black plug mcode id string (e.g. GQC02JAA).
|
||||||
|
sec.black_plug_mcode=GQI17JAA
|
||||||
23
dist/popn/popnhook-18.conf
vendored
Normal file
23
dist/popn/popnhook-18.conf
vendored
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
# URL (e.g. http://my.eamuse.server:80/whatever) or IPV4 (e.g. 127.0.0.1:80) of the target eamuse server. The port is optional but defaults to 80.
|
||||||
|
eamuse.server=localhost:80
|
||||||
|
|
||||||
|
# PCBID
|
||||||
|
eamuse.pcbid=0101020304050607086F
|
||||||
|
|
||||||
|
# EAMID
|
||||||
|
eamuse.eamid=0101020304050607086F
|
||||||
|
|
||||||
|
# Run the game windowed
|
||||||
|
gfx.windowed=false
|
||||||
|
|
||||||
|
# Run the game in a framed window (requires windowed option)
|
||||||
|
gfx.framed=false
|
||||||
|
|
||||||
|
# Windowed width, 0 for default size
|
||||||
|
gfx.window_width=0
|
||||||
|
|
||||||
|
# Windowed height, 0 for default size
|
||||||
|
gfx.window_height=0
|
||||||
|
|
||||||
|
# Security black plug mcode id string (e.g. GQC02JAA).
|
||||||
|
sec.black_plug_mcode=GCJ39JAA
|
||||||
23
dist/sdvx5/sdvxhook2.conf
vendored
23
dist/sdvx5/sdvxhook2.conf
vendored
@@ -13,13 +13,22 @@ io.force_headphones=false
|
|||||||
# Disables the built in file hooks, requiring manual file creation (/dev/raw/j.dest)
|
# Disables the built in file hooks, requiring manual file creation (/dev/raw/j.dest)
|
||||||
io.disable_file_hooks=false
|
io.disable_file_hooks=false
|
||||||
|
|
||||||
|
# Disables the built in power control hooks, allowing game to modify system power settings
|
||||||
|
io.disable_power_hooks=false
|
||||||
|
|
||||||
|
# Disables the built in NVAPI control hooks, allowing game to modify system monitor settings
|
||||||
|
io.disable_nvapi_hooks=false
|
||||||
|
|
||||||
|
# Emulates the card reader on COM1 instead of COM2
|
||||||
|
io.com1_card_reader=false
|
||||||
|
|
||||||
# Run the game in a framed window (requires windowed option)
|
# Run the game in a framed window (requires windowed option)
|
||||||
gfx.framed=true
|
gfx.framed=true
|
||||||
|
|
||||||
# Run the game windowed
|
# Run the game windowed
|
||||||
gfx.windowed=false
|
gfx.windowed=false
|
||||||
|
|
||||||
# Confine mouse coursor to window
|
# Confine mouse cursor to window
|
||||||
gfx.confined=false
|
gfx.confined=false
|
||||||
|
|
||||||
# Windowed width, -1 for default size
|
# Windowed width, -1 for default size
|
||||||
@@ -28,6 +37,12 @@ gfx.window_width=1080
|
|||||||
# Windowed height, -1 for default size
|
# Windowed height, -1 for default size
|
||||||
gfx.window_height=1920
|
gfx.window_height=1920
|
||||||
|
|
||||||
|
# Windowed X, -1 for default X position
|
||||||
|
gfx.window_x=-1
|
||||||
|
|
||||||
|
# Windowed Y, -1 for default Y position
|
||||||
|
gfx.window_y=-1
|
||||||
|
|
||||||
# Forced refresh rate, -1 to not force any (try 59 or 60 if monitor check fails to lock on high refresh rate monitors)
|
# Forced refresh rate, -1 to not force any (try 59 or 60 if monitor check fails to lock on high refresh rate monitors)
|
||||||
gfx.forced_refresh_rate=-1
|
gfx.forced_refresh_rate=-1
|
||||||
|
|
||||||
@@ -37,6 +52,12 @@ gfx.device_adapter=-1
|
|||||||
# Orientation to force monitor into, -1 to use default, 0, 1, 2, 3 to do 0, 90, 180, 270 degrees
|
# Orientation to force monitor into, -1 to use default, 0, 1, 2, 3 to do 0, 90, 180, 270 degrees
|
||||||
gfx.force_orientation=-1
|
gfx.force_orientation=-1
|
||||||
|
|
||||||
|
# Force a screen resolution (width), -1 to disable. Use this if the game does not auto detect your monitor's resolution properly, e.g. 1368x768 instead of 1280x720.
|
||||||
|
gfx.force_screen_res.width=-1
|
||||||
|
|
||||||
|
# Force a screen resolution (height), -1 to disable. Use this if the game does not auto detect your monitor's resolution properly, e.g. 1368x768 instead of 1280x720.
|
||||||
|
gfx.force_screen_res.height=-1
|
||||||
|
|
||||||
# Disables the camera emulation
|
# Disables the camera emulation
|
||||||
cam.disable_emu=false
|
cam.disable_emu=false
|
||||||
|
|
||||||
|
|||||||
33
doc/README.md
Normal file
33
doc/README.md
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
# Bemanitools 5 documentation
|
||||||
|
|
||||||
|
This folder contains various types of documentation.
|
||||||
|
|
||||||
|
Table of contents:
|
||||||
|
|
||||||
|
* Game
|
||||||
|
* [Error codes](game-error-codes.md): List of bemani game specific error codes that you might
|
||||||
|
encounter during boot or gameplay with troubleshooting information
|
||||||
|
* Key tools
|
||||||
|
* [Inject](inject.md): Readme for one of BT5's key applications, `inject.exe`
|
||||||
|
* [Launcher](launcher.md): Readme for another one of BT5's key applications, `launcher.exe`
|
||||||
|
* [Tools](tools/README.md): Documentation for additional user and development tooling
|
||||||
|
* Game hooks
|
||||||
|
* [ddrhook](ddrhook/README.md): Documentation relevant to `ddrhook` implementations
|
||||||
|
* [iidxhook](iidxhook/README.md): Documentation relevant to `iidxhook` implementations
|
||||||
|
* [jbhook](jbhook/README.md): Documentation relevant to `jbhook` implementations
|
||||||
|
* [popnhook](popnhook/README.md): Documentation relevant to `popnhook` implementations
|
||||||
|
* [sdvxhook](sdvxhook/README.md): Documentation relevant to `sdvxhook` implementations
|
||||||
|
* Development
|
||||||
|
* [API](api.md): Available APIs for BT5 and instructions how to use them
|
||||||
|
* [Architecture](architecture.md): Outline of BT5's architecture, how things are designed and why
|
||||||
|
* [Development](development.md): Development environment, building, releasing, etc.
|
||||||
|
* [Developer documentation](dev/README.md): Various lose documentation/notes by developers
|
||||||
|
* [Tools](tools/README.md): Documentation for additional user and development tooling
|
||||||
|
|
||||||
|
## Further external documentation
|
||||||
|
|
||||||
|
A list of external documentation that can be useful when dealing with bemanitools,
|
||||||
|
supported data and hardware.
|
||||||
|
|
||||||
|
* [arcade-docs](https://github.com/Shizmob/arcade-docs): An open (to read and contribute) repository
|
||||||
|
of arcade hardware and software documentation
|
||||||
40
doc/api.md
40
doc/api.md
@@ -1,4 +1,5 @@
|
|||||||
# Bemanitools API
|
# Bemanitools API
|
||||||
|
|
||||||
Bemanitools introduces interfaces abstracting the IO hardware of many games. This is used to implement support for
|
Bemanitools introduces interfaces abstracting the IO hardware of many games. This is used to implement support for
|
||||||
non-intended IO devices from simple keyboard support, standard gamecontrollers to custom IO boards or using real
|
non-intended IO devices from simple keyboard support, standard gamecontrollers to custom IO boards or using real
|
||||||
hardware with the games (e.g. support for real legacy hardware).
|
hardware with the games (e.g. support for real legacy hardware).
|
||||||
@@ -12,7 +13,10 @@ If you want to write an implementation for your own custom piece of hardware, ch
|
|||||||
sub-folder) in the source code (src.zip).
|
sub-folder) in the source code (src.zip).
|
||||||
|
|
||||||
## Implementations
|
## Implementations
|
||||||
The following implementations are already shipped with BT5.
|
|
||||||
|
### IO boards
|
||||||
|
|
||||||
|
The following implementations are already shipped with BT5.
|
||||||
|
|
||||||
* BeatStream
|
* BeatStream
|
||||||
* bstio.dll (default): Keyboard, joystick and mouse input
|
* bstio.dll (default): Keyboard, joystick and mouse input
|
||||||
@@ -22,17 +26,45 @@ The following implementations are already shipped with BT5.
|
|||||||
* ddrio-smx.dll: StepManiaX platforms
|
* ddrio-smx.dll: StepManiaX platforms
|
||||||
* Beatmania IIDX
|
* Beatmania IIDX
|
||||||
* iidxio.dll (default): Keyboard, joystick and mouse input
|
* iidxio.dll (default): Keyboard, joystick and mouse input
|
||||||
* iidxio-ezusb.dll: Ezusb (C02 IO) driver
|
* [iidxio-bio2.dll](iidxhook/iidxio-bio2.md): BIO2 driver
|
||||||
* iidxio-ezusb2.dll: Ezusb FX2 (IO2) driver
|
* [iidxio-ezusb.dll](iidxhook/iidxio-ezusb.md): Ezusb (C02 IO) driver
|
||||||
|
* [iidxio-ezusb2.dll](iidxhook/iidxio-ezusb2.md): Ezusb FX2 (IO2) driver
|
||||||
* jubeat
|
* jubeat
|
||||||
* jbio.dll (default): Keyboard, joystick and mouse input
|
* jbio.dll (default): Keyboard, joystick and mouse input
|
||||||
|
* pop'n music
|
||||||
|
* popnio.dll (default): Keyboard, joystick and mouse input
|
||||||
* SOUND VOLTEX
|
* SOUND VOLTEX
|
||||||
* sdvxio.dll (default): Keyboard, joystick and mouse input
|
* sdvxio.dll (default): Keyboard, joystick and mouse input
|
||||||
|
* [sdvxio-bio2.dll](sdvxhook/sdvxio-bio2.md): BIO2 driver
|
||||||
|
* [sdvxio-kfca.dll](sdvxhook/sdvxio-kfca.md): KFCA IO board driver
|
||||||
|
|
||||||
|
### Eamuse readers
|
||||||
|
|
||||||
Eamuse hardware support is implemented separately:
|
Eamuse hardware support is implemented separately:
|
||||||
* eamio.dll (default): Keyboard and joystick input
|
|
||||||
|
* eamio.dll (default): Keyboard and joystick input
|
||||||
|
* eamio-icca.dll: Slotted/wave pass readers, required for old games with magnetic stripe cards
|
||||||
|
|
||||||
|
#### ICCA readers for IIDX and port config in device manager
|
||||||
|
|
||||||
|
The COM port for the card readers needs to be configured correctly in device manager. Otherwise,
|
||||||
|
communication with the readers will fail if the settings do not align with how the game or
|
||||||
|
bemanitools wants to operate them.
|
||||||
|
|
||||||
|
Use built-in ports on your mainboard if available but an external USB to serial port dongle also
|
||||||
|
works.
|
||||||
|
|
||||||
|
* Assign `COM1` to the COM port the card readers are connected to.
|
||||||
|
* Ensure that the following settings for the COM port you are going to use are
|
||||||
|
set
|
||||||
|
* BAUD rate 57600
|
||||||
|
* Data bits 8
|
||||||
|
* Parity None
|
||||||
|
* Stop bits 1
|
||||||
|
* Flow control None.
|
||||||
|
|
||||||
## Development notes
|
## Development notes
|
||||||
|
|
||||||
A DEF file for geninput.dll is included. To convert the DEF into an import library suitable for use with Visual C++, run
|
A DEF file for geninput.dll is included. To convert the DEF into an import library suitable for use with Visual C++, run
|
||||||
```
|
```
|
||||||
lib /machine:i386 /def:geninput.def
|
lib /machine:i386 /def:geninput.def
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ Modules that make use of this:
|
|||||||
* ezusb2-emu/device
|
* ezusb2-emu/device
|
||||||
* acioemu/emu
|
* acioemu/emu
|
||||||
|
|
||||||
## Bemanitools's hook libraries, let's glue everything together
|
## Bemanitools's hook libraries, let's glue everything together
|
||||||
Bemanitools dlls to be injected into target game processes are refered to as "hook dlls" and come in different flavours
|
Bemanitools dlls to be injected into target game processes are refered to as "hook dlls" and come in different flavours
|
||||||
targetting different games and often different versions of the same game (series), for example:
|
targetting different games and often different versions of the same game (series), for example:
|
||||||
* ddrhook: Hook dll for Dance Dance Revolution games
|
* ddrhook: Hook dll for Dance Dance Revolution games
|
||||||
@@ -69,13 +69,13 @@ TODO
|
|||||||
|
|
||||||
### iidxhook
|
### iidxhook
|
||||||
IIDX went through so many hard- and software iterations, it's actually amazing that the development team(s) refactored
|
IIDX went through so many hard- and software iterations, it's actually amazing that the development team(s) refactored
|
||||||
and improved parts of the game and hardware with each iteration. However, when facing emulation and supporting
|
and improved parts of the game and hardware with each iteration. However, when facing emulation and supporting
|
||||||
compatibility to legacy OS platforms, it can't get any worse. On the bright side, IIDX helped shaping Bemanitools a lot
|
compatibility to legacy OS platforms, it can't get any worse. On the bright side, IIDX helped shaping Bemanitools a lot
|
||||||
and created a solid foundation other games can build on.
|
and created a solid foundation other games can build on.
|
||||||
|
|
||||||
Because of that, we have 8 iidxhook implementations supporting sometimes different software features/fixes and
|
Because of that, we have 8 iidxhook implementations supporting sometimes different software features/fixes and
|
||||||
hardware. The following sub-sub-sections list the most relevant aspects and modules to point out common and different
|
hardware. The following sub-sub-sections list the most relevant aspects and modules to point out common and different
|
||||||
higher level features.
|
higher level features.
|
||||||
|
|
||||||
Essentially, the main module file of each iidxhook implementation just glues the APIs of the modules it requires
|
Essentially, the main module file of each iidxhook implementation just glues the APIs of the modules it requires
|
||||||
together. An additional configuration layer allows users to tweak some of the features.
|
together. An additional configuration layer allows users to tweak some of the features.
|
||||||
@@ -88,7 +88,7 @@ TODO go into some more detail about some differences in the hook modules, e.g. 1
|
|||||||
* Setupapi emulation
|
* Setupapi emulation
|
||||||
* Full security emulation with SRAM and round plugs
|
* Full security emulation with SRAM and round plugs
|
||||||
* Full serial emulation for magstripe card readers
|
* Full serial emulation for magstripe card readers
|
||||||
* Full game essential I/O emulation
|
* Full game essential I/O emulation
|
||||||
* d3d8 patching and extended features (superseded by d3d9 hook module + d3d8to9 wrapper)
|
* d3d8 patching and extended features (superseded by d3d9 hook module + d3d8to9 wrapper)
|
||||||
* clock patching
|
* clock patching
|
||||||
* Font patching for Japanese chars
|
* Font patching for Japanese chars
|
||||||
@@ -99,7 +99,7 @@ TODO go into some more detail about some differences in the hook modules, e.g. 1
|
|||||||
* Ezusb C02 I/O emulation
|
* Ezusb C02 I/O emulation
|
||||||
* Setupapi emulation
|
* Setupapi emulation
|
||||||
* Full security emulation with SRAM and round plugs
|
* Full security emulation with SRAM and round plugs
|
||||||
* Full game essential I/O emulation
|
* Full game essential I/O emulation
|
||||||
* ACIO ICCA card reader emulation, slotted readers
|
* ACIO ICCA card reader emulation, slotted readers
|
||||||
* d3d8 patching and extended features (superseded by d3d9 hook module + d3d8to9 wrapper)
|
* d3d8 patching and extended features (superseded by d3d9 hook module + d3d8to9 wrapper)
|
||||||
* clock patching
|
* clock patching
|
||||||
@@ -111,7 +111,7 @@ TODO go into some more detail about some differences in the hook modules, e.g. 1
|
|||||||
* Ezusb IO2 I/O emulation
|
* Ezusb IO2 I/O emulation
|
||||||
* Setupapi emulation
|
* Setupapi emulation
|
||||||
* Full security emulation with SRAM and round plugs
|
* Full security emulation with SRAM and round plugs
|
||||||
* Full game essential I/O emulation
|
* Full game essential I/O emulation
|
||||||
* ACIO ICCA card reader emulation, slotted readers
|
* ACIO ICCA card reader emulation, slotted readers
|
||||||
* d3d9 patching and extended features
|
* d3d9 patching and extended features
|
||||||
* Font patching for Japanese chars
|
* Font patching for Japanese chars
|
||||||
@@ -121,25 +121,43 @@ TODO go into some more detail about some differences in the hook modules, e.g. 1
|
|||||||
#### iidxhook4 (18)
|
#### iidxhook4 (18)
|
||||||
* Ezusb IO2 I/O emulation
|
* Ezusb IO2 I/O emulation
|
||||||
* Setupapi emulation
|
* Setupapi emulation
|
||||||
* Full game essential I/O emulation
|
* Full game essential I/O emulation
|
||||||
* ACIO ICCA card reader emulation, slotted readers
|
* ACIO ICCA card reader emulation, slotted readers
|
||||||
* d3d9 patching and extended features
|
* d3d9 patching and extended features
|
||||||
* Font patching for Japanese chars
|
* Font patching for Japanese chars
|
||||||
* Filesystem patches to detour E and F backup drives for settings
|
* Filesystem patches to detour E and F backup drives for settings
|
||||||
|
|
||||||
|
#### iidxhook4-cn (18 CN)
|
||||||
|
* Ezusb IO2 I/O emulation
|
||||||
|
* Setupapi emulation
|
||||||
|
* Full security emulation with SRAM and round plugs
|
||||||
|
* Full game essential I/O emulation
|
||||||
|
* d3d9 patching and extended features
|
||||||
|
* Font patching for Japanese chars
|
||||||
|
* Filesystem patches to detour E and F backup drives for settings
|
||||||
|
|
||||||
#### iidxhook5 (19)
|
#### iidxhook5 (19)
|
||||||
* Ezusb IO2 I/O emulation
|
* Ezusb IO2 I/O emulation
|
||||||
* Setupapi emulation
|
* Setupapi emulation
|
||||||
* Full game essential I/O emulation
|
* Full game essential I/O emulation
|
||||||
* ACIO ICCA card reader emulation, wave pass readers
|
* ACIO ICCA card reader emulation, wave pass readers
|
||||||
* d3d9 patching and extended features
|
* d3d9 patching and extended features
|
||||||
* Font patching for Japanese chars
|
* Font patching for Japanese chars
|
||||||
* Filesystem patches to detour E and F backup drives for settings
|
* Filesystem patches to detour E and F backup drives for settings
|
||||||
|
|
||||||
|
#### iidxhook5-cn (20 CN)
|
||||||
|
* Ezusb IO2 I/O emulation
|
||||||
|
* Setupapi emulation
|
||||||
|
* Full security emulation with SRAM and round plugs
|
||||||
|
* Full game essential I/O emulation
|
||||||
|
* d3d9 patching and extended features
|
||||||
|
* Font patching for Japanese chars
|
||||||
|
* Filesystem patches to detour E and F backup drives for settings
|
||||||
|
|
||||||
#### iidxhook6 (20)
|
#### iidxhook6 (20)
|
||||||
* Ezusb IO2 I/O emulation
|
* Ezusb IO2 I/O emulation
|
||||||
* Setupapi emulation
|
* Setupapi emulation
|
||||||
* Full game essential I/O emulation
|
* Full game essential I/O emulation
|
||||||
* ACIO ICCA card reader emulation, wave pass readers
|
* ACIO ICCA card reader emulation, wave pass readers
|
||||||
* d3d9 patching and extended features
|
* d3d9 patching and extended features
|
||||||
* Font patching for Japanese chars
|
* Font patching for Japanese chars
|
||||||
@@ -147,7 +165,7 @@ TODO go into some more detail about some differences in the hook modules, e.g. 1
|
|||||||
#### iidxhook7 (21-24)
|
#### iidxhook7 (21-24)
|
||||||
* Ezusb IO2 I/O emulation
|
* Ezusb IO2 I/O emulation
|
||||||
* Setupapi emulation
|
* Setupapi emulation
|
||||||
* Full game essential I/O emulation
|
* Full game essential I/O emulation
|
||||||
* ACIO ICCA card reader emulation, wave pass readers
|
* ACIO ICCA card reader emulation, wave pass readers
|
||||||
* d3d9 patching and extended features
|
* d3d9 patching and extended features
|
||||||
* Font patching for Japanese chars
|
* Font patching for Japanese chars
|
||||||
@@ -155,7 +173,7 @@ TODO go into some more detail about some differences in the hook modules, e.g. 1
|
|||||||
#### iidxhook8 (25-26)
|
#### iidxhook8 (25-26)
|
||||||
* ACIO BIO2 I/O emulation
|
* ACIO BIO2 I/O emulation
|
||||||
* Setupapi emulation
|
* Setupapi emulation
|
||||||
* Full game essential I/O emulation
|
* Full game essential I/O emulation
|
||||||
* ACIO ICCA card reader emulation, wave pass readers
|
* ACIO ICCA card reader emulation, wave pass readers
|
||||||
* d3d9 patching and extended features
|
* d3d9 patching and extended features
|
||||||
* Font patching for Japanese chars
|
* Font patching for Japanese chars
|
||||||
@@ -163,6 +181,9 @@ TODO go into some more detail about some differences in the hook modules, e.g. 1
|
|||||||
### jbhook
|
### jbhook
|
||||||
TODO
|
TODO
|
||||||
|
|
||||||
|
### popnhook
|
||||||
|
TODO
|
||||||
|
|
||||||
### sdvxhook
|
### sdvxhook
|
||||||
TODO
|
TODO
|
||||||
|
|
||||||
|
|||||||
53
doc/ddrhook/README.md
Normal file
53
doc/ddrhook/README.md
Normal file
@@ -0,0 +1,53 @@
|
|||||||
|
# ddrhook
|
||||||
|
|
||||||
|
ddrhook is a collection of hook libraries for "Dance Dance Revoluion" providing
|
||||||
|
emulation and various patches to run these games on non BemaniPC hardware and
|
||||||
|
newer Windows versions.
|
||||||
|
|
||||||
|
The hook libraries must be bootstrapped either using [inject](../inject.md) or
|
||||||
|
[launcher](../launcher.md) depending on the version you want to run. Further
|
||||||
|
instructions are given in dedicated readme files for each ddrhook version
|
||||||
|
(see below).
|
||||||
|
|
||||||
|
## Versions
|
||||||
|
|
||||||
|
ddrhook comes in a few different flavors. The game and its engine changed over
|
||||||
|
the years. Some game versions might require patches/parameters enabled which
|
||||||
|
others don't need or have different AVS versions. Here is the list of supported
|
||||||
|
games:
|
||||||
|
|
||||||
|
* [ddrhook1](ddrhook1.md): X, X2 (US/EU regions)
|
||||||
|
* [ddrhook2](ddrhook2.md): X2 (JP region), X3 vs. 2ndMIX, 2013, 2014, A
|
||||||
|
|
||||||
|
When building bemanitools, independent packages are created for each set of games
|
||||||
|
which are ready to be dropped on top of vanilla AC data dumps. We recommend
|
||||||
|
using pristine dumps to avoid any conflicts with other hardcoded hacks or
|
||||||
|
binary patches.
|
||||||
|
|
||||||
|
## How to run
|
||||||
|
|
||||||
|
To run your game with ddrhook, you have to use the inject tool to inject the
|
||||||
|
DLL to the game process. `dist/ddr` contains bat scripts with all the
|
||||||
|
important parameters configured. Further parameters can be added but might not
|
||||||
|
be required to run the game with default settings.
|
||||||
|
Further information on how to setup the data for each specific version are
|
||||||
|
elaborated in their dedicated readme files.
|
||||||
|
|
||||||
|
## Command line options
|
||||||
|
|
||||||
|
Add the argument *-h* when running inject with ddrhook to print help/usage
|
||||||
|
information with a list of parameters you can apply to tweak various things.
|
||||||
|
|
||||||
|
## ddrio API
|
||||||
|
|
||||||
|
Available implementations that can be swapped out depending on which kind of
|
||||||
|
IO hardware you want to use:
|
||||||
|
|
||||||
|
* `ddrio`: Default implementation supporting keyboard, mouse and USB
|
||||||
|
game controllers
|
||||||
|
* ddrio-mm: Support Minimaid custom interface
|
||||||
|
* [ddrio-smx](ddrhook/ddrio-smx.md): Support for StepManiaX dance platforms
|
||||||
|
|
||||||
|
## Unicorntail
|
||||||
|
|
||||||
|
[Instructions how to run on Chimera PCBs](unicorntail.md).
|
||||||
139
doc/ddrhook/ddrhook1.md
Normal file
139
doc/ddrhook/ddrhook1.md
Normal file
@@ -0,0 +1,139 @@
|
|||||||
|
# ddrhook1
|
||||||
|
|
||||||
|
## Supported games
|
||||||
|
|
||||||
|
The following games are supported with this hook library:
|
||||||
|
|
||||||
|
* Dance Dance Revolution X
|
||||||
|
* Dance Dance Revolution X2 (US/EU regions)
|
||||||
|
|
||||||
|
The games must be bootstrapped using [inject](../inject.md).
|
||||||
|
|
||||||
|
## Data setup
|
||||||
|
|
||||||
|
Ensure your folder with your unpacked data looks like this:
|
||||||
|
|
||||||
|
* `conf`
|
||||||
|
* `data`
|
||||||
|
* `ddr`
|
||||||
|
* `ddr_YYYYMMDDRR` where `YYYYMMDDRR` corresponds to different datecodes of
|
||||||
|
different versions. Multiple folders of these possible
|
||||||
|
|
||||||
|
`DDR.exe` files should be in `ddr` and `ddr_YYYYMMDDRR` folders.
|
||||||
|
|
||||||
|
Unpack the distribution package `ddr-11.zip` into one of the folders containing
|
||||||
|
a `DDR.exe` file. We recommend using the one with the latest datecode which
|
||||||
|
denotes the latest version of the game including bugfixes etc.
|
||||||
|
|
||||||
|
`gamestart-11.bat` as well as `ddrhook1.dll` are now expected to be located
|
||||||
|
in the same folder as (one) `DDR.exe` file.
|
||||||
|
|
||||||
|
## Running
|
||||||
|
|
||||||
|
Run `gamestart-11.bat` as administrator. For the US version of the game, run
|
||||||
|
`gamestart-11-us.bat` instead. This can be done by either by double
|
||||||
|
clicking or running it from `cmd.exe`. The latter is recommended to have
|
||||||
|
any debug output kept on screen after closing the game.
|
||||||
|
|
||||||
|
This will run [inject](../inject.md) with the `ddrhook1.dll`. On first run,
|
||||||
|
if you don't have a conguration file, e.g. `ddr-11.conf`, available in the
|
||||||
|
same folder, a default one will be created and the game exits. Simply re-run
|
||||||
|
`gamestart-11.bat` again.
|
||||||
|
|
||||||
|
## Configuration ddrhook
|
||||||
|
|
||||||
|
The hook library can be configured via cmd arguments or a configuration file.
|
||||||
|
The latter is generated (*ddr-11.conf* in the same directory) on the first
|
||||||
|
start of the game using the gamestart-XX.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-XX.bat
|
||||||
|
(e.g. *gamestart-XX.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.
|
||||||
|
|
||||||
|
To set a parameter from the command line, just add it as an argument after
|
||||||
|
the bat file like this
|
||||||
|
|
||||||
|
```
|
||||||
|
gamestart-11.bat -p gfx.windowed=true
|
||||||
|
```
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
## Configure USB memory cards and edit data
|
||||||
|
|
||||||
|
You can setup actual USB thumb drives mapped to a drive letter, e.g. `E:\` for
|
||||||
|
player 1 and `F:\` for player 2, or just have them point to any local directory,
|
||||||
|
e.g. `usbmem_p1` and `usbmem_p2`.
|
||||||
|
|
||||||
|
Set-up your folder mappings in the
|
||||||
|
[conf file or via command line args](#configuration-ddrhook) like follows:
|
||||||
|
|
||||||
|
* Enable USB memory data emulation: `ddrhook1.usbmem_enabled=true`
|
||||||
|
* Set P1 USB memory data path pointing to local folder `usbmem_p1` next to `DDR.EXE`:
|
||||||
|
`ddrhook1.usbmem_path_p1=usbmem_p1`
|
||||||
|
* Set P1 USB memory data path pointing to local folder `usbmem_p2` next to `DDR.EXE`:
|
||||||
|
`ddrhook1.usbmem_path_p1=usbmem_p2`
|
||||||
|
* Have/create a subfolder called `DDR_EDIT` on any location/USB drive you want to use
|
||||||
|
* Name your edit data file either `DDR_EDIT_J.DAT` (for JP version) or `DDR_EDIT_U.DAT`
|
||||||
|
(for US version) and place it in the `DDR_EDIT` directory.
|
||||||
|
|
||||||
|
For the example setup above, the full relative path of the edit file should be
|
||||||
|
`usbmem_p1\DDR_EDIT\DDR_EDIT_J.DAT` for player 1.
|
||||||
|
|
||||||
|
Note that USB memory cards are not detected by the game and the game stays
|
||||||
|
silent about that if they do not contain edit data, your path mapping does not resolve
|
||||||
|
or you misplaced or named your edit data file incorrectly.
|
||||||
|
|
||||||
|
## Grey and glitchy arrows
|
||||||
|
|
||||||
|
This is a known issue with many GPUs, typically non-Radeon GPUs.
|
||||||
|
|
||||||
|
There is currently not patch available in Bemanitools for that. We assume this is an
|
||||||
|
issue with incompatible shader code.
|
||||||
|
|
||||||
|
There are solutions to hard-patch the code available elsewhere.
|
||||||
|
|
||||||
|
## Troubleshooting and FAQ
|
||||||
|
|
||||||
|
### Issues with background videos (not) playing
|
||||||
|
|
||||||
|
The game expects you have the `CLVSD.ax` file registered for decoding videos.
|
||||||
|
|
||||||
|
Grab the `CLVSD.ax` file and go to *Start* > *Run* > enter `regsvr32 clvsd.ax` and
|
||||||
|
execute. Make sure to run as Administrator, otherwise you will get errors due to
|
||||||
|
invalid permissions.
|
||||||
|
|
||||||
|
### Game crashes during boot
|
||||||
|
|
||||||
|
If you have played a newer version of DDR, e.g. DDR 2014+, you might have the
|
||||||
|
`k-clvsd.dll` codec registered which crashes DDR X and likely X2 (EU/US) as well.
|
||||||
|
|
||||||
|
Unregister `k-clvsd.dll`, e.g. `regsvr32 /u k-clvsd.dll`, and
|
||||||
|
[registering `CLVSD.ax`](#issues-with-background-videos-not-working).
|
||||||
|
|
||||||
|
Note that `CLVSD.ax` will likely hang any newer/more recent DDR versions on startup
|
||||||
|
and require you to use the `k-clvsd.dll` that came with the respective version
|
||||||
|
instead. See [this section](ddrhook2.md#video-codecs-for-background-videos) for
|
||||||
|
further details.
|
||||||
|
|
||||||
|
### Black screen/render window without a response
|
||||||
|
|
||||||
|
This symptom might have many causes, here is a list of known issues and what can be done:
|
||||||
|
|
||||||
|
* If not done already, try installing
|
||||||
|
[DirectX Redist (June 2010)](https://www.microsoft.com/en-us/download/details.aspx?id=8109)
|
||||||
|
* If you have an integrated/second GPU, ensure it is disabled
|
||||||
|
* External (USB) audio devices could cause issues. Ensure you are running on on-board/integrated
|
||||||
|
sound cards and unplug any external audio devices.
|
||||||
|
* [Disable fullscreen optimizations](https://devblogs.microsoft.com/directx/demystifying-full-screen-optimizations/):
|
||||||
|
Right click on `DDR.exe`, *Properties* > *Compatibility* > *Disable fullscreen optimizations*
|
||||||
|
* Check if you can run `DDR.exe` without Bemanitools by simply launching it. It should at least
|
||||||
|
boot into a startup screen. If that isn't even possible, then it's likely not an issue with
|
||||||
|
Bemanitools. Note that your data path needs to be `D:\HDX` for that to work though.
|
||||||
150
doc/ddrhook/ddrhook2.md
Normal file
150
doc/ddrhook/ddrhook2.md
Normal file
@@ -0,0 +1,150 @@
|
|||||||
|
# ddrhook2
|
||||||
|
|
||||||
|
## Supported games
|
||||||
|
|
||||||
|
The following games are supported by this hook library:
|
||||||
|
|
||||||
|
* Dance Dance Revolution X2 (JP region)
|
||||||
|
* Dance Dance Revolution X3 vs. 2ndMIX
|
||||||
|
* Dance Dance Revolution 2013
|
||||||
|
* Dance Dance Revolution 2014
|
||||||
|
* Dance Dance Revolution A
|
||||||
|
|
||||||
|
Note that different builds of the same hook library are required to run the
|
||||||
|
different versions. See different distribution packages, e.g. `ddr-12.zip`,
|
||||||
|
`ddr-13.zip` etc.
|
||||||
|
|
||||||
|
Depending on the game version, earlier versions are bootstrapped using
|
||||||
|
[inject](../inject.md) while later versions require [launcher](../launcher.md).
|
||||||
|
|
||||||
|
## Setup A20+
|
||||||
|
|
||||||
|
### Data and folder structure
|
||||||
|
|
||||||
|
The following assumes you are using vanilla and unpacked/decrypted data. Copy/unpack the data
|
||||||
|
to a destination of your choice. Expect to have the following root folder structure:
|
||||||
|
|
||||||
|
```
|
||||||
|
arkdata
|
||||||
|
com
|
||||||
|
data
|
||||||
|
dev
|
||||||
|
modules
|
||||||
|
prop
|
||||||
|
```
|
||||||
|
|
||||||
|
* Copy the contents of `modules` to the root folder that the dll-files are next to the folders
|
||||||
|
`arkdata`, `com`, etc.
|
||||||
|
* Unpack the contents of `ddr-14-to-16.zip` to the root folder. `luncher.exe` should be located
|
||||||
|
next to `arkdata`, `com` and all the dll-files
|
||||||
|
|
||||||
|
#### Configuring eamuse settings
|
||||||
|
|
||||||
|
You need to create a `prop/ea3-config.xml` configuration file which provides properties for
|
||||||
|
connecting to a network of your choice (and allows the game to boot).
|
||||||
|
|
||||||
|
Take the `prop/eamuse.xml` as a base and make a copy of it called `prop/ea3-config.xml`.
|
||||||
|
|
||||||
|
Add the software identifier as a child to the `<ea3>` parent node:
|
||||||
|
|
||||||
|
```xml
|
||||||
|
<soft>
|
||||||
|
<model __type="str">MDX</model>
|
||||||
|
<dest __type="str">J</dest>
|
||||||
|
<spec __type="str">A</spec>
|
||||||
|
<rev __type="str">A</rev>
|
||||||
|
<ext __type="str">2022020200</ext>
|
||||||
|
</soft>
|
||||||
|
```
|
||||||
|
|
||||||
|
Replace the identifiers according to the version you are using.
|
||||||
|
|
||||||
|
Add your PCBID as a child to the `<ea3>` parent node:
|
||||||
|
|
||||||
|
```xml
|
||||||
|
<id>
|
||||||
|
<pcbid __type="str">00010203040506070809</pcbid>
|
||||||
|
<hardid __type="str">00010203040506070809</hardid>
|
||||||
|
</id>
|
||||||
|
```
|
||||||
|
|
||||||
|
Replace the values accordingly with your actual PCBID registered with your target network.
|
||||||
|
|
||||||
|
Add network settings (note this might already exist, replace existing or delete old one) as a child
|
||||||
|
to the `<ea3>` parent node:
|
||||||
|
|
||||||
|
```xml
|
||||||
|
<network>
|
||||||
|
<sz_xrpc_buf __type="u32">102400</sz_xrpc_buf>
|
||||||
|
<ssl __type="bool">0</ssl>
|
||||||
|
<services>http://eamuse.konami.fun/service/services/services/</services>
|
||||||
|
</network>
|
||||||
|
```
|
||||||
|
|
||||||
|
Replace the properties accordingly with the settings provided by your network provider, e.g. the
|
||||||
|
URL, further settings like ssl etc.
|
||||||
|
|
||||||
|
## Running
|
||||||
|
|
||||||
|
Run `gamestart-XX.bat`, where `XX` corresponds to the version of the game you
|
||||||
|
want to run, as administrator. For the US version of X2, run
|
||||||
|
`gamestart-12-us.bat` instead. This can be done by either by double
|
||||||
|
clicking or running it from `cmd.exe`. The latter is recommended to have
|
||||||
|
any debug output kept on screen after closing the game.
|
||||||
|
|
||||||
|
This will run [inject](../inject.md) or [launcher](../launcher.md), depending
|
||||||
|
on the version of the game, with the `ddrhook2.dll`. On first run, if you don't
|
||||||
|
have a conguration file, e.g. `ddr-12.conf`, available in the same folder, a
|
||||||
|
default one will be created and the game exits. Simply re-run `gamestart-XX.bat`
|
||||||
|
again.
|
||||||
|
|
||||||
|
## Configure USB memory cards and edit data (DDR X2)
|
||||||
|
|
||||||
|
You can setup actual USB thumb drives mapped to a drive letter, e.g. `E:\` for
|
||||||
|
player 1 and `F:\` for player 2, or just have them point to any local directory,
|
||||||
|
e.g. `usbmem_p1` and `usbmem_p2`.
|
||||||
|
|
||||||
|
Set-up your folder mappings in the
|
||||||
|
[conf file or via command line args](#configuration-ddrhook) like follows:
|
||||||
|
|
||||||
|
* Enable USB memory data emulation: `ddrhook1.usbmem_enabled=true`
|
||||||
|
* Set P1 USB memory data path pointing to local folder `usbmem_p1` next to `DDR.EXE`:
|
||||||
|
`ddrhook1.usbmem_path_p1=usbmem_p1`
|
||||||
|
* Set P1 USB memory data path pointing to local folder `usbmem_p2` next to `DDR.EXE`:
|
||||||
|
`ddrhook1.usbmem_path_p1=usbmem_p2`
|
||||||
|
* Have/create a subfolder called `DDR_EDIT` on any location/USB drive you want to use
|
||||||
|
* Name your edit data file either `DDR_EDIT_J.DAT` (for JP version) or `DDR_EDIT_US.DAT`
|
||||||
|
(for US version) and place it in the `DDR_EDIT` directory.
|
||||||
|
|
||||||
|
For the example setup above, the full relative path of the edit file should be
|
||||||
|
`usbmem_p1\DDR_EDIT\DDR_EDIT_J.DAT` for player 1.
|
||||||
|
|
||||||
|
Note that USB memory cards are not detected by the game and the game stays
|
||||||
|
silent about that if they do not contain edit data, your path mapping does not resolve
|
||||||
|
or you misplaced or named your edit data file incorrectly.
|
||||||
|
|
||||||
|
## Troubleshooting and FAQ
|
||||||
|
|
||||||
|
### Video codecs for background videos
|
||||||
|
|
||||||
|
For DDR 2014 and newer (maybe also earlier?), you need to register `k-clvsd.dll` and
|
||||||
|
`xactengine2_10.dll` to make background videos work. These files are included with
|
||||||
|
respective versions of the games.
|
||||||
|
|
||||||
|
Run the following commands either from a command line (`cmd.exe`) or from
|
||||||
|
*Start* > *Run*. Adjust the path to files accordingly pointing to the correct files.
|
||||||
|
|
||||||
|
* Register `regsvr32 D:\MDX\contents\k-clvsd.dll`
|
||||||
|
* Register `regsvr32 D:\MDX\contents\xactengine2_10.dll`
|
||||||
|
|
||||||
|
The `gamestart-XX.bat` scripts should already take care of this by executing the listed commands
|
||||||
|
when launched.
|
||||||
|
|
||||||
|
Note: The one that comes with IIDX will hang DDR at startup. The opposite is not true:
|
||||||
|
IIDX works just fine with this CLVSD.
|
||||||
|
|
||||||
|
### Laggy audio
|
||||||
|
|
||||||
|
If you're running on Windows XP, go to the sound devices control panel, select your
|
||||||
|
sound card, click Advanced Options and turn Hardware Acceleration down to basic. This
|
||||||
|
will make the audio much less laggy..
|
||||||
45
doc/ddrhook/unicorntail.md
Normal file
45
doc/ddrhook/unicorntail.md
Normal file
@@ -0,0 +1,45 @@
|
|||||||
|
# Unicorntail
|
||||||
|
|
||||||
|
Unicorntail is a hook library to run the DDR games on a hybrid type of hardware referred to as a
|
||||||
|
"Chimera" or "Unicorn". Compared to a "Dragon", which refers to the official stock hardware by
|
||||||
|
Konami, a Chimera mixes the P3IO board from a PCB used with GF&DM V4-V8, Jubeat, Jubeat Ripples or
|
||||||
|
Jubeat Knit with the motherboard from a GF&DM XG, XG2 or XG3 PCB, or a Reflec Beat PCB.
|
||||||
|
|
||||||
|
Actual build instructions for such hardware are out of scope here.
|
||||||
|
|
||||||
|
## Context
|
||||||
|
|
||||||
|
Dragon PCBs are hard to come by compared to finding the parts for a Chimera PCB.
|
||||||
|
|
||||||
|
A Chimera PCB however is different in many aspects to the Dragon PCB and requires the use of the
|
||||||
|
`unicorntail.dll` hook library.
|
||||||
|
|
||||||
|
The Dragon's P3IO has two serial ports that the regular P3IOs do not, and one of these serial ports
|
||||||
|
is used to communicate with the card readers. Note that these are actual serial ports driven
|
||||||
|
directly by the P3IO microcontroller, these are NOT just passed through to the motherboard like the
|
||||||
|
proprietary COM1 and COM2 connectors. Unicorn Tail intercepts serial port IO commands being sent to
|
||||||
|
the P3IO and redirects them to COM2 instead, since COM2 is unused on SD cabinets (on HD cabinets it
|
||||||
|
connects to a second ACIO bus which drives the extra lighting glitz like the light spikes and maybe
|
||||||
|
the LED strip).
|
||||||
|
|
||||||
|
## Drivers
|
||||||
|
|
||||||
|
You need the P3IO driver installed on your target system. These can be acquired from an actual stock
|
||||||
|
HDD or grabbed from
|
||||||
|
[bemanitools-supplements](https://dev.s-ul.net/djhackers/bemanitools-supplement/-/blob/master/gfdm/p3io/README.md).
|
||||||
|
|
||||||
|
## Setup and run
|
||||||
|
|
||||||
|
Edit the `gamestart.bat` file that you are using and append `unicorntail.dll` to the list of hooks,
|
||||||
|
e.g.:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
launcher.exe -H 33554432 -K unicorntail.dll arkmdxp3.dll %*
|
||||||
|
```
|
||||||
|
|
||||||
|
If you want to use any ddrhook library in addition, you have to have the hooks in the right order
|
||||||
|
to make everything work correctly, e.g.:
|
||||||
|
|
||||||
|
```shell
|
||||||
|
launcher.exe -H 33554432 -K unicorntail.dll -K ddrhook2.dll arkmdxp3.dll %*
|
||||||
|
```
|
||||||
3
doc/dev/README.md
Normal file
3
doc/dev/README.md
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
# Development documentation and notes
|
||||||
|
This folder contains various lose documentation snippets created by the developers. These can be
|
||||||
|
helpful as future reference.
|
||||||
192
doc/dev/journal/2020-12-16-acio-bio2-iidx-package-dump.md
Normal file
192
doc/dev/journal/2020-12-16-acio-bio2-iidx-package-dump.md
Normal file
@@ -0,0 +1,192 @@
|
|||||||
|
# ACIO BIO2 IIDX package dump
|
||||||
|
Package dump excerpt of the init sequence of a original Konami IIDX BIO2 with sub IO connected.
|
||||||
|
This was used to identify a missing piece of information that needs to be communicated to the BIO2
|
||||||
|
for IIDX to initialize the sub IO correctly.
|
||||||
|
|
||||||
|
The dump was cut off after two polls as the sequence just keeps on repeating from that point on.
|
||||||
|
|
||||||
|
## Findings for problem to solve
|
||||||
|
With the previous implemention of the BIO2 driver, which was created off references of SDVX KFCA,
|
||||||
|
a BIO2 used with IIDX and the sub IO (to upgrade older C02, IO2 cabinets) connected didn't
|
||||||
|
initialize properly. This resulted in no inputs/outputs other than 14 keys working.
|
||||||
|
|
||||||
|
The problem identified was a different byte, exact meaning not known, that is sent in
|
||||||
|
[exchange 4](#exchange-4-ac-io-cmd-clear). Instead of `0x3B` from the SDVX KFCA based
|
||||||
|
implementation, it needs to be set to `0x2D`.
|
||||||
|
|
||||||
|
## Exchange 1: AC_IO_CMD_ASSIGN_ADDRS
|
||||||
|
### Write
|
||||||
|
```text
|
||||||
|
AA 00 00 01 00 01 00 02
|
||||||
|
|
||||||
|
AA: SOF
|
||||||
|
00: addr
|
||||||
|
0001: AC_IO_CMD_ASSIGN_ADDRS
|
||||||
|
00: seq_no
|
||||||
|
01: nbytes
|
||||||
|
data: 00
|
||||||
|
02: checksum
|
||||||
|
```
|
||||||
|
|
||||||
|
### Read
|
||||||
|
```
|
||||||
|
AA AA 00 00 01 00 01 01 03
|
||||||
|
|
||||||
|
AA: SOF
|
||||||
|
AA: SOF
|
||||||
|
00: addr
|
||||||
|
0001: addr
|
||||||
|
00: seq_no
|
||||||
|
01: nbytes
|
||||||
|
01: data
|
||||||
|
03: checksum
|
||||||
|
```
|
||||||
|
|
||||||
|
## Exchange 2: AC_IO_CMD_GET_VERSION
|
||||||
|
### Write
|
||||||
|
```
|
||||||
|
AA 01 00 02 00 00 03
|
||||||
|
|
||||||
|
AA: SOF
|
||||||
|
01: addr, node 1
|
||||||
|
0002: AC_IO_CMD_GET_VERSION
|
||||||
|
00: seq_no
|
||||||
|
00: nbytes
|
||||||
|
03: checksum
|
||||||
|
```
|
||||||
|
|
||||||
|
### Read
|
||||||
|
```
|
||||||
|
AA AA 81 00 02 00 2C 0D 06 00 00 ...
|
||||||
|
|
||||||
|
AA: SOF
|
||||||
|
AA: SOF
|
||||||
|
81: Response flag + node 1
|
||||||
|
0002: AC_IO_CMD_GET_VERSION
|
||||||
|
00: seq_no
|
||||||
|
2C: nbytes
|
||||||
|
0D 06 00 00 ...: data
|
||||||
|
XX: checksum
|
||||||
|
```
|
||||||
|
|
||||||
|
## Exchange 3: AC_IO_CMD_START_UP
|
||||||
|
### Write
|
||||||
|
```
|
||||||
|
AA 01 00 03 00 00 04
|
||||||
|
|
||||||
|
AA: SOF
|
||||||
|
01: addr
|
||||||
|
0003: AC_IO_CMD_START_UP
|
||||||
|
00: seq_no
|
||||||
|
00: nbytes
|
||||||
|
04: checksum
|
||||||
|
```
|
||||||
|
|
||||||
|
### Read
|
||||||
|
```
|
||||||
|
AA AA 81 00 03 00 01 00 85
|
||||||
|
|
||||||
|
AA: SOF
|
||||||
|
AA: SOF
|
||||||
|
81: Response flag + node 1
|
||||||
|
0003: AC_IO_CMD_START_UP
|
||||||
|
00: seq_no
|
||||||
|
01: nbytes
|
||||||
|
00: data
|
||||||
|
85: checksum
|
||||||
|
```
|
||||||
|
|
||||||
|
## Exchange 4: AC_IO_CMD_CLEAR
|
||||||
|
### Write
|
||||||
|
```
|
||||||
|
AA 01 01 00 00 01 2D 30
|
||||||
|
|
||||||
|
AA: SOF
|
||||||
|
01: addr
|
||||||
|
0100: AC_IO_CMD_CLEAR
|
||||||
|
00: seq_no
|
||||||
|
01: nbytes
|
||||||
|
2D: data
|
||||||
|
30: checksum
|
||||||
|
```
|
||||||
|
|
||||||
|
### Read
|
||||||
|
```
|
||||||
|
AA AA 81 01 00 00 01 00 83
|
||||||
|
|
||||||
|
AA: SOF
|
||||||
|
AA: SOF
|
||||||
|
81: Response flag + node 1
|
||||||
|
0100: AC_IO_CMD_CLEAR
|
||||||
|
00: seq_no
|
||||||
|
01: nbytes
|
||||||
|
00: data
|
||||||
|
83: checksum
|
||||||
|
```
|
||||||
|
|
||||||
|
## Exchange 5: BIO2_BI2A_CMD_WATCHDOG
|
||||||
|
### Write
|
||||||
|
```
|
||||||
|
AA 01 01 20 00 02 00 00 24
|
||||||
|
|
||||||
|
AA: SOF
|
||||||
|
01: addr
|
||||||
|
0120: BIO2_BI2A_CMD_WATCHDOG
|
||||||
|
00: seq_no
|
||||||
|
02: nbytes
|
||||||
|
00 00: data
|
||||||
|
24: checksum
|
||||||
|
```
|
||||||
|
|
||||||
|
### Read
|
||||||
|
```
|
||||||
|
AA AA 81 01 20 00 01 00 A3
|
||||||
|
|
||||||
|
AA: SOF
|
||||||
|
AA: SOF
|
||||||
|
81: Response flag + node 1
|
||||||
|
0120: BIO2_BI2A_CMD_WATCHDOG
|
||||||
|
00: seq_no
|
||||||
|
01: nbytes
|
||||||
|
00: data
|
||||||
|
A3: checksum
|
||||||
|
```
|
||||||
|
|
||||||
|
## Exchange 6: BIO2_BI2A_CMD_POLL
|
||||||
|
### Write
|
||||||
|
```
|
||||||
|
AA 01 01 52 00 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 84
|
||||||
|
|
||||||
|
AA: SOF
|
||||||
|
01: addr
|
||||||
|
0152: BIO2_BI2A_CMD_POLL
|
||||||
|
00: seq_no
|
||||||
|
30: nbtes
|
||||||
|
...: data
|
||||||
|
84: checksum
|
||||||
|
```
|
||||||
|
|
||||||
|
### Read
|
||||||
|
```
|
||||||
|
AA AA 81 01 52 00 2E 00 00 B0 00 F0 00 F0 F0 00 00 00 00 00 02 00 5F 11 FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 F3
|
||||||
|
|
||||||
|
AA: SOF
|
||||||
|
AA: SOF
|
||||||
|
81: Response flag + node 1
|
||||||
|
0152: BIO2_BI2A_CMD_POLL
|
||||||
|
00: seq_no
|
||||||
|
2E: nbytes
|
||||||
|
...: data
|
||||||
|
F3: checksum
|
||||||
|
```
|
||||||
|
|
||||||
|
## Exchange 7: BIO2_BI2A_CMD_POLL
|
||||||
|
### Write
|
||||||
|
```
|
||||||
|
AA 01 01 52 00 30 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 84
|
||||||
|
```
|
||||||
|
|
||||||
|
### Read
|
||||||
|
```
|
||||||
|
AA AA 81 01 52 00 2E 00 00 B0 00 F0 00 F0 F0 00 00 00 00 00 02 00 64 11 FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 F8
|
||||||
|
```
|
||||||
289
doc/dev/journal/2023-04-03-d01-ezusb-io-boot-security.md
Normal file
289
doc/dev/journal/2023-04-03-d01-ezusb-io-boot-security.md
Normal file
@@ -0,0 +1,289 @@
|
|||||||
|
# Beatmania IIDX 10th Style - D01 IO boot code and security init
|
||||||
|
|
||||||
|
Date: 2023-04-03
|
||||||
|
Author: icex2
|
||||||
|
|
||||||
|
Documenting decompiled and reverse engineered code snippets from the D01 JAE `bm2dx.exe`. These
|
||||||
|
helped me figuring out the two different security boot modes the game supports.
|
||||||
|
|
||||||
|
In summary, it supports booting with the C02 IO with a C02 black dongle and a D01 IO board with
|
||||||
|
a D01 dongle. No other combination is valid because they didn't make sense back then. You either
|
||||||
|
had an upgraded old style/twinkle cabinet to C02 (GEC02) or you bought a new dedicated cabinet
|
||||||
|
(GQD01). With 10th style supporting the old C02 dongle, it appears that all owners of a C02 cabinet
|
||||||
|
with IO board and C02 dongle received a free software update/HDD. This might make sense considering
|
||||||
|
the short life span of C02 and the game being super buggy, especially in earlier/initial revisions.
|
||||||
|
|
||||||
|
The game expects the following "configurations" from bemanitools:
|
||||||
|
|
||||||
|
* Booting as upgraded C02 with free D01 upgrade
|
||||||
|
* `sec.boot_version=GEC02 `
|
||||||
|
* `sec.boot_seeds=0:0:1`
|
||||||
|
* `sec.black_plug_mcode=GEC02JAA`
|
||||||
|
* "D01 IO pin" on IO board not active
|
||||||
|
* Booting as dedicated
|
||||||
|
* `sec.boot_version=GEC02 `
|
||||||
|
* `sec.boot_seeds=0:1:1`
|
||||||
|
* `sec.black_plug_mcode=GQD01JAA`
|
||||||
|
* "D01 IO pin" on IO board ACTIVE
|
||||||
|
|
||||||
|
All the above was derived from reading and understanding the documented code excerpts below.
|
||||||
|
|
||||||
|
## io_boot - sub_402700
|
||||||
|
|
||||||
|
Called as the first step in the boot statemachine by the "boot" function `sub_40F9C0`.
|
||||||
|
|
||||||
|
```c
|
||||||
|
// sub_402700
|
||||||
|
int __stdcall io_boot(int a1)
|
||||||
|
{
|
||||||
|
DWORD (__stdcall *timeGetTime)(); // esi
|
||||||
|
int usb_boot_security_res; // ebp
|
||||||
|
DWORD time_start; // ebx
|
||||||
|
int io_boot_state; // edi
|
||||||
|
DWORD now; // esi
|
||||||
|
BOOL is_d01_boot_mode; // esi
|
||||||
|
BOOL v7; // esi
|
||||||
|
int result; // eax
|
||||||
|
int v9; // [esp+10h] [ebp-2Ch]
|
||||||
|
int firmware_version; // [esp+14h] [ebp-28h]
|
||||||
|
int io_pad_read; // [esp+18h] [ebp-24h] BYREF
|
||||||
|
char v12[32]; // [esp+1Ch] [ebp-20h] BYREF
|
||||||
|
|
||||||
|
dword_4D0768 = 0;
|
||||||
|
strcpy(byte_4D076C, &byte_4D0858);
|
||||||
|
timeGetTime = ::timeGetTime;
|
||||||
|
v9 = 0;
|
||||||
|
usb_boot_security_res = io_pad_read;
|
||||||
|
time_start = ::timeGetTime();
|
||||||
|
io_boot_state = 0;
|
||||||
|
while ( 2 )
|
||||||
|
{
|
||||||
|
switch ( io_boot_state )
|
||||||
|
{
|
||||||
|
case 0: // "start io", firmware download and wait for reconnect
|
||||||
|
if ( usbStart(0) )
|
||||||
|
{
|
||||||
|
if ( time_exceeded(time_start, 20000) )
|
||||||
|
set_io_error_type(1, aErrorUsbioStar);// ERROR(USBIO START)
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
io_boot_state = 1;
|
||||||
|
}
|
||||||
|
goto reset_io_boot_state_label;
|
||||||
|
case 1: // check firmware
|
||||||
|
firmware_version = usbFirmResult();
|
||||||
|
if ( firmware_version == 96 )
|
||||||
|
{
|
||||||
|
if ( time_exceeded(time_start, 25000) )
|
||||||
|
set_io_error_type(1, aErrorFm); // ERROR(FM), FM = firmware
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
io_boot_state = 2;
|
||||||
|
}
|
||||||
|
goto reset_io_boot_state_label;
|
||||||
|
case 2:
|
||||||
|
if ( !firmware_version )
|
||||||
|
{
|
||||||
|
usbMute(1);
|
||||||
|
time_start = timeGetTime();
|
||||||
|
now = timeGetTime();
|
||||||
|
io_input_is_d01_ezusb = 0;
|
||||||
|
do
|
||||||
|
{
|
||||||
|
usbPadRead(&io_pad_read);
|
||||||
|
if ( (io_pad_read & 0x10) != 0 )
|
||||||
|
io_input_is_d01_ezusb = 1;
|
||||||
|
}
|
||||||
|
while ( !time_exceeded(now, 2000) );
|
||||||
|
io_boot_state = 3;
|
||||||
|
reset_io_boot_state_label:
|
||||||
|
timeGetTime = ::timeGetTime;
|
||||||
|
if ( io_boot_state != v9 )
|
||||||
|
{
|
||||||
|
v9 = io_boot_state;
|
||||||
|
time_start = ::timeGetTime();
|
||||||
|
}
|
||||||
|
continue; // retry
|
||||||
|
}
|
||||||
|
if ( firmware_version > 128 )
|
||||||
|
{
|
||||||
|
if ( firmware_version == 254 )
|
||||||
|
{
|
||||||
|
set_io_error_type(1, aErrorFmTrnsOut);// ERROR(FM TRNS-OUT)
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
if ( firmware_version == 255 )
|
||||||
|
{
|
||||||
|
set_io_error_type(1, aErrorFmTimeOut);// ERROR(FM TIME-OUT)
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
switch ( firmware_version )
|
||||||
|
{
|
||||||
|
case 128:
|
||||||
|
set_io_error_type(1, aErrorFmReadErr);// ERROR(FM READ-ERR)
|
||||||
|
return 1;
|
||||||
|
case -113:
|
||||||
|
set_io_error_type(1, aErrorFmDlErr);// ERROR(FM DL-ERR)
|
||||||
|
return 1;
|
||||||
|
case -33:
|
||||||
|
set_io_error_type(1, aErrorFmCmprReq);// ERROR(FM CMPR-REQ)
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
UNKNOWN_ERROR_LABEL:
|
||||||
|
set_io_error_type(1, aErrorUnknown); // ERROR(UNKNOWN)
|
||||||
|
return 1;
|
||||||
|
case 3:
|
||||||
|
if ( io_init_security() )
|
||||||
|
{
|
||||||
|
set_io_error_type(1, aErrorSqInit); // ERROR(SQ-INIT)
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
io_boot_state = 4;
|
||||||
|
goto reset_io_boot_state_label;
|
||||||
|
case 4:
|
||||||
|
is_d01_boot_mode = io_input_is_d01_ezusb != 0;
|
||||||
|
if ( !strncmp(black_dongle_mcode, MCODE_GED01, 5u) )
|
||||||
|
is_d01_boot_mode = 1;
|
||||||
|
usb_boot_security_res = usbBootSecurity(aGec02, 0, is_d01_boot_mode, 1);
|
||||||
|
if ( usb_boot_security_res == 96 )
|
||||||
|
{
|
||||||
|
if ( time_exceeded(time_start, 20000) )
|
||||||
|
set_io_error_type(1, aErrorBtSqInit);// ERROR(BT-SQ-INIT)'
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
io_boot_state = 5;
|
||||||
|
}
|
||||||
|
goto reset_io_boot_state_label;
|
||||||
|
case 5:
|
||||||
|
if ( usb_boot_security_res )
|
||||||
|
{
|
||||||
|
switch ( usb_boot_security_res )
|
||||||
|
{
|
||||||
|
case 0xFFFFFE9F:
|
||||||
|
set_io_error_type(1, aErrorSecurityE);// ERROR(SECURITY EEP)
|
||||||
|
result = 1;
|
||||||
|
break;
|
||||||
|
case 0xFFFFFECF:
|
||||||
|
case 0xFFFFFEDF:
|
||||||
|
set_io_error_type(1, aErrorSecurityI);// ERROR(SECURITY ID or EEP)
|
||||||
|
result = 1;
|
||||||
|
break;
|
||||||
|
case 0xFFFFFEEF:
|
||||||
|
set_io_error_type(1, aErrorSecurityN);// 'ERROR(SECURITY No Match)'
|
||||||
|
result = 1;
|
||||||
|
break;
|
||||||
|
case 0xFFFFFEFF:
|
||||||
|
io_boot_state = 6;
|
||||||
|
goto reset_io_boot_state_label;
|
||||||
|
default:
|
||||||
|
goto UNKNOWN_ERROR_LABEL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Sleep(0x3E8u);
|
||||||
|
result = 0;
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
case 6: // security conversion/upgrading security dongles
|
||||||
|
v7 = io_input_is_d01_ezusb != 0;
|
||||||
|
if ( !usbGetSecurityKey(v12) )
|
||||||
|
{
|
||||||
|
if ( usbSetupSecurityComplete(v12, 0, v7, 1) )
|
||||||
|
set_io_error_type(1, aErrorSecurityC);// ERROR(SECURITY CONVERSION FAILED)
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
set_io_error_type(1, aErrorSecurityC); // ERROR(SECURITY CONVERSION FAILED)
|
||||||
|
goto reset_io_boot_state_label;
|
||||||
|
default:
|
||||||
|
goto UNKNOWN_ERROR_LABEL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## io_init_security - sub_402BB0
|
||||||
|
|
||||||
|
Sub-function of the [io_boot](#io_boot---sub_402700) function.
|
||||||
|
|
||||||
|
```c
|
||||||
|
// sub_402BB0
|
||||||
|
int io_init_security()
|
||||||
|
{
|
||||||
|
int v0; // esi
|
||||||
|
int v2; // esi
|
||||||
|
int mcode_mismatch_cnt; // esi
|
||||||
|
char white_dongle_data_maybe[10]; // [esp+Ch] [ebp-20h] BYREF
|
||||||
|
|
||||||
|
usbSecurityInit();
|
||||||
|
v0 = 0;
|
||||||
|
while ( usbSecurityInitDone() )
|
||||||
|
{
|
||||||
|
if ( v0 > 1200 )
|
||||||
|
{
|
||||||
|
set_io_error_type(-1, aNgSi);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
++v0;
|
||||||
|
Sleep(16u);
|
||||||
|
}
|
||||||
|
pcbid = 0;
|
||||||
|
dword_4D0754 = 0;
|
||||||
|
word_4D0758 = 0;
|
||||||
|
while ( usbGetPCBID(&pcbid) )
|
||||||
|
Sleep(1u);
|
||||||
|
*(_DWORD *)black_dongle_mcode = 0;
|
||||||
|
v2 = 0;
|
||||||
|
*(_DWORD *)&black_dongle_mcode[4] = 0;
|
||||||
|
while ( usbGetSecurity(black_dongle_mcode) ) // black_dongle_mcode = GQD01JAA
|
||||||
|
{
|
||||||
|
if ( v2 > 1200 )
|
||||||
|
{
|
||||||
|
set_io_error_type(-1, aNgPd);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
++v2;
|
||||||
|
Sleep(16u);
|
||||||
|
}
|
||||||
|
set_cabinet_type(black_dongle_mcode[6]);
|
||||||
|
mcode_mismatch_cnt = black_dongle_mcode[0] != 'G';
|
||||||
|
if ( io_input_is_d01_ezusb || !strncmp(black_dongle_mcode, MCODE_GED01, 5u) )// Path for using the D01 dongle with D01 IO board
|
||||||
|
{
|
||||||
|
if ( (unsigned __int8)black_dongle_mcode[2] != (char)MCODE_D01 )
|
||||||
|
++mcode_mismatch_cnt;
|
||||||
|
if ( (unsigned __int8)black_dongle_mcode[3] != SBYTE1(MCODE_D01) )
|
||||||
|
++mcode_mismatch_cnt;
|
||||||
|
if ( (unsigned __int8)black_dongle_mcode[4] != SBYTE2(MCODE_D01) )
|
||||||
|
++mcode_mismatch_cnt;
|
||||||
|
}
|
||||||
|
else // Path for using the C02 dongle with C02 IO board
|
||||||
|
{
|
||||||
|
if ( (unsigned __int8)black_dongle_mcode[2] != MCODE_C02[0] )
|
||||||
|
++mcode_mismatch_cnt;
|
||||||
|
if ( (unsigned __int8)black_dongle_mcode[3] != MCODE_C02[1] )
|
||||||
|
++mcode_mismatch_cnt;
|
||||||
|
if ( (unsigned __int8)black_dongle_mcode[4] != MCODE_C02[2] )
|
||||||
|
++mcode_mismatch_cnt;
|
||||||
|
if ( !usbGetSecurityKey(white_dongle_data_maybe) )
|
||||||
|
{
|
||||||
|
black_dongle_mcode[6] = white_dongle_data_maybe[6];
|
||||||
|
set_cabinet_type(white_dongle_data_maybe[6]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ( black_dongle_mcode[5] != 'J' )
|
||||||
|
++mcode_mismatch_cnt;
|
||||||
|
if ( black_dongle_mcode[6] != 'A' && black_dongle_mcode[6] != 'B' && black_dongle_mcode[6] != 'C' )
|
||||||
|
++mcode_mismatch_cnt;
|
||||||
|
if ( !mcode_mismatch_cnt )
|
||||||
|
return 0;
|
||||||
|
set_io_error_type(-1, aNgSecurity);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
```
|
||||||
@@ -51,6 +51,10 @@ make
|
|||||||
|
|
||||||
All output is located in the *build* folder including the final *bemanitools.zip* package.
|
All output is located in the *build* folder including the final *bemanitools.zip* package.
|
||||||
|
|
||||||
|
Note about using `-j n` option on make: This is currently considered broken/unreliable. Expect to
|
||||||
|
run into odd issues like randomly changing unresolved dependency errors. If you attempted this,
|
||||||
|
run a `make clean` before running `make` again.
|
||||||
|
|
||||||
### Release building
|
### Release building
|
||||||
A release build is a clean build including code formatting and testing. This can be executed by running the following
|
A release build is a clean build including code formatting and testing. This can be executed by running the following
|
||||||
command:
|
command:
|
||||||
|
|||||||
781
doc/game-error-codes.md
Normal file
781
doc/game-error-codes.md
Normal file
@@ -0,0 +1,781 @@
|
|||||||
|
# Bemani Game Error Codes
|
||||||
|
|
||||||
|
This document collects the various error codes that are know across the many games including some
|
||||||
|
information what can be done.
|
||||||
|
|
||||||
|
This information is not part of bemanitools but useful to many users using it to run the games. We
|
||||||
|
saw users encountering these errors not knowing what they mean. Therefore, we include these errors
|
||||||
|
in the repository to provide an accessible source of information regarding them.
|
||||||
|
|
||||||
|
Important: The error codes are not consistent throughout the many years of game series and versions.
|
||||||
|
|
||||||
|
It is adviced to read the error information carefully (use Google Translate App with your phone's
|
||||||
|
camera) and check the following sections. It would be great to get feedback if you see information
|
||||||
|
missing or specific games and versions not matching to increase the value of the list.
|
||||||
|
|
||||||
|
## 5-0000 series errors
|
||||||
|
|
||||||
|
### 5-0000-0000
|
||||||
|
|
||||||
|
#### Description
|
||||||
|
|
||||||
|
A generic critical error.
|
||||||
|
|
||||||
|
#### Known occurances
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
#### How to fix
|
||||||
|
|
||||||
|
* Make sure your data is not set to read only, especially the dev folder.
|
||||||
|
* Disable all network adapters other than the one used to connect to the Internet.
|
||||||
|
* Check for hidden network adapters in Device Manager.
|
||||||
|
|
||||||
|
## 5-1500 series errors
|
||||||
|
|
||||||
|
### 5-1500-0000
|
||||||
|
|
||||||
|
#### Description
|
||||||
|
|
||||||
|
IO ERROR
|
||||||
|
|
||||||
|
#### Known occurances
|
||||||
|
|
||||||
|
* Pop'n Music 15
|
||||||
|
|
||||||
|
#### How to fix
|
||||||
|
|
||||||
|
No information available.
|
||||||
|
|
||||||
|
### 5-1500-0002
|
||||||
|
|
||||||
|
#### Description
|
||||||
|
|
||||||
|
SOUND DATA CREATE ERROR
|
||||||
|
|
||||||
|
#### Known occurances
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
#### How to fix
|
||||||
|
|
||||||
|
* Check the integrity of the data you have, i.e. some files might be corrupted
|
||||||
|
* Check your physical drive. Is it failing?
|
||||||
|
|
||||||
|
## 5-1501 series errors
|
||||||
|
|
||||||
|
### 5-1501-0000
|
||||||
|
|
||||||
|
#### Description
|
||||||
|
|
||||||
|
IO BOARD ERROR
|
||||||
|
|
||||||
|
#### Known occurances
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
#### How to fix
|
||||||
|
|
||||||
|
* Recopy Bemanitools.
|
||||||
|
* For Reflec Beat, make sure you are not missing device.dll. (This seems to apply to some older
|
||||||
|
version of bemanitools)
|
||||||
|
|
||||||
|
## 5-1502 series errors
|
||||||
|
|
||||||
|
### 5-1502-0000
|
||||||
|
|
||||||
|
#### Description
|
||||||
|
|
||||||
|
BACKUP CHECK ERROR
|
||||||
|
|
||||||
|
#### Known occurances
|
||||||
|
|
||||||
|
* Pop'n'Music 21 Sunny Park
|
||||||
|
|
||||||
|
#### How to fix
|
||||||
|
|
||||||
|
* Give access to gamestart.bat and launcher.exe from Windows Firewall if enabled.
|
||||||
|
* Make sure no antivirus software firewall is blocking access to those files.
|
||||||
|
* Start gamestart.bat as Administrator.
|
||||||
|
|
||||||
|
### 5-1502-0000
|
||||||
|
|
||||||
|
#### Description
|
||||||
|
|
||||||
|
HDD READ ERROR
|
||||||
|
|
||||||
|
#### Known occurances
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
#### How to fix
|
||||||
|
|
||||||
|
* Make sure `/dev/` isn't read-only.
|
||||||
|
|
||||||
|
### 5-1502-0002
|
||||||
|
|
||||||
|
#### Description
|
||||||
|
|
||||||
|
HDD READ ERROR
|
||||||
|
|
||||||
|
#### Known occurances
|
||||||
|
|
||||||
|
* GFDM V4
|
||||||
|
|
||||||
|
#### How to fix
|
||||||
|
|
||||||
|
Unknown
|
||||||
|
|
||||||
|
## 5-1503 series errors
|
||||||
|
|
||||||
|
### 5-1503-0000
|
||||||
|
|
||||||
|
#### Description
|
||||||
|
|
||||||
|
USB I/O ERROR
|
||||||
|
|
||||||
|
##### FPGA WRITE ERROR
|
||||||
|
|
||||||
|
Writing the FPGA firmware fails. Can have various causes depending on your setup.
|
||||||
|
|
||||||
|
##### FW TRNS-OUT
|
||||||
|
|
||||||
|
This typically happens if it takes too long to upload the base firmware to the USB IO. A potential
|
||||||
|
root-cause can be bad timing since the game uses a bad combination of software sleeps and fixed
|
||||||
|
timeouts making this code prone to fail.
|
||||||
|
|
||||||
|
#### Known occurances
|
||||||
|
|
||||||
|
* IIDX
|
||||||
|
|
||||||
|
#### How to fix
|
||||||
|
|
||||||
|
#### FPGA WRITE ERROR
|
||||||
|
|
||||||
|
* Restart the game
|
||||||
|
* Re-copy bemanitools
|
||||||
|
|
||||||
|
#### FW TRNS-OUT
|
||||||
|
|
||||||
|
* Restart the game
|
||||||
|
* Re-copy bemanitools
|
||||||
|
* Running the process on high priority and with admin rights
|
||||||
|
* If you attached a debugger, that might have messed with the timing and caused this. Try a
|
||||||
|
different debugger or attach it later in the boot process
|
||||||
|
|
||||||
|
### 5-1503-0001
|
||||||
|
|
||||||
|
#### Description
|
||||||
|
|
||||||
|
DATA ERROR
|
||||||
|
|
||||||
|
"Could not read the file normally. There is a likelihood the file is damaged."
|
||||||
|
|
||||||
|
This error occurs when a file is either missing or corrupt.
|
||||||
|
|
||||||
|
#### Known occurances
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
#### How to fix
|
||||||
|
|
||||||
|
* Check the integrity of the data you have, i.e. some files might be corrupted
|
||||||
|
* If the data came in an archive format, try extracting it again with another application.
|
||||||
|
* Make sure your game is up to date with the current data available.
|
||||||
|
* Check your physical drive. Is it failing?
|
||||||
|
|
||||||
|
### 5-1503-0004
|
||||||
|
|
||||||
|
#### Description
|
||||||
|
|
||||||
|
USBIO ERROR (NO ANSWER...)
|
||||||
|
|
||||||
|
This error occurs when the game does not receive a heartbeat from the IO board. On legitimate
|
||||||
|
hardware, this error is usually caused by the IO board resetting during play. The issue is rarely
|
||||||
|
fixed by simply restarting the game and will require a full power cycle.
|
||||||
|
|
||||||
|
#### Known occurances
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
#### How do I fix it?
|
||||||
|
|
||||||
|
Real hardware:
|
||||||
|
|
||||||
|
* Check the USB cable between the PC and the IO board is okay.
|
||||||
|
* Make sure the IO board is getting enough of a clean supply of power.
|
||||||
|
|
||||||
|
Bemanitools:
|
||||||
|
|
||||||
|
* Don't attempt to put your computer to sleep while playing rhythm games.
|
||||||
|
* Change launcher.exe process priority to High when starting the game.
|
||||||
|
|
||||||
|
### 5-1503-0006
|
||||||
|
|
||||||
|
#### Description
|
||||||
|
|
||||||
|
CARD DEVICE ERROR
|
||||||
|
|
||||||
|
#### Known occurances
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
#### How do I fix it?
|
||||||
|
|
||||||
|
* Recopy Bemanitools.
|
||||||
|
|
||||||
|
### 5-1503-0007
|
||||||
|
|
||||||
|
#### Description
|
||||||
|
|
||||||
|
USBIO ERROR (FM DL-ERR)
|
||||||
|
|
||||||
|
#### Known occurances
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
#### How do I fix it?
|
||||||
|
|
||||||
|
* Run the game using gamestart.bat, don't just drag and drop the game dll onto launcher.exe
|
||||||
|
|
||||||
|
### 5-1503-0008
|
||||||
|
|
||||||
|
#### Description
|
||||||
|
|
||||||
|
FPGA Write error
|
||||||
|
|
||||||
|
#### Known occurances
|
||||||
|
|
||||||
|
* IIDX Tricoro
|
||||||
|
|
||||||
|
Seen in Tricoro Omnimix RC1.
|
||||||
|
|
||||||
|
#### How do I fix it?
|
||||||
|
|
||||||
|
Unknown
|
||||||
|
|
||||||
|
### 5-1503-9000
|
||||||
|
|
||||||
|
### Description
|
||||||
|
|
||||||
|
PCB ERROR (PCB is unusual.)
|
||||||
|
|
||||||
|
#### Known occurances
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
#### How do I fix it?
|
||||||
|
|
||||||
|
* Make sure your AC(real)IO board is on the correct COM port.
|
||||||
|
|
||||||
|
## 5-1504 series errors
|
||||||
|
|
||||||
|
### 5-1504-0000
|
||||||
|
|
||||||
|
#### Description
|
||||||
|
|
||||||
|
IC CARD READER ERROR
|
||||||
|
|
||||||
|
Something is wrong with your e-amusement card readers (usually a timeout due to them not existing).
|
||||||
|
|
||||||
|
#### Known occurances
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
#### How do I fix it?
|
||||||
|
|
||||||
|
Real hardware:
|
||||||
|
|
||||||
|
* Make sure your readers are connected and powered on.
|
||||||
|
* Check your serial cables are good.
|
||||||
|
|
||||||
|
### 5-1504-0003
|
||||||
|
|
||||||
|
### Description
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
#### Known occurances
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
#### How do I fix it?
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
### 5-1504-0004
|
||||||
|
|
||||||
|
### Description
|
||||||
|
|
||||||
|
SDLOAD TIMEOUT or SOUND LOAD TIMEOUT
|
||||||
|
|
||||||
|
#### Known occurances
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
#### How do I fix it?
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
## 5-1505 series errors
|
||||||
|
|
||||||
|
### 5-1505-0000
|
||||||
|
|
||||||
|
#### Description
|
||||||
|
|
||||||
|
HDD Data Error(BPM Notes)
|
||||||
|
|
||||||
|
For Jubeat Ripples, getting this error the first time you boot is normal. After getting this error,
|
||||||
|
the game may take 1-3 minutes longer to boot as it regenerates backup data.
|
||||||
|
|
||||||
|
#### Known occurances
|
||||||
|
|
||||||
|
* Jubeat Ripples
|
||||||
|
|
||||||
|
#### How do I fix it?
|
||||||
|
|
||||||
|
* Check the integrity of the data you have, i.e. some files might be corrupted
|
||||||
|
* If the data came in an archive format, try extracting it again with another application.
|
||||||
|
* Check your physical drive. Is it failing?
|
||||||
|
|
||||||
|
### 5-1505-0001
|
||||||
|
|
||||||
|
#### Description
|
||||||
|
|
||||||
|
HDD Data Error(Music Data)
|
||||||
|
|
||||||
|
#### Known occurances
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
#### How do I fix it?
|
||||||
|
|
||||||
|
* Check the integrity of the data you have, i.e. some files might be corrupted
|
||||||
|
* If the data came in an archive format, try extracting it again with another application.
|
||||||
|
* Check your physical drive. Is it failing?
|
||||||
|
|
||||||
|
### 5-1505-0002
|
||||||
|
|
||||||
|
#### Description
|
||||||
|
|
||||||
|
Coin Error
|
||||||
|
|
||||||
|
This error occurs when the coin line (the input triggered when a coin is inserted) is held closed
|
||||||
|
for too long.
|
||||||
|
|
||||||
|
#### Known occurances
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
#### How do I fix it?
|
||||||
|
|
||||||
|
##### Real hardware
|
||||||
|
|
||||||
|
* There may be a coin stuck, check.
|
||||||
|
* The coin mechanism may be stuck, check.
|
||||||
|
* Don't hold down the coin line so long.
|
||||||
|
|
||||||
|
### 5-1505-0006
|
||||||
|
|
||||||
|
#### Description
|
||||||
|
|
||||||
|
HDD DATA ERROR(MOUNT IMAGEFS)
|
||||||
|
|
||||||
|
#### Known occurances
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
#### How do I fix it?
|
||||||
|
|
||||||
|
* Check the integrity of the data you have, i.e. some files might be corrupted
|
||||||
|
* If the data came in an archive format, try extracting it again with another application.
|
||||||
|
* Check your physical drive. Is it failing?
|
||||||
|
|
||||||
|
### 5-1505-0025
|
||||||
|
|
||||||
|
#### Description
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
#### Known occurances
|
||||||
|
|
||||||
|
* Jubeat Saucer Fullfill
|
||||||
|
|
||||||
|
#### How do I fix it?
|
||||||
|
|
||||||
|
* Disable excess network adapters
|
||||||
|
|
||||||
|
## 5-1506 series errors
|
||||||
|
|
||||||
|
### 5-1506-0000
|
||||||
|
|
||||||
|
#### Description
|
||||||
|
|
||||||
|
##### ACIO ERROR (ERR_INIT_LINE)
|
||||||
|
|
||||||
|
##### BACKUP DATA ERROR
|
||||||
|
|
||||||
|
The backup data is corrupted. Press the test button to re-initialize it.
|
||||||
|
|
||||||
|
#### Known occurances
|
||||||
|
|
||||||
|
* IIDX 15 (BACKUP DATA ERROR)
|
||||||
|
|
||||||
|
#### How do I fix it?
|
||||||
|
|
||||||
|
##### ACIO ERROR
|
||||||
|
|
||||||
|
If you're using ACrealIO, cut the reset trace on your Arduino.
|
||||||
|
|
||||||
|
##### BACKUP DATA ERROR
|
||||||
|
|
||||||
|
Follow the instructions of the error message. You will have to re-set certain settings like clock
|
||||||
|
settings in the operator menu to complete initialization.
|
||||||
|
|
||||||
|
### 5-1506-0001
|
||||||
|
|
||||||
|
#### Description
|
||||||
|
|
||||||
|
SHOP NAME ERROR
|
||||||
|
|
||||||
|
This error may happen before the monitor check on IIDX.
|
||||||
|
|
||||||
|
#### Known occurances
|
||||||
|
|
||||||
|
* IIDX (version?)
|
||||||
|
|
||||||
|
#### How do I fix it?
|
||||||
|
|
||||||
|
Press the service button and set the shop name in "NETWORK OPTIONS".
|
||||||
|
|
||||||
|
### 5-1506-1001
|
||||||
|
|
||||||
|
#### Description
|
||||||
|
|
||||||
|
CLOCK ERROR
|
||||||
|
|
||||||
|
#### Known occurances
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
#### How do I fix it?
|
||||||
|
|
||||||
|
* "Set" and save the clock date and time in the test menu
|
||||||
|
* Recopy Bemanitools
|
||||||
|
|
||||||
|
## 5-1507 series errors
|
||||||
|
|
||||||
|
### 5-1507-0000
|
||||||
|
|
||||||
|
#### Description
|
||||||
|
|
||||||
|
SECURITY ERROR
|
||||||
|
|
||||||
|
#### Known occurances
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
#### How do I fix it?
|
||||||
|
|
||||||
|
Make sure your ea3-config.xml file contains valid values on the following lines:
|
||||||
|
|
||||||
|
```xml
|
||||||
|
<dest __type="str">...</dest>
|
||||||
|
```
|
||||||
|
|
||||||
|
Should almost always be `J`. Certain games will support `K` (Korea) or `A` (Asia) but there is
|
||||||
|
rarely a reason to use it. DDR 2014 and forward will support `U`. DanEvo will support (I believe)
|
||||||
|
`C`.
|
||||||
|
|
||||||
|
```xml
|
||||||
|
<spec __type="str">...</spec>
|
||||||
|
```
|
||||||
|
|
||||||
|
Should almost always be `A`. DDR will support `B` for non-HD monitors.
|
||||||
|
|
||||||
|
```xml
|
||||||
|
<rev __type="str">...</rev>
|
||||||
|
```
|
||||||
|
|
||||||
|
Should always be `A`.
|
||||||
|
|
||||||
|
## 5-1508 series errors
|
||||||
|
|
||||||
|
### 5-1508-0000
|
||||||
|
|
||||||
|
#### Description
|
||||||
|
|
||||||
|
LAMP CHECK ERROR
|
||||||
|
|
||||||
|
#### Known occurances
|
||||||
|
|
||||||
|
* Pop'n Music 20 Fantasia
|
||||||
|
|
||||||
|
#### How do I fix it?
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
## 5-1509 series errors
|
||||||
|
|
||||||
|
### 5-1509-0000
|
||||||
|
|
||||||
|
#### Description
|
||||||
|
|
||||||
|
REBOOT THE MACHINE
|
||||||
|
|
||||||
|
The original message in Japanese: 電源を再投入して下さい
|
||||||
|
|
||||||
|
#### Known occurances
|
||||||
|
|
||||||
|
* Pop'n Music 22 Lapistoria
|
||||||
|
|
||||||
|
#### How do I fix it?
|
||||||
|
|
||||||
|
Restart entire machine if on cabinet, or close the game (ALT+F4/ALT+TAB and then close through
|
||||||
|
taskbar) and re-run the launcher/gamestart file
|
||||||
|
|
||||||
|
## 5-2000 series errors (Network errors)
|
||||||
|
|
||||||
|
### 5-2000-0000
|
||||||
|
|
||||||
|
#### Description
|
||||||
|
|
||||||
|
Router error.
|
||||||
|
|
||||||
|
Something's not okay with the connection between the game and your router. This can either be a
|
||||||
|
(W)LAN error, or something within your computer settings (firewall, network adapter, etc.)
|
||||||
|
|
||||||
|
#### Known occurances
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
#### How do I fix it?
|
||||||
|
|
||||||
|
* Restart your game.
|
||||||
|
* Check if your computer is connected to the Internet at all.
|
||||||
|
* Make sure the services URL is correct.
|
||||||
|
* Disable all network adapters other than the one used to connect to the Internet. Alternatively,
|
||||||
|
setting that adapter to have the highest affinity also works.
|
||||||
|
* If none of the above work, reinstall a newer or older version of your network drivers.
|
||||||
|
|
||||||
|
### 5-2002-0000
|
||||||
|
|
||||||
|
#### Description
|
||||||
|
|
||||||
|
speculation: general malformed ea3-config.xml file or server communication error
|
||||||
|
|
||||||
|
#### Known occurances
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
#### How do I fix it?
|
||||||
|
|
||||||
|
* Make sure you're editing the right file for network configuration settings.
|
||||||
|
|
||||||
|
### 5-2002-0916
|
||||||
|
|
||||||
|
#### Description
|
||||||
|
|
||||||
|
Cannot communicate with the server.
|
||||||
|
|
||||||
|
#### Known occurances
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
#### How do I fix it?
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
### 5-2002-1013
|
||||||
|
|
||||||
|
#### Description
|
||||||
|
|
||||||
|
NETWORK ERROR
|
||||||
|
|
||||||
|
Cannot communicate with server.
|
||||||
|
|
||||||
|
Ensure that your internet connection is working and that your router is turned on.
|
||||||
|
|
||||||
|
Ensure that your machine is connected to your router.
|
||||||
|
|
||||||
|
Press the service button to start the game.
|
||||||
|
|
||||||
|
#### Known occurances
|
||||||
|
|
||||||
|
* IIDX, probably all known versions
|
||||||
|
|
||||||
|
#### How do I fix it?
|
||||||
|
|
||||||
|
The original message is already telling you what is going on:
|
||||||
|
|
||||||
|
* Check if your machine/pc has an internet connection
|
||||||
|
* Check your firewall settings
|
||||||
|
* Check that the server address is configured and correct in `iidxhook.conf` (old games) or
|
||||||
|
`ea3-config.xml`
|
||||||
|
* You can disable the network in the operator menu to just boot the game first. Note that this is
|
||||||
|
not possible on any versions starting IIDX 20 (tricoro).
|
||||||
|
|
||||||
|
### 5-2002-2301
|
||||||
|
|
||||||
|
#### Description
|
||||||
|
|
||||||
|
Cannot communicate with the server.
|
||||||
|
|
||||||
|
#### Known occurances
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
#### How do I fix it?
|
||||||
|
|
||||||
|
Your ea3 services URL is probably incorrect.
|
||||||
|
|
||||||
|
### 5-2000-2402
|
||||||
|
|
||||||
|
#### Description
|
||||||
|
|
||||||
|
No PCBID. You have no PCBID.
|
||||||
|
|
||||||
|
#### Known occurances
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
#### How do I fix it?
|
||||||
|
|
||||||
|
Add a valid PCBID to `ea3-config.xml`.
|
||||||
|
|
||||||
|
### 5-2002-0910
|
||||||
|
|
||||||
|
#### Description
|
||||||
|
|
||||||
|
Server Error. The game cannot communicate with the server.
|
||||||
|
|
||||||
|
#### Known occurances
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
#### How do I fix it?
|
||||||
|
|
||||||
|
Make sure the services URL is correct.
|
||||||
|
|
||||||
|
### 5-2002-2403
|
||||||
|
|
||||||
|
#### Description
|
||||||
|
|
||||||
|
Unauthorized. The server is rejecting your PCBID.
|
||||||
|
|
||||||
|
#### Known occurances
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
#### How do I fix it?
|
||||||
|
|
||||||
|
* Check that there is a valid PCBID in ea3-config.xml.
|
||||||
|
|
||||||
|
### 5-2002-2400
|
||||||
|
|
||||||
|
#### Description
|
||||||
|
|
||||||
|
Bad Request. Syntax was entered improperly and the server does not understand it.
|
||||||
|
|
||||||
|
#### Known occurances
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
#### How do I fix it?
|
||||||
|
|
||||||
|
Check your services URL and make sure it is entered correctly (e.g. "http:" instead of "https:")
|
||||||
|
|
||||||
|
### 5-2002-2404
|
||||||
|
|
||||||
|
#### Description
|
||||||
|
|
||||||
|
Not found. The server can't find the URL that the game has requested, this is usually because the
|
||||||
|
game is attempting to connect to an incorrect endpoint.
|
||||||
|
|
||||||
|
#### Known occurances
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
#### How do I fix it?
|
||||||
|
|
||||||
|
* Check your services URL in `ea3-config.xml`. Make sure to remove any slash at the end of the URL
|
||||||
|
and check for https/http.
|
||||||
|
* If you are running Spada, ensure to use a service URL that supports that older game (check with
|
||||||
|
your private server provider)
|
||||||
|
* If you are running Tune Street, ensure to use a service URL that supports that older game (check
|
||||||
|
with your private server provider)
|
||||||
|
|
||||||
|
### 5-2003-2404
|
||||||
|
|
||||||
|
#### Description
|
||||||
|
|
||||||
|
Malformed `<network>` section. The `<network>` section in your `ea3-config.xml` file is malformed
|
||||||
|
in some way.
|
||||||
|
|
||||||
|
#### Known occurances
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
#### How do I fix it?
|
||||||
|
|
||||||
|
Ensure your `<network>` section follows the following format:
|
||||||
|
|
||||||
|
```xml
|
||||||
|
<network>
|
||||||
|
<timeout __type="u32">10000</timeout>
|
||||||
|
<sz_xrpc_buf __type="u32">102400</sz_xrpc_buf>
|
||||||
|
<ssl __type="bool">0</ssl>
|
||||||
|
<services></services>
|
||||||
|
<url_slash __type="bool">1</url_slash>
|
||||||
|
</network>
|
||||||
|
```
|
||||||
|
|
||||||
|
Note: Delete the line `<url_slash __type="bool">1</url_slash>` if you're connecting to Arcana
|
||||||
|
|
||||||
|
### 5-2002-2500
|
||||||
|
|
||||||
|
#### Description
|
||||||
|
|
||||||
|
??? (Logs say http status 500)
|
||||||
|
|
||||||
|
#### Known occurances
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
#### How do I fix it?
|
||||||
|
|
||||||
|
If you are playing Lincle, use the `/core/services` URL from Tricoro, not xrpc.
|
||||||
|
|
||||||
|
### 5-2003-2502
|
||||||
|
|
||||||
|
#### Description
|
||||||
|
|
||||||
|
Server Error. The game cannot communicate with the server.
|
||||||
|
|
||||||
|
#### Known occurances
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
#### How do I fix it?
|
||||||
|
|
||||||
|
Check if your `hosts` file has any DNS redirects to other private servers that might interfere
|
||||||
|
with this
|
||||||
|
|
||||||
|
### 5-2016-0000
|
||||||
|
|
||||||
|
#### Description
|
||||||
|
|
||||||
|
"apsmanager" is a special eAM Participation system for Korean machines(XXX:K). This system
|
||||||
|
is maybe not supported by private servers.
|
||||||
|
|
||||||
|
#### Known occurances
|
||||||
|
|
||||||
|
N/A
|
||||||
|
|
||||||
|
#### How do I fix it?
|
||||||
|
|
||||||
|
Make sure your `ea3-config.xml` has this line set to 0:
|
||||||
|
|
||||||
|
```xml
|
||||||
|
<apsmanager __type="u8">0</apsmanager>
|
||||||
|
```
|
||||||
@@ -1,5 +1,4 @@
|
|||||||
# iidxhook
|
# iidxhook
|
||||||
|
|
||||||
iidxhook is a collection of hook libraries for BeatmaniaIIDX providing
|
iidxhook is a collection of hook libraries for BeatmaniaIIDX providing
|
||||||
emulation and various patches to run these games on non BemaniPC hardware and
|
emulation and various patches to run these games on non BemaniPC hardware and
|
||||||
newer Windows versions.
|
newer Windows versions.
|
||||||
@@ -9,8 +8,7 @@ The hook libraries must be bootstrapped either using [inject](../inject.md) or
|
|||||||
instructions are given in dedicated readme files for each iidxhook version
|
instructions are given in dedicated readme files for each iidxhook version
|
||||||
(see below).
|
(see below).
|
||||||
|
|
||||||
# Versions
|
## Versions
|
||||||
|
|
||||||
iidxhook comes in a few different flavors. The game and its engine changed over
|
iidxhook comes in a few different flavors. The game and its engine changed over
|
||||||
the years. Some game versions might require patches/parameters enabled which
|
the years. Some game versions might require patches/parameters enabled which
|
||||||
others don't need or have different AVS versions. Here is the list of supported
|
others don't need or have different AVS versions. Here is the list of supported
|
||||||
@@ -19,27 +17,36 @@ games:
|
|||||||
* [iidxhook2](iidxhook2.md): DistorteD
|
* [iidxhook2](iidxhook2.md): DistorteD
|
||||||
* [iidxhook3](iidxhook3.md): GOLD, DJ TROOPERS, EMPRESS, SIRIUS
|
* [iidxhook3](iidxhook3.md): GOLD, DJ TROOPERS, EMPRESS, SIRIUS
|
||||||
* [iidxhook4](iidxhook4.md): Resort Anthem
|
* [iidxhook4](iidxhook4.md): Resort Anthem
|
||||||
|
* [iidxhook4-cn](iidxhook4-cn.md): Resort Anthem CN (狂热节拍 IIDX)
|
||||||
* [iidxhook5](iidxhook5.md): Lincle
|
* [iidxhook5](iidxhook5.md): Lincle
|
||||||
|
* [iidxhook5-cn](iidxhook5-cn.md): tricoro CN (狂热节拍 IIDX 2)
|
||||||
* [iidxhook6](iidxhook6.md): Tricoro
|
* [iidxhook6](iidxhook6.md): Tricoro
|
||||||
* [iidxhook7](iidxhook7.md): SPADA, PENDUAL, copula, SINOBUZ
|
* [iidxhook7](iidxhook7.md): SPADA, PENDUAL, copula, SINOBUZ
|
||||||
* [iidxhook8](iidxhook8.md): CANNON BALLERS, Rootage
|
* [iidxhook8](iidxhook8.md): CANNON BALLERS, Rootage
|
||||||
* [iidxhook8](iidxhook9.md): Heroic Verse
|
* [iidxhook8](iidxhook9.md): Heroic Verse
|
||||||
|
|
||||||
When building kactools, independent packages are created for each set of games
|
When building bemanitools, independent packages are created for each set of games
|
||||||
which are ready to be dropped on top of vanilla AC data dumps. We recommend
|
which are ready to be dropped on top of vanilla AC data dumps. We recommend
|
||||||
using prestine dumps to avoid any conflicts with other hardcoded hacks or
|
using pristine dumps to avoid any conflicts with other hardcoded hacks or
|
||||||
binary patches.
|
binary patches.
|
||||||
|
|
||||||
# How to run
|
## How to run
|
||||||
|
|
||||||
To run your game with iidxhook, you have to use the inject tool to inject the
|
To run your game with iidxhook, you have to use the inject tool to inject the
|
||||||
DLL to the game process. *dist/iidx* contains bat scripts with all the
|
DLL to the game process. `dist/iidx` contains bat scripts with all the
|
||||||
important parameters configured. Further parameters can be added but might not
|
important parameters configured. Further parameters can be added but might not
|
||||||
be required to run the game with default settings.
|
be required to run the game with default settings.
|
||||||
Further information on how to setup the data for each specific version are
|
Further information on how to setup the data for each specific version are
|
||||||
elaborated in their dedicated readme files.
|
elaborated in their dedicated readme files.
|
||||||
|
|
||||||
# Command line options
|
## Command line options
|
||||||
|
|
||||||
Add the argument *-h* when running inject with iidxhook to print help/usage
|
Add the argument *-h* when running inject with iidxhook to print help/usage
|
||||||
information with a list of parameters you can apply to tweak various things.
|
information with a list of parameters you can apply to tweak various things.
|
||||||
|
|
||||||
|
## iidxio API
|
||||||
|
Available implementations that can be swapped out depending on which kind of
|
||||||
|
IO hardware you want to use:
|
||||||
|
* `iidxio`: Default implementation supporting keyboard, mouse and USB
|
||||||
|
game controllers
|
||||||
|
* [iidxio-bio2](iidxhook/iidxio-bio2.md): Support BIO2 hardware
|
||||||
|
* [iidxio-ezusb](iidxhook/iidxio-ezusb.md): Support C02 ezusb FX hardware
|
||||||
|
* [iidxio-ezusb2](iidxhook/iidxio-ezusb2.md): Support IO2 ezusb FX2 hardware
|
||||||
|
|||||||
@@ -126,6 +126,16 @@ happens, run the game again.
|
|||||||
|
|
||||||
# Troubleshooting and FAQ
|
# Troubleshooting and FAQ
|
||||||
|
|
||||||
|
## The game is running (very) slow in fullscreen mode but is fine in window mode
|
||||||
|
If you are using a AMD GPU, try disabling "GPU scaling" which you can find in AMD
|
||||||
|
settings UI under "Settings" -> "Display".
|
||||||
|
|
||||||
|
This issue only observed on 9th Style so far.
|
||||||
|
|
||||||
|
Use
|
||||||
|
[bemanitool's built in upscaling feature](#over-underscan-bad-image-quality-or-latency-caused-by-my-monitorsTV-upscaler) if the game is not
|
||||||
|
scaled properly in full screen.
|
||||||
|
|
||||||
## Window mode or any other gfx related options do not work when changing them in the config file or using cmd args
|
## Window mode or any other gfx related options do not work when changing them in the config file or using cmd args
|
||||||
|
|
||||||
See [this](#Use-d3d8to9-wrapper) section.
|
See [this](#Use-d3d8to9-wrapper) section.
|
||||||
@@ -188,6 +198,13 @@ can't be refreshed very often to make it feel unresponsive. Solution:
|
|||||||
hit your 10key/numpad slower than normal
|
hit your 10key/numpad slower than normal
|
||||||
|
|
||||||
## Background videos aren't working. When starting a song, windows is playing the error sound and a message box appears (RED, HAPPY SKY)
|
## Background videos aren't working. When starting a song, windows is playing the error sound and a message box appears (RED, HAPPY SKY)
|
||||||
|
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>`.
|
||||||
|
|
||||||
|
When running fullscreen, you only hear a windows error sound and the game appears to be frozen
|
||||||
|
when trying to play a background video.
|
||||||
|
|
||||||
You are missing a codec to decode and play the videos. There are different
|
You are missing a codec to decode and play the videos. There are different
|
||||||
methods available to get background videos working. Probably, the easiest
|
methods available to get background videos working. Probably, the easiest
|
||||||
solution: grab the CLVSD.ax file and go to Start -> Run -> regsvr32 clvsd.ax
|
solution: grab the CLVSD.ax file and go to Start -> Run -> regsvr32 clvsd.ax
|
||||||
@@ -224,4 +241,4 @@ If one or multiple of these issues apply, use the built in scaling options by se
|
|||||||
*gfx.scale_back_buffer_width* and *gfx.scale_back_buffer_height* to a target resolution
|
*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.
|
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
|
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.
|
*gfx.scale_back_buffer_filter* which impacts image quality/blurriness on upscaling.
|
||||||
@@ -154,6 +154,13 @@ iidxhook can limit the frame rate for you (refer to help/config file)
|
|||||||
Use dxwnd and set settings like "Acquire admin caps" and "Fullscreen only"
|
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
|
## Background videos aren't working. When starting a song, windows is playing the error sound and a message box appears
|
||||||
|
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>`.
|
||||||
|
|
||||||
|
When running fullscreen, you only hear a windows error sound and the game appears to be frozen
|
||||||
|
when trying to play a background video.
|
||||||
|
|
||||||
You are missing a codec to decode and play the videos. There are different
|
You are missing a codec to decode and play the videos. There are different
|
||||||
methods available to get background videos working. Probably, the easiest
|
methods available to get background videos working. Probably, the easiest
|
||||||
solution: grab the CLVSD.ax file and go to Start -> Run -> regsvr32 clvsd.ax
|
solution: grab the CLVSD.ax file and go to Start -> Run -> regsvr32 clvsd.ax
|
||||||
|
|||||||
@@ -57,6 +57,12 @@ If you want to run the games online, you have to set a valid PCBID and EAMID
|
|||||||
argument. You also have to set the url of the eamuse server you want to
|
argument. You also have to set the url of the eamuse server you want to
|
||||||
connect to.
|
connect to.
|
||||||
|
|
||||||
|
Additional note regarding EAMID: This is new compared to the prior games and
|
||||||
|
is provided as the identifier of the "eamuse license" to the server. Depending
|
||||||
|
on the implementation of the server, this can lead to authentication failure
|
||||||
|
resulting in
|
||||||
|
[a network error on boot or warning during gameplay](#network-warning-instead-of-network-ok).
|
||||||
|
|
||||||
Run the game with the gamestart-XX.bat file and enable network on the operator
|
Run the game with the gamestart-XX.bat file and enable network on the operator
|
||||||
menu. When enabled, the game seems to hang and expects you to power
|
menu. When enabled, the game seems to hang and expects you to power
|
||||||
cycle the machine (i.e. quit the game and restart it).
|
cycle the machine (i.e. quit the game and restart it).
|
||||||
@@ -134,7 +140,7 @@ value to cut down start-up times.
|
|||||||
|
|
||||||
## "NETWORK WARNING" instead of "NETWORK OK"
|
## "NETWORK WARNING" instead of "NETWORK OK"
|
||||||
This can be caused by:
|
This can be caused by:
|
||||||
* Invalid PCBID
|
* Invalid PCBID/EAMID: Ensure both are [set to the same ID](#eamuse-network-setup)
|
||||||
* Firewall blocking connections
|
* Firewall blocking connections
|
||||||
* Invalid eamuse url or port specified
|
* Invalid eamuse url or port specified
|
||||||
* Game is not run using the Administrator account
|
* Game is not run using the Administrator account
|
||||||
@@ -159,6 +165,13 @@ iidxhook can limit the frame rate for you (refer to help/config file)
|
|||||||
Use dxwnd and set settings like "Acquire admin caps" and "Fullscreen only"
|
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
|
## Background videos aren't working. When starting a song, windows is playing the error sound and a message box appears
|
||||||
|
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>`.
|
||||||
|
|
||||||
|
When running fullscreen, you only hear a windows error sound and the game appears to be frozen
|
||||||
|
when trying to play a background video.
|
||||||
|
|
||||||
You are missing a codec to decode and play the videos. There are different
|
You are missing a codec to decode and play the videos. There are different
|
||||||
methods available to get background videos working. Probably, the easiest
|
methods available to get background videos working. Probably, the easiest
|
||||||
solution: grab the CLVSD.ax file and go to Start -> Run -> regsvr32 clvsd.ax
|
solution: grab the CLVSD.ax file and go to Start -> Run -> regsvr32 clvsd.ax
|
||||||
@@ -201,3 +214,12 @@ If one or multiple of these issues apply, use the built in scaling options by se
|
|||||||
to scale to. Usually, you want to set this to the monitor's native resolution, e.g.
|
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
|
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.
|
*gfx.scale_back_buffer_filter* which impacts image quality/blurriness on upscaling.
|
||||||
|
|
||||||
|
## DJTroopers crashes on boot
|
||||||
|
The stock game is buggy and cannot create default backup data correctly. This
|
||||||
|
can be fixed by using existing backup data from a stock drive or by using
|
||||||
|
the pre-generated backup data for the `e:\` and `f:\` drives provided by
|
||||||
|
[bemanitools-supplement](https://github.com/djhackersdev/bemanitools-supplement/tree/master/iidx/15#default-backup-data).
|
||||||
|
|
||||||
|
Copy those files to your target location that you have configured to store this
|
||||||
|
data, e.g. local `e\` and `f\` folders or the target `e:\` and `f:\` volumes.
|
||||||
13
doc/iidxhook/iidxhook4-cn.md
Normal file
13
doc/iidxhook/iidxhook4-cn.md
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
# Game list
|
||||||
|
|
||||||
|
The following games are compatible with this version of iidxhook:
|
||||||
|
* Resort Anthem CN (狂热节拍 IIDX)
|
||||||
|
|
||||||
|
The games must be bootstrapped using [inject.exe](../inject.md).
|
||||||
|
|
||||||
|
# Remarks
|
||||||
|
|
||||||
|
Resort Anthem CN (狂热节拍 IIDX):
|
||||||
|
|
||||||
|
* Does not have NETWORK function
|
||||||
|
* Game doesn't used card readers
|
||||||
@@ -85,17 +85,29 @@ cycle the machine (i.e. quit the game and restart it).
|
|||||||
|
|
||||||
## USB IO (ezusb)
|
## USB IO (ezusb)
|
||||||
|
|
||||||
Use the specific iidxio API implementations, e.g. iidxio-ezusb2.dll to use
|
You have the following options:
|
||||||
the IO2 EZUSB board, to run the game on real hardware. Thanks to a common
|
* Set `io.disable_io_emu=true` in the `iidxhook.conf` file to not hook ezusb
|
||||||
abstraction layer, you can also use custom IO boards or whatever Konami hardware
|
IO communication with an emulation layer. The game will directly talk to the IO.
|
||||||
is going to be available in the future. Obviously, someone has to write a
|
The game supports the ezusb (C02) as well as ezusb FX2 (IO2) boards.
|
||||||
driver, first.
|
* 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.
|
||||||
|
|
||||||
## Slotted/Wave pass card readers
|
## Slotted/Wave pass card readers
|
||||||
|
|
||||||
Replace the default *eamio.dll* with the *eamio-icca.dll* and have either your
|
You have the following options:
|
||||||
|
* 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 (slotted 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
|
slotted (IIDX, DDR Supernova or GF/DM type) or new wave pass card readers
|
||||||
conencted and and assigned to *COM1*.
|
conencted and and assigned to `COM1`. Other custom implementations of of the
|
||||||
|
`eamio` API also work.
|
||||||
|
|
||||||
### ICCA device settings (device manager)
|
### ICCA device settings (device manager)
|
||||||
* Port: COM1
|
* Port: COM1
|
||||||
@@ -112,7 +124,7 @@ mainboard.
|
|||||||
# Known bugs
|
# Known bugs
|
||||||
## USBIO (FM-DL TIMEOUT)
|
## USBIO (FM-DL TIMEOUT)
|
||||||
IIDX occasionally fails to boot with a "USBIO (FM-DL TIMEOUT)" error. If this
|
IIDX occasionally fails to boot with a "USBIO (FM-DL TIMEOUT)" error. If this
|
||||||
happens, run the game again.
|
happens, run the game again.
|
||||||
|
|
||||||
# Troubleshooting and FAQ
|
# Troubleshooting and FAQ
|
||||||
|
|
||||||
@@ -163,6 +175,13 @@ iidxhook can limit the frame rate for you (refer to help/config file)
|
|||||||
Use dxwnd and set settings like "Acquire admin caps" and "Fullscreen only"
|
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
|
## Background videos aren't working. When starting a song, windows is playing the error sound and a message box appears
|
||||||
|
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>`.
|
||||||
|
|
||||||
|
When running fullscreen, you only hear a windows error sound and the game appears to be frozen
|
||||||
|
when trying to play a background video.
|
||||||
|
|
||||||
You are missing a codec to decode and play the videos. There are different
|
You are missing a codec to decode and play the videos. There are different
|
||||||
methods available to get background videos working. Probably, the easiest
|
methods available to get background videos working. Probably, the easiest
|
||||||
solution: grab the CLVSD.ax file and go to Start -> Run -> regsvr32 clvsd.ax
|
solution: grab the CLVSD.ax file and go to Start -> Run -> regsvr32 clvsd.ax
|
||||||
|
|||||||
15
doc/iidxhook/iidxhook5-cn.md
Normal file
15
doc/iidxhook/iidxhook5-cn.md
Normal file
@@ -0,0 +1,15 @@
|
|||||||
|
# Game list
|
||||||
|
|
||||||
|
The following games are compatible with this version of iidxhook:
|
||||||
|
* tricoro CN (狂热节拍 IIDX 2)
|
||||||
|
|
||||||
|
The games must be bootstrapped using [inject.exe](../inject.md).
|
||||||
|
|
||||||
|
# Remarks
|
||||||
|
|
||||||
|
tricoro CN (狂热节拍 IIDX 2):
|
||||||
|
|
||||||
|
* Game uses Lincle engine
|
||||||
|
* Identifier being JDZ
|
||||||
|
* Does not have NETWORK function
|
||||||
|
* Game doesn't used card readers
|
||||||
@@ -85,17 +85,29 @@ cycle the machine (i.e. quit the game and restart it).
|
|||||||
|
|
||||||
## USB IO (ezusb)
|
## USB IO (ezusb)
|
||||||
|
|
||||||
Use the specific iidxio API implementations, e.g. iidxio-ezusb2.dll to use
|
You have the following options:
|
||||||
the IO2 EZUSB board, to run the game on real hardware. Thanks to a common
|
* Set `io.disable_io_emu=true` in the `iidxhook.conf` file to not hook ezusb
|
||||||
abstraction layer, you can also use custom IO boards or whatever Konami hardware
|
IO communication with an emulation layer. The game will directly talk to the IO.
|
||||||
is going to be available in the future. Obviously, someone has to write a
|
The game supports the ezusb (C02) as well as ezusb FX2 (IO2) boards.
|
||||||
driver, first.
|
* 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.
|
||||||
|
|
||||||
## Slotted/Wave pass card readers
|
## Slotted/Wave pass card readers
|
||||||
|
|
||||||
Replace the default *eamio.dll* with the *eamio-icca.dll* and have either your
|
You have the following options:
|
||||||
|
* 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
|
slotted (IIDX, DDR Supernova or GF/DM type) or new wave pass card readers
|
||||||
conencted and and assigned to *COM1*.
|
conencted and and assigned to `COM1`. Other custom implementations of of the
|
||||||
|
`eamio` API also work.
|
||||||
|
|
||||||
### ICCA device settings (device manager)
|
### ICCA device settings (device manager)
|
||||||
* Port: COM1
|
* Port: COM1
|
||||||
@@ -159,6 +171,13 @@ iidxhook can limit the frame rate for you (refer to help/config file)
|
|||||||
Use dxwnd and set settings like "Acquire admin caps" and "Fullscreen only"
|
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
|
## Background videos aren't working. When starting a song, windows is playing the error sound and a message box appears
|
||||||
|
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>`.
|
||||||
|
|
||||||
|
When running fullscreen, you only hear a windows error sound and the game appears to be frozen
|
||||||
|
when trying to play a background video.
|
||||||
|
|
||||||
You are missing a codec to decode and play the videos. There are different
|
You are missing a codec to decode and play the videos. There are different
|
||||||
methods available to get background videos working. Probably, the easiest
|
methods available to get background videos working. Probably, the easiest
|
||||||
solution: grab the CLVSD.ax file and go to Start -> Run -> regsvr32 clvsd.ax
|
solution: grab the CLVSD.ax file and go to Start -> Run -> regsvr32 clvsd.ax
|
||||||
|
|||||||
@@ -96,17 +96,29 @@ cycle the machine (i.e. quit the game and restart it).
|
|||||||
|
|
||||||
## USB IO (ezusb)
|
## USB IO (ezusb)
|
||||||
|
|
||||||
Use the specific iidxio API implementations, e.g. iidxio-ezusb2.dll to use
|
You have the following options:
|
||||||
the IO2 EZUSB board, to run the game on real hardware. Thanks to a common
|
* Set `io.disable_io_emu=true` in the `iidxhook.conf` file to not hook ezusb
|
||||||
abstraction layer, you can also use custom IO boards or whatever Konami hardware
|
IO communication with an emulation layer. The game will directly talk to the IO.
|
||||||
is going to be available in the future. Obviously, someone has to write a
|
The game supports the ezusb (C02) as well as ezusb FX2 (IO2) boards.
|
||||||
driver, first.
|
* 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.
|
||||||
|
|
||||||
## Slotted/Wave pass card readers
|
## Slotted/Wave pass card readers
|
||||||
|
|
||||||
Replace the default *eamio.dll* with the *eamio-icca.dll* and have either your
|
You have the following options:
|
||||||
|
* 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
|
slotted (IIDX, DDR Supernova or GF/DM type) or new wave pass card readers
|
||||||
conencted and and assigned to *COM1*.
|
conencted and and assigned to `COM1`. Other custom implementations of of the
|
||||||
|
`eamio` API also work.
|
||||||
|
|
||||||
### ICCA device settings (device manager)
|
### ICCA device settings (device manager)
|
||||||
* Port: COM1
|
* Port: COM1
|
||||||
@@ -165,6 +177,13 @@ iidxhook can limit the frame rate for you (refer to help/config file)
|
|||||||
Use dxwnd and set settings like "Acquire admin caps" and "Fullscreen only"
|
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
|
## Background videos aren't working. When starting a song, windows is playing the error sound and a message box appears
|
||||||
|
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>`.
|
||||||
|
|
||||||
|
When running fullscreen, you only hear a windows error sound and the game appears to be frozen
|
||||||
|
when trying to play a background video.
|
||||||
|
|
||||||
You are missing a codec to decode and play the videos. There are different
|
You are missing a codec to decode and play the videos. There are different
|
||||||
methods available to get background videos working. Probably, the easiest
|
methods available to get background videos working. Probably, the easiest
|
||||||
solution: grab the CLVSD.ax file and go to Start -> Run -> regsvr32 clvsd.ax
|
solution: grab the CLVSD.ax file and go to Start -> Run -> regsvr32 clvsd.ax
|
||||||
|
|||||||
@@ -101,17 +101,29 @@ cycle the machine (i.e. quit the game and restart it).
|
|||||||
|
|
||||||
## USB IO (ezusb)
|
## USB IO (ezusb)
|
||||||
|
|
||||||
Use the specific iidxio API implementations, e.g. iidxio-ezusb2.dll to use
|
You have the following options:
|
||||||
the IO2 EZUSB board, to run the game on real hardware. Thanks to a common
|
* Set `io.disable_io_emu=true` in the `iidxhook.conf` file to not hook ezusb
|
||||||
abstraction layer, you can also use custom IO boards or whatever Konami hardware
|
IO communication with an emulation layer. The game will directly talk to the IO.
|
||||||
is going to be available in the future. Obviously, someone has to write a
|
The game supports the ezusb (C02) as well as ezusb FX2 (IO2) boards.
|
||||||
driver, first.
|
* 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.
|
||||||
|
|
||||||
## Slotted/Wave pass card readers
|
## Slotted/Wave pass card readers
|
||||||
|
|
||||||
Replace the default *eamio.dll* with the *eamio-icca.dll* and have either your
|
You have the following options:
|
||||||
|
* 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
|
slotted (IIDX, DDR Supernova or GF/DM type) or new wave pass card readers
|
||||||
conencted and and assigned to *COM1*.
|
conencted and and assigned to `COM1`. Other custom implementations of of the
|
||||||
|
`eamio` API also work.
|
||||||
|
|
||||||
### ICCA device settings (device manager)
|
### ICCA device settings (device manager)
|
||||||
* Port: COM1
|
* Port: COM1
|
||||||
@@ -170,6 +182,13 @@ iidxhook can limit the frame rate for you (refer to help/config file)
|
|||||||
Use dxwnd and set settings like "Acquire admin caps" and "Fullscreen only"
|
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
|
## Background videos aren't working. When starting a song, windows is playing the error sound and a message box appears
|
||||||
|
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>`.
|
||||||
|
|
||||||
|
When running fullscreen, you only hear a windows error sound and the game appears to be frozen
|
||||||
|
when trying to play a background video.
|
||||||
|
|
||||||
You are missing a codec to decode and play the videos. There are different
|
You are missing a codec to decode and play the videos. There are different
|
||||||
methods available to get background videos working. Probably, the easiest
|
methods available to get background videos working. Probably, the easiest
|
||||||
solution: grab the CLVSD.ax file and go to Start -> Run -> regsvr32 clvsd.ax
|
solution: grab the CLVSD.ax file and go to Start -> Run -> regsvr32 clvsd.ax
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user