Commit Graph
100 Commits
Author SHA1 Message Date
icex2 2b52fbe211 vigem-iidxio: Bugfix missing break in switch 2021-01-06 20:34:32 +00:00
icex2 78e7c05876 vigem-iidxio: Refactor configuration
Add more properties from Grim's implementation to support the
additional features. Re-structure struct to be less repetitive
on variable names.
2021-01-06 20:34:32 +00:00
icex2 9a5418f6a3 vigem-iidxio: Fix Luncatic Rave 2 incompatible button mappings
Reported by Grim:
LR2 cannot make use of the d-pad as buttons for inputs because
reasons. Create a third virtual gamepad to allow handling all
inputs as "normal buttons" including turntables.
2021-01-06 20:34:32 +00:00
icex2 2363498f73 vigem-iidxio: Support multiple different light sequence modes
Add new one suggested and implemented by Grim to flash the neons
when spinning the turntables
2021-01-06 20:34:32 +00:00
icex2 edbbe5ae67 iidxio-ezusb: Bugfix random input/outputs on startup 2021-01-06 20:34:32 +00:00
icex2 d799b69d12 doc: Add index README for vigem stuff, add vigem info to root readme 2021-01-06 20:34:31 +00:00
icex2 91f83cd975 doc: Collect vigem related documentation in own subfolder in doc 2021-01-06 20:34:31 +00:00
icex2 adeabbea19 doc: Add vigem-iidxio documentation 2021-01-06 20:34:31 +00:00
icex2 41187091b0 vigem-iidxio: Add vigem implementation with iidxio interface
This uses vigem to create two virtual xbox gamepads and hooks
up the iidxio API to them. It allows you to use anything that
implements the BT5's iidxio API as a game controller, e.g.
iidxio-bio2, iidxio-ezusb1/2 to play any game that supports
xbox game controllers, e.g. lunatic rave, IIDX infinitas.

