Project

General

Profile

« Previous | Next » 

Revision 50

Added by markw over 11 years ago

Added fkeys

View differences:

common/a8core/ps2_to_atari800.vhdl
CONSOL_START : OUT STD_LOGIC;
CONSOL_SELECT : OUT STD_LOGIC;
CONSOL_OPTION : OUT STD_LOGIC
CONSOL_OPTION : OUT STD_LOGIC;
FKEYS : OUT STD_LOGIC_VECTOR(11 downto 0)
);
END ps2_to_atari800;
ARCHITECTURE vhdl OF ps2_to_atari800 IS
signal ps2_keys_next : std_logic_vector(255 downto 0);
signal ps2_keys_reg : std_logic_vector(255 downto 0);
signal ps2_keys_next : std_logic_vector(511 downto 0);
signal ps2_keys_reg : std_logic_vector(511 downto 0);
signal key_event : std_logic;
signal key_value : std_logic_vector(7 downto 0);
......
signal CONSOL_SELECT_INT : std_logic;
signal CONSOL_OPTION_INT : std_logic;
signal FKEYS_INT : std_logic_vector(11 downto 0);
signal atari_keyboard : std_logic_vector(63 downto 0);
SIGNAL SHIFT_PRESSED : STD_LOGIC;
SIGNAL BREAK_PRESSED : STD_LOGIC;
......
atari_keyboard(51)<=ps2_keys_reg(16#3D#);
atari_keyboard(53)<=ps2_keys_reg(16#3E#);
atari_keyboard(48)<=ps2_keys_reg(16#46#);
atari_keyboard(17)<=ps2_keys_reg(16#ec#);
--atari_keyboard(17)<=ps2_keys_reg(16#ec#);
atari_keyboard(17)<=ps2_keys_reg(16#16c#);
atari_keyboard(52)<=ps2_keys_reg(16#66#);
atari_keyboard(28)<=ps2_keys_reg(16#76#);
atari_keyboard(39)<=ps2_keys_reg(16#91#);
--atari_keyboard(39)<=ps2_keys_reg(16#91#);
atari_keyboard(39)<=ps2_keys_reg(16#111#);
atari_keyboard(60)<=ps2_keys_reg(16#58#);
atari_keyboard(44)<=ps2_keys_reg(16#0D#);
atari_keyboard(12)<=ps2_keys_reg(16#5A#);
......
consol_select_int<=ps2_keys_reg(16#04#);
consol_option_int<=ps2_keys_reg(16#0C#);
shift_pressed<=ps2_keys_reg(16#12#) or ps2_keys_reg(16#59#);
control_pressed<=ps2_keys_reg(16#14#) or ps2_keys_reg(16#94#);
--control_pressed<=ps2_keys_reg(16#14#) or ps2_keys_reg(16#94#);
control_pressed<=ps2_keys_reg(16#14#) or ps2_keys_reg(16#114#);
break_pressed<=ps2_keys_reg(16#77#);
fkeys_int(0)<=ps2_keys_reg(16#05#);
fkeys_int(1)<=ps2_keys_reg(16#06#);
fkeys_int(2)<=ps2_keys_reg(16#04#);
fkeys_int(3)<=ps2_keys_reg(16#0C#);
fkeys_int(4)<=ps2_keys_reg(16#03#);
fkeys_int(5)<=ps2_keys_reg(16#0B#);
fkeys_int(6)<=ps2_keys_reg(16#83#);
fkeys_int(7)<=ps2_keys_reg(16#0a#);
fkeys_int(8)<=ps2_keys_reg(16#01#);
fkeys_int(9)<=ps2_keys_reg(16#09#);
fkeys_int(10)<=ps2_keys_reg(16#78#);
fkeys_int(11)<=ps2_keys_reg(16#07#);
end process;
-- provide results as if we were a grid to pokey...
......
CONSOL_START <= CONSOL_START_INT;
CONSOL_SELECT <= CONSOL_SELECT_INT;
CONSOL_OPTION <= CONSOL_OPTION_INT;
FKEYS <= FKEYS_INT;
END vhdl;

Also available in: Unified diff