iidxio BIO2 driver backed implementation - [merged] #167

Closed
opened 2020-12-17 01:00:50 +03:00 by icex2 · 25 comments
icex2 commented 2020-12-17 01:00:50 +03:00 (Migrated from github.com)

Merges iidxio-bio2 -> master

Summary

Implements the iidxio API using the iidxio bio2 driver. This allows you to play any game that supports BT5's iidxio API.

Description

Not a lot to add, summary covers that.

Related Issue

How Has This Been Tested?

Tested on my own cabinet with an original Konami BIO2 from a IIDX 25 PCB + sub IO to hook it up to the C02 wiring of the cabinet.

Checklist

  • Tested with the following games:
    • iidx 27
  • Followed the developer (style) guidelines.
  • Updated existing doc of or add new doc to README file(s).
  • Updated development documentation.
_Merges iidxio-bio2 -> master_ ## Summary <!--- Provide a general summary of your changes in the Title above --> Implements the iidxio API using the iidxio bio2 driver. This allows you to play any game that supports BT5's iidxio API. ## Description <!--- Describe your changes in detail --> Not a lot to add, summary covers that. ## 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: --> * https://dev.s-ul.eu/djhackers/bemanitools/-/issues/8 ## 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. --> Tested on my own cabinet with an original Konami BIO2 from a IIDX 25 PCB + sub IO to hook it up to the C02 wiring of the cabinet. ## 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. --> * Tested with the following games: * [x] iidx 27 * [x] Followed the developer (style) guidelines. * [x] Updated existing doc of or add new doc to README file(s). * [x] Updated development documentation.
icex2 commented 2020-12-17 01:17:34 +03:00 (Migrated from github.com)

added 3 commits

  • f8989429 - bio2: Add BIO2_BI2A_CMD_INIT command
  • 4edb3616 - bi2a: Clarify data field usage on init command
  • c111adbb - bi2a-iidx: Fix incorrect init command data

Compare with previous version

added 3 commits <ul><li>f8989429 - bio2: Add BIO2_BI2A_CMD_INIT command</li><li>4edb3616 - bi2a: Clarify data field usage on init command</li><li>c111adbb - bi2a-iidx: Fix incorrect init command data</li></ul> [Compare with previous version](/djhackers/bemanitools/-/merge_requests/66/diffs?diff_id=1379&start_sha=050e019160ff2ade949a81db5b1ad398d3906da7)
icex2 commented 2020-12-17 01:19:12 +03:00 (Migrated from github.com)

added 4 commits

  • 571890f5 - bio2: Add BIO2_BI2A_CMD_INIT command
  • b5164f4e - bi2a: Clarify data field usage on init command
  • 7c592cd3 - bi2a-iidx: Fix incorrect init command data
  • bf90b20c - wip

Compare with previous version

added 4 commits <ul><li>571890f5 - bio2: Add BIO2_BI2A_CMD_INIT command</li><li>b5164f4e - bi2a: Clarify data field usage on init command</li><li>7c592cd3 - bi2a-iidx: Fix incorrect init command data</li><li>bf90b20c - wip</li></ul> [Compare with previous version](/djhackers/bemanitools/-/merge_requests/66/diffs?diff_id=1380&start_sha=c111adbb67a644d934db370e20ca081fe95240f2)
icex2 commented 2020-12-17 01:19:12 +03:00 (Migrated from github.com)

marked this merge request as draft from bf90b20c049d7d9fc614fc761fcd1ec1fca3ed70

marked this merge request as **draft** from bf90b20c049d7d9fc614fc761fcd1ec1fca3ed70
icex2 commented 2020-12-17 01:31:09 +03:00 (Migrated from github.com)

added 1 commit

  • f7ea0309 - hardware doc: ezusb RJ45 to DIN8 connector pinout

Compare with previous version

