Jissen Mahjong controller: Difference between revisions
(found someone's reverse-engineered schematic) |
|||
Line 10: | Line 10: | ||
|} | |} | ||
The カン (kan), ポン (pon), チー (chii), リーチ (riichi) and ロン (ron) buttons appear to be Mahjong-related.<ref name="Mahjong">[http://www.appbank.net/2016/05/25/iphone-application/1208030.php Japanese website with mentions to カン, ポン and チー]</ref> | The カン (kan), ポン (pon), チー (chii), リーチ (riichi) and ロン (ron) buttons appear to be Mahjong-related.<ref name="Mahjong">[http://www.appbank.net/2016/05/25/iphone-application/1208030.php Japanese website with mentions to カン, ポン and チー]</ref><ref name="wikipedia">[[wikipedia:Japanese Mahjong]]</ref> | ||
== Hardware interface == | == Hardware interface == |
Revision as of 08:27, 15 October 2017
This is a 21-button controller used by the following Capcom games:
- Ide Yousuke Meijin no Jissen Mahjong
- Ide Yousuke Meijin no Jissen Mahjong 2
Button layout
A | B | C | D | E | F | G | H | I | J | K | L | M | Ⓝ |
SEL | ST | カン | ポン | チー | リーチ | ロン |
The カン (kan), ポン (pon), チー (chii), リーチ (riichi) and ロン (ron) buttons appear to be Mahjong-related.[1][2]
Hardware interface
Input ($4016 write)
7 bit 0 ---- ---- xxxx xRRS ||| ||+- Strobe |+-- Row selection (bit 0) +--- Row selection (bit 1)
Output ($4017 read)
7 bit 0 ---- ---- xxxx xxDx | +- Serial data
Note: The following is my assumption on how the hardware works based on nocash's documentation and could be partially incorrect.[3]
After toggling the strobe bit from 1 to 0, the controller will return 8 bits worth of data (1 bit per read) based on the "row selection" bits.
Row 0 returns no data (?). Row 1 returns: <empty>, <empty>, N, M, L, K, J, I Row 2 returns: H, G, F, E, D, C, B, A Row 3 returns: <empty>, ロン, リーチ, チー, ポン, カン, Start, Select
Buttons return 0 when held down, 1 otherwise.
The buttons are arranged as a 3x8 keyboard matrix similar to the Famicom keyboard. A variety of diodes, resistors, and an NPN BJT pull one of the rows low; the eight columns are then loaded into the same 4021 shift register as used on the standard controller. It tentatively looks selecting row 0 should effectively scan both rows 1 and 2 simultaneously (i.e. 0 if either button is pressed) [4] The Serial Input to the 4021 is tied to ground; all subsequent reads beyond the first eight should return 0V (logic 1 due to the 74368 inside the Famicom).
Notes:
- The exact order of the first 5 buttons on row 3 is unconfirmed(?) (the order written here makes sense considering the button order used in rows 1 & 2).
- The output for <empty> bits or any reads beyond the first 8 bits is unconfirmed. (?)