--- pokeymax_119/atari_800xl/atari_chips/pokeyv2/pokeymax.vhd 2020-12-20 15:27:31.900931683 +0100 +++ pokeymax_119/atari_800xl/atari_chips/pokeyv2/pokeymaxsid.vhd 2020-12-20 15:27:31.900931683 +0100 @@ -55,19 +55,14 @@ D : INOUT STD_LOGIC_VECTOR(7 DOWNTO 0); A : IN STD_LOGIC_VECTOR(3 DOWNTO 0); W_N : IN STD_LOGIC; - IRQ : INOUT STD_LOGIC; - SOD : OUT STD_LOGIC; - ACLK : OUT STD_LOGIC; - BCLK : INOUT STD_LOGIC; - SID : IN STD_LOGIC; + RST : IN STD_LOGIC; CS0_N : IN STD_LOGIC; - CS1 : IN STD_LOGIC; AUD : OUT STD_LOGIC_VECTOR(4 DOWNTO 1); EXT : INOUT STD_LOGIC_VECTOR(EXT_BITS DOWNTO 1); - PADDLE : IN STD_LOGIC_VECTOR(7 DOWNTO 0); + PADDLE : IN STD_LOGIC_VECTOR(1 DOWNTO 0); POTRESET_N : OUT STD_LOGIC; IOX_RST : OUT STD_LOGIC; @@ -101,6 +96,7 @@ signal CLK116 : std_logic; signal CLK106 : std_logic; signal RESET_N : std_logic; + signal PLL_RESET_N : std_logic; signal ENABLE_CYCLE : std_logic; signal ENABLE_DOUBLE_CYCLE : std_logic; @@ -459,7 +455,7 @@ EXT_INT(0) <= '0'; --force to 0 EXT_INT(17 downto ext_bits+1) <= (others=>'1'); EXT_INT(18) <= CS0_N; - EXT_INT(19) <= CS1; + EXT_INT(19) <= '0'; EXT_INT(20) <= '1'; EXT_INT(ext_bits downto 1) <= EXT; @@ -477,7 +473,9 @@ c0 => CLK, --56 ish c1 => CLK116, --113ish c2 => CLK106, --106ish - locked => RESET_N); + locked => PLL_RESET_N); + + RESET_N <= PLL_RESET_N and RST; AIN(3 downto 0) <= A; @@ -652,7 +650,7 @@ ADDR => ADDR_IN(3 DOWNTO 0), DATA_IN => WRITE_DATA(7 DOWNTO 0), keyboard_response => KEYBOARD_RESPONSE, - POT_IN => PADDLE, + POT_IN => "000000"&PADDLE, IRQ_N_OUT => POKEY_IRQ(0), SIO_OUT1 => SIO_TXD, SIO_OUT2 => open, @@ -1624,12 +1622,11 @@ ); -- Wire up pins -ACLK <= SIO_CLOCKOUT; -BCLK <= '0' when (SIO_CLOCKIN_OE='1' and SIO_CLOCKIN_OUT='0') else 'Z'; -SIO_CLOCKIN_IN <= BCLK; +--ACLK <= SIO_CLOCKOUT; +--BCLK <= '0' when (SIO_CLOCKIN_OE='1' and SIO_CLOCKIN_OUT='0') else 'Z'; +SIO_CLOCKIN_IN <= '0'; -SOD <= '0' when SIO_TXD='0' else 'Z'; -SIO_RXD <= SID; +SIO_RXD <= '1'; --1->pin37 @@ -1640,7 +1637,7 @@ AUD(3) <= AUDIO_2_SIGMADELTA; AUD(4) <= AUDIO_3_SIGMADELTA; -IRQ <= '0' when (IRQ_EN_REG='1' and (and_reduce(POKEY_IRQ)='0')) or (IRQ_EN_REG='0' and POKEY_IRQ(0)='0') or (SAMPLE_IRQ='1') else 'Z'; +--IRQ <= '0' when (IRQ_EN_REG='1' and (and_reduce(POKEY_IRQ)='0')) or (IRQ_EN_REG='0' and POKEY_IRQ(0)='0') or (SAMPLE_IRQ='1') else 'Z'; D <= BUS_DATA when BUS_OE='1' else (others=>'Z');