added 1 commit <ul><li>f7ea0309 - hardware doc: ezusb RJ45 to DIN8 connector pinout</li></ul> [Compare with previous version](/djhackers/bemanitools/-/merge_requests/66/diffs?diff_id=1381&start_sha=bf90b20c049d7d9fc614fc761fcd1ec1fca3ed70)
icex2 commented 2020-12-17 02:03:56 +03:00 (Migrated from github.com)

added 7 commits

  • 42923764 - hardware doc: ezusb RJ45 to DIN8 connector pinout
  • df4c41aa - doc: Add vigem-iidxio documentation
  • bdb7feed - doc: Collect vigem related documentation in own subfolder in doc
  • a5c1f991 - doc: Add index README for vigem stuff, add vigem info to root readme
  • 7c2622d7 - doc: Add iidxio-bio2 documentation
  • b251b1ce - doc: Improve visibility of iidxio API implementations
  • e5d52cf4 - wip

Compare with previous version

added 7 commits <ul><li>42923764 - hardware doc: ezusb RJ45 to DIN8 connector pinout</li><li>df4c41aa - doc: Add vigem-iidxio documentation</li><li>bdb7feed - doc: Collect vigem related documentation in own subfolder in doc</li><li>a5c1f991 - doc: Add index README for vigem stuff, add vigem info to root readme</li><li>7c2622d7 - doc: Add iidxio-bio2 documentation</li><li>b251b1ce - doc: Improve visibility of iidxio API implementations</li><li>e5d52cf4 - wip</li></ul> [Compare with previous version](/djhackers/bemanitools/-/merge_requests/66/diffs?diff_id=1382&start_sha=f7ea0309f8f085bf7e9084df59be74d8ce06882d)
icex2 commented 2020-12-17 02:54:59 +03:00 (Migrated from github.com)

added 2 commits

  • ecf2e315 - doc/iidxhook9: Add notes about BIO2 driver usage
  • 68b822b0 - wip

Compare with previous version

added 2 commits <ul><li>ecf2e315 - doc/iidxhook9: Add notes about BIO2 driver usage</li><li>68b822b0 - wip</li></ul> [Compare with previous version](/djhackers/bemanitools/-/merge_requests/66/diffs?diff_id=1383&start_sha=e5d52cf4f5c8276b41e0e7d976089d46c681c7a6)
icex2 commented 2020-12-17 02:58:55 +03:00 (Migrated from github.com)

added 1 commit

  • 46ba2dc7 - doc/hardware: Add information about bio2 turntable bypass cable

Compare with previous version

added 1 commit <ul><li>46ba2dc7 - doc/hardware: Add information about bio2 turntable bypass cable</li></ul> [Compare with previous version](/djhackers/bemanitools/-/merge_requests/66/diffs?diff_id=1384&start_sha=68b822b05ee8fa7587b1dc205bbae346545866d3)
icex2 commented 2020-12-17 03:00:59 +03:00 (Migrated from github.com)

marked the checklist item Updated existing doc of or add new doc to README file(s). as completed

marked the checklist item **Updated existing doc of or add new doc to README file(s).** as completed
icex2 commented 2020-12-17 03:01:00 +03:00 (Migrated from github.com)

marked the checklist item Updated development documentation. as completed

marked the checklist item **Updated development documentation.** as completed
icex2 commented 2020-12-18 16:53:32 +03:00 (Migrated from github.com)

added 14 commits

  • 466901d6 - iidxiotool: Fix incorrect top lamp order for setting output
  • aa977fa0 - bio2/iidx: Deduplicate node command, use common acio base command
  • 1def3b21 - bio2/iidx: Add enums to easily map top lamps and panel buttons
  • 37f25788 - bio2drv: Add implementation for iidx
  • 6be5ffb9 - iidxio-bio2: Add iidxio implementation using bio2 iidx driver
  • fd78f62f - dev doc: Documented BIO2 package dumps used for debugging
  • 0a3d9357 - bio2: Add BIO2_BI2A_CMD_INIT command
  • 7982b9ca - bi2a: Clarify data field usage on init command
  • a5feed72 - bi2a-iidx: Fix incorrect init command data
  • d91228cb - hardware doc: ezusb RJ45 to DIN8 connector pinout
  • dc0f712a - doc: Add iidxio-bio2 documentation
  • b3c6be92 - doc: Improve visibility of iidxio API implementations
  • 49340b67 - doc/iidxhook9: Add notes about BIO2 driver usage
  • b31cca92 - doc/hardware: Add information about bio2 turntable bypass cable

