docs docs docs
This commit is contained in:
parent
39e576f648
commit
db32f4a41a
24
README.md
24
README.md
|
@ -150,7 +150,7 @@ in the code!
|
|||
| --- | --- |
|
||||
| TX0 | no connection |
|
||||
| RX1 | no connection |
|
||||
| 2 | 2x kick |
|
||||
| 2 | 2x kick / hat (see below) |
|
||||
| 3 | green |
|
||||
| 4 | red |
|
||||
| 5 | yellow |
|
||||
|
@ -163,10 +163,30 @@ in the code!
|
|||
| 14 | no connection |
|
||||
| 15 | blue cymbal |
|
||||
| 18 | yellow cymbal |
|
||||
| 19 | hi hat pedal |
|
||||
| 19 | hi hat pedal (see below) |
|
||||
| 20 | green cymbal |
|
||||
| 21 | no connection |
|
||||
|
||||
### Pedals
|
||||
|
||||
If you only have one pedal,
|
||||
wire it to pin 7.
|
||||
|
||||
If you have two pedals,
|
||||
wire them to 7 and 2.
|
||||
|
||||
If you have three pedals,
|
||||
wire them to 7, 2, and 19.
|
||||
|
||||
Wii Rock Band 3
|
||||
only looks at the 2x kick pin:
|
||||
it provides a checkbox to reassign this to the high hat.
|
||||
Clone Hero
|
||||
will use both the 2x kick and the hi hat.
|
||||
Maybe there is some other game that uses this too.
|
||||
|
||||
|
||||
|
||||
|
||||
# Bugs / Not Yet Implemented
|
||||
|
||||
|
|
|
@ -1,3 +1,12 @@
|
|||
Technical Notes
|
||||
===============
|
||||
|
||||
It took me a lot of time digging around the Internet to find some of this stuff.
|
||||
I'm writing down the highlights here,
|
||||
so that when original sources fall off the net,
|
||||
hopefully at least my notes will still be around.
|
||||
|
||||
|
||||
Sample Rate
|
||||
-----------
|
||||
|
||||
|
@ -77,3 +86,52 @@ but the `rbdrum2midi` program looks at these bytes to detect hits.
|
|||
I set them to 127 when a hit is detected on the digital pin.
|
||||
|
||||
Sending these values does not seem to cause problems with my Wii games.
|
||||
|
||||
|
||||
Product ID (PID)
|
||||
----------------
|
||||
|
||||
Nicholas,
|
||||
who did the initial work on the guitar,
|
||||
suggested that PID 0x0005 would get the sketch working as drums.
|
||||
And that was correct:
|
||||
this works great on
|
||||
Wii Rock Band 1 and
|
||||
Wii LEGO Rock Band.
|
||||
|
||||
But it fails in frustrating ways on
|
||||
Wii Rock Band 3:
|
||||
the yellow and blue pads don't navigate menus,
|
||||
and cymbals aren't detected.
|
||||
|
||||
The fix was setting the USB PID to 0x3110.
|
||||
|
||||
|
||||
Drum Velocity
|
||||
--------
|
||||
|
||||
I split the 12 "reserved" bytes from Nicholas's
|
||||
`struct InstrumentButtonState`
|
||||
into 4 bytes of I-Don't-Know, 4 bytes of velocity,
|
||||
and 4 more bytes of I-Don't-Know.
|
||||
Whenever a pad is hit,
|
||||
I send 127 on the corresponding velocity.
|
||||
|
||||
I did this because a program called `rbdrum2midi`
|
||||
ignores the button press events,
|
||||
and looks only at the velocity values.
|
||||
|
||||
None of the Wii games I have
|
||||
seem to care what these values are set to.
|
||||
|
||||
|
||||
References
|
||||
=========
|
||||
|
||||
The most valuable sources of information I found were:
|
||||
|
||||
* [Nicholas Angle's reverse-engineering write-up](https://www.niangames.com/articles/reverse-engineering-rockband-guitar-controllers)
|
||||
* [Nicholas Angle's guitar controller program](https://github.com/NianZo/WiiGuitarController)
|
||||
* [Clone Hero Wiki: Drum Mapping Guide](https://wiki.clonehero.net/books/guitars-drums-controllers/page/drum-mapping-guide)
|
||||
* [rbdrum2midi source code](https://github.com/rbdrum2midi/rbdrum2midi)
|
||||
|
Loading…
Reference in New Issue