Skip to main content
NESdev Wiki
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Doremikko Keyboard

The Doremikko Keyboard is a 36-key piano keyboard released by Konami alongside the pack-in FDS game DoReMikko.

The keyboard uses common matrix logic similar to the Family BASIC Keyboard but with diodes for N-key rollover (as typical for musical applications). The keyboard does not contain any sound hardware.

Keyboard map

 _____________________________________________
|  _________________________________________  |
| | U U U | U U | U U U | U U | U U U | U U | |
| | U U U | U U | U U U | U U | U U U | U U | | Keys
| | | | | | | | | | | | | | | | | | | | | | | |
|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|_|
   F G A B C D E F G A B C D E F G A B C D E    Notes
  |-------><------------><------------><----|   Octaves
    1..7        8..19    |   20..31    32..36   Key Numbers
                         |
                      Middle C

(ASCII art courtesy nocash)

There are 21 white keys and 15 black keys for a total of 36 keys spanning two + two-half octaves.

Interface

Input ($4016 write)

7  bit  0
---- ----
xxxx xxRI
       ||
       |+-- Increment row (TODO: 0->1 or 1->0 transition?)
       +--- 1: Reset to first row (TODO: does this also reset the column?)

Output ($4017 read)

7  bit  0
---- ----
xxxK KKKx
   | |||
   +-+++--- Receive key status of currently selected row/column.

Reading this register toggles between the two columns. Any key that is held down, will read back as 1.

DoReMikko doesn’t appear to perform long manual delays during the polling process, so there may not be any parasitic capacitances to account for compared to other devices with common matrix logic.

Matrix

This below matrix maps the row/column to their corresponding key number. Blank entries have unknown contents, and rows beyond 6 are yet to be determined.

Column 0Column 1
$4017 bit43214321
Row 021
Row 1654387
Row 212111091413
Row 3181716152019
Row 4242322212625
Row 5302928273231
Row 636353433

References

Edit this page on GitHub