Bemanitools v5.26 release

This commit is contained in:
icex2
2019-09-27 22:36:50 +02:00
commit cbd7720349
718 changed files with 62731 additions and 0 deletions

2
doc/tools/aciotest.md Normal file
View File

@@ -0,0 +1,2 @@
Test your real ACIO hardware connected to your machine using this tool. Just
execute it and follow the usage instructions.

3
doc/tools/eamiotest.md Normal file
View File

@@ -0,0 +1,3 @@
Testing tool for development of eamio libraries used for emulating card reader
hardware on bemanitools. Just place eamiotest.exe and the eamio.dll your
custom eamio.dll in the same folder and run eamiotest.exe.

View File

@@ -0,0 +1,6 @@
Flash a binary FPGA binary (not hex) firmware image to the FPGA of a EZUSB
board. This assumes that your IO board is already flashed using a base
firmware image (either by the game itself or using the *ezusb-tool*
application). Just call the executable and follow the usage instructions.
The type *v1* refers to the first gen protocol used from iidx 9 to 13 and *v2*
to the second gen protocol used from iidx 14 onwards.

View File

@@ -0,0 +1,4 @@
Tool to write a binary (not hex) image to the SRAM of a ezusb board.
Just run the executable and follow the usage instructions. Ensure that the
correct base firmware supporting SRAM is flashed to the board prior using this
(either by the game or using the *ezusb-tool* application).

6
doc/tools/ezusb-tool.md Normal file
View File

@@ -0,0 +1,6 @@
Tool for fundamental legacy EZUSB management tasks, e.g. scanning for connected
devices, querying basic device info (vid, pid, name) and flashing firmware.
This tool requires the "cyusb" driver to be installed and does NOT work with the
"cyusb3" driver and thus not on anything newer than WinXP.
Just run the tool without any arguments to get usage information.

View File