Compare with previous version

added 14 commits <ul><li>466901d6 - iidxiotool: Fix incorrect top lamp order for setting output</li><li>aa977fa0 - bio2/iidx: Deduplicate node command, use common acio base command</li><li>1def3b21 - bio2/iidx: Add enums to easily map top lamps and panel buttons</li><li>37f25788 - bio2drv: Add implementation for iidx</li><li>6be5ffb9 - iidxio-bio2: Add iidxio implementation using bio2 iidx driver</li><li>fd78f62f - dev doc: Documented BIO2 package dumps used for debugging</li><li>0a3d9357 - bio2: Add BIO2_BI2A_CMD_INIT command</li><li>7982b9ca - bi2a: Clarify data field usage on init command</li><li>a5feed72 - bi2a-iidx: Fix incorrect init command data</li><li>d91228cb - hardware doc: ezusb RJ45 to DIN8 connector pinout</li><li>dc0f712a - doc: Add iidxio-bio2 documentation</li><li>b3c6be92 - doc: Improve visibility of iidxio API implementations</li><li>49340b67 - doc/iidxhook9: Add notes about BIO2 driver usage</li><li>b31cca92 - doc/hardware: Add information about bio2 turntable bypass cable</li></ul> [Compare with previous version](/djhackers/bemanitools/-/merge_requests/66/diffs?diff_id=1387&start_sha=46ba2dc709d2a6e70b0b89459374a3c64a77a228)
icex2 commented 2020-12-18 16:59:09 +03:00 (Migrated from github.com)

marked this merge request as ready

marked this merge request as **ready**
icex2 commented 2020-12-18 16:59:48 +03:00 (Migrated from github.com)

Updated, moved ViGEm relevant commits to its own MR !68

Updated, moved ViGEm relevant commits to its own MR !68
icex2 commented 2020-12-18 17:00:45 +03:00 (Migrated from github.com)

added 16 commits

  • 26a1831a - doc/api: Add missing sdvxio implementations to list
  • 617bd2d0 - bt5 api/iidxio: Add missing enum to easily identify top lamp order
  • 6fd6eea6 - iidxiotool: Fix incorrect top lamp order for setting output
  • 705d9b1a - bio2/iidx: Deduplicate node command, use common acio base command
  • 6d983026 - bio2/iidx: Add enums to easily map top lamps and panel buttons
  • 812bd1bc - bio2drv: Add implementation for iidx
  • 4d17b9a8 - iidxio-bio2: Add iidxio implementation using bio2 iidx driver
  • c635cecf - dev doc: Documented BIO2 package dumps used for debugging
  • 13016da9 - bio2: Add BIO2_BI2A_CMD_INIT command
  • cdc2bfd6 - bi2a: Clarify data field usage on init command
  • 83e0430e - bi2a-iidx: Fix incorrect init command data
  • f6758fa8 - hardware doc: ezusb RJ45 to DIN8 connector pinout
  • 7f8c76e7 - doc: Add iidxio-bio2 documentation
  • b44efa62 - doc: Improve visibility of iidxio API implementations
  • e42a0c2e - doc/iidxhook9: Add notes about BIO2 driver usage
  • 121a9d0c - doc/hardware: Add information about bio2 turntable bypass cable

Compare with previous version

