Compare commits

..

No commits in common. "main" and "1.7.2" have entirely different histories.
main ... 1.7.2

2 changed files with 25 additions and 19 deletions

View File

@ -2,37 +2,43 @@
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
- CHUNITHM LUMINOUS
- Chunithm
- Chunithm NEW
- Chunithm NEW PLUS
- Chunithm SUN
- Chunithm SUN PLUS
## Configuration
- For modern CHUNITHM (NEW and above)
segatools.ini
```ini
[chuniio]
;; For Chunithm
;path=chuniio_tasoller.dll
;; For Chunithm NEW or newer
path32=chuniio_tasoller.dll
path64=chuniio_tasoller_x64.dll
```
- For older CHUNITHM (PARADISE LOST and older)
;; Uncomment for Chunithm NEW or newer
chusan=1
segatools.ini
```ini
[chuniio]
path=chuniio_tasoller.dll
chusan=0
[io3]
test=0x31
service=0x32
coin=0x33
```
## USB Protocol

View File

@ -201,10 +201,10 @@ pub export fn DllMain(hDllHandle: HANDLE, dwReason: DWORD, lpreserved: LPVOID) B
const cfg_file = ".\\segatools.ini";
std.log.info("[chuniio] Loading config from {s}", .{cfg_file});
cfg = .{
.test_key = @as(i32, @intCast(GetPrivateProfileIntA("io3", "test", 0x70, cfg_file))),
.serv_key = @as(i32, @intCast(GetPrivateProfileIntA("io3", "service", 0x71, cfg_file))),
.coin_key = @as(i32, @intCast(GetPrivateProfileIntA("io3", "coin", 0x72, cfg_file))),
.chusan = @as(i32, @intCast(GetPrivateProfileIntA("chuniio", "chusan", 1, cfg_file))),
.test_key = @as(i32, @intCast(GetPrivateProfileIntA("io3", "test", 0x31, cfg_file))),
.serv_key = @as(i32, @intCast(GetPrivateProfileIntA("io3", "service", 0x32, cfg_file))),
.coin_key = @as(i32, @intCast(GetPrivateProfileIntA("io3", "coin", 0x33, cfg_file))),
.chusan = @as(i32, @intCast(GetPrivateProfileIntA("chuniio", "chusan", 0, cfg_file))),
};
return win32.zig.TRUE;