md_in <= d when (ram_n = '0' and wr = '0') else "11111111"; -- данные ОЗУ графика
cd_in <= d when (mode = '1' and u1 = '1' and wr = '0') else "00000" & ncb & ncr & ncg when (mode = '0' and wr = '0') else "00000000"; -- данные ОЗУ цвет
md <= d when (ram_n = '0' and wr = '0') else "ZZZZZZZZ"; -- шина данных ОЗУ
cd <= cd_in when (sc = '0' and clock = '1' and wr = '0') else "ZZZZZZZZ"; -- шина данных ОЗУ цвета
d <= md when (ram_n = '0' and rd = '0') else "ZZZZZZZZ"; -- шина данных процессора
MX2: MX2_CPLD_VID -- MX2 Address Chipset
port map(
Clk => clk, -- тактирование 40 МГц
nRES => reset_in, -- кнопка сброса
Fast => '0', -- сигнал скорости 2,5 МГц
MX => mode, -- выбор режима MX
A => a_buff, -- входной адрес от процессора
MD => md_in, -- данные ОЗУ графика
CD => cd_in, -- данные ОЗУ цвет
nF1 => f1_n, -- инверсная фаза F1 для ВМ80
nF2 => f2_n, -- инверсная фаза F2 для ВМ80, тактовая для Z80
RST => reset, -- выход положительного синхронного уровня сброса
SnC => sc, -- арбитраж обращения
HSync => hs, -- горизонтальная синхронизация
VSync => vs, -- вертикальная синхронизация
MA => ram, -- адрес на ОЗУ
R => r, -- пиксели красный
G => g, -- пиксели зеленый
B => b -- пиксели синий
);