aboutsummaryrefslogtreecommitdiffstats
path: root/keyboard.vhd
diff options
context:
space:
mode:
authorMike Stirling <opensource@mikestirling.co.uk>2011-07-30 10:39:52 +0100
committerMike Stirling <opensource@mikestirling.co.uk>2011-07-30 10:39:52 +0100
commitfc9ea65b8ac1849c9756cc58e6f14500646b1d8c (patch)
tree7a520dc724130cda33537f79b01fe3129f6bd9c0 /keyboard.vhd
parent22139faee8f39c1a2d5e03f35d586fcf3eda472b (diff)
downloadfpga-bbc-fc9ea65b8ac1849c9756cc58e6f14500646b1d8c.tar.gz
fpga-bbc-fc9ea65b8ac1849c9756cc58e6f14500646b1d8c.tar.bz2
fpga-bbc-fc9ea65b8ac1849c9756cc58e6f14500646b1d8c.zip
Keyboard now working (needed to loop back slow bus outputs to inputs on system VIA). Added aux input to debugger for display of arbitrary hex values. Removed test IFR output from 6522
Diffstat (limited to 'keyboard.vhd')
-rw-r--r--keyboard.vhd9
1 files changed, 8 insertions, 1 deletions
diff --git a/keyboard.vhd b/keyboard.vhd
index 0558469..2c874f3 100644
--- a/keyboard.vhd
+++ b/keyboard.vhd
@@ -63,7 +63,7 @@ signal keyb_valid : std_logic;
signal keyb_error : std_logic;
-- Internal signals
-type key_matrix is array(0 to 9) of std_logic_vector(7 downto 0);
+type key_matrix is array(0 to 15) of std_logic_vector(7 downto 0);
signal keys : key_matrix;
signal col : unsigned(3 downto 0);
signal release : std_logic;
@@ -133,6 +133,13 @@ begin
keys(7) <= (others => '0');
keys(8) <= (others => '0');
keys(9) <= (others => '0');
+ -- These non-existent rows are used in the BBC master
+ keys(10) <= (others => '0');
+ keys(11) <= (others => '0');
+ keys(12) <= (others => '0');
+ keys(13) <= (others => '0');
+ keys(14) <= (others => '0');
+ keys(15) <= (others => '0');
elsif rising_edge(CLOCK) then
-- Copy DIP switches through to row 0
keys(2)(0) <= DIP_SWITCH(7);