@@ -0,0 +1,22 @@
A hook library for debugging and dumping usb requests of games that use the
ezusb IO board (IIDX C02, IIDX IO2, Pop'n Music IO2). The library creates
a log file *ezusbdbg.log* in the same directory as your library/executable
which contains data dumps of the usb device's traffic.
Example usage:
*inject iidxhook1.dll ezusbdbg-hook.dll bm2dx.exe ...*
*launcher -K ezusbdbg-hook.dll bm2dx.dll ...*
Make sure to provide the following additional arguments:
*--ezusbdbg_path <device path>*
The device path points to the path to open the device, e.g. on the old IIDX
games that was *"\\\\.\\Ezusb-0"*. If you don't know the path, you can run
the hook with dummy data, e.g. *--ezusbdbg_path asdfgqwer* and check the log
for any logged open calls with paths to find your ezusb device.
--ezusbdbg_type <1 or 2>
Specify the type of device to debug. *1* is for the legacy ezusb device, e.g.
IIDX C02, and *2* for the FX2 type device, e.g. IIDX IO2, Pop'n IO2.
Both parameters must be specified, otherwise the hook will error. Make sure
to check the logfile for any errors or warnings as well.

6
doc/tools/ezusb2-tool.md Normal file
View File

@@ -0,0 +1,6 @@
Tool for fundamental EZUSB FX2 management tasks, e.g. scanning for connected
devices, querying basic device info (vid, pid, name) and flashing firmware. This
tool requires the newer "cyusb3" driver and does NOT work with the old "ezusb"
driver.
Just run the tool without any arguments to get usage information.

View File

@@ -0,0 +1,12 @@
A hook library that can be used with BeatmaniaIIDX games that run the old ezusb
IO board (e.g. 9-13). It allows you to exit the game by pressing Start P1 +
Start P2 + VEFX + Effect simultaneously. This is very useful if you want an
option to exit back to your desktop without having a keyboard attached.
The exit hook lib must be loaded like any other hook lib you are already
injecting to the game using *inject*. The order for the hook libs is important
as they are loaded in the order specified for the inject call. The entry in
the *gamestart.bat* file should look like this:
*inject iidxhook1.dll iidx-ezusb-exit-hook.dll bm2dx.exe ...*
Where iidxhook1 is used for version 9-12. Use iidxhook2 for version 13.

View File

@@ -0,0 +1,15 @@
A hook library that can be used with BeatmaniaIIDX games that run the ezusb
FX2 IO board (e.g. 14-24). It allows you to exit the game by pressing Start P1 +
Start P2 + VEFX + Effect simultaneously. This is very useful if you want an
option to exit back to your desktop without having a keyboard attached.
The exit hook lib must be loaded like any other hook lib you are already
injecting to the game using either *inject* or *launcher* (depending on the game
version). The order for the hook libs is important as they are loaded in the
order specified for the inject/launcher call. The entry in the *gamestart.bat*
file should look like this for inject:
*inject iidxhook3.dll -K iidx-ezusb2-exit-hook.dll bm2dx.exe ...*
...and for launcher:
*launcher -K iidxhook4.dll -K iidx-ezusb2-exit-hook.dll bm2dx.dll ...*
Where iidxhook3 is used for 14-15 and iidxhook4 for 20-24.

3
doc/tools/iidxiotest.md Normal file
View File

@@ -0,0 +1,3 @@
Testing tool for development of iidxio libraries used for emulating the main io
hardware on bemanitools for BeatmaniaIIDX. Just place iidxiotest.exe and your
custom iidxio.dll in the same folder and run iidxiotest.exe.

View File

@@ -0,0 +1,72 @@
# A simple memory patching hook
This is a hook which can be passed along with other hooks to be injected into
the target application of your choice (e.g. when using inject or launcher). It
allows you to patch raw memory contents of either the target application or
any libraries loaded with it. No static hex-edits anymore. Instead, create a
simple script file and also document your patches for others which allows them
to easily disable/enable them.
# Setup
Copy the *mempatch-hook.dll* to the target application of your choice and add
it to the list of libraries to inject:
Example when using *inject.exe*:
```
inject iidxhook3.dll mempatch-hook.dll bm2dx.exe --options iidxhook-16.conf --mempatch myPatch.mph %*
```
When using *launcher.exe*:
```
launcher -K iidxhook4.dll -K mempatch-hook.dll bm2dx.dll --options iidxhook.conf --mempatch myPatch.mph %*
```
To load a patch script, add the *--mempatch <path to patch script>* argument (as
shown above in the example). You can specify this more than once which allows
you to apply multiple scripts in order, e.g.
*--mempatch myPatch1.mph --mempatch myPatch1.mph*.
# Patch script format
A patch script is a simple list of items seperated by a newline character
(i.e. one item = one line). Example script file:
```
# This is a comment
# Use comments to document your patches and make the script useful for others
# Empty lines are allowed as well and skipped by the patcher
# All numbers specified are hex format only.
# First entry which gets processed by the patcher. One entry specifies a single
# patch to apply starting a the specified address
# The first parameter (bm2dx.exe) is the base address. Specify the exe name
# of the application for relative addreses to patch inside the exe. You can
# also specify dlls loaded by the target application (e.g. libacio.dll)
#
# The second parameter (137C4C) is the offset. The target address for this patch
# is bm2dx.exe + 137C4C (bm2dx.exe commonly resolves to 400000) -> 5137C4C
#
# The third parameter is the data to patch at the target location. This byte hex
# string can have an arbitrary even length.
#
# The fourth parameter is optional and allows you to specify the expected data
# at the target loation before patching. This gives you the chance to add some
# sort of checksum'ing for the patches if you want.
bm2dx.exe 137C4C 2121212121 4540
# The first parameter can also be - which resolves to a base memory address of
# 0 for the loaded application.
# So the target address here is 0 + 537C4C = 537C4C
#
# The fourth parameter isn't used here (optional)
- 537C4C 2222212122
# You can also set the third parameter to '-' which means no data and disables
# the patching. This allows you to use the fourth parameter and execute a
# memory check, only. This can be used for signiture checking of the target
# application
bm2dx.exe 137C4C - 4540
```

2
doc/tools/pcbidgen.md Normal file
View File

@@ -0,0 +1,2 @@
Tool to generate random and (checksum) valid PCBIDs used on various Konami
Arcade games.