#51 Doremikko Keyboard Info

open
nobody
None
5
2006-02-04
2006-02-04
Anonymous
No

Doremikko Keyboard Info

$4016 w ------pr
p: 1:キーボード内レジスタリセット
r: 0:ポートリセット (0->1:次データ)

$4017 r ---dddd-
d: キーボード押下データ

キーボードの押下データは1回のポートアクセスに対して
2回スキャン(Read)される。

その際、1回目のReadが下位ビット、2回目のReadが上位ビットを示
す。
ただし、上位2ビットは無効。
--uullll (l:1回目のRead / u:2回目のRead)

$4016のbit0を 0->1とする事により、次のポートデータをリードする。
データは、7ポート。

$4016のbit1が1のとき、キーボード内のレジスタが初期化される。
(ポート番号と、スキャンカウントがクリアされる)

port0-bit5:未使用
port0-bit4:未使用
port0-bit3:未使用
port0-bit2:未使用
port0-bit1:oct0-C
port0-bit0:oct0-#C

port1-bit5:oct0-D
port1-bit4:oct0-#D
port1-bit3:oct0-E
port1-bit2:oct0-#E
port1-bit1:oct0-F
port1-bit0:oct0-G

port2-bit5:oct0-#G
port2-bit4:oct0-A
port2-bit3:oct0-#A
port2-bit2:oct0-B
port2-bit1:oct1-C
port2-bit0:oct1-#C

port3-bit5:oct1-D
port3-bit4:oct1-#D
port3-bit3:oct1-E
port3-bit2:oct1-#E
port3-bit1:oct1-F
port3-bit0:oct1-G

port4-bit5:oct1-#G
port4-bit4:oct1-A
port4-bit3:oct1-#A
port4-bit2:oct1-B
port4-bit1:oct2-C
port4-bit0:oct2-#C

port5-bit5:oct2-D
port5-bit4:oct2-#D
port5-bit3:oct2-E
port5-bit2:oct2-#E
port5-bit1:oct2-F
port5-bit0:oct2-G

port6-bit5:oct2-#G
port6-bit4:oct2-A
port6-bit3:oct2-#A
port6-bit2:oct2-B
port6-bit1:未使用
port6-bit0:未使用

Discussion