Revision 1318
Added by markw over 4 years ago
gtiamax.vhd | ||
---|---|---|
PAL : IN STD_LOGIC; -- PAL clock (5/4...)
|
||
|
||
GPIO : INOUT STD_LOGIC_VECTOR(11 DOWNTO 0);
|
||
NC : INOUT STD_LOGIC_VECTOR(6 DOWNTO 1);
|
||
NC : IN STD_LOGIC_VECTOR(6 DOWNTO 1);
|
||
CAD3 : IN STD_LOGIC;
|
||
|
||
CSYNC : OUT STD_LOGIC;
|
||
... | ... | |
locked : out std_logic
|
||
);
|
||
end component;
|
||
|
||
component osc_in is
|
||
port (
|
||
inclock : in std_logic := '0';
|
||
dout : out std_logic_vector(1 downto 0);
|
||
pad_in : in std_logic_vector(0 downto 0) := (others => '0')
|
||
);
|
||
end component osc_in;
|
||
|
||
component osc_out is
|
||
port (
|
||
outclock : in std_logic := '0';
|
||
din : in std_logic_vector(1 downto 0) := (others => '0');
|
||
pad_out : out std_logic_vector(0 downto 0)
|
||
);
|
||
end component osc_out;
|
||
|
||
|
||
signal OSC_CLK : std_logic;
|
||
signal PHI2_6X : std_logic;
|
||
... | ... | |
|
||
signal PAL_NTSC_N : std_logic;
|
||
|
||
signal COLOUR_OSC : std_logic;
|
||
signal COLOUR_OSC_PHASED : std_logic;
|
||
signal COLOUR_OSC : std_logic_vector(1 downto 0);
|
||
signal COLOUR_OSC_PHASED : std_logic_vector(1 downto 0);
|
||
|
||
signal OSC_CLEAN : std_logic;
|
||
signal OSC_CLEAN_VIDEO : std_logic;
|
||
... | ... | |
signal AN_DEL_REG : std_logic_vector(2 downto 0);
|
||
signal AN_DEL2_NEXT : std_logic_vector(2 downto 0);
|
||
signal AN_DEL2_REG : std_logic_vector(2 downto 0);
|
||
|
||
signal ddr_pal : std_logic_vector(1 downto 0);
|
||
BEGIN
|
||
NC <= (others=>'Z');
|
||
--NC <= (others=>'Z');
|
||
GPIO <= (others=>'Z');
|
||
|
||
pal_in : osc_in
|
||
port map
|
||
(
|
||
inclock => fast_clk,
|
||
dout => colour_osc,
|
||
pad_in(0) => pal
|
||
);
|
||
--colour_osc <= pal_clean when pal_ntsc_n='1' else osc_clean_video;
|
||
|
||
col_out : osc_out
|
||
port map
|
||
(
|
||
outclock => fast_clk,
|
||
din => colour_osc_phased,
|
||
pad_out(0)=> color
|
||
);
|
||
--COLOR <= colour_osc_phased;
|
||
|
||
oscillator : int_osc
|
||
port map
|
||
(
|
||
... | ... | |
oscena => '1'
|
||
);
|
||
|
||
|
||
--phi_multiplier : entity work.phi_mult
|
||
--port map
|
||
--(
|
||
... | ... | |
|
||
GTIA_WRITE_ENABLE <= NOT(WRITE_N) and REQUEST;
|
||
|
||
colour_osc <= pal_clean when pal_ntsc_n='1' else osc_clean_video;
|
||
|
||
col_phase : entity work.hue
|
||
PORT MAP
|
||
(
|
||
... | ... | |
S(3) <= '0' when S_OUT(3)='1' else 'Z';
|
||
|
||
CSYNC <= NOT(VIDEO_CSYNC);
|
||
COLOR <= colour_osc_phased;
|
||
--COLOR <= colour_osc_phased;
|
||
LUM(3 downto 0) <= VIDEO_COLOUR(3 downto 0);
|
||
|
||
FO0 <= OSC_CLEAN;
|
Add pull-ups on triggers(gtia has internal pull-up). Improve colour resolution.