Project

General

Profile

« Previous | Next » 

Revision 298

Added by markw over 10 years ago

Keyboard as joystick1. Escape to exit menu. Disable keyboard gpio when gpio off!

View differences:

de1/atari800core_de1.vhd
signal pbi_enable: std_logic;
signal pal : std_logic;
signal PS2_KEYS : STD_LOGIC_VECTOR(511 downto 0);
signal PS2_KEYS_NEXT : STD_LOGIC_VECTOR(511 downto 0);
BEGIN
pbi_enable <= SW(4);
......
CONSOL_OPTION => CONSOL_OPTION,
FKEYS => FKEYS,
FREEZER_ACTIVATE => freezer_activate
FREEZER_ACTIVATE => freezer_activate,
PS2_KEYS_NEXT_OUT => ps2_keys_next,
PS2_KEYS => ps2_keys
);
KEYBOARD_RESPONSE <= PS2_KEYBOARD_RESPONSE and GPIO_KEYBOARD_RESPONSE;
......
CB2_IN => CB2_IN,
CB2_OUT => CB2_OUT,
CB2_DIR_OUT => CB2_DIR_OUT,
PORTA_IN => PORTA_IN,
PORTA_IN => PORTA_IN and not("0000"&ps2_keys(16#174#)&ps2_keys(16#16B#)&ps2_keys(16#172#)&ps2_keys(16#175#)),
PORTA_DIR_OUT => PORTA_DIR_OUT,
PORTA_OUT => PORTA_OUT,
PORTB_IN => PORTB_IN,
......
CONSOL_OPTION => CONSOL_OPTION,
CONSOL_SELECT => CONSOL_SELECT,
CONSOL_START=> CONSOL_START,
GTIA_TRIG => GTIA_TRIG,
GTIA_TRIG => GTIA_TRIG and not("000"&ps2_keys(16#5A#)),
ANTIC_LIGHTPEN => ANTIC_LIGHTPEN,
......
-- external control
-- switches etc. sector DMA blah blah.
ZPU_IN1 => X"00000"&FKEYS,
ZPU_IN1 => X"000"&
"00"&ps2_keys(16#76#)&ps2_keys(16#5A#)&ps2_keys(16#174#)&ps2_keys(16#16B#)&ps2_keys(16#172#)&ps2_keys(16#175#)& -- (esc)FLRDU
FKEYS,
ZPU_IN2 => X"00000000",
ZPU_IN3 => X"00000000",
ZPU_IN4 => X"00000000",
de1/build.sh
# {
# "TV" => $NTSC
# },
"OLD" =>
"BOTH" =>
{
"TV" => 2
}
de1/gpio.vhd
lightpen <= trig_in_sync(0) and trig_in_sync(1); -- either joystick button
-- keyboard
keyboard_response_async <= GPIO_1_IN(7)& GPIO_1_IN(6);
keyboard_response_async <= not(gpio_enable&gpio_enable) or (GPIO_1_IN(7)& GPIO_1_IN(6));
keyboard_response1_synchronizer : synchronizer
port map (clk=>clk, raw=>keyboard_response_async(0), sync=>keyboard_response_gpio(0));
keyboard_response2_synchronizer : synchronizer

Also available in: Unified diff