Код:
mode_clear <= '0';
if (I_CS_L = '0') and (I_WR_L = '0') then
case I_ADDR is
when "00" => r_porta <= I_DATA;
when "01" => r_portb <= I_DATA;
when "10" => r_portc <= I_DATA;
when "11" => if (I_DATA(7) = '0') then -- set/clr
r_portc <= r_portc_masked or r_portc_setclr;
else
--svo: uncommented
mode_clear <= '1';
r_porta <= x"00";
r_portb <= x"00"; -- clear port b input reg
r_portc <= x"00"; -- clear control sigs
r_control <= I_DATA; -- load new mode
end if;
when others => null;
end case;
end if;
Вот MikeJ тоже колебался, а мне пришлось сброс портов при изменении режима раскомментировать. Иначе чего-то там не работало: судя по логам, в musician.rom на Векторе скакала картинка на экране.