diff --git a/doc/api.md b/doc/api.md index 55c1bdc..63a5048 100644 --- a/doc/api.md +++ b/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,6 +13,9 @@ If you want to write an implementation for your own custom piece of hardware, ch sub-folder) in the source code (src.zip). ## Implementations + +### IO boards + The following implementations are already shipped with BT5. * BeatStream @@ -34,10 +38,33 @@ The following implementations are already shipped with BT5. * [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-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