Project

General

Profile

« Previous | Next » 

Revision 366

Added by markw over 10 years ago

Aeon lite memory map improvements.

View differences:

common/a8core/address_decoder.vhdl
end if;
when "100" => -- 576k compy shop
if (extended_access_cpu_or_antic='1') then
extended_bank(4 downto 0) <= portb(7 downto 6)&portb(3 downto 1);
extended_bank(5) <= not(or_reduce(portb(7 downto 6)&portb(3)));
extended_bank(5 downto 0) <= '1'&portb(7 downto 6)&portb(3 downto 1);
extended_self_test <= '0';
end if;
when "101" => -- 576k rambo
if (extended_access_either='1') then
extended_bank(4 downto 0) <= portb(6 downto 5)&portb(3 downto 1);
extended_bank(5) <= not(or_reduce(portb(6 downto 5)&portb(3)));
extended_bank(5 downto 0) <= '1'&portb(6 downto 5)&portb(3 downto 1);
end if;
when "110" => -- 1088k rambo
if (extended_access_either='1') then
......
end generate;
gen_low_memory1 : if low_memory=1 generate
-- TODO, check we can use 576k extended RAM ok (PROB NOT)
-- SRAM memory map (1024k) for Aeon Lite
SDRAM_CART_ADDR <= "000" & "111" & emu_cart_address(16 downto 0);
SDRAM_BASIC_ROM_ADDR <= "000" & "110" & "00000000000000000";
SDRAM_OS_ROM_ADDR <= "000" & "110" & "00100000000000000";
-- SRAM memory map (1024k) for Aeon lite
SDRAM_CART_ADDR <= "0000" & "1"&emu_cart_address(17 downto 0);
SDRAM_BASIC_ROM_ADDR <= "000" & x"68000";
SDRAM_OS_ROM_ADDR <= "000" & x"6c000";
SDRAM_FREEZER_RAM_ADDR <= "000" & "001" & freezer_access_address;
SDRAM_FREEZER_ROM_ADDR <= "000" & x"7" & freezer_access_address(15 downto 0);
-- 0x10000-0x1FFFF (0x810000 in zpu space) = freeze backup - 64k
-- 0x20000-0x3FFFF (0x820000 in zpu space) = freezer ram (128k)
-- 0x40000-0x67FFF (0x840000 in zpu space) = carts - 160k
-- 0x48000-0x67FFF (0x848000 in zpu space) = directory cache - 128k
-- 0x68000-0x6FFFF (0x868000 in zpu space) = os rom/basic rom - 32k
-- 0x70000-0x7FFFF (0x870000 in zpu space) = freezer rom (64k)
end generate;
gen_low_memory2 : if low_memory=2 generate
-- TODO, check we can use 320k extended RAM ok (THINK SO)
-- SRAM memory map (512k) for Papilio duo
SDRAM_CART_ADDR <= "0000" & "01"&emu_cart_address(16 downto 0);

Also available in: Unified diff