diff --git a/Module.mk b/Module.mk index 473a870..be61fd9 100644 --- a/Module.mk +++ b/Module.mk @@ -472,6 +472,7 @@ $(zipdir)/bst.zip: \ $(zipdir)/doc.zip: \ doc/iidxhook \ + doc/sdvxhook \ doc/jbhook \ doc/tools \ | $(zipdir)/ diff --git a/doc/sdvxhook/sdvxio-kfca.md b/doc/sdvxhook/sdvxio-kfca.md new file mode 100644 index 0000000..970fc94 --- /dev/null +++ b/doc/sdvxhook/sdvxio-kfca.md @@ -0,0 +1,14 @@ +This library talks to a KFCA node through ACIO and implements the sdvxio API of BT5. +Thus, it allows you to use a KFCA device board with *any* version of SDVX that is supported by BT5. + +# Setup +* Rename sdvxio-kfca.dll to sdvxio.dll. +* Ensure that your gamestart.bat actually injects the appropriate sdvxhook dll, +for example: +``` +launcher -K iidxhook2.dll soundvoltex.dll ...* +``` +* sdvxio-kfca expects a KFCA device on COM3 by default +* You can change the port by settings the SDVXIO_KFCA_PORT envvar +* If there is also an ICCA device on the same ACIO bus, it cannot be used with eamio-icca at this time +* Please connect any additional acio devices to their own port (ex: SDVX5 expects an ICCA by itself on COM2) diff --git a/src/main/sdvxio-kfca/sdvxio.c b/src/main/sdvxio-kfca/sdvxio.c index 36f2c76..4222a49 100644 --- a/src/main/sdvxio-kfca/sdvxio.c +++ b/src/main/sdvxio-kfca/sdvxio.c @@ -72,25 +72,31 @@ bool sdvx_io_init( aciodrv_device_get_node_product_ident(i, product); log_info( "> %d: %c%c%c%c\n", - i + 1, + i, product[0], product[1], product[2], product[3]); if (!memcmp(product, "KFCA", 4)) { + if (kfca_node_id != -1) { + log_warning("Multiple KFCA found! Using highest node id."); + } kfca_node_id = i; } } if (kfca_node_id != -1) { + log_warning("Using KFCA on node: %d", kfca_node_id); aciodrv_kfca_init(kfca_node_id); + running = true; + log_warning("sdvxio-kfca now running"); } else { log_warning("No KFCA device found"); } - return true; + return running; } void sdvx_io_fini(void)