Revision 397
Added by markw almost 10 years ago
eclaireXL/atari800core_eclaireXL.vhd | ||
---|---|---|
GENERIC
|
||
(
|
||
TV : integer; -- 1 = PAL, 0=NTSC
|
||
GPIO : integer -- 1 = OLD GPIO LAYOUT, 2=NEW GPIO LAYOUT (WIP)
|
||
GPIO : integer; -- 1 = OLD GPIO LAYOUT, 2=NEW GPIO LAYOUT (WIP)
|
||
-- For initial port may help to have no
|
||
internal_rom : integer := 1; -- if 0 expects it in sdram,is 1:16k os+basic, is 2:... TODO
|
||
internal_ram : integer := 16384 -- at start of memory map
|
||
);
|
||
PORT
|
||
(
|
||
... | ... | |
signal USBWireVPout : std_logic_vector(1 downto 0);
|
||
signal USBWireVMout : std_logic_vector(1 downto 0);
|
||
signal USBWireOE_n : std_logic_vector(1 downto 0);
|
||
|
||
-- CONFIG
|
||
SIGNAL USE_SDRAM : STD_LOGIC;
|
||
SIGNAL ROM_IN_RAM : STD_LOGIC;
|
||
BEGIN
|
||
|
||
-- TODO
|
||
pbi_enable <= '1'; --SW(4);
|
||
pbi_enable <= '0'; --SW(4);
|
||
PAL <= '1';-- SW(8);
|
||
|
||
SD_DAT2<='0';
|
||
... | ... | |
internalromram1 : entity work.internalromram
|
||
GENERIC MAP
|
||
(
|
||
internal_rom => 0,
|
||
internal_ram => 0
|
||
internal_rom => internal_rom,
|
||
internal_ram => internal_ram
|
||
)
|
||
PORT MAP (
|
||
clock => CLK,
|
||
... | ... | |
RAM_ADDR => RAM_ADDR,
|
||
RAM_WR_ENABLE => RAM_WRITE_ENABLE,
|
||
RAM_DATA_IN => PBI_WRITE_DATA(7 downto 0),
|
||
RAM_REQUEST_COMPLETE => open,
|
||
RAM_REQUEST_COMPLETE => RAM_REQUEST_COMPLETE,
|
||
RAM_REQUEST => RAM_REQUEST,
|
||
RAM_DATA => open
|
||
RAM_DATA => RAM_DO(7 downto 0)
|
||
);
|
||
|
||
GPIOA_gen:
|
||
... | ... | |
RAM_SELECT => ram_select,
|
||
CART_EMULATION_SELECT => emulated_cartridge_select,
|
||
PAL => PAL,
|
||
USE_SDRAM => '1', --SW(9),
|
||
ROM_IN_RAM => '1',
|
||
USE_SDRAM => USE_SDRAM,
|
||
ROM_IN_RAM => ROM_IN_RAM,
|
||
THROTTLE_COUNT_6502 => speed_6502,
|
||
HALT => pause_atari,
|
||
|
||
... | ... | |
);
|
||
|
||
|
||
USE_SDRAM <= '1' when internal_ram=0 else '0';
|
||
ROM_IN_RAM <= '1' when internal_rom=0 else '0';
|
||
|
||
zpu: entity work.zpucore
|
||
GENERIC MAP
|
||
(
|
eclaireXL/build.sh | ||
---|---|---|
# {
|
||
# "TV" => $NTSC
|
||
# },
|
||
"A2EBArom" =>
|
||
{
|
||
"TV" => 2,
|
||
"GPIO" => 2,
|
||
"internal_ram" => 65536,
|
||
"internal_rom" => 1
|
||
},
|
||
"A9EFArom" =>
|
||
{
|
||
"TV" => 2,
|
||
"GPIO" => 2,
|
||
"internal_ram" => 65536,
|
||
"internal_rom" => 1
|
||
},
|
||
"A2EBA" =>
|
||
{
|
||
"TV" => 2,
|
||
"GPIO" => 2
|
||
"GPIO" => 2,
|
||
"internal_ram" => 0,
|
||
"internal_rom" => 0
|
||
},
|
||
"A9EFA" =>
|
||
{
|
||
"TV" => 2,
|
||
"GPIO" => 2
|
||
"GPIO" => 2,
|
||
"internal_ram" => 0,
|
||
"internal_rom" => 0
|
||
}
|
||
);
|
||
|
Also available in: Unified diff
Added internal rom ram mode