Go to file
2024-05-05 22:33:37 -05:00
.idea Initial commit 2023-12-24 03:43:42 +07:00
aimeio fix: input_thread_proc shouldn't own the shmem 2024-03-23 11:11:36 +07:00
chuniio Add rpunithm to configuration option in segatools.ini 2024-05-05 22:33:37 -05:00
common add aimeio 2024-01-02 11:27:10 +07:00
vendor/shared_memory add aimeio 2024-01-02 11:27:10 +07:00
.gitignore turns out, vscode does properly dim inactive code 2023-12-26 11:57:51 +07:00
Cargo.lock fix: input_thread_proc shouldn't own the shmem 2024-03-23 11:11:36 +07:00
Cargo.toml add aimeio 2024-01-02 11:27:10 +07:00
LICENSE hey you got a loicense for that mate 2023-12-24 03:43:50 +07:00
README.md remove the untested notice (thanks one_3) 2024-01-02 19:18:10 +07:00
rustfmt.toml Initial commit 2023-12-24 03:43:42 +07:00

chuniio-yubideck

ChuniIO driver for YubiDeck FW 3.0.

Thanks to:

  • hlcm0 and 4yn for YubiDeck protocol information
  • one_3 for testing

Configuration

segatools.ini

[chuniio]
;; For Chunithm NEW or newer
path32=chuniio_yubideck_chusan.dll
path64=chuniio_yubideck_amdaemon.dll

;; For CHUNITHM PARADISE and older
path=chuniio_yubideck.dll

[io3]
test=0x31
service=0x32
coin=0x33

USB Protocol

USB device: 1973:2001, interface 0

  • Endpoint IN Interrupt (0x81)

    • Data length: 45 bytes
    • data[0]: bits 0-5: beam {2, 1, 4, 3, 6, 5}
    • data[1]: bits 0-2 for the 3 buttons (1 = pressed)
    • data[2..34]: pressure of touch sensor 1-32 (counting from top -> bottom, left -> right)
    • data[34]: Card type
      • 0: No card
      • 1: MIFARE Classic
      • 2: FeliCa
    • data[35..45]: Card IDm/Access Code
  • Endpoint OUT Interrupt (0x02)

    • Data length: 61 bytes
    • data[0]: Packet type
      • Packet type 1:
        • data[1..61]: Slider LED for the first 20 sensors, GBR
      • Packet type 2:
        • data[1..34]: Slider LED for the last 11 sensors, GBR
        • data[34..37]: Left air LED, RGB
        • data[37..40]: Right air LED, RGB
        • data[40..43]: Card reader LED, RGB
        • data[43..61]: Empty padding

Build instructions

# For CHUNITHM NEW
cargo build --features chusan --target i686-pc-windows-msvc --release
cargo build --features chusan --target x86_64-pc-windows-msvc --release
cp target/i686-pc-windows-msvc/release/chuniio_yubideck.dll chuniio_yubideck_chusan.dll
cp target/x86_64-pc-windows-msvc/release/chuniio_yubideck.dll chuniio_yubideck_amdaemon.dll

# For CHUNITHM
cargo build --target i686-pc-windows-msvc --release
cp target/i686-pc-windows-msvc/release/chuniio_yubideck.dll .