chuniio-tasoller/README.md
Scribbler a67e50866e removed [io3] section
removed [io3] section from readme as it was confusing for some people
2024-03-22 05:49:01 +00:00

65 lines
1.8 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)
this currently only works with the chuniio branch of segatools, but may work on the main branch in the future
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
## Configuration
segatools.ini
```ini
[chuniio]
;; For Chunithm
;path=chuniio_tasoller.dll
;; For Chunithm NEW or newer
path32=chuniio_tasoller.dll
path64=chuniio_tasoller_x64.dll
;; Uncomment for Chunithm NEW or newer
chusan=1
```
## 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
```