70 lines
1.7 KiB
Markdown
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
|
|
```
|