mirror of
https://github.com/djhackersdev/bemanitools.git
synced 2026-09-15 11:55:10 -05:00
Compare commits
243 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
bdf493d2fb | ||
|
|
bec007d52a | ||
|
|
a177913bd6 | ||
|
|
0fdde8b32d | ||
|
|
09b3a6c24a | ||
|
|
f8b2f5f40d | ||
|
|
882a3557c9 | ||
|
|
2454141cab | ||
|
|
4b740c13e8 | ||
|
|
ec4e81d9d3 | ||
|
|
9a964e6bdb | ||
|
|
9b2ed6910e | ||
|
|
82343d8cf1 | ||
|
|
c0101cb614 | ||
|
|
820036087d | ||
|
|
ebd80d3749 | ||
|
|
3bff7f8a5e | ||
|
|
9ce47e7050 | ||
|
|
13c87eaf8d | ||
|
|
f8d394e124 | ||
|
|
09080f7ae2 | ||
|
|
e673cf694f | ||
|
|
9afb28a759 | ||
|
|
2920e2b2cf | ||
|
|
5c08e966d9 | ||
|
|
6be7bdc403 | ||
|
|
20c6e46a71 | ||
|
|
d7c4128a28 | ||
|
|
0961bae99f | ||
|
|
3a89502498 | ||
|
|
23ca366f78 | ||
|
|
ec374ec291 | ||
|
|
db2d71e13c | ||
|
|
2bbbfccd13 | ||
|
|
c22ec4fcff | ||
|
|
1a86cc7ee5 | ||
|
|
069981ef63 | ||
|
|
4c3febfcad | ||
|
|
7d9b837463 | ||
|
|
c5bba84940 | ||
|
|
5ef190f0af | ||
|
|
ed0ce2de35 | ||
|
|
f2628a954c | ||
|
|
96d7c4ed91 | ||
|
|
3c185d5fde | ||
|
|
d3f192976c | ||
|
|
7d0c502c45 | ||
|
|
387dc046f4 | ||
|
|
e40709ddf7 | ||
|
|
bf83bd89e5 | ||
|
|
9c9e554234 | ||
|
|
782a23db74 | ||
|
|
6ea099fd9e | ||
|
|
6dea29ec6a | ||
|
|
b864c0dcfd | ||
|
|
c4e77a9152 | ||
|
|
736c82975f | ||
|
|
ecd598185b | ||
|
|
89efe0cc86 | ||
|
|
3249e70cc2 | ||
|
|
d54627c3fc | ||
|
|
be4b303ed7 | ||
|
|
d438cd320e | ||
|
|
4b23860f8c | ||
|
|
3d36da6751 | ||
|
|
9dd7a81033 | ||
|
|
6eb415a9d7 | ||
|
|
df9a617062 | ||
|
|
11f670b5a1 | ||
|
|
139c658d03 | ||
|
|
043906e353 | ||
|
|
c38ea64ea9 | ||
|
|
cd7425a3b9 | ||
|
|
8fb42aff73 | ||
|
|
fc052b2d7f | ||
|
|
e9d24f7f90 | ||
|
|
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 |
@@ -1,17 +1,24 @@
|
||||
# Bug report
|
||||
|
||||
## Summary
|
||||
|
||||
<!--- Provide a general summary of the issue in the Title above -->
|
||||
|
||||
## Expected behavior
|
||||
|
||||
<!--- Tell us what should happen -->
|
||||
|
||||
## Current behavior
|
||||
|
||||
<!--- Tell us what happens instead of the expected behavior -->
|
||||
|
||||
## Detailed Description
|
||||
|
||||
<!--- Provide a detailed description of the issue. Include links to screenshots or videos if
|
||||
necessary -->
|
||||
|
||||
## 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 -->
|
||||
@@ -21,17 +28,23 @@ necessary -->
|
||||
4.
|
||||
|
||||
## Possible solution
|
||||
|
||||
<!--- Not obligatory, but suggest a fix/reason for the bug, -->
|
||||
|
||||
## Context (Environment)
|
||||
|
||||
### Bemanitools version(s) affected
|
||||
|
||||
* <!--- Add one or multiple versions as a bullet list -->
|
||||
|
||||
### Game(s) and version(s) affected
|
||||
|
||||
* <!--- Add one or multiple game versions as a bullet list -->
|
||||
|
||||
### Log output
|
||||
|
||||
See attachment.
|
||||
|
||||
<!---
|
||||
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.
|
||||
@@ -50,7 +63,9 @@ Use the search and replace feature of any kind of text editor.
|
||||
-->
|
||||
|
||||
### Configuration files
|
||||
|
||||
See attachment.
|
||||
|
||||
<!--- 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.
|
||||
|
||||
@@ -66,17 +81,21 @@ Use the search and replace feature of any kind of text editor.
|
||||
-->
|
||||
|
||||
### 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. -->
|
||||
|
||||
### APIs used
|
||||
|
||||
* <!--- List all APIs you used as a bullet list, e.g. iidxio-keyboard, eamio-keyboard -->
|
||||
|
||||
### OS version
|
||||
|
||||
<!--- Provide the version of Windows you used with whatever update/build identifier -->
|
||||
|
||||
### Hardware specs
|
||||
|
||||
* CPU: <!--- Insert, e.g. Core i7 2600k 3.20ghz -->
|
||||
* RAM: <!--- Insert, e.g. 16 GB -->
|
||||
* GPU: <!--- Insert, e.g. Nvidia GeForce GTX 970, 4GB -->
|
||||
@@ -1,14 +1,21 @@
|
||||
# Feature request
|
||||
|
||||
## Summary
|
||||
|
||||
<!--- Provide a general summary of your changes in the Title above -->
|
||||
|
||||
## Detailed description
|
||||
|
||||
<!--- Describe your feature in detail -->
|
||||
|
||||
## Benefits
|
||||
|
||||
<!--- Describe the value/benefits of the feature in detail -->
|
||||
|
||||
## Drawbacks
|
||||
|
||||
<!--- Describe any drawbacks that might be introduced with this feature -->
|
||||
|
||||
## Current blockers
|
||||
|
||||
<!--- Describe any blockers that need to be resolved before implementing this feature -->
|
||||
@@ -1,23 +1,31 @@
|
||||
# Pull request
|
||||
|
||||
## 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-->
|
||||
39
.github/workflows/build-master.yaml
vendored
Normal file
39
.github/workflows/build-master.yaml
vendored
Normal file
@@ -0,0 +1,39 @@
|
||||
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: 90
|
||||
if-no-files-found: "error"
|
||||
path: |
|
||||
artifact/**
|
||||
75
.github/workflows/build-tag.yaml
vendored
Normal file
75
.github/workflows/build-tag.yaml
vendored
Normal file
@@ -0,0 +1,75 @@
|
||||
name: "Build bemanitools and publish release"
|
||||
|
||||
permissions:
|
||||
contents: write
|
||||
packages: write
|
||||
|
||||
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: 90
|
||||
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
|
||||
.vscode
|
||||
.vs
|
||||
version
|
||||
version
|
||||
.DS_Store
|
||||
|
||||
@@ -1,55 +0,0 @@
|
||||
image: docker:stable
|
||||
|
||||
variables:
|
||||
DOCKER_TLS_CERTDIR: "/certs"
|
||||
|
||||
services:
|
||||
- docker:19.03.8-dind
|
||||
|
||||
before_script:
|
||||
- docker info
|
||||
|
||||
stages:
|
||||
- build
|
||||
- upload-release
|
||||
|
||||
build-master:
|
||||
stage: build
|
||||
before_script:
|
||||
- apk update && apk add make > /dev/null
|
||||
script:
|
||||
- make build-docker
|
||||
- mv build/docker/bemanitools.zip bemanitools.zip
|
||||
artifacts:
|
||||
name: "$CI_COMMIT_SHORT_SHA-$CI_JOB_NAME"
|
||||
paths:
|
||||
- bemanitools.zip
|
||||
only:
|
||||
refs:
|
||||
- master
|
||||
|
||||
build-tags:
|
||||
stage: build
|
||||
before_script:
|
||||
- apk update && apk add make > /dev/null
|
||||
script:
|
||||
- make build-docker
|
||||
- mv build/docker/bemanitools.zip bemanitools.zip
|
||||
artifacts:
|
||||
name: "$CI_COMMIT_SHORT_SHA-$CI_JOB_NAME"
|
||||
paths:
|
||||
- bemanitools.zip
|
||||
only:
|
||||
- tags
|
||||
|
||||
upload-release:
|
||||
stage: upload-release
|
||||
dependencies:
|
||||
- build-tags
|
||||
before_script:
|
||||
- apk update && apk add curl > /dev/null
|
||||
script:
|
||||
- echo "Uploading ${CI_PROJECT_NAME}-${CI_COMMIT_TAG}..."
|
||||
- curl --silent --show-error -F "key=${CI_UPLOAD_KEY}" -F "filename=${CI_PROJECT_NAME}-v${CI_COMMIT_TAG}.zip" -F "file=@./bemanitools.zip" ${CI_UPLOAD_URL}
|
||||
only:
|
||||
- tags
|
||||
@@ -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.
|
||||
102
CHANGELOG.md
102
CHANGELOG.md
@@ -1,7 +1,109 @@
|
||||
# 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.47
|
||||
### Features
|
||||
N/A
|
||||
|
||||
### Fixes
|
||||
* fix(ddr/p3ioemu): Handle unknown 2B command to fix DDR X IO errors
|
||||
* fix(ddr/p3io): Crash on all supported DDR games due to incorrect p3io message size validation
|
||||
* fix(geninput): Sony DualShock 4 not working
|
||||
|
||||
## 5.46
|
||||
### Features
|
||||
* feat(ddrio): Wrapper/shim library to drive another ddrio in a dedicated IO thread. Improves performance for highly IO
|
||||
bound ddrio implementations, e.g. ddrio-p3io
|
||||
* feat(iidxiotest): bi2a-iidx support
|
||||
|
||||
### Fixes
|
||||
* fix(jb03/04): Missing XML in gamestart script
|
||||
* fix(jbhook1): Rotate error message box when screen is rotated
|
||||
* fix(jbhook1): Improve/fix automatic config/nvram fs initialization
|
||||
|
||||
## 5.45
|
||||
### Features
|
||||
* feat(iidx 30): Added support
|
||||
* feat(ddr): Add ddrio implementation with P3IO driver backend
|
||||
* feat(ddr): Add p3io-ddr-tool for testing/debugging real P3IO devices with EXTIO
|
||||
* feat(ddr): Add testing tool for real EXTIO devices
|
||||
* feat(ddr): Add extio driver
|
||||
* feat(ddr): Add p3io driver
|
||||
* feat(iidx 20-26): New/fixed gfx up-/downscaling feature, old one was broken
|
||||
* feat(ddr): Vigem driver for ddrio
|
||||
* feat(iidx 25-30): The user can now set a custom camera device override of "SKIP" to leave that camera unassigned
|
||||
|
||||
### Fixes
|
||||
* fix(iidx 09/10): Fix stretched BGAs on 1st and 3rd style videos
|
||||
|
||||
## 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
|
||||
|
||||
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"
|
||||
|
||||
RUN yum -y install \
|
||||
git \
|
||||
# mingw-w64-gcc has 32-bit and 64-bit toolchains
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
mingw-w64 \
|
||||
mingw-w64-common \
|
||||
make \
|
||||
zip \
|
||||
clang \
|
||||
mingw64-gcc.x86_64 \
|
||||
mingw32-gcc.x86_64 \
|
||||
wine.x86_64
|
||||
git \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
RUN mkdir /bemanitools
|
||||
WORKDIR /bemanitools
|
||||
|
||||
# Order optimized for docker layer caching
|
||||
COPY run-tests-wine.sh run-tests-wine.sh
|
||||
COPY CHANGELOG.md CHANGELOG.md
|
||||
COPY CONTRIBUTING.md CONTRIBUTING.md
|
||||
COPY LICENSE LICENSE
|
||||
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
|
||||
ENTRYPOINT [ \
|
||||
"/bin/sh", \
|
||||
"-c" , \
|
||||
"cd /bemanitools && \
|
||||
make" ]
|
||||
35
GNUmakefile
35
GNUmakefile
@@ -14,7 +14,7 @@ BUILDDIR ?= build
|
||||
builddir_docker := $(BUILDDIR)/docker
|
||||
|
||||
docker_container_name := "bemanitools-build"
|
||||
docker_image_name := "bemanitools:build"
|
||||
docker_image_name := "bemanitools-build:latest"
|
||||
|
||||
depdir := $(BUILDDIR)/dep
|
||||
objdir := $(BUILDDIR)/obj
|
||||
@@ -37,6 +37,8 @@ ldflags := -Wl,--gc-sections -static-libgcc
|
||||
|
||||
all: build
|
||||
|
||||
FORCE:
|
||||
|
||||
.PHONY: \
|
||||
build-docker \
|
||||
clean \
|
||||
@@ -44,7 +46,8 @@ code-format \
|
||||
print-building \
|
||||
print-release \
|
||||
run-tests \
|
||||
version
|
||||
version \
|
||||
FORCE
|
||||
|
||||
release: \
|
||||
print-release \
|
||||
@@ -69,7 +72,7 @@ clean:
|
||||
|
||||
code-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:
|
||||
$(V)echo "Running tests..."
|
||||
@@ -81,13 +84,21 @@ version:
|
||||
|
||||
build-docker:
|
||||
$(V)docker rm -f $(docker_container_name) 2> /dev/null || true
|
||||
$(V)docker build -t $(docker_image_name) -f Dockerfile .
|
||||
$(V)docker create --name $(docker_container_name) $(docker_image_name)
|
||||
$(V)rm -rf $(builddir_docker)
|
||||
$(V)mkdir -p $(builddir_docker)
|
||||
$(V)docker cp $(docker_container_name):/bemanitools/build $(builddir_docker)
|
||||
$(V)mv $(builddir_docker)/build/* $(builddir_docker)
|
||||
$(V)rm -r $(builddir_docker)/build
|
||||
$(V)docker \
|
||||
build \
|
||||
-t $(docker_image_name) \
|
||||
-f Dockerfile \
|
||||
.
|
||||
$(V)docker \
|
||||
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
|
||||
@@ -185,6 +196,8 @@ $$(depdir_$1_$2_$3):
|
||||
$$(objdir_$1_$2_$3):
|
||||
$(V)mkdir -p $$@
|
||||
|
||||
$$(volatile_$3:%.c=$$(objdir_$1_$2_$3)/%.o): FORCE
|
||||
|
||||
$$(objdir_$1_$2_$3)/%.o: $$(srcdir_$3)/%.c \
|
||||
| $$(depdir_$1_$2_$3) $$(objdir_$1_$2_$3)
|
||||
$(V)echo ... $$@
|
||||
@@ -226,7 +239,7 @@ $$(dll_$1_$2_$3) $$(implib_$1_$2_$3): $$(obj_$1_$2_$3) $$(abslib_$1_$2_$3) \
|
||||
$(V)echo ... $$(dll_$1_$2_$3)
|
||||
$(V)$$(toolchain_$1)gcc -shared \
|
||||
-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)ranlib $$(implib_$1_$2_$3)
|
||||
|
||||
|
||||
274
Module.mk
274
Module.mk
@@ -21,12 +21,20 @@
|
||||
#
|
||||
# 4: Patch 2: beatmania IIDX 14 GOLD
|
||||
#
|
||||
# 4: Patch 3: pop'n music 15 ADVENTURE
|
||||
#
|
||||
# 6: Patch 5: beatmania IIDX 15 DJ Troopers
|
||||
#
|
||||
# 7: Patch 1: pop'n music 16 PARTY
|
||||
#
|
||||
# 8: Patch 3: beatmania IIDX 16 Empress
|
||||
# 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
|
||||
# pop'n music 19 Tune Street
|
||||
@@ -49,6 +57,7 @@
|
||||
# beatmania IIDX 22 PENDUAL
|
||||
# beatmania IIDX 23 copula
|
||||
# beatmania IIDX 24 SINOBUZ
|
||||
# Patch 3: DanceDanceRevoluion A20+ (64-bit)
|
||||
# "Patch" 3: Silent Scope Bone Eater (compatible with p7)
|
||||
# "Patch" 7: Steel Chronicle VicTroopers (not a Bemani, w/e)
|
||||
#
|
||||
@@ -71,7 +80,7 @@ cflags += \
|
||||
# Each AVS-dependent project should consume the earliest AVS import definition
|
||||
# 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 1509 1508
|
||||
|
||||
imps += avs avs-ea3
|
||||
@@ -90,16 +99,26 @@ include src/main/bstio/Module.mk
|
||||
include src/main/camhook/Module.mk
|
||||
include src/main/cconfig/Module.mk
|
||||
include src/main/config/Module.mk
|
||||
include src/main/d3d9-util/Module.mk
|
||||
include src/main/d3d9exhook/Module.mk
|
||||
include src/main/ddrhook/Module.mk
|
||||
include src/main/ddrhook-util/Module.mk
|
||||
include src/main/ddrhook1/Module.mk
|
||||
include src/main/ddrhook2/Module.mk
|
||||
include src/main/ddrio-async/Module.mk
|
||||
include src/main/ddrio-p3io/Module.mk
|
||||
include src/main/ddrio-mm/Module.mk
|
||||
include src/main/ddrio-smx/Module.mk
|
||||
include src/main/ddriotest/Module.mk
|
||||
include src/main/ddrio/Module.mk
|
||||
include src/main/dinput/Module.mk
|
||||
include src/main/eamio-icca/Module.mk
|
||||
include src/main/eamio/Module.mk
|
||||
include src/main/eamiotest/Module.mk
|
||||
include src/main/extio/Module.mk
|
||||
include src/main/extiodrv/Module.mk
|
||||
include src/main/extiotest/Module.mk
|
||||
include src/main/ezusb-emu/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-sram-flash/Module.mk
|
||||
@@ -110,6 +129,8 @@ include src/main/ezusb2-dbg-hook/Module.mk
|
||||
include src/main/ezusb2-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/Module.mk
|
||||
include src/main/geninput/Module.mk
|
||||
@@ -119,12 +140,15 @@ include src/main/iidx-bio2-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-irbeat-patch/Module.mk
|
||||
include src/main/iidxhook-d3d9/Module.mk
|
||||
include src/main/iidxhook-util/Module.mk
|
||||
include src/main/iidxhook1/Module.mk
|
||||
include src/main/iidxhook2/Module.mk
|
||||
include src/main/iidxhook3/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-cn/Module.mk
|
||||
include src/main/iidxhook6/Module.mk
|
||||
include src/main/iidxhook7/Module.mk
|
||||
include src/main/iidxhook8/Module.mk
|
||||
@@ -135,19 +159,27 @@ include src/main/iidxio-ezusb2/Module.mk
|
||||
include src/main/iidxio/Module.mk
|
||||
include src/main/iidxiotest/Module.mk
|
||||
include src/main/inject/Module.mk
|
||||
include src/main/jbhook/Module.mk
|
||||
include src/main/jbhook1/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/jbiotest/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/jbhook2/Module.mk
|
||||
include src/main/jbhook3/Module.mk
|
||||
include src/main/launcher/Module.mk
|
||||
include src/main/mempatch-hook/Module.mk
|
||||
include src/main/mm/Module.mk
|
||||
include src/main/p3io/Module.mk
|
||||
include src/main/p3iodrv/Module.mk
|
||||
include src/main/p3ioemu/Module.mk
|
||||
include src/main/p3io-ddr-tool/Module.mk
|
||||
include src/main/p4iodrv/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/sdvxhook/Module.mk
|
||||
include src/main/sdvxhook2-cn/Module.mk
|
||||
@@ -161,6 +193,7 @@ include src/main/util/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-ddrio/Module.mk
|
||||
include src/main/vigemstub/Module.mk
|
||||
|
||||
include src/test/cconfig/Module.mk
|
||||
@@ -182,6 +215,7 @@ $(zipdir)/:
|
||||
|
||||
$(zipdir)/tools.zip: \
|
||||
build/bin/indep-32/aciotest.exe \
|
||||
build/bin/indep-32/ddriotest.exe \
|
||||
build/bin/indep-32/eamiotest.exe \
|
||||
build/bin/indep-32/ezusb-iidx-fpga-flash.exe \
|
||||
build/bin/indep-32/ezusb-iidx-sram-flash.exe \
|
||||
@@ -203,6 +237,7 @@ $(zipdir)/tools.zip: \
|
||||
|
||||
$(zipdir)/tools-x64.zip: \
|
||||
build/bin/indep-64/aciotest.exe \
|
||||
build/bin/indep-64/ddriotest.exe \
|
||||
build/bin/indep-64/eamiotest.exe \
|
||||
build/bin/indep-64/iidxiotest.exe \
|
||||
build/bin/indep-64/iidx-bio2-exit-hook.dll \
|
||||
@@ -293,6 +328,21 @@ $(zipdir)/iidx-18.zip: \
|
||||
$(V)echo ... $@
|
||||
$(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: \
|
||||
build/bin/avs2_1304-32/iidxhook5.dll \
|
||||
build/bin/avs2_1304-32/launcher.exe \
|
||||
@@ -325,6 +375,21 @@ $(zipdir)/iidx-20.zip: \
|
||||
$(V)echo ... $@
|
||||
$(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: \
|
||||
build/bin/avs2_1601-32/iidxhook7.dll \
|
||||
build/bin/avs2_1601-32/launcher.exe \
|
||||
@@ -365,7 +430,7 @@ $(zipdir)/iidx-25-to-26.zip: \
|
||||
$(V)echo ... $@
|
||||
$(V)zip -j $@ $^
|
||||
|
||||
$(zipdir)/iidx-27.zip: \
|
||||
$(zipdir)/iidx-27-to-30.zip: \
|
||||
build/bin/avs2_1700-64/iidxhook9.dll \
|
||||
build/bin/avs2_1700-64/launcher.exe \
|
||||
build/bin/indep-64/config.exe \
|
||||
@@ -375,7 +440,13 @@ $(zipdir)/iidx-27.zip: \
|
||||
build/bin/indep-64/vefxio.dll \
|
||||
dist/iidx/config.bat \
|
||||
dist/iidx/gamestart-27.bat \
|
||||
dist/iidx/gamestart-28.bat \
|
||||
dist/iidx/gamestart-29.bat \
|
||||
dist/iidx/gamestart-30.bat \
|
||||
dist/iidx/iidxhook-27.conf \
|
||||
dist/iidx/iidxhook-28.conf \
|
||||
dist/iidx/iidxhook-29.conf \
|
||||
dist/iidx/iidxhook-30.conf \
|
||||
dist/iidx/vefx.txt \
|
||||
| $(zipdir)/
|
||||
$(V)echo ... $@
|
||||
@@ -421,28 +492,68 @@ $(zipdir)/jb-01.zip: \
|
||||
$(V)echo ... $@
|
||||
$(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: \
|
||||
build/bin/avs2_1508-32/jbhook.dll \
|
||||
build/bin/avs2_1508-32/jbhook3.dll \
|
||||
build/bin/avs2_1508-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.bat \
|
||||
dist/jb/gamestart-04.bat \
|
||||
| $(zipdir)/
|
||||
$(V)echo ... $@
|
||||
$(V)zip -j $@ $^
|
||||
|
||||
$(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/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.bat \
|
||||
dist/jb/gamestart-04.bat \
|
||||
| $(zipdir)/
|
||||
$(V)echo ... $@
|
||||
$(V)zip -j $@ $^
|
||||
@@ -471,7 +582,7 @@ $(zipdir)/sdvx-01-to-04.zip: \
|
||||
$(V)echo ... $@
|
||||
$(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/sdvxhook2.dll \
|
||||
build/bin/indep-64/config.exe \
|
||||
@@ -519,10 +630,48 @@ $(zipdir)/sdvx-hwio-x64.zip: \
|
||||
$(V)echo ... $@
|
||||
$(V)zip -j $@ $^
|
||||
|
||||
$(zipdir)/ddr-12-to-16.zip: \
|
||||
build/bin/avs2_1508-32/launcher.exe \
|
||||
build/bin/avs2_1508-32/ddrhook.dll \
|
||||
build/bin/avs2_1508-32/unicorntail.dll \
|
||||
$(zipdir)/ddr-11.zip: \
|
||||
build/bin/indep-32/inject.exe \
|
||||
build/bin/avs2_803-32/ddrhook1.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/ddrio.dll \
|
||||
build/bin/indep-32/ddrio-mm.dll \
|
||||
@@ -531,7 +680,35 @@ $(zipdir)/ddr-12-to-16.zip: \
|
||||
build/bin/indep-32/geninput.dll \
|
||||
dist/ddr/config.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 \
|
||||
| $(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/eamio.dll \
|
||||
build/bin/indep-32/geninput.dll \
|
||||
dist/ddr/config.bat \
|
||||
dist/ddr/gamestart-14.bat \
|
||||
dist/ddr/gamestart-15.bat \
|
||||
dist/ddr/gamestart-16.bat \
|
||||
@@ -541,12 +718,10 @@ $(zipdir)/ddr-12-to-16.zip: \
|
||||
|
||||
$(zipdir)/ddr-16-x64.zip: \
|
||||
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/indep-64/config.exe \
|
||||
build/bin/indep-64/ddrio.dll \
|
||||
build/bin/indep-64/ddrio-mm.dll \
|
||||
build/bin/indep-64/ddrio-smx.dll \
|
||||
build/bin/indep-64/eamio.dll \
|
||||
build/bin/indep-64/geninput.dll \
|
||||
dist/ddr/config.bat \
|
||||
@@ -555,6 +730,30 @@ $(zipdir)/ddr-16-x64.zip: \
|
||||
$(V)echo ... $@
|
||||
$(V)zip -j $@ $^
|
||||
|
||||
$(zipdir)/ddr-hwio-x86.zip: \
|
||||
build/bin/indep-32/ddrio-async.dll \
|
||||
build/bin/indep-32/ddrio-p3io.dll \
|
||||
build/bin/indep-32/ddrio-mm.dll \
|
||||
build/bin/indep-32/ddrio-smx.dll \
|
||||
build/bin/indep-32/extiotest.exe \
|
||||
build/bin/indep-32/p3io-ddr-tool.exe \
|
||||
build/bin/indep-32/vigem-ddrio.exe \
|
||||
| $(zipdir)/
|
||||
$(V)echo ... $@
|
||||
$(V)zip -j $@ $^
|
||||
|
||||
$(zipdir)/ddr-hwio-x64.zip: \
|
||||
build/bin/indep-64/ddrio-async.dll \
|
||||
build/bin/indep-64/ddrio-p3io.dll \
|
||||
build/bin/indep-64/ddrio-mm.dll \
|
||||
build/bin/indep-64/ddrio-smx.dll \
|
||||
build/bin/indep-64/extiotest.exe \
|
||||
build/bin/indep-64/p3io-ddr-tool.exe \
|
||||
build/bin/indep-64/vigem-ddrio.exe \
|
||||
| $(zipdir)/
|
||||
$(V)echo ... $@
|
||||
$(V)zip -j $@ $^
|
||||
|
||||
$(zipdir)/bst.zip: \
|
||||
build/bin/avs2_1603-64/bsthook.dll \
|
||||
build/bin/avs2_1603-64/launcher.exe \
|
||||
@@ -569,6 +768,27 @@ $(zipdir)/bst.zip: \
|
||||
$(V)echo ... $@
|
||||
$(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: \
|
||||
doc/ \
|
||||
| $(zipdir)/
|
||||
@@ -603,26 +823,38 @@ $(BUILDDIR)/tests.zip: \
|
||||
|
||||
$(BUILDDIR)/bemanitools.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-hwio-x86.zip \
|
||||
$(zipdir)/ddr-hwio-x64.zip \
|
||||
$(zipdir)/doc.zip \
|
||||
$(zipdir)/iidx-09-to-12.zip \
|
||||
$(zipdir)/iidx-13.zip \
|
||||
$(zipdir)/iidx-14-to-17.zip \
|
||||
$(zipdir)/iidx-18.zip \
|
||||
$(zipdir)/iidx-18-cn.zip \
|
||||
$(zipdir)/iidx-19.zip \
|
||||
$(zipdir)/iidx-20.zip \
|
||||
$(zipdir)/iidx-20-cn.zip \
|
||||
$(zipdir)/iidx-21-to-24.zip \
|
||||
$(zipdir)/iidx-25-to-26.zip \
|
||||
$(zipdir)/iidx-27.zip \
|
||||
$(zipdir)/iidx-27-to-30.zip \
|
||||
$(zipdir)/iidx-hwio-x86.zip \
|
||||
$(zipdir)/iidx-hwio-x64.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-08.zip \
|
||||
$(zipdir)/jb-hwio.zip \
|
||||
$(zipdir)/popn-15-to-18.zip \
|
||||
$(zipdir)/sdvx-01-to-04.zip \
|
||||
$(zipdir)/sdvx-05.zip \
|
||||
$(zipdir)/sdvx-05-to-06.zip \
|
||||
$(zipdir)/sdvx-05-cn.zip \
|
||||
$(zipdir)/sdvx-hwio-x86.zip \
|
||||
$(zipdir)/sdvx-hwio-x64.zip \
|
||||
|
||||
187
README.md
187
README.md
@@ -1,11 +1,10 @@
|
||||
# Bemanitools 5
|
||||
[](https://dev.s-ul.net/djhackers/bemanitools/commits/master)
|
||||
|
||||
Version: 5.35
|
||||
Version: `5.47`
|
||||
|
||||
[Release history](CHANGELOG.md)
|
||||
[Changelog](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.
|
||||
BT5 uses a cleaner approach than BT4 did; specifically, all input and lighting is handled by emulating the protocols
|
||||
@@ -26,78 +25,129 @@ The tl;dr version and golden rules of the sections in the document:
|
||||
* [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)
|
||||
|
||||
## List of supported games (hook libraries)
|
||||
## Supported games
|
||||
The following games are supported with their corresponding hook-libraries.
|
||||
|
||||
* BeatStream
|
||||
* BeatStream (bst.zip) using bsthook
|
||||
* 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
|
||||
* 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-30.zip`): [iidxhook9](doc/iidxhook/iidxhook9.md)
|
||||
* Beatmania IIDX 28 BISTROVER (`iidx-27-to-30.zip`): [iidxhook9](doc/iidxhook/iidxhook9.md)
|
||||
* Beatmania IIDX 29 CASTHOUR (`iidx-27-to-30.zip`): [iidxhook9](doc/iidxhook/iidxhook9.md)
|
||||
* Beatmania IIDX 30 RESIDENT (`iidx-27-to-30.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) 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
|
||||
* 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
|
||||
|
||||
## ViGEm clients: Expose BT5 APIs as XBOX game controllers
|
||||
Play your favorite non-bemani arcade games with any hardware, e.g. real cabinet hardware, that
|
||||
implements BT5 APIs.
|
||||
## 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
|
||||
* [ddriotest](doc/tools/ddriotest.md): For [ddrio API](doc/api.md#io-boards)
|
||||
* [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)
|
||||
* DDR IO testing: Tools for testing hardware of a real DDR cabinet
|
||||
* [p3io-ddr-tool](doc/tools/p3io-ddr-tool.md)
|
||||
* [extiotest](doc/tools/extiotest.md)
|
||||
* [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.
|
||||
|
||||
See the dedicated [readme](doc/vigem/README.md) for details.
|
||||
## Pre-requisites
|
||||
|
||||
## Supported platforms
|
||||
### Supported platforms
|
||||
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
|
||||
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.
|
||||
|
||||
## Distribution contents
|
||||
Check the [list of supported games](#list-of-supported-games) to grab the right files for your game. BT5 also includes
|
||||
### Distribution contents
|
||||
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).
|
||||
|
||||
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
|
||||
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
|
||||
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.
|
||||
|
||||
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
|
||||
|
||||
* The 32-bit (x86) version of
|
||||
[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)
|
||||
|
||||
See also
|
||||
[bemanitools-supplement](https://www.github.com/djhackersdev/bemanitools-supplement/)
|
||||
for files.
|
||||
|
||||
## Development
|
||||
### Building
|
||||
@@ -111,32 +161,7 @@ important aspects you should know before you get started with development.
|
||||
Please refer to the [API documentation](doc/api.md).
|
||||
|
||||
## Release process
|
||||
Steps for the release process:
|
||||
1. Update the corresponding section in the [changelog](CHANGELOG.md) with bullet points reflecting
|
||||
major features merged into master since the previous release
|
||||
1. Make sure you have the latest `master` state pulled to your local copy
|
||||
1. Tag the release with the next release number which also be found at the
|
||||
[top of the readme](#bemanitools-5) as it always reflects the current version beinged worked on
|
||||
on the `master` branch , e.g. 5.35: `git tag 5.35`
|
||||
1. Push the tag to upstream: `git push origin 5.35`
|
||||
1. The [build pipeline](https://dev.s-ul.net/djhackers/bemanitools/-/pipelines) should start
|
||||
automatically once the tag is pushed including the steps `build` and `upload-release`
|
||||
1. Once completed successfully, the release is uploaded
|
||||
1. Take the changelog of the published version and notify the pigs in the stall about it:
|
||||
1. New post in thread
|
||||
```
|
||||
<insert version here> released: <direct link to published version>
|
||||
|
||||
Changelog:
|
||||
<paste changelog here>
|
||||
```
|
||||
1. Update the OP title by bumping the version number in it
|
||||
1. Update the OP post by extending it accordingly (see previous entries)
|
||||
|
||||
1. Bump the version number at the [top of this readme](#bemanitools-5) and add a new empty section
|
||||
in the [changelog](CHANGELOG.md) with the new version number as title. Commit changes and push to
|
||||
`master` branch
|
||||
1. Continue developing and merging MRs until you decide its time for another release
|
||||
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
|
||||
|
||||
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 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 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 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 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\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 %*
|
||||
16
dist/iidx/gamestart-30.bat
vendored
Normal file
16
dist/iidx/gamestart-30.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
|
||||
)
|
||||
|
||||
modules\launcher -H 134217728 -B iidxhook9.dll bm2dx.dll --config iidxhook-30.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
|
||||
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
|
||||
iidx-irbeat-patch.exe 9 %1 f\\settings.bin.1
|
||||
GOTO END
|
||||
if "%~1" gtr "3" goto badbeat
|
||||
if "%~1" == "0" goto badbeat
|
||||
|
||||
:USAGE
|
||||
ECHO "Usage: iidx-irbeat-patch.bat <beat phase>"
|
||||
set beat = "%~1" - 1
|
||||
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
|
||||
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
|
||||
iidx-irbeat-patch.exe 10 %1 f\\settings.bin.1
|
||||
GOTO END
|
||||
if %~1 gtr 3 goto badbeat
|
||||
if %~1 == 0 goto badbeat
|
||||
|
||||
:USAGE
|
||||
ECHO "Usage: iidx-irbeat-patch.bat <beat phase>"
|
||||
set /a beat = %~1 - 1
|
||||
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
|
||||
|
||||
15
dist/iidx/iidxhook-09.conf
vendored
15
dist/iidx/iidxhook-09.conf
vendored
@@ -10,7 +10,7 @@ eamuse.pcbid=0101020304050607086F
|
||||
# EAMID
|
||||
eamuse.eamid=0101020304050607086F
|
||||
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on Red and newer
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on SIRIUS and older. On 9th and 10th style this issue may only affect older BGAs (from 1st-3rd style)
|
||||
gfx.bgvideo_uv_fix=false
|
||||
|
||||
# Run the game in a framed window (requires windowed option)
|
||||
@@ -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
|
||||
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
|
||||
misc.disable_clock_set=false
|
||||
|
||||
# Stub calls to rteffect.dll (10th to DistorteD)
|
||||
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).
|
||||
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).
|
||||
sec.boot_seeds=0:0:0
|
||||
|
||||
# Security black plug mcode id string (e.g. GQC02JAA).
|
||||
sec.black_plug_mcode=GQC02JAA
|
||||
# Security black plug mcode id string (e.g. GEC02JAA).
|
||||
sec.black_plug_mcode=GEC02JAA
|
||||
11
dist/iidx/iidxhook-10.conf
vendored
11
dist/iidx/iidxhook-10.conf
vendored
@@ -10,7 +10,7 @@ eamuse.pcbid=0101020304050607086F
|
||||
# EAMID
|
||||
eamuse.eamid=0101020304050607086F
|
||||
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on Red and newer
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on SIRIUS and older. On 9th and 10th style this issue may only affect older BGAs (from 1st-3rd style)
|
||||
gfx.bgvideo_uv_fix=false
|
||||
|
||||
# Run the game in a framed window (requires windowed option)
|
||||
@@ -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
|
||||
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
|
||||
misc.disable_clock_set=false
|
||||
|
||||
# Stub calls to rteffect.dll (10th to DistorteD)
|
||||
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).
|
||||
sec.boot_version=GEC02
|
||||
|
||||
|
||||
11
dist/iidx/iidxhook-11.conf
vendored
11
dist/iidx/iidxhook-11.conf
vendored
@@ -10,7 +10,7 @@ eamuse.pcbid=0101020304050607086F
|
||||
# EAMID
|
||||
eamuse.eamid=0101020304050607086F
|
||||
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on Red and newer
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on SIRIUS and older. On 9th and 10th style this issue may only affect older BGAs (from 1st-3rd style)
|
||||
gfx.bgvideo_uv_fix=false
|
||||
|
||||
# Run the game in a framed window (requires windowed option)
|
||||
@@ -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
|
||||
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
|
||||
misc.disable_clock_set=false
|
||||
|
||||
# Stub calls to rteffect.dll (10th to DistorteD)
|
||||
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).
|
||||
sec.boot_version=GEC02
|
||||
|
||||
|
||||
11
dist/iidx/iidxhook-12.conf
vendored
11
dist/iidx/iidxhook-12.conf
vendored
@@ -10,7 +10,7 @@ eamuse.pcbid=0101020304050607086F
|
||||
# EAMID
|
||||
eamuse.eamid=0101020304050607086F
|
||||
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on Red and newer
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on SIRIUS and older. On 9th and 10th style this issue may only affect older BGAs (from 1st-3rd style)
|
||||
gfx.bgvideo_uv_fix=false
|
||||
|
||||
# Run the game in a framed window (requires windowed option)
|
||||
@@ -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
|
||||
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)
|
||||
misc.happy_sky_ms_bg_fix=false
|
||||
|
||||
@@ -55,6 +61,9 @@ misc.disable_clock_set=false
|
||||
# Stub calls to rteffect.dll (10th to DistorteD)
|
||||
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).
|
||||
sec.boot_version=GEC02
|
||||
|
||||
|
||||
11
dist/iidx/iidxhook-13.conf
vendored
11
dist/iidx/iidxhook-13.conf
vendored
@@ -10,7 +10,7 @@ eamuse.pcbid=0101020304050607086F
|
||||
# EAMID
|
||||
eamuse.eamid=0101020304050607086F
|
||||
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on Red and newer
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on SIRIUS and older. On 9th and 10th style this issue may only affect older BGAs (from 1st-3rd style)
|
||||
gfx.bgvideo_uv_fix=false
|
||||
|
||||
# Run the game in a framed window (requires windowed option)
|
||||
@@ -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
|
||||
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)
|
||||
misc.distorted_ms_bg_fix=false
|
||||
|
||||
@@ -55,6 +61,9 @@ misc.disable_clock_set=false
|
||||
# Stub calls to rteffect.dll (10th to DistorteD)
|
||||
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).
|
||||
sec.boot_version=GEC02
|
||||
|
||||
|
||||
8
dist/iidx/iidxhook-14.conf
vendored
8
dist/iidx/iidxhook-14.conf
vendored
@@ -7,7 +7,7 @@ eamuse.pcbid=0101020304050607086F
|
||||
# EAMID
|
||||
eamuse.eamid=0101020304050607086F
|
||||
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on Red and newer
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on SIRIUS and older. On 9th and 10th style this issue may only affect older BGAs (from 1st-3rd style)
|
||||
gfx.bgvideo_uv_fix=false
|
||||
|
||||
# Run the game in a framed window (requires windowed option)
|
||||
@@ -46,8 +46,8 @@ gfx.device_adapter=-1
|
||||
# Disable operator clock setting system clock time
|
||||
misc.disable_clock_set=false
|
||||
|
||||
# Security boot version (e.g. GEC02).
|
||||
sec.boot_version=GQGLDJAA
|
||||
# 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=GQGLDJA
|
||||
sec.black_plug_mcode=GQGLDJAA
|
||||
8
dist/iidx/iidxhook-15.conf
vendored
8
dist/iidx/iidxhook-15.conf
vendored
@@ -7,7 +7,7 @@ eamuse.pcbid=0101020304050607086F
|
||||
# EAMID
|
||||
eamuse.eamid=0101020304050607086F
|
||||
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on Red and newer
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on SIRIUS and older. On 9th and 10th style this issue may only affect older BGAs (from 1st-3rd style)
|
||||
gfx.bgvideo_uv_fix=false
|
||||
|
||||
# Run the game in a framed window (requires windowed option)
|
||||
@@ -46,8 +46,8 @@ gfx.device_adapter=-1
|
||||
# Disable operator clock setting system clock time
|
||||
misc.disable_clock_set=false
|
||||
|
||||
# Security boot version (e.g. GEC02).
|
||||
sec.boot_version=GQHDDJAA
|
||||
# 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=GQHDDJA
|
||||
sec.black_plug_mcode=GQHDDJAA
|
||||
8
dist/iidx/iidxhook-16.conf
vendored
8
dist/iidx/iidxhook-16.conf
vendored
@@ -7,7 +7,7 @@ eamuse.pcbid=0101020304050607086F
|
||||
# EAMID
|
||||
eamuse.eamid=0101020304050607086F
|
||||
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on Red and newer
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on SIRIUS and older. On 9th and 10th style this issue may only affect older BGAs (from 1st-3rd style)
|
||||
gfx.bgvideo_uv_fix=false
|
||||
|
||||
# Run the game in a framed window (requires windowed option)
|
||||
@@ -49,8 +49,8 @@ gfx.device_adapter=-1
|
||||
# Disable operator clock setting system clock time
|
||||
misc.disable_clock_set=false
|
||||
|
||||
# Security boot version (e.g. GEC02).
|
||||
sec.boot_version=GQI00JAA
|
||||
# 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=GQI00JA
|
||||
sec.black_plug_mcode=GQI00JAA
|
||||
8
dist/iidx/iidxhook-17.conf
vendored
8
dist/iidx/iidxhook-17.conf
vendored
@@ -7,7 +7,7 @@ eamuse.pcbid=0101020304050607086F
|
||||
# EAMID
|
||||
eamuse.eamid=0101020304050607086F
|
||||
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on Red and newer
|
||||
# Fix stretched BG videos on newer GPUs. Might appear on SIRIUS and older. On 9th and 10th style this issue may only affect older BGAs (from 1st-3rd style)
|
||||
gfx.bgvideo_uv_fix=false
|
||||
|
||||
# Run the game in a framed window (requires windowed option)
|
||||
@@ -49,8 +49,8 @@ gfx.device_adapter=-1
|
||||
# Disable operator clock setting system clock time
|
||||
misc.disable_clock_set=false
|
||||
|
||||
# Security boot version (e.g. GEC02).
|
||||
sec.boot_version=GCJDJJAA
|
||||
# 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=GCJDJJA
|
||||
sec.black_plug_mcode=GCJDJJAA
|
||||
50
dist/iidx/iidxhook-18-cn.conf
vendored
Normal file
50
dist/iidx/iidxhook-18-cn.conf
vendored
Normal file
@@ -0,0 +1,50 @@
|
||||
# PCBID
|
||||
eamuse.pcbid=0101020304050607086F
|
||||
|
||||
# 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
|
||||
11
dist/iidx/iidxhook-18.conf
vendored
11
dist/iidx/iidxhook-18.conf
vendored
@@ -1,6 +1,3 @@
|
||||
# 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
|
||||
|
||||
@@ -37,8 +34,14 @@ 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 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
|
||||
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=.\
|
||||
14
dist/iidx/iidxhook-19.conf
vendored
14
dist/iidx/iidxhook-19.conf
vendored
@@ -1,12 +1,12 @@
|
||||
# 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
|
||||
|
||||
@@ -34,8 +34,14 @@ 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 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
|
||||
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=.\
|
||||
47
dist/iidx/iidxhook-20-cn.conf
vendored
Normal file
47
dist/iidx/iidxhook-20-cn.conf
vendored
Normal file
@@ -0,0 +1,47 @@
|
||||
# PCBID
|
||||
eamuse.pcbid=0101020304050607086F
|
||||
|
||||
# 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
|
||||
3
dist/iidx/iidxhook-20.conf
vendored
3
dist/iidx/iidxhook-20.conf
vendored
@@ -1,6 +1,3 @@
|
||||
# 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
|
||||
|
||||
|
||||
3
dist/iidx/iidxhook-21.conf
vendored
3
dist/iidx/iidxhook-21.conf
vendored
@@ -1,6 +1,3 @@
|
||||
# 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
|
||||
|
||||
|
||||
3
dist/iidx/iidxhook-22.conf
vendored
3
dist/iidx/iidxhook-22.conf
vendored
@@ -1,6 +1,3 @@
|
||||
# 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
|
||||
|
||||
|
||||
3
dist/iidx/iidxhook-23.conf
vendored
3
dist/iidx/iidxhook-23.conf
vendored
@@ -1,6 +1,3 @@
|
||||
# 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
|
||||
|
||||
|
||||
3
dist/iidx/iidxhook-24.conf
vendored
3
dist/iidx/iidxhook-24.conf
vendored
@@ -1,6 +1,3 @@
|
||||
# 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
|
||||
|
||||
|
||||
17
dist/iidx/iidxhook-25.conf
vendored
17
dist/iidx/iidxhook-25.conf
vendored
@@ -1,6 +1,3 @@
|
||||
# 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
|
||||
|
||||
@@ -37,17 +34,23 @@ gfx.device_adapter=-1
|
||||
# Disables the camera emulation
|
||||
cam.disable_emu=false
|
||||
|
||||
# Override camera device ID 1 detection (copy from device manager, do not escape)
|
||||
# Disable camera 1. Use, i.e., if you only have one camera and want it to be mapped to camera 2 ingame.
|
||||
cam.disable_camera1=false
|
||||
|
||||
# Disable camera 2. Use, i.e., if you have more than one camera but only want to map camera 1 ingame.
|
||||
cam.disable_camera2=false
|
||||
|
||||
# Override camera device ID 1 detection (copy from device manager, do not escape) Leave blank to automatically detect
|
||||
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) Leave blank to automatically detect
|
||||
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
|
||||
|
||||
# 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
|
||||
io.disable_poll_limiter=false
|
||||
|
||||
17
dist/iidx/iidxhook-26.conf
vendored
17
dist/iidx/iidxhook-26.conf
vendored
@@ -1,6 +1,3 @@
|
||||
# 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
|
||||
|
||||
@@ -37,17 +34,23 @@ gfx.device_adapter=-1
|
||||
# Disables the camera emulation
|
||||
cam.disable_emu=false
|
||||
|
||||
# Override camera device ID 1 detection (copy from device manager, do not escape)
|
||||
# Disable camera 1. Use, i.e., if you only have one camera and want it to be mapped to camera 2 ingame.
|
||||
cam.disable_camera1=false
|
||||
|
||||
# Disable camera 2. Use, i.e., if you have more than one camera but only want to map camera 1 ingame.
|
||||
cam.disable_camera2=false
|
||||
|
||||
# Override camera device ID 1 detection (copy from device manager, do not escape) Leave blank to automatically detect
|
||||
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) Leave blank to automatically detect
|
||||
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
|
||||
|
||||
# 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
|
||||
io.disable_poll_limiter=false
|
||||
|
||||
12
dist/iidx/iidxhook-27.conf
vendored
12
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
|
||||
|
||||
# Disable BIO2 emulation and enable usage of real BIO2 hardware
|
||||
@@ -11,7 +11,7 @@ io.disable_poll_limiter=false
|
||||
io.lightning_mode=false
|
||||
|
||||
# Disable camera connection
|
||||
io.disable_cams=false
|
||||
io.disable_cams=true
|
||||
|
||||
# Disables the built in file hooks, requiring manual file creation
|
||||
io.disable_file_hooks=false
|
||||
@@ -20,7 +20,13 @@ io.disable_file_hooks=false
|
||||
io.tt_multiplier=1.0
|
||||
|
||||
# Disables the camera emulation
|
||||
cam.disable_emu=false
|
||||
cam.disable_emu=true
|
||||
|
||||
# Disable camera 1. Use, i.e., if you only have one camera and want it to be mapped to camera 2 ingame.
|
||||
cam.disable_camera1=false
|
||||
|
||||
# Disable camera 2. Use, i.e., if you have more than one camera but only want to map camera 1 ingame.
|
||||
cam.disable_camera2=false
|
||||
|
||||
# Override camera device ID detection (copy from device manager, do not escape)
|
||||
cam.device_id1=
|
||||
|
||||
84
dist/iidx/iidxhook-28.conf
vendored
Normal file
84
dist/iidx/iidxhook-28.conf
vendored
Normal file
@@ -0,0 +1,84 @@
|
||||
# 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
|
||||
|
||||
# Disable camera 1. Use, i.e., if you only have one camera and want it to be mapped to camera 2 ingame.
|
||||
cam.disable_camera1=false
|
||||
|
||||
# Disable camera 2. Use, i.e., if you have more than one camera but only want to map camera 1 ingame.
|
||||
cam.disable_camera2=false
|
||||
|
||||
# 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)
|
||||
|
||||
84
dist/iidx/iidxhook-29.conf
vendored
Normal file
84
dist/iidx/iidxhook-29.conf
vendored
Normal file
@@ -0,0 +1,84 @@
|
||||
# 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
|
||||
|
||||
# Disable camera 1. Use, i.e., if you only have one camera and want it to be mapped to camera 2 ingame.
|
||||
cam.disable_camera1=true
|
||||
|
||||
# Disable camera 2. Use, i.e., if you have more than one camera but only want to map camera 1 ingame.
|
||||
cam.disable_camera2=false
|
||||
|
||||
# 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)
|
||||
|
||||
84
dist/iidx/iidxhook-30.conf
vendored
Normal file
84
dist/iidx/iidxhook-30.conf
vendored
Normal file
@@ -0,0 +1,84 @@
|
||||
# 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
|
||||
|
||||
# Disable camera 1. Use, i.e., if you only have one camera and want it to be mapped to camera 2 ingame.
|
||||
cam.disable_camera1=true
|
||||
|
||||
# Disable camera 2. Use, i.e., if you have more than one camera but only want to map camera 1 ingame.
|
||||
cam.disable_camera2=false
|
||||
|
||||
# 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)
|
||||
|
||||
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 %*
|
||||
11
dist/jb/gamestart-03.bat
vendored
Normal file
11
dist/jb/gamestart-03.bat
vendored
Normal file
@@ -0,0 +1,11 @@
|
||||
@echo off
|
||||
|
||||
cd /d %~dp0
|
||||
|
||||
if not exist dev\nvram mkdir dev\nvram
|
||||
if not exist dev\nvram\ea3-config.xml copy prop\ea3-config.xml dev\nvram\ea3-config.xml
|
||||
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
|
||||
@@ -3,8 +3,9 @@
|
||||
cd /d %~dp0
|
||||
|
||||
if not exist dev\nvram mkdir dev\nvram
|
||||
if not exist dev\nvram\ea3-config.xml copy prop\ea3-config.xml dev\nvram\ea3-config.xml
|
||||
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 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
|
||||
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
|
||||
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
15
dist/sdvx5/sdvxhook2.conf
vendored
15
dist/sdvx5/sdvxhook2.conf
vendored
@@ -13,6 +13,15 @@ io.force_headphones=false
|
||||
# Disables the built in file hooks, requiring manual file creation (/dev/raw/j.dest)
|
||||
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)
|
||||
gfx.framed=true
|
||||
|
||||
@@ -43,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
|
||||
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
|
||||
cam.disable_emu=false
|
||||
|
||||
|
||||
@@ -1,21 +1,34 @@
|
||||
# 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
|
||||
* [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
|
||||
* [sdvxhook](sdvxhook/README.md): Documentation relevant to `sdvxhook` implementations
|
||||
* [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
|
||||
* Hardware
|
||||
* [Hardware](hardware/README.md): Anything related to hardware, e.g. IO boards
|
||||
* [API](api.md): Available APIs and IO (hardware) implementations 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
|
||||
|
||||
38
doc/api.md
38
doc/api.md
@@ -1,4 +1,5 @@
|
||||
# Bemanitools API
|
||||
|
||||
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
|
||||
hardware with the games (e.g. support for real legacy hardware).
|
||||
@@ -12,14 +13,20 @@ If you want to write an implementation for your own custom piece of hardware, ch
|
||||
sub-folder) in the source code (src.zip).
|
||||
|
||||
## Implementations
|
||||
The following implementations are already shipped with BT5.
|
||||
|
||||
### IO boards
|
||||
|
||||
The following implementations are already shipped with BT5.
|
||||
|
||||
* BeatStream
|
||||
* bstio.dll (default): Keyboard, joystick and mouse input
|
||||
* Dance Dance Revolution
|
||||
* ddrio.dll (default): Keyboard, joystick and mouse input
|
||||
* [ddrio-p3io.dll](ddrhook/ddrio-p3io.md): DDR P3IO (Dragon PCB) + EXTIO hardware
|
||||
* ddrio-mm.dll: Minimaid hardware
|
||||
* ddrio-smx.dll: StepManiaX platforms
|
||||
* [ddrio-smx.dll](ddrhook/ddrio-smx.md): StepManiaX platforms
|
||||
* [ddrio-async](ddrhook/ddrio-async.md): Wrapper/shim library to drive another ddrio in
|
||||
a dedicated IO thread
|
||||
* Beatmania IIDX
|
||||
* iidxio.dll (default): Keyboard, joystick and mouse input
|
||||
* [iidxio-bio2.dll](iidxhook/iidxio-bio2.md): BIO2 driver
|
||||
@@ -27,15 +34,40 @@ The following implementations are already shipped with BT5.
|
||||
* [iidxio-ezusb2.dll](iidxhook/iidxio-ezusb2.md): Ezusb FX2 (IO2) driver
|
||||
* jubeat
|
||||
* jbio.dll (default): Keyboard, joystick and mouse input
|
||||
* pop'n music
|
||||
* popnio.dll (default): Keyboard, joystick and mouse input
|
||||
* SOUND VOLTEX
|
||||
* 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:
|
||||
* 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
|
||||
|
||||
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
|
||||
|
||||
@@ -51,7 +51,7 @@ Modules that make use of this:
|
||||
* ezusb2-emu/device
|
||||
* 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
|
||||
targetting different games and often different versions of the same game (series), for example:
|
||||
* ddrhook: Hook dll for Dance Dance Revolution games
|
||||
@@ -69,13 +69,13 @@ TODO
|
||||
|
||||
### iidxhook
|
||||
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
|
||||
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
|
||||
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
|
||||
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
|
||||
* Full security emulation with SRAM and round plugs
|
||||
* 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)
|
||||
* clock patching
|
||||
* 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
|
||||
* Setupapi emulation
|
||||
* 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
|
||||
* d3d8 patching and extended features (superseded by d3d9 hook module + d3d8to9 wrapper)
|
||||
* 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
|
||||
* Setupapi emulation
|
||||
* 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
|
||||
* d3d9 patching and extended features
|
||||
* 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)
|
||||
* Ezusb IO2 I/O emulation
|
||||
* Setupapi emulation
|
||||
* Full game essential I/O emulation
|
||||
* Full game essential I/O emulation
|
||||
* ACIO ICCA card reader emulation, slotted readers
|
||||
* d3d9 patching and extended features
|
||||
* Font patching for Japanese chars
|
||||
* 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)
|
||||
* Ezusb IO2 I/O emulation
|
||||
* Setupapi emulation
|
||||
* Full game essential I/O emulation
|
||||
* Full game essential I/O emulation
|
||||
* ACIO ICCA card reader emulation, wave pass readers
|
||||
* d3d9 patching and extended features
|
||||
* Font patching for Japanese chars
|
||||
* 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)
|
||||
* Ezusb IO2 I/O emulation
|
||||
* Setupapi emulation
|
||||
* Full game essential I/O emulation
|
||||
* Full game essential I/O emulation
|
||||
* ACIO ICCA card reader emulation, wave pass readers
|
||||
* d3d9 patching and extended features
|
||||
* 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)
|
||||
* Ezusb IO2 I/O emulation
|
||||
* Setupapi emulation
|
||||
* Full game essential I/O emulation
|
||||
* Full game essential I/O emulation
|
||||
* ACIO ICCA card reader emulation, wave pass readers
|
||||
* d3d9 patching and extended features
|
||||
* 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)
|
||||
* ACIO BIO2 I/O emulation
|
||||
* Setupapi emulation
|
||||
* Full game essential I/O emulation
|
||||
* Full game essential I/O emulation
|
||||
* ACIO ICCA card reader emulation, wave pass readers
|
||||
* d3d9 patching and extended features
|
||||
* 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
|
||||
TODO
|
||||
|
||||
### popnhook
|
||||
TODO
|
||||
|
||||
### sdvxhook
|
||||
TODO
|
||||
|
||||
|
||||
56
doc/ddrhook/README.md
Normal file
56
doc/ddrhook/README.md
Normal file
@@ -0,0 +1,56 @@
|
||||
# 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](ddrio-smx.md): Support for StepManiaX dance platforms
|
||||
* [ddrio-p3io](ddrio-p3io.md): P3IO + EXTIO driver implementation
|
||||
* [ddrio-async](ddrio-async.md): Wrapper/shim library to drive another ddrio in
|
||||
a dedicated IO thread
|
||||
|
||||
## 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..
|
||||
36
doc/ddrhook/ddrio-async.md
Normal file
36
doc/ddrhook/ddrio-async.md
Normal file
@@ -0,0 +1,36 @@
|
||||
# Asynchronous proxy wrapper for other ddrio implementations
|
||||
|
||||
This implementation of the Bemanitools API is not implementing support for any
|
||||
specific IO hardware. It is a proxy/shim library that loads another ddrio
|
||||
library, e.g. ddrio-p3io, and drives the entire backend in a dedicated IO
|
||||
thread. By implementing this behind the ddrio API, it is fully transparent to
|
||||
any existing application using it.
|
||||
|
||||
The main benefit is the improved IO polling performance depending on how
|
||||
expensive the synchronous calls of the actual hardware are. For example,
|
||||
*ddrio-p3io* has very expensive write calls with ~12 ms duration while read
|
||||
calls take ~4 ms. Therefore, a full update cycle is already about as costly
|
||||
as rendering an entire frame (at 60 fps).
|
||||
|
||||
## Setup
|
||||
|
||||
For hook libraries, i.e. ddrhookX, but likely applicable to 3rd party
|
||||
applications (consolidate their manuals).
|
||||
|
||||
* Have `ddrio-async.dll` in the same folder as your `ddrhookX.dll`
|
||||
* Rename `ddrio-async.dll` to `ddrio.dll`
|
||||
* Pick another ddrio library as the backend of your choice, e.g. `ddrio-p3io.dl`
|
||||
and put it next to the async `ddrio.dll`
|
||||
* Rename it to `ddrio-async-child.dll`, ddrio-async is looking for that filename
|
||||
in the same folder
|
||||
* Ensure that your `gamestart.bat` actually injects the appropriate `ddrhook.dll`, for example:
|
||||
|
||||
```bat
|
||||
inject ddrhook1.dll ddr.exe ...*
|
||||
```
|
||||
|
||||
or
|
||||
|
||||
```bat
|
||||
launcher -K ddrhook2.dll arkmdxp3.dll ...*
|
||||
```
|
||||
27
doc/ddrhook/ddrio-p3io.md
Normal file
27
doc/ddrhook/ddrio-p3io.md
Normal file
@@ -0,0 +1,27 @@
|
||||
# ddrio API implementation with DDR P3IO (Dragon) and EXTIO
|
||||
|
||||
This implementation of BT5's ddrio API allows you to use the native DDR P3IO
|
||||
of a "Dragon PCB" plus the EXTIO with anything the ddrio API supports.
|
||||
|
||||
This is not required to run the actual games supporting the hardware natively.
|
||||
However, there are various 3rd party applications using the ddrio API where you
|
||||
might benefit from using actual SD cabinet hardware, e.g.
|
||||
[vigem-ddrio](../vigem/README.md).
|
||||
|
||||
## Setup
|
||||
|
||||
For hooks, but likely applicable to 3rd party applications (consolidate their
|
||||
manuals).
|
||||
|
||||
* Driver: You must have the P3IO driver intalled on your system
|
||||
* Driver from [bemanitools-supplements](https://github.com/djhackersdev/bemanitools-supplement/blob/master/ddr/p3io/README.md)
|
||||
* Have `ddrio-p3io.dll` in the same folder as your `ddrhookX.dll`
|
||||
* Rename `ddrio-p3io.dll` to `ddrio.dll`
|
||||
* Ensure that your `gamestart.bat` actually injects the appropriate ddrhook dll, for example:
|
||||
```bat
|
||||
inject ddrhook1.dll ddr.exe ...*
|
||||
```
|
||||
or
|
||||
```bat
|
||||
launcher -K ddrhook2.dll arkmdxp3.dll ...*
|
||||
```
|
||||
56
doc/ddrhook/unicorntail.md
Normal file
56
doc/ddrhook/unicorntail.md
Normal file
@@ -0,0 +1,56 @@
|
||||
# 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 a
|
||||
COM4 in Windows instead, where two readers can be connected via the motherboard's RS232 port or
|
||||
a usb RS232 adapter.
|
||||
|
||||
## 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).
|
||||
|
||||
## COM Port Setup
|
||||
|
||||
Using Device Manager in Windows, ensure the following COM ports are connected and setup.
|
||||
|
||||
COM1: EXTIO
|
||||
COM4: Two readers
|
||||
|
||||
Windows is often poor about saving the COM port number, so ewf commit (if applicable) and
|
||||
reboot after saving this setting to ensure it sticks.
|
||||
|
||||
## 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 %*
|
||||
```
|
||||
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;
|
||||
}
|
||||
```
|
||||
57
doc/dev/journal/2023-04-13-iidx-24-gfx-upscaling.md
Normal file
57
doc/dev/journal/2023-04-13-iidx-24-gfx-upscaling.md
Normal file
@@ -0,0 +1,57 @@
|
||||
# IIDX 24 GFX upscaling notes
|
||||
|
||||
Date: 2023-04-15
|
||||
Author: icex2
|
||||
|
||||
Notes about my work on fixing the upscaling/downscaling feature of bemanitools for IIDX 20 to 26.
|
||||
I realized that the render backend changed significantly that the old method that worked fine
|
||||
doesn't work anymore.
|
||||
|
||||
The tool used in the screenshots is [apitrace](https://github.com/apitrace/apitrace).
|
||||
|
||||
## IIDX 24
|
||||
|
||||
The GFX engine in IIDX from 20 to 26 has a changed render loop that includes built-in scaling to
|
||||
implement the SD and HD/HD* screen settings that are selectable in the operator menu
|
||||
|
||||
### Frame 0 - GFX init part
|
||||
|
||||
Setting up the context and device, as well as the frame buffer. This also creates the intermediate
|
||||
texture that is configured as the render target once it begins drawing the scene.
|
||||
|
||||

|
||||
|
||||
### Frame 1 - A clean main render path
|
||||
|
||||
Start the scene and set the render target to the intermediate texture.
|
||||
|
||||

|
||||
|
||||
After done drawing the scene, the intermediate texture is blended to the framebuffer. With a target
|
||||
2D plane having the size of the target resolution, the blending applies linear scaling to either
|
||||
up- or downscale the final image.
|
||||
|
||||

|
||||
|
||||
## IIDX 10
|
||||
|
||||
A recap of the old stuff, see also [my previous notes](2019-10-07-iidx-gfx-rendering-loops.md),
|
||||
as I had to look at everything again to properly understand the differences.
|
||||
|
||||
### Frame 0 - GFX init part
|
||||
|
||||
Setting up the context and device, as well as the frame buffer. Renders directly to the frame
|
||||
buffer.
|
||||
|
||||

|
||||
|
||||
### Frame 1 - A clean main render path
|
||||
|
||||
Beginning the scene excerpt. The viewport needs to match the target resolution to display the
|
||||
final image correctly.
|
||||
|
||||

|
||||
|
||||
Ending the scene excerpt, nothing fancy here, just swapping the back buffer.
|
||||
|
||||

|
||||
BIN
doc/dev/journal/2023-04-13-iidx-24-gfx-upscaling/beginscene.png
Normal file
BIN
doc/dev/journal/2023-04-13-iidx-24-gfx-upscaling/beginscene.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 52 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 122 KiB |
BIN
doc/dev/journal/2023-04-13-iidx-24-gfx-upscaling/endscene10.png
Normal file
BIN
doc/dev/journal/2023-04-13-iidx-24-gfx-upscaling/endscene10.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 69 KiB |
BIN
doc/dev/journal/2023-04-13-iidx-24-gfx-upscaling/init.png
Normal file
BIN
doc/dev/journal/2023-04-13-iidx-24-gfx-upscaling/init.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 127 KiB |
BIN
doc/dev/journal/2023-04-13-iidx-24-gfx-upscaling/init10.png
Normal file
BIN
doc/dev/journal/2023-04-13-iidx-24-gfx-upscaling/init10.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 641 KiB |
BIN
doc/dev/journal/2023-04-13-iidx-24-gfx-upscaling/scaling.png
Normal file
BIN
doc/dev/journal/2023-04-13-iidx-24-gfx-upscaling/scaling.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 312 KiB |
194
doc/dev/journal/2023-05-28-ddr-p3io-driver-work.md
Normal file
194
doc/dev/journal/2023-05-28-ddr-p3io-driver-work.md
Normal file
@@ -0,0 +1,194 @@
|
||||
# DDR p3io driver work, various notes
|
||||
|
||||
Date: 2023-05-28
|
||||
Author: icex2
|
||||
|
||||
Notes about my work on writing a DDR P3io driver.
|
||||
|
||||
## Python IO board hardware breakout interface
|
||||
|
||||
PCB breakout interfaces/connectors on the side of the boards.
|
||||
|
||||
### P2IO DDR
|
||||
|
||||
Descriptions assume cabinet hardware of an upgraded DDR "black SD cabinet"
|
||||
|
||||
* `LINE OUT 1`: Primary audio out to amplifier
|
||||
* `LINE OUT 2`: N.C.
|
||||
* `RGB`: Video out to monitor, supports 15khz/31khz based on hardware switch for video freq/mode selection
|
||||
* `COM1`: Virtual com port that connects to the EXTIO
|
||||
* `COM2`: Virtual com port that connects to a pair of ICCA card readers
|
||||
* `LAN`: Network connection
|
||||
* `PWR`: 100V power in
|
||||
* `ANALOG`: N.C.
|
||||
* `PORT 1`: Lights output for cabinet lights, e.g. menu button lights, top header lights
|
||||
* `PORT 2`: N.C.
|
||||
* `DIPSW`
|
||||
* `1`: ???
|
||||
* `2`: On = force all sensor polling mode and allow running the game without an EXTIO
|
||||
* `3`: ???
|
||||
* `4`: On = force 15 khz monitor output
|
||||
* `PLUG 1`: Black dongle
|
||||
* `PLUG 2`: White dongle
|
||||
|
||||
### P3IO GF/DM
|
||||
|
||||
Descriptions assume usage of a P3IO from a GF/DM in a "chimera style PCB build" on an upgraded
|
||||
DDR "black SD cabinet"
|
||||
|
||||
* `PWR`: 100V power in
|
||||
* `12V-OUT`: +12V out for external devices
|
||||
* `PORT 1`: Lights output for cabinet lights, e.g. menu button lights, top header lights
|
||||
* `PORT 2`: N.C.
|
||||
* `COM1`: To EXTIO
|
||||
* `COM2`: To card readers
|
||||
* `RGB`: Video out to monitor, supports 15khz/31khz based on hardware switch for video freq/mode selection
|
||||
* `LINE OUT 1`: Primary audio out to amplifier
|
||||
* `LINE OUT 2`: N.C.
|
||||
* `DIPSW`
|
||||
* `1`:
|
||||
* `2`:
|
||||
* `3`:
|
||||
* `4`: On = force 15 khz monitor output
|
||||
* `PLUG 1`: Roundplug black dongle
|
||||
* `PLUG 2`: Roundplug white dongle
|
||||
|
||||
### P3IO DDR(X)
|
||||
|
||||
Descriptions assume cabinet hardware of an upgraded DDR "black SD cabinet"
|
||||
|
||||
* `PWR`: 100V power in
|
||||
* `USB`: USB memory card readers on cabinet
|
||||
* `PORT 1`: Lights output for cabinet lights, e.g. menu button lights, top header lights
|
||||
* `COM3-4`: Virtual COM ports
|
||||
* COM3 (VCOM1): Pins 1,3,5 on connector -> To card readers
|
||||
* COM4 (VCOM0): Pins 2,4,6 on connector -> N.C.
|
||||
* `PLUG`: Breakout to security round plugs (black and white dongles)
|
||||
* `COM1`: To EXTIO
|
||||
* Pinout (pins left to right)
|
||||
* 1: TXD1
|
||||
* 2: RXD1
|
||||
* 3: N.C.
|
||||
* 4: N.C.
|
||||
* 5: GND
|
||||
* `COM2`: N/A (light spires on black HD cabinet)
|
||||
* Pinout (pins left to right)
|
||||
* 1: TXD2
|
||||
* 2: RXD2
|
||||
* 3: GND
|
||||
* `RGB`: Video out to monitor, supports 15khz/31khz based on hardware switch for video freq/mode selection
|
||||
* `LINE OUT1`: Primary audio out to amplifier
|
||||
* `LINE OUT2`: N.C.
|
||||
* `LAN`: Network
|
||||
* `DIP SW`
|
||||
* `1`:
|
||||
* `2`:
|
||||
* `3`:
|
||||
* `4`: On = force 15 khz monitor output
|
||||
|
||||
## Python IO boards and differences
|
||||
|
||||
### P3IO DDR(X)
|
||||
|
||||
* Connects to USB and actually enumerates as a USB device and not a virtual COM port
|
||||
* COM ports 1-4 on breakout of the PCB are being passed through as actual COM ports to the operating system
|
||||
|
||||
### P3IO GF/DM
|
||||
|
||||
* Connects to USB and actually enumerates as a USB device and not a virtual COM port
|
||||
* COM ports 1-2 on breakout of the PCB are just virtual COM ports
|
||||
* These do not show up as COM ports on the operating system
|
||||
* The game drives the COM ports through the main P3IO protocol with additional P3IO commands
|
||||
to open, read, write and close these virtual COM ports
|
||||
|
||||
### P2IO DDR
|
||||
|
||||
* Connects to USB and actually enumerates as a USB device and not a virtual COM port
|
||||
* COM ports 1-2 on breakout of the PCB are just virtual COM ports
|
||||
* These do not show up as COM ports on the operating system
|
||||
* The game drives the COM ports through the main P3IO protocol with additional P3IO commands
|
||||
to open, read, write and close these virtual COM ports
|
||||
|
||||
|
||||
## Pinout card reader P1 -> P2 mini din8 male to mini din8 male
|
||||
|
||||
Port 1 2 and 3:
|
||||
|
||||
* Pin 3: TX
|
||||
* Pin 4: GND
|
||||
* Pin 5 : RX
|
||||
|
||||
Pin 3 and 5 need to be reversed inbetween readers
|
||||
They are all the same, so your cable needs to bridge them over.
|
||||
A standard male to male mini din 8 cable does not do that.
|
||||
|
||||
### Pinout card reader stock cable s-sub9 to round pin9
|
||||
|
||||
```text
|
||||
dsub-9 female -> mini-din8 male
|
||||
2 (TXD) -> 3
|
||||
3 (RXD) -> 5
|
||||
5 (GND) -> 4
|
||||
```
|
||||
|
||||
## ADE board and com port assignments
|
||||
|
||||
Default or incorrectly configured?
|
||||
|
||||
* `COM1` -> on mainboard
|
||||
* `COM2` -> COM2 on P3IO breakout
|
||||
* `COM3` -> ???
|
||||
* `COM4` -> COM1 on P3IO breakout
|
||||
|
||||
## P3IO command init sequence on DDR 18
|
||||
|
||||
From the ddrio-python23 library
|
||||
|
||||
```text
|
||||
.data:1002D5D0 g_init_pakets db 0AAh, 2, 0, 1, 29h dup(0); field_0.field_0
|
||||
.data:1002D5D0 ; DATA XREF: initialize_and_send_pakets+5↑o
|
||||
.data:1002D5D0 db 0AAh, 2, 0, 2Fh, 29h dup(0); field_0.field_0
|
||||
.data:1002D5D0 db 0AAh, 3, 1, 27h, 1, 28h dup(0); field_0.field_0
|
||||
.data:1002D5D0 db 0AAh, 2 dup(2), 31h, 29h dup(0); field_0.field_0
|
||||
.data:1002D5D0 db 0AAh, 2, 3, 1, 29h dup(0); field_0.field_0
|
||||
.data:1002D5D0 db 0AAh, 3, 4, 27h, 29h dup(0); field_0.field_0
|
||||
.data:1002D5D0 db 0AAh, 2Bh, 5, 25h, 10h, 28h dup(0); field_0.field_0
|
||||
.data:1002D5D0 db 0AAh, 2Bh, 6, 25h, 10h, 28h dup(0); field_0.field_0
|
||||
.data:1002D5D0 db 0AAh, 2Bh, 7, 25h, 10h, 28h dup(0); field_0.field_0
|
||||
.data:1002D5D0 db 0AAh, 2Bh, 8, 25h, 10h, 28h dup(0); field_0.field_0
|
||||
.data:1002D5D0 db 0AAh, 2Bh, 9, 25h, 10h, 28h dup(0); field_0.field_0
|
||||
.data:1002D5D0 db 0AAh, 2Bh, 0Ah, 25h, 29h dup(0); field_0.field_0
|
||||
.data:1002D5D0 db 0AAh, 2Bh, 0Bh, 25h, 29h dup(0); field_0.field_0
|
||||
.data:1002D5D0 db 0AAh, 2Bh, 0Ch, 25h, 29h dup(0); field_0.field_0
|
||||
.data:1002D5D0 db 0AAh, 2Bh, 0Dh, 25h, 29h dup(0); field_0.field_0
|
||||
.data:1002D5D0 db 0AAh, 2Bh, 0Eh, 25h, 29h dup(0); field_0.field_0
|
||||
.data:1002D5D0 db 0AAh, 3, 0Fh, 5, 29h dup(0); field_0.field_0
|
||||
.data:1002D5D0 db 0AAh, 3, 0, 2Bh, 1, 28h dup(0); field_0.field_0
|
||||
.data:1002D5D0 db 0AAh, 3, 1, 29h, 5, 28h dup(0); field_0.field_0
|
||||
.data:1002D5D0 db 0AAh, 3, 2, 5, 30h, 28h dup(0); field_0.field_0
|
||||
.data:1002D5D0 db 0AAh, 2 dup(3), 27h, 29h dup(0); field_0.field_0
|
||||
``
|
||||
|
||||
```text
|
||||
// 01: get version <- this is part of a "flush" of old data?
|
||||
// 2F: set mode
|
||||
// 27: get cab type or dispsw
|
||||
// 31: get coinstock
|
||||
// 1: get version
|
||||
// 27: get cab type or dipsw
|
||||
// 25: read plug
|
||||
// 25: read plug
|
||||
// 25: read plug
|
||||
// 25: read plug
|
||||
// 25: read plug
|
||||
// 25: read plug
|
||||
// 25: read plug
|
||||
// 25: read plug
|
||||
// 25: read plug
|
||||
// 25: read plug
|
||||
// 5: set watchdog
|
||||
// 2b: unknown
|
||||
// 29: get video freq
|
||||
// 5: set watchdog
|
||||
// 27: get cab type or dipsw
|
||||
```
|
||||
@@ -51,6 +51,10 @@ make
|
||||
|
||||
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
|
||||
A release build is a clean build including code formatting and testing. This can be executed by running the following
|
||||
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,55 +0,0 @@
|
||||
# BIO2 sub IO turntable bypass cable
|
||||
If you upgraded a C02 wired cabinet, the turntables are connected to the
|
||||
sub IO via a serial line that goes to another sub IO behind the front panel
|
||||
next to the 16seg display. This introduces additional latency as the input
|
||||
data needs to pass through multiple systems/PCBs until it reaches the game.
|
||||
|
||||
This can be reduced by using a so-called "bypass" cable, that connects the
|
||||
turntables directly to the BIO2 sub IO board by emulating the wiring of a
|
||||
D01 cabinet, reducing latency significantly.
|
||||
|
||||
This cable could be ordered with the IIDX Rootage upgrade kit but can also
|
||||
be easily created from scratch.
|
||||
|
||||
## Parts
|
||||
* Some wires
|
||||
* [JST HL](https://jst.de/file/download/219/pitch-3-96-mm-wtw-hl2-pdf) 2x4 pin female connector
|
||||
* [JST HVQ](https://jst.de/file/download/637/hvq) 8 pin female connector
|
||||
* Matching terminals for the connectors
|
||||
|
||||
## Pinout
|
||||
```text
|
||||
JST HL 2x4 pin front view connector
|
||||
|
||||
notch at top
|
||||
___
|
||||
|---------|
|
||||
| 1 2 3 4 |
|
||||
| 5 6 7 8 |
|
||||
|---------|
|
||||
```
|
||||
|
||||
```
|
||||
JST HVQ 8 pin front view connector
|
||||
Numbering on connector matches
|
||||
|
||||
notch at top
|
||||
___________________
|
||||
-------------------
|
||||
|-----------------|
|
||||
| 1 2 3 4 5 6 7 8 |
|
||||
|-----------------|
|
||||
|
||||
```
|
||||
|
||||
Pins of the two connectors need to be connected like this:
|
||||
| JST HL 2x4 pin | JST 8 pin |
|
||||
|----------------|-----------|
|
||||
| 1 | 1 |
|
||||
| 2 | 1 |
|
||||
| 3 | 3 |
|
||||
| 4 | 2 |
|
||||
| 5 | 5 |
|
||||
| 6 | 4 |
|
||||
| 7 | 8 |
|
||||
| 8 | 8 |
|
||||
@@ -1,51 +0,0 @@
|
||||
# Ezusb 1/2 RJ45 to DIN8 connector pinout
|
||||
This was created from using the BIO2 sub IO board to connect pre IIDX 25 cabinet hardware to the
|
||||
BIO2 IO board. The two connector types from different generation IO boards, RJ45 on the ezusb FX
|
||||
(C02) board and a round DIN8 connector on the ezusb FX2 (IO2) board are just different connectors to
|
||||
the same hardware on the PCB.
|
||||
|
||||
Therefore, any C02 wired cabinet can be easily upgraded to IO2 wiring and vice versa by building
|
||||
a simple RJ45 -> DIN8 or DIN8 -> RJ45 adapter.
|
||||
|
||||
The following connection information was traced on a original Konami BIO2 sub IO board.
|
||||
|
||||
RJ45 (female) connector, top view:
|
||||
```text
|
||||
plug insert
|
||||
|
|
||||
|
|
||||
v
|
||||
|-----------|
|
||||
| Top view |
|
||||
| |
|
||||
| Pins |
|
||||
| 7 5 3 1 |
|
||||
| 8 6 4 2 |
|
||||
|-----------|
|
||||
```
|
||||
|
||||
DIN8 (female) connector, top view:
|
||||
```text
|
||||
plug insert
|
||||
|
|
||||
|
|
||||
v
|
||||
|-----------|
|
||||
| Top view |
|
||||
| Pins |
|
||||
| 3 1 2 6 |
|
||||
| 7 4 5 8 9 |
|
||||
|-----------|
|
||||
```
|
||||
|
||||
The two connectors are interconnected on the PCB like this:
|
||||
| RJ45 pins | DIN8 pins |
|
||||
|-----------|-----------|
|
||||
| 1 | 1 |
|
||||
| 2 | 7 |
|
||||
| 3 | 4 |
|
||||
| 4 | 6 |
|
||||
| 5 | 5 |
|
||||
| 6 | 3 |
|
||||
| 7 | 2 |
|
||||
| 8 | 1 |
|
||||
@@ -17,20 +17,22 @@ games:
|
||||
* [iidxhook2](iidxhook2.md): DistorteD
|
||||
* [iidxhook3](iidxhook3.md): GOLD, DJ TROOPERS, EMPRESS, SIRIUS
|
||||
* [iidxhook4](iidxhook4.md): Resort Anthem
|
||||
* [iidxhook4-cn](iidxhook4-cn.md): Resort Anthem CN (狂热节拍 IIDX)
|
||||
* [iidxhook5](iidxhook5.md): Lincle
|
||||
* [iidxhook5-cn](iidxhook5-cn.md): tricoro CN (狂热节拍 IIDX 2)
|
||||
* [iidxhook6](iidxhook6.md): Tricoro
|
||||
* [iidxhook7](iidxhook7.md): SPADA, PENDUAL, copula, SINOBUZ
|
||||
* [iidxhook8](iidxhook8.md): CANNON BALLERS, Rootage
|
||||
* [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
|
||||
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.
|
||||
|
||||
## How to run
|
||||
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
|
||||
be required to run the game with default settings.
|
||||
Further information on how to setup the data for each specific version are
|
||||
@@ -47,4 +49,4 @@ IO hardware you want to use:
|
||||
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
|
||||
* [iidxio-ezusb2](iidxhook/iidxio-ezusb2.md): Support IO2 ezusb FX2 hardware
|
||||
|
||||
@@ -198,6 +198,13 @@ can't be refreshed very often to make it feel unresponsive. Solution:
|
||||
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)
|
||||
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
|
||||
methods available to get background videos working. Probably, the easiest
|
||||
solution: grab the CLVSD.ax file and go to Start -> Run -> regsvr32 clvsd.ax
|
||||
@@ -234,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
|
||||
to scale to. Usually, you want to set this to the monitor's native resolution, e.g.
|
||||
1920x1080 for full HD. You can play around with a few different filters using
|
||||
*gfx.scale_back_buffer_filter* which impacts image quality/blurriness on upscaling.
|
||||
*gfx.scale_back_buffer_filter* which impacts image quality/blurriness on upscaling.
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user