added 16 commits <ul><li>26a1831a - doc/api: Add missing sdvxio implementations to list</li><li>617bd2d0 - bt5 api/iidxio: Add missing enum to easily identify top lamp order</li><li>6fd6eea6 - iidxiotool: Fix incorrect top lamp order for setting output</li><li>705d9b1a - bio2/iidx: Deduplicate node command, use common acio base command</li><li>6d983026 - bio2/iidx: Add enums to easily map top lamps and panel buttons</li><li>812bd1bc - bio2drv: Add implementation for iidx</li><li>4d17b9a8 - iidxio-bio2: Add iidxio implementation using bio2 iidx driver</li><li>c635cecf - dev doc: Documented BIO2 package dumps used for debugging</li><li>13016da9 - bio2: Add BIO2_BI2A_CMD_INIT command</li><li>cdc2bfd6 - bi2a: Clarify data field usage on init command</li><li>83e0430e - bi2a-iidx: Fix incorrect init command data</li><li>f6758fa8 - hardware doc: ezusb RJ45 to DIN8 connector pinout</li><li>7f8c76e7 - doc: Add iidxio-bio2 documentation</li><li>b44efa62 - doc: Improve visibility of iidxio API implementations</li><li>e42a0c2e - doc/iidxhook9: Add notes about BIO2 driver usage</li><li>121a9d0c - doc/hardware: Add information about bio2 turntable bypass cable</li></ul> [Compare with previous version](/djhackers/bemanitools/-/merge_requests/66/diffs?diff_id=1389&start_sha=b31cca92b04fb2b7a4867ae0447e461abea20357)
icex2 commented 2020-12-20 01:19:20 +03:00 (Migrated from github.com)

In GitLab by @xyen on Dec 19, 2020, 23:19

Commented on src/main/bio2drv/bi2a-iidx.c line 15

A comment here describing what happens if we use the wrong value would be nice.

