Jissen Mahjong controller

From NESdev Wiki
Revision as of 04:03, 15 October 2017 by Lidnariq (talk | contribs) (→‎Button layout: using a table here seems appropriate)
Jump to navigationJump to search

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]

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.[2]

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.

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. (?)

References