Revision 1470
Added by markw 7 months ago
pokeymax.vhd | ||
---|---|---|
|
||
signal SIO_TXD : std_logic;
|
||
signal SIO_RXD : std_logic;
|
||
signal SIO_RXD_SYNC : std_logic;
|
||
signal SIO_RXD_ADC : std_logic;
|
||
|
||
signal POKEY_IRQ : std_logic_vector(3 downto 0);
|
||
|
||
... | ... | |
KEYBOARD_RESPONSE <= IOX_KEYBOARD_RESPONSE;
|
||
end generate ps2_off;
|
||
|
||
synchronizer_SIO : entity work.synchronizer
|
||
port map (clk=>CLK49152, raw=>SID, sync=>SIO_RXD_ADC);
|
||
|
||
adc_on : if enable_adc=1 generate
|
||
|
||
-- Proper ADC for SIO/PBI audio in
|
||
... | ... | |
|
||
end process;
|
||
|
||
process(SIO_RXD_SYNC,SIO_DATA_VOLUME_REG)
|
||
process(SIO_RXD_ADC,SIO_DATA_VOLUME_REG)
|
||
begin
|
||
sio_noise <= (others=>'0');
|
||
|
||
case SIO_DATA_VOLUME_REG is
|
||
when "01" =>
|
||
sio_noise(10) <= not(SIO_RXD_SYNC);
|
||
sio_noise(10) <= not(SIO_RXD_ADC);
|
||
when "10" =>
|
||
sio_noise(11) <= not(SIO_RXD_SYNC);
|
||
sio_noise(11) <= not(SIO_RXD_ADC);
|
||
when "11" =>
|
||
sio_noise(12) <= not(SIO_RXD_SYNC);
|
||
sio_noise(12) <= not(SIO_RXD_ADC);
|
||
when others =>
|
||
end case;
|
||
end process;
|
||
... | ... | |
|
||
case SIO_DATA_VOLUME_REG is
|
||
when "01" =>
|
||
SIO_AUDIO(10) <= SIO_RXD_SYNC;
|
||
SIO_AUDIO(10) <= SIO_RXD_ADC;
|
||
when "10" =>
|
||
SIO_AUDIO(11) <= SIO_RXD_SYNC;
|
||
SIO_AUDIO(11) <= SIO_RXD_ADC;
|
||
when "11" =>
|
||
SIO_AUDIO(12) <= SIO_RXD_SYNC;
|
||
SIO_AUDIO(12) <= SIO_RXD_ADC;
|
||
when others =>
|
||
end case;
|
||
end process;
|
||
... | ... | |
|
||
SOD <= '0' when SIO_TXD='0' else 'Z';
|
||
SIO_RXD <= SID;
|
||
synchronizer_SIO : entity work.synchronizer
|
||
port map (clk=>clk, raw=>SID, sync=>SIO_RXD_SYNC);
|
||
|
||
|
||
--1->pin37
|
Also available in: Unified diff
Incorrect clock for sio data mixing