Revision 221
Added by markw almost 11 years ago
common/a8core/address_decoder.vhdl | ||
---|---|---|
|
||
freezer_enable: in std_logic;
|
||
freezer_activate: in std_logic;
|
||
freezer_state_out: out std_logic_vector(2 downto 0)
|
||
freezer_state_out: out std_logic_vector(2 downto 0);
|
||
pbi_enable: in std_logic := '0'
|
||
);
|
||
|
||
END address_decoder;
|
||
... | ... | |
--cart_s4_n <= emu_cart_s4_n_out;
|
||
--cart_s5_n <= emu_cart_s5_n_out;
|
||
|
||
CART_TRIG3_OUT <= CART_RD5 or emu_cart_rd5;
|
||
CART_TRIG3_OUT <= (pbi_enable and CART_RD5) or emu_cart_rd5;
|
||
|
||
-- ANTIC FETCH
|
||
|
||
... | ... | |
request_complete <= '1';
|
||
end if;
|
||
else
|
||
if ((CART_RD4 or CART_RD5) = '1') then
|
||
if (pbi_enable = '1') then
|
||
PBI_WR_ENABLE <= write_enable_next;
|
||
MEMORY_DATA(7 downto 0) <= CART_ROM_DATA;
|
||
cart_request <= start_request;
|
||
... | ... | |
sdram_chip_select <= '0';
|
||
ram_chip_select <= '0';
|
||
end if;
|
||
elsif (cart_rd4 = '1') then
|
||
elsif (pbi_enable = '1' and cart_rd4 = '1') then
|
||
PBI_WR_ENABLE <= write_enable_next;
|
||
MEMORY_DATA(7 downto 0) <= CART_ROM_DATA;
|
||
cart_request <= start_request;
|
||
CART_S4_n <= '0';
|
||
... | ... | |
sdram_chip_select <= '0';
|
||
ram_chip_select <= '0';
|
||
end if;
|
||
elsif (cart_rd5 = '1') then
|
||
elsif (pbi_enable = '1' and cart_rd5 = '1') then
|
||
PBI_WR_ENABLE <= write_enable_next;
|
||
MEMORY_DATA(7 downto 0) <= CART_ROM_DATA;
|
||
cart_request <= start_request;
|
||
CART_S5_n <= '0';
|
common/a8core/atari800core.vhd | ||
---|---|---|
HALT : in std_logic;
|
||
freezer_enable: in std_logic;
|
||
freezer_activate: in std_logic;
|
||
freezer_state_out: out std_logic_vector(2 downto 0)
|
||
freezer_state_out: out std_logic_vector(2 downto 0);
|
||
pbi_enable: in std_logic := '0'
|
||
);
|
||
END atari800core;
|
||
|
||
... | ... | |
rom_in_ram => ROM_IN_RAM,
|
||
freezer_enable => freezer_enable,
|
||
freezer_activate => freezer_activate,
|
||
freezer_state_out => freezer_state_out);
|
||
freezer_state_out => freezer_state_out,
|
||
pbi_enable => pbi_enable);
|
||
|
||
pokey1 : entity work.pokey
|
||
PORT MAP(CLK => CLK,
|
common/a8core/timing6502.vhd | ||
---|---|---|
|
||
case state_reg is
|
||
when x"0" =>
|
||
phi1_next <= '1';
|
||
when x"1"=>
|
||
addr_oe_next <= '1';
|
||
when x"2"|x"3"|x"4"|x"5" =>
|
||
when x"6" =>
|
||
phi1_next <= '0';
|
||
when x"7" =>
|
||
phi2_next <= '1';
|
||
when x"8" =>
|
||
phi2_next <= '1';
|
||
when x"9"|x"a" =>
|
||
when x"b" =>
|
||
if (write_in = '1') then
|
||
... | ... | |
addr_oe_next <= '0';
|
||
data_oe_next <= '0';
|
||
write_n_next <= '1';
|
||
phi1_next <= '1';
|
||
end case;
|
||
|
||
end process;
|
de1/atari800core_de1.vhd | ||
---|---|---|
|
||
signal freezer_state: std_logic_vector(2 downto 0);
|
||
|
||
signal pbi_enable: std_logic;
|
||
BEGIN
|
||
|
||
pbi_enable <= SW(4);
|
||
|
||
-- ANYTHING NOT CONNECTED...
|
||
--GPIO_0(0) <= 'Z';
|
||
--GPIO_0(35 downto 2) <= (others=>'Z');
|
||
... | ... | |
)
|
||
PORT MAP(clk => CLK,
|
||
reset_n => reset_n,
|
||
gpio_enable => SW(4),
|
||
gpio_enable => pbi_enable,
|
||
pot_reset => pot_reset,
|
||
pbi_write_enable => pbi_write_enable,
|
||
enable_179_early => enable_179_early,
|
||
... | ... | |
|
||
freezer_enable => freezer_enable,
|
||
freezer_activate => freezer_activate,
|
||
freezer_state_out => freezer_state
|
||
freezer_state_out => freezer_state,
|
||
|
||
pbi_enable => pbi_enable
|
||
);
|
||
|
||
zpu: entity work.zpucore
|
de1/gpio.vhd | ||
---|---|---|
GPIO_1_DIR_OUT(18 downto 8) <= (others=>'0');
|
||
GPIO_1_OUT(18 downto 8) <= (others=>'0');
|
||
|
||
GPIO_0_DIR_OUT(7 downto 5) <= (others=>'0');
|
||
GPIO_0_OUT(7 downto 5) <= (others=>'0');
|
||
|
||
-- sio
|
||
GPIO_0_DIR_OUT(0) <= CA2_dir_out;
|
||
GPIO_0_OUT(0) <= CA2_out;
|
||
... | ... | |
GPIO_0_OUT(9) <= '0'; -- RD5 rom present
|
||
GPIO_0_DIR_OUT(8) <= gpio_enable; -- cart control
|
||
GPIO_0_OUT(8) <= CCTL_n; -- cart control
|
||
GPIO_0_DIR_OUT(7 downto 5) <= (others=>'0'); -- unused
|
||
GPIO_0_OUT(7 downto 5) <= (others=>'0'); -- unused
|
||
|
||
-- PBI: A13-A15
|
||
GPIO_0_DIR_OUT(7) <= gpio_enable and bus_addr_oe;
|
||
GPIO_0_OUT(7) <= bus_addr_out(15);
|
||
GPIO_0_DIR_OUT(6) <= gpio_enable and bus_addr_oe;
|
||
GPIO_0_OUT(6) <= bus_addr_out(14);
|
||
GPIO_0_DIR_OUT(5) <= gpio_enable and bus_addr_oe;
|
||
GPIO_0_OUT(5) <= bus_addr_out(13);
|
||
|
||
-- INPUTS FROM GPIO
|
||
-- sticks
|
Also available in: Unified diff
Patches from Hias. Fix timing to allow The!Cart to work. Start of PBI work.