Further features include setting your own custom 16seg text
from a configuration file or enable some hardcoded light
sequence to make your cabinet look bad ass even when playing
"Big Rigs: Over the Road Racing"
2021-01-06 20:34:31 +00:00
icex2 5658658d3a vigem-sdvxio: Add missing free for cleaning up vigem client 2021-01-06 20:34:31 +00:00
icex2 79a74b2d2f vigem-sdvxio: Make private functions static 2021-01-06 20:34:31 +00:00
icex2 51484b1d3d iidxiotest: Bugfix, properly turn off lights on exit 2021-01-06 18:08:18 +00:00
icex2 ec435e7a7b iidxio-bio2 conf: Improve doc, port optional if autodetect on 2021-01-02 12:07:00 +00:00
icex2 f8a01ed92f dist/iidx: Add default iidxio-bio2 conf
We have stock/default configs for everything else, e.g. hooks.
2021-01-02 12:07:00 +00:00
icex2 f7e1c8b3f9 doc: Add a bunch of root readme files to various levels, enhance doc
Not complete, but a start to make documentation browsable and
therefore more accessible.
2020-12-20 17:06:27 +01:00
icex2 f667ae5601 doc: Add doc for using bio2 exit hook 2020-12-20 17:06:13 +01:00
icex2 4b061bdf8f Add iidx-bio2-exit-hook: Exit games with bio2 with button combination
Press Start P1 + Start P2 + Effect + VEFX at the same time to
terminate the game. Useful for multi game setups running some
sort of game loader/selector and not having to use a keyboard.
2020-12-20 16:39:00 +01:00
icex2 13600db1d5 iidx-ezusb1/2 exit hook: Replace duplicate code with util function 2020-12-20 16:38:06 +01:00
icex2 e4126500ef util/proc: Create util module for handling process related stuff 2020-12-20 16:37:40 +01:00
icex2 049f1b4564 doc/hardware: Add information about bio2 turntable bypass cable 2020-12-20 15:25:16 +01:00
icex2 687c000000 doc/iidxhook9: Add notes about BIO2 driver usage 2020-12-20 15:25:16 +01:00
icex2 1b593a8e23 doc: Improve visibility of iidxio API implementations 2020-12-20 15:25:16 +01:00
icex2 24178121f0 doc: Add iidxio-bio2 documentation 2020-12-20 15:25:16 +01:00
icex2 62ad4e0616 hardware doc: ezusb RJ45 to DIN8 connector pinout
Can be used to build adapter cables to up-/downgrade cabinets with
C02 to IO2 and IO2 to C02 wiring.
2020-12-20 15:25:16 +01:00
icex2 c348a41d22 bi2a-iidx: Fix incorrect init command data
Taken from a communication dump of the real IO with iidx 27,
this needs to be 0x2D in order to get a fully working setup with
BIO2 and sub IO board connected.
2020-12-20 15:25:16 +01:00
icex2 ef377f40d8 bi2a: Clarify data field usage on init command
The single byte is a specific parameter required to initialize
the IO correctly. Otherwise, it either will only work partially
or not worked at all. The full impact and meaning of that byte
is not entirely known, yet.
2020-12-20 15:25:16 +01:00
icex2 0c88518a1f bio2: Add BIO2_BI2A_CMD_INIT command
Turns out this is different from the generic CLEAR command used
on other ACIO devices. Has further implications when initializing
BIO2 boards for specific games, e.g. IIDX.
2020-12-20 15:25:16 +01:00
icex2 0bc87db8da dev doc: Documented BIO2 package dumps used for debugging 2020-12-20 15:25:16 +01:00
icex2 53f8cb3bf3 iidxio-bio2: Add iidxio implementation using bio2 iidx driver
Use the original bio2 hardware with anything that supports BT5's
iidxio interface, e.g. old IIDX versions of BT5.
2020-12-20 15:25:16 +01:00
icex2 41edfec702 bio2drv: Add implementation for iidx
Basically, a copy-paste of SDVX KFCA with minor tweaks.
2020-12-20 15:25:16 +01:00
icex2 c6c3bdb075 bio2/iidx: Add enums to easily map top lamps and panel buttons
Naturally, this also serves as documentation
2020-12-20 15:25:16 +01:00
icex2 b3a89012ca bio2/iidx: Deduplicate node command, use common acio base command 2020-12-20 15:25:16 +01:00
icex2 f0bc87f1d6 iidxiotool: Fix incorrect top lamp order for setting output 2020-12-20 15:25:16 +01:00
icex2 7508c43119 bt5 api/iidxio: Add missing enum to easily identify top lamp order 2020-12-20 15:25:16 +01:00
icex2 34be731211 doc/api: Add missing sdvxio implementations to list 2020-12-20 15:25:16 +01:00
icex2 bac1ce62e5 Module.mk: Apply lex sort to includes 2020-12-20 15:25:16 +01:00
icex2 58689bbc30 Add missing iidx 27 avs version info to list 2020-12-20 15:25:16 +01:00
icex2 d5e186ffe2 bio2/iidx: Swap in and out struct names to align with sdvx definitions
From hosts perspective:
- "in" for inputs received from device
- "out" for outputs to send to device
2020-12-20 15:25:16 +01:00
icex2 34c95561c4 bio2: Update unknown commands
Credits to xyen for this
2020-12-20 15:25:16 +01:00
icex2 81d697d59a doc/iidxhook9: Add doc to FAQ how and when to use force screen res 2020-12-19 23:18:36 +01:00
icex2 3bdda4d123 dist/iidx: Update dist config file with new parameters force screen res 2020-12-19 23:18:36 +01:00
icex2 ea8842b58a d3d9ex: Add force screen resolution feature
For details, see the commit adding doc to the iidxhook9 readme
2020-12-19 23:18:34 +01:00
icex2 e89889806b d3d9ex: Add new config parameters for forcing screen resolution 2020-12-19 16:57:11 +01:00
icex2 b3b2f8f433 d3d9ex: Log parameters of CreateDeviceEx for debugging and tracing 2020-12-19 16:37:02 +01:00
icex2 1cdf330cbf iidxhook8/9 faq: Add force refresh rate on high freq monitors entry 2020-12-19 01:52:07 +01:00
icex2 7ebb80d600 doc/iidxhook1: Add info about AMD GPU scaling causing slow downs 2020-11-15 00:22:16 +01:00
icex2 8c3030354a Improve contributing documentation
- Summary of "golden rules" in main readme
- Improve contirbution document by outlining steps
2020-11-08 13:05:13 +01:00
icex2 9777eddaa0 gitlab: Update bug template to point out how to log to file 2020-11-08 12:02:39 +01:00
icex2 671723febd doc/iidxhook: Update documentation, explain new io feature switches 2020-11-08 00:24:52 +01:00
icex2 c1f6166e1b dist/iidx: Update default configs with new io config entries 2020-11-08 00:24:39 +01:00
icex2 538650f7ac iidxhook7: Support new IO config feature switches 2020-11-08 00:23:44 +01:00
icex2 efd243fd9d iidxhook6: Support new IO config feature switches 2020-11-08 00:23:35 +01:00
icex2 383b301d3c iidxhook5: : Support new IO config feature switches 2020-11-08 00:23:21 +01:00
icex2 a9d201691a iidxhook4: Support new IO config feature switches 2020-11-08 00:22:25 +01:00
icex2 ebb6f811b4 sqash 2020-11-08 00:22:12 +01:00
icex2 9e96cf074f iidxhook-util: Add config for io stuff
Switches to disable card reader and IO emulation
2020-11-08 00:20:55 +01:00
icex2 e6766d4a3b Update readme with supported games, iidx27 2020-10-27 20:10:10 +01:00
icex2 843d78bc4b Update changelog for 5.33 release 2020-10-27 19:51:48 +01:00
icex2 fc22f76988 doc: Add missing supported iidx version to iidxhook8 2020-10-20 23:45:19 +02:00
icex2 e49149b03d Update README.md, add pipeline status 2020-10-03 20:38:05 +00:00
icex2 65a45740d2 launcher: Log OS version on startup 2020-09-02 22:04:55 +02:00
icex2 8bd0f44e24 inject: Log OS version on startup 2020-09-02 22:04:55 +02:00
icex2 7733912ae2 util: Add OS module to get version information of Windows
Data we always need when things go wrong, log it on boot.
2020-09-02 22:04:53 +02:00
icex2 55c9f5a521 hooks for inject: Fix log output in DllMain
With the new inject tool, the output of OutputDebugString is
available on console and file logging.
2020-09-02 22:03:26 +02:00
icex2 917dc88826 util/log: Remove log_error, replace occurances with log_warning
log_error was using the log_writer_fatal impl which conflicts with
how this is used on AVS. Therefore, achieve a visible "error"
message in inject by using log_warning + ERROR string in the message
2020-09-02 19:53:07 +00:00
icex2 475d438ec7 inject/debugger: Avoid code dupe 2020-09-02 19:53:07 +00:00
icex2 f23d3531a2 util/signal: Expose signal_exception_code_to_str
Can be re-used in inject/debugger to avoid code duplication
2020-09-02 19:53:07 +00:00
icex2 32c3428c59 inject/logger: Add timestamps to log messages 2020-09-02 19:53:07 +00:00
icex2 ee034a1f08 inject: Fix windows psapi mess by explicitly defining version
Otherwise, the compiler does not link the correct version of that
API. See the requirements section at the bottom of the page here:
https://docs.microsoft.com/en-us/windows/win32/api/psapi/nf-psapi-getmodulebasenamea
2020-09-02 19:53:06 +00:00
icex2 54b321c7d9 inject: Major refactoring
This addresses one major issue and multiple minor ones:
Major:
Inject's debugger is not attached to the process before
injecting DLL files. This misses out on OutputDebugString
calls by anything logging in the DllMain functions of the hook
dlls.

