С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Господа софтописатели и им соболезнующие, к вам вопрос - используются ли режимы 1 и 2 у ВВ55, или везде и всегда используется только 0-й режим?
О режимах:
0 - Basic Input/output;
1 - Strobed Input/Output;
2 - Strobed Bidirectional I/O (only A group).
Если реализовывать только режим 0, то логика значительно упрощается...
"Байт-48"
Это вопрос скорее к написателям эмуляторов, чем к программистам для КР580. В своих эмуляторах ОРИОНА и РК86 (для MSDOS) я эмулировал только режим 0 и тем не менее, всё, что должно работать, - работало.
Потому делаю смелый вывод, что до сих пор, ни в базовом системном ПО (т.е ROM-BIOS и дискетные DOS-ы), ни в играх, - необычные возможности обоих ВВ55 не использованы. Единственное место где, возможно, параллельный интерфейс с квиттированием мог быть использован, - это драйвер принтера и скоростная передача по параллельному интерфейсу.
В ходе использования и любительского программирования для трёх журнальных 8-ми разрядок на КР580, сталкивался с режимом ППА отличным от 0-го только один раз. В 1989 имел дело с КНГМД для CP/M (подобным РК-КНГМД, без ВГ93, интерфейс через ППА) для РК86. На схеме было написано - автор Анатолий Мельников. Там ППА использовался как положено, - в режиме параллельного интерфейса, когда порт C используется для управляющих сигналов. Такой режим немного ускоряет обмен, но особенно удобен, если есть прерывания. В любом случае этот режим, если где-то и используется, то только на третьем бесполезном ППА, который вообще нет смысла эмулировать (потому что третий ППА никто вообще не ставил, т.к для него не придумали применений).
Последний раз редактировалось barsik; 02.02.2018 в 12:43.
Кое-как подключил клавиатуру, скопировав почти весь код с другого клона Ориона...
Оно даже заработало, но не на 100% ещё - осталось только понять, куда все доп. сигналы заводить
- - - Добавлено - - -
Итак, запустил Монитор-3.1, который с ROM-диска стартанул ORDOS. Итого - базисный компьютер вроде готов к дальнейшим улучшениям
Сперва - буду добивать и оптимизировать вывод видео, потом займусь портами ВВ55 - сейчас они вообще эмулируюся самым тупым кодом:
Оно хоть и работает, но выглядит не очень =/Код:process (clk) begin if (rising_edge(clk) and (ports_cs(1) = '1')) then if (rd = '1') then case addr(1 downto 0) is when "00" => data <= rom_data; when others => data <= (others => 'Z'); end case; elsif (wr = '1') then case addr(1 downto 0) is when "00" => NULL; when "01" => rom_addr( 7 downto 0) <= data; when "10" => rom_addr(15 downto 8) <= data; when "11" => NULL; end case; else data <= (others => 'Z'); end if; end if; end process;
Так же планирую сделать Z80-CadrII - она, как и видеорежимы, будет включаться переключателями (в железе - джамперы или DIP-переключатели).
- - - Добавлено - - -
Как я понимаю, ВГ93 до сих пор не реверснули полностью, поэтому остаётся только реальная плата...
- - - Добавлено - - -
Актуализировал проект на гитхабе.
Статистика по ресурсам:
В PIO-модуле есть что оптимизировать ещё, поскольку при синтезе там получилась просто прорва мультиплексоров.
Структура компьютера по модулям уже обрисовывается - https://image.prntscr.com/image/lwyw...BdJ1UR6H7Q.png
Последний раз редактировалось andreil; 02.02.2018 в 21:56.
"Байт-48"
Итак, добавил разрешение 640х480@60Hz. Переключается по SW8.
Разрешение 640х350@70Hz на разных мониторах интерпретируется по-разному - на рабочем словило именно 640х350@70Hz, а на домашнем его видит как 720х400@70Hz.
"Байт-48"
Появились вопросы по организации памяти и тактированию процессора:
1) Какие тактовые частоты валидны? 2,5МГц базово, 5МГц, 10МГц - вроде бы всё? (Включая схемы с Z80, ест.);
2) Какой объём памяти достаточен для 99% программ на Орионе? 256Кб или 512Кб? Просто думаю, как организовывать память, с учётом двухпортового банка для арбитража видеопамяти - однопортовая на таких частотах пиксельклока (25Мгц) уже не справляется, из-за циклов четния/записи процессора будет теряться до 2-х пакетов с пикселями (то есть 8 или 16 пикселей).
"Байт-48"
Лучше сделать и жалеть, чем не сделать и жалеть.
Некоторые из моих поделок тут: https://github.com/serge-404
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)