# Unicorntail Unicorntail is a hook library to run the DDR games on a hybrid type of hardware referred to as a "Chimera" or "Unicorn". Compared to a "Dragon", which refers to the official stock hardware by Konami, a Chimera mixes the P3IO board from a PCB used with GF&DM V4-V8, Jubeat, Jubeat Ripples or Jubeat Knit with the motherboard from a GF&DM XG, XG2 or XG3 PCB, or a Reflec Beat PCB. Actual build instructions for such hardware are out of scope here. ## Context Dragon PCBs are hard to come by compared to finding the parts for a Chimera PCB. A Chimera PCB however is different in many aspects to the Dragon PCB and requires the use of the `unicorntail.dll` hook library. The Dragon's P3IO has two serial ports that the regular P3IOs do not, and one of these serial ports is used to communicate with the card readers. Note that these are actual serial ports driven directly by the P3IO microcontroller, these are NOT just passed through to the motherboard like the proprietary COM1 and COM2 connectors. Unicorn Tail intercepts serial port IO commands being sent to the P3IO and redirects them to a COM4 in Windows instead, where two readers can be connected via the motherboard's RS232 port or a usb RS232 adapter. ## Drivers You need the P3IO driver installed on your target system. These can be acquired from an actual stock HDD or grabbed from [bemanitools-supplements](https://dev.s-ul.net/djhackers/bemanitools-supplement/-/blob/master/gfdm/p3io/README.md). ## COM Port Setup Using Device Manager in Windows, ensure the following COM ports are connected and setup. COM1: EXTIO COM4: Two readers Windows is often poor about saving the COM port number, so ewf commit (if applicable) and reboot after saving this setting to ensure it sticks. ## Setup and run Edit the `gamestart.bat` file that you are using and append `unicorntail.dll` to the list of hooks, e.g.: ```shell launcher.exe -H 33554432 -K unicorntail.dll arkmdxp3.dll %* ``` If you want to use any ddrhook library in addition, you have to have the hooks in the right order to make everything work correctly, e.g.: ```shell launcher.exe -H 33554432 -K unicorntail.dll -K ddrhook2.dll arkmdxp3.dll %* ```