chuniio-tasoller/README.md

70 lines
1.7 KiB
Markdown

## chuniio-tasoller *with air tower LEDs*
chuniio driver for tasoller custom 2.0 firmware
now with working air tower LEDs when using [Dniel97 segatools](https://gitea.tendokyu.moe/Dniel97/segatools/src/branch/chuniio)
thanks to:
- [**akiroz**](https://dev.s-ul.net/akiroz/chuniio-tasoller) for the original code and USB Protocol information
- [**Dniel97**](https://gitea.tendokyu.moe/Dniel97) for rewritting my failed attempts at making this work
the current implementation may not be fully arcade accurate, but should be visually acceptable during gameplay
this should hopefully be addressed in the future
Supported titles:
- CHUNITHM
- CHUNITHM NEW
- CHUNITHM NEW PLUS
- CHUNITHM SUN
- CHUNITHM SUN PLUS
- CHUNITHM LUMINOUS
## Configuration
- For modern CHUNITHM (NEW and above)
segatools.ini
```ini
[chuniio]
path32=chuniio_tasoller.dll
path64=chuniio_tasoller_x64.dll
chusan=1
```
- For older CHUNITHM (PARADISE LOST and older)
segatools.ini
```ini
[chuniio]
path=chuniio_tasoller.dll
```
## USB Protocol
Custom firmware USB device: 1CCF:2333
- Interface 1
- Endpoint 4 IN Interrupt (0x84)
- data len: 36 bytes
- data[0-2]: {0x68, 0x66, 0x84} (magic?)
- data[3]
- bit 0-5: beam 1-6 (1 = blocked)
- bit 6-7: fn1 & fn2 (1 = pressed)
- data[4-35]: touch sensor 1-32 pressure
- Endpoint 3 OUT Bulk (0x03)
- data len: 240 bytes
- data[0-2]: {0x42, 0x4C, 0x00} (magic?)
- data[3-95]: Slider LED (GRB order, right->left)
- data[96-167]: Left LED (GRB order top->bottom)
- data[168-239]: Right LED (GRB order bottom->top)
### Build
```
$ git clone ...
$ git submodule update --init
$ zig build -Doptimize=ReleaseSafe
$ ls zig-out/lib/chuniio_tasoller.dll
```