Minor:
- Fix coloring of log entries
- Add ASCII header to easily determine start
- Fix file logging, log _everything_ to a single log file
- Enhance inject's debugger: log further debug events to incrase
visibility on issues, proper exception handling for inject
- Re-iterated code structure of inject
2020-09-02 19:53:06 +00:00
icex2 de894ae5ce util/log: Add log_error which logs errors but does not abort
This is required for tools/applications that want or have to fail
gracefully but still need to highlight the severity in the log.
2020-09-02 19:53:06 +00:00
icex2 1d25abc10b util: Add signal module introducing signal and exception handling
Right now, this prints to the console using the util/log logger
only. Stacktrace on exception still needs to be added.
2020-09-02 19:53:05 +00:00
icex2 beea9e7bb7 util/log: Add TODO pointing out design flaw 2020-09-02 19:53:05 +00:00
icex2 fbb69d4550 Makefile: Fix minor inconsistency 2020-09-02 19:53:05 +00:00
icex2 e0fe9bcf94 Makefile: Fix clang format command 2020-09-02 19:53:05 +00:00
icex2 f9c0733af3 Adapt everything in BT5 to new capnhook API
This includes:
- Renaming of functions (iohook_invoke_next)
- Slight interface changes (com_proxy_wrap, iohook_push_handler)
- De-duplicate stuff from utils (iobuf, hr)
2020-09-02 19:35:15 +00:00
icex2 a016f27652 hook: Update capnhook source files from latest master
https://github.com/decafcode/capnhook
2020-09-02 19:35:15 +00:00
icex2 bbb5157460 Version bump 5.33 2020-08-13 13:15:41 +02:00
icex2 e0cfc8c948 Bump to version 5.32 and update changelog 2020-08-13 13:14:54 +02:00
icex2 93cfb591b7 iidxio-ezusb: Update documentation 2020-08-12 18:01:22 +00:00
icex2 3396c09fbf ezusb-iidx: Add macro to enable D01 board emulation
Used for dumping firmware, only. C02 and D01 boards only differ
in the FPGA firmware written to the board on boot up. This doesn't
matter for emulation, but when using a real IO board with
iidxio-ezusb.dll, a different FPGA firmware is required to be
flashed in order to get working turntables, top unit lights etc
2020-08-12 18:01:22 +00:00
icex2 bd8dc18b30 iidxio-ezusb: Support coin mech input 2020-08-11 22:05:46 +02:00
icex2 55513bac41 Update changelog for 5.31 release 2020-07-01 20:33:35 +02:00
icex2 63e19aaaf6 Remove src.zip from distribution package
No need to include the source code with the repository being public.
2020-05-11 00:27:11 +02:00
icex2 4c59f16d46 Update gitlab-ci, build project with Dockerfile 2020-05-11 00:27:09 +02:00
icex2 7157fdedb7 Update readme/development doc about docker building 2020-05-11 00:24:21 +02:00
icex2 13d29cb62e Add Dockerfile for building bemanitools with docker 2020-05-11 00:23:53 +02:00
icex2 bf48715466 test: Fix compiler warning 2020-05-11 00:23:29 +02:00
icex2 24b490e36b Bump version to 5.31 2020-04-27 22:00:50 +02:00
icex2 ff2a4b9a2c Changelog 5.30 update 2020-04-27 21:59:33 +02:00
icex2 5aa1e27a31 Bump version to 5.30 2020-02-01 11:15:51 +01:00
icex2 596b962cfe Update changelog for 5.29 release 2020-02-01 11:07:18 +01:00
icex2 bf3d543893 Add some general notes about data setup for OS to README 2019-12-09 15:17:09 +01:00
icex2 f1f26dece3 Update development doc with some useful dev tools 2019-12-09 15:08:14 +01:00
icex2 fe0996ec3b Update MR templates, add checklist for guidance 2019-12-09 15:01:16 +01:00
icex2 d551930ea0 Version bump to 5.29 2019-12-06 23:25:21 +01:00
icex2 daad6a09c5 Fix versioning for sdvx distribution packages
sdvx.zip -> sdvx-01-to-04.zip
sdvx5.zip -> sdvx-05.zip
2019-12-06 23:23:12 +01:00
icex2 27fdabe17a Add instructions how to create releases 2019-12-06 23:19:27 +01:00
icex2 d29d9415b2 Create changelog for 5.28 release 2019-12-06 23:08:28 +01:00
icex2 3212981cc9 Readme update supported games list, add SDVX Vivid Wave 2019-12-06 23:08:09 +01:00