In GitLab by @xyen on Dec 19, 2020, 23:19 Commented on [src/main/bio2drv/bi2a-iidx.c line 15](https://github.com/djhackersdev/bemanitools/compare/3199a4fa4eda09a4eea62d5dd42673990a0f532d..e49b1e05c1116855e5ec326b976226150b70e6b8#diff-84c63f8bc3347c0c5d39083f095891a9R15) A comment here describing what happens if we use the wrong value would be nice.
icex2 commented 2020-12-20 01:19:20 +03:00 (Migrated from github.com)

In GitLab by @xyen on Dec 19, 2020, 23:19

Commented on doc/iidxhook/iidxhook9.md line 111

(which is the crucial part for automatic detection). -> (which is the crucial part for the stock game's automatic detection).

In GitLab by @xyen on Dec 19, 2020, 23:19 Commented on [doc/iidxhook/iidxhook9.md line 111](https://github.com/djhackersdev/bemanitools/compare/9a5dc503f4161888f40256565bcc573359e7498e..121a9d0c3d0c63527d06328be7c3cfef2f9c0238#diff-fea5743bfe4ee6faf404023fe8938f02R111) `(which is the crucial part for automatic detection).` -> `(which is the crucial part for the stock game's automatic detection).`
icex2 commented 2020-12-20 01:19:21 +03:00 (Migrated from github.com)

In GitLab by @xyen on Dec 19, 2020, 23:19

Commented on src/main/bio2emu-iidx/bi2a.c line 88

CLEAR -> BIO2_BI2A_CMD_INIT

In GitLab by @xyen on Dec 19, 2020, 23:19 Commented on [src/main/bio2emu-iidx/bi2a.c line 88](https://github.com/djhackersdev/bemanitools/compare/9a5dc503f4161888f40256565bcc573359e7498e..121a9d0c3d0c63527d06328be7c3cfef2f9c0238#diff-059e4fc6a4af5cff30ed74e1d8070407R88) CLEAR -> `BIO2_BI2A_CMD_INIT`
icex2 commented 2020-12-20 01:22:00 +03:00 (Migrated from github.com)

In GitLab by @xyen on Dec 19, 2020, 23:22

Commented on src/main/bio2drv/bi2a-iidx.c line 15

nit: better yet move both this one and the one in bi2a-sdvx to the header.

In GitLab by @xyen on Dec 19, 2020, 23:22 Commented on [src/main/bio2drv/bi2a-iidx.c line 15](https://github.com/djhackersdev/bemanitools/compare/3199a4fa4eda09a4eea62d5dd42673990a0f532d..e49b1e05c1116855e5ec326b976226150b70e6b8#diff-84c63f8bc3347c0c5d39083f095891a9R15) nit: better yet move both this one and the one in bi2a-sdvx to the header.
icex2 commented 2020-12-20 01:22:08 +03:00 (Migrated from github.com)

In GitLab by @xyen on Dec 19, 2020, 23:22

approving aside from some minor changes

In GitLab by @xyen on Dec 19, 2020, 23:22 approving aside from some minor changes
icex2 commented 2020-12-20 01:22:10 +03:00 (Migrated from github.com)

In GitLab by @xyen on Dec 19, 2020, 23:22

approved this merge request

In GitLab by @xyen on Dec 19, 2020, 23:22 approved this merge request
icex2 commented 2020-12-20 17:18:18 +03:00 (Migrated from github.com)

I wouldn't move that to the header since, at least with current knowledge, this is an implementation detail specific to that usage of the IO, e.g. sdvx vs. iidx.
Added clarifying comment because that's a good point.

I wouldn't move that to the header since, at least with current knowledge, this is an implementation detail specific to that usage of the IO, e.g. sdvx vs. iidx. Added clarifying comment because that's a good point.
icex2 commented 2020-12-20 17:25:04 +03:00 (Migrated from github.com)

changed this line in version 10 of the diff

changed this line in [version 10 of the diff](/djhackers/bemanitools/-/merge_requests/66/diffs?diff_id=1394&start_sha=121a9d0c3d0c63527d06328be7c3cfef2f9c0238#2e95b22b67daac5afa9f41dc85e884de49a151e5_111_111)
icex2 commented 2020-12-20 17:25:05 +03:00 (Migrated from github.com)

changed this line in version 10 of the diff

changed this line in [version 10 of the diff](/djhackers/bemanitools/-/merge_requests/66/diffs?diff_id=1394&start_sha=121a9d0c3d0c63527d06328be7c3cfef2f9c0238#37a78211cd4ba0f2a032c680b0f78ff769e1d4d9_88_88)
icex2 commented 2020-12-20 17:25:05 +03:00 (Migrated from github.com)

added 7 commits

  • 849684a9 - bi2a: Clarify data field usage on init command
  • 46cd8b36 - bi2a-iidx: Fix incorrect init command data
  • 24cd02e0 - hardware doc: ezusb RJ45 to DIN8 connector pinout
  • 630b8394 - doc: Add iidxio-bio2 documentation
  • 07655ae4 - doc: Improve visibility of iidxio API implementations
  • d513d245 - doc/iidxhook9: Add notes about BIO2 driver usage
  • c240fe2c - doc/hardware: Add information about bio2 turntable bypass cable

Compare with previous version

added 7 commits <ul><li>849684a9 - bi2a: Clarify data field usage on init command</li><li>46cd8b36 - bi2a-iidx: Fix incorrect init command data</li><li>24cd02e0 - hardware doc: ezusb RJ45 to DIN8 connector pinout</li><li>630b8394 - doc: Add iidxio-bio2 documentation</li><li>07655ae4 - doc: Improve visibility of iidxio API implementations</li><li>d513d245 - doc/iidxhook9: Add notes about BIO2 driver usage</li><li>c240fe2c - doc/hardware: Add information about bio2 turntable bypass cable</li></ul> [Compare with previous version](/djhackers/bemanitools/-/merge_requests/66/diffs?diff_id=1394&start_sha=121a9d0c3d0c63527d06328be7c3cfef2f9c0238)
icex2 commented 2020-12-20 17:25:43 +03:00 (Migrated from github.com)

resolved all threads

resolved all threads
icex2 commented 2020-12-20 17:26:05 +03:00 (Migrated from github.com)

added 26 commits

  • c240fe2c...3199a4fa - 6 commits from branch master
  • c7a84fbd - bio2: Update unknown commands
  • 8bfa8917 - bio2/iidx: Swap in and out struct names to align with sdvx definitions
  • 15911177 - Add missing iidx 27 avs version info to list
  • 69614a30 - Module.mk: Apply lex sort to includes
  • ba3a1ce2 - doc/api: Add missing sdvxio implementations to list
  • e7ed8e21 - bt5 api/iidxio: Add missing enum to easily identify top lamp order
  • b4cd23d5 - iidxiotool: Fix incorrect top lamp order for setting output
  • b7fe7232 - bio2/iidx: Deduplicate node command, use common acio base command
  • b832ad74 - bio2/iidx: Add enums to easily map top lamps and panel buttons
  • 287b3705 - bio2drv: Add implementation for iidx
  • 7740e5e0 - iidxio-bio2: Add iidxio implementation using bio2 iidx driver
  • f0bd33bc - dev doc: Documented BIO2 package dumps used for debugging
  • f42c5ace - bio2: Add BIO2_BI2A_CMD_INIT command
  • 63064d34 - bi2a: Clarify data field usage on init command
  • f41c9995 - bi2a-iidx: Fix incorrect init command data
  • ec5102f5 - hardware doc: ezusb RJ45 to DIN8 connector pinout
  • 30d346a3 - doc: Add iidxio-bio2 documentation
  • 7d0cb64a - doc: Improve visibility of iidxio API implementations
  • 10e085c1 - doc/iidxhook9: Add notes about BIO2 driver usage
  • e49b1e05 - doc/hardware: Add information about bio2 turntable bypass cable

Compare with previous version

added 26 commits <ul><li>c240fe2c...3199a4fa - 6 commits from branch <code>master</code></li><li>c7a84fbd - bio2: Update unknown commands</li><li>8bfa8917 - bio2/iidx: Swap in and out struct names to align with sdvx definitions</li><li>15911177 - Add missing iidx 27 avs version info to list</li><li>69614a30 - Module.mk: Apply lex sort to includes</li><li>ba3a1ce2 - doc/api: Add missing sdvxio implementations to list</li><li>e7ed8e21 - bt5 api/iidxio: Add missing enum to easily identify top lamp order</li><li>b4cd23d5 - iidxiotool: Fix incorrect top lamp order for setting output</li><li>b7fe7232 - bio2/iidx: Deduplicate node command, use common acio base command</li><li>b832ad74 - bio2/iidx: Add enums to easily map top lamps and panel buttons</li><li>287b3705 - bio2drv: Add implementation for iidx</li><li>7740e5e0 - iidxio-bio2: Add iidxio implementation using bio2 iidx driver</li><li>f0bd33bc - dev doc: Documented BIO2 package dumps used for debugging</li><li>f42c5ace - bio2: Add BIO2_BI2A_CMD_INIT command</li><li>63064d34 - bi2a: Clarify data field usage on init command</li><li>f41c9995 - bi2a-iidx: Fix incorrect init command data</li><li>ec5102f5 - hardware doc: ezusb RJ45 to DIN8 connector pinout</li><li>30d346a3 - doc: Add iidxio-bio2 documentation</li><li>7d0cb64a - doc: Improve visibility of iidxio API implementations</li><li>10e085c1 - doc/iidxhook9: Add notes about BIO2 driver usage</li><li>e49b1e05 - doc/hardware: Add information about bio2 turntable bypass cable</li></ul> [Compare with previous version](/djhackers/bemanitools/-/merge_requests/66/diffs?diff_id=1395&start_sha=c240fe2c3e91f54ee72819b5c05e1499d682d234)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Max/djhackersdev_bemanitools#167