Project

General

Profile

« Previous | Next » 

Revision 212

Added by markw almost 11 years ago

Fix PIA store. Checked freezer source, it expects it

View differences:

common/a8core/freezer_logic.vhd
-- shadow writes to D0xx, D2xx, D4xx
if (rw = '0') then
case a(15 downto 8) is
when x"D0" | x"D2" | x"D4" =>
when x"D0" | x"D2" | x"D3" | x"D4" =>
output.shadow_enable <= true;
output.adr(16 downto 8) <= freezer_def_ram_bank & a(11 downto 8);
-- GTIA/D000 needs 32 bytes, others 16 bytes
......
bram_request <= '0';
if (output.shadow_enable) then
bram_adr <= output.adr(10 downto 9) & output.adr(4 downto 0);
bram_adr <= output.adr(9)&(output.adr(8) or output.adr(10))&output.adr(4 downto 0);
bram_we <= '1';
elsif (output.dout_enable) then
access_type <= access_type_data;
......
-- map shadow ram access to blockram
if (output.adr(16 downto 12) = freezer_def_ram_bank) and (output.adr(7 downto 5) = "000") then
case output.adr(11 downto 8) is
when x"0" | x"2" | x"4" =>
when x"0" | x"2" | x"3" | x"4" =>
access_type <= access_type_data;
bram_adr <= output.adr(10 downto 9) & output.adr(4 downto 0);
bram_adr <= output.adr(9)&(output.adr(8) or output.adr(10))&output.adr(4 downto 0);
bram_we <= request and not rw;
bram_request <= request;
request_complete <= bram_request_complete;
......
generic map
(
ADDRESS_WIDTH => 7,
SPACE => 96,
SPACE => 128,
DATA_WIDTH =>8
)
PORT MAP(clock => clk,

Also available in: Unified diff