altera de1 нет. Вообще-то перенос заключается в определении пинов и перекомпиляции проекта. Что сложного?
я в этом дуб дерево могучее
Пока у меня задействовано 10 кБайт - загрузчик, Монитор-2 и Бейсик. 26 кБайт хватит даже для RAMFOS без ROM-диска (16 кБайт) для будущего Специалиста_МХ.
---------- Post added at 20:04 ---------- Previous post was at 19:52 ----------
Ну можно и тебе перенести. От тебя нужно: номера пинов для клавы, внешней памяти (кстати какой её объём), входная частота (значение), выходы на VGA разъём. Название сигналов приходящие/уходящие можно посмотреть на схеме Reverse - http://zx.pk.ru/attachment.php?attac...1&d=1285011269.
Клава заработала, но с ошибками. Нужно копать правильность подключения матриц.
Последний раз редактировалось Ewgeny7; 10.10.2010 в 18:46.
ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
Speccy-2007 128/AY/TR-DOS
Сайт с документацией к "Scorpion ZS 256"
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Пока читаю только один ряд клавы. Разбираюсь что мешает читать другие. Такое очучение, что в scan_in поступает число не из единиц с одним нулём, а чтото другое...
---------- Post added at 20:17 ---------- Previous post was at 20:14 ----------
Пока логичней кажется такое:
process(clock,keybsel,mreq_n,wr_n,dataO,a_buff)
begin
if (clock'event and clock='1') then
if (keybsel='1' and mreq_n='0' and wr_n='0') then
case a_buff (1 downto 0) is
when "00" =>
porta <= dataO;
metod <= '0';
when "01" =>
portb <= dataO;
metod <= '1';
when "10" =>
portc <= dataO;
metod <= '0';
when "11" =>
portr <= dataO;
end case;
end if;
end if;
end process;
scan_in<=(portc(3 downto 0) & porta) when (metod='0') else ("111111" & portb (7 downto 2));
ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
Speccy-2007 128/AY/TR-DOS
Сайт с документацией к "Scorpion ZS 256"
Ну да. Только porta и portc назначаются при разных адресах (00 и 10). Одновременно они разве могут принимать значения? Тогда нужна инициализация портов (porta, portb и portc) - присваивание единиц в каждом разряде.
Последний раз редактировалось fifan; 10.10.2010 в 20:25.
ScorpEvo ZS 1024 turbo+ CF-HDD/FDD/Mouse/SMUC 3.1/ProfROMse/NeoGS/ZC
Speccy-2007 128/AY/TR-DOS
Сайт с документацией к "Scorpion ZS 256"
Да. При metod=0 переменная scan_in побитно такова С3 С2 С1 С0 A7 A6 A5 A4 A3 A2 A1 A0.
При metod=1 переменная scan_in побитно такова 1 1 1 1 1 1 B7 B6 B5 B4 B3 B2.
Ответ с драйвера клавы должен быть таков:
При metod=0 переменная scan_out побитно такова 1 1 1 1 1 1 B7 B6 B5 B4 B3 B2.
При metod=1 переменная scan_out побитно такова С3 С2 С1 С0 A7 A6 A5 A4 A3 A2 A1 A0.
Соответственно An, Bn, Cn - соответствующие биты считанные/записанные из/в порты ВВ55.
Последний раз редактировалось fifan; 10.10.2010 в 20:46.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)