User Tag List

Страница 7 из 56 ПерваяПервая ... 34567891011 ... ПоследняяПоследняя
Показано с 61 по 70 из 661

Тема: Еще один Орион на ПЛИС

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    16.12.2008
    Адрес
    Kharkov, Ukraina
    Сообщений
    2,221
    Спасибо Благодарностей отдано 
    4
    Спасибо Благодарностей получено 
    21
    Поблагодарили
    18 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Симпотичненько

    Цитата Сообщение от andreil Посмотреть сообщение
    (курсор в нижнем краю из-за того, что с порта клавиатуры читается 0xFF, как я понимаю).
    Если бы читалось FF, то курсор был бы на своем законном месте. А так фиг его знает, что от туда читается.
    Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    20.06.2005
    Адрес
    Светлогорск
    Сообщений
    885
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    23
    Поблагодарили
    20 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Господа софтописатели и им соболезнующие, к вам вопрос - используются ли режимы 1 и 2 у ВВ55, или везде и всегда используется только 0-й режим?
    О режимах:
    0 - Basic Input/output;
    1 - Strobed Input/Output;
    2 - Strobed Bidirectional I/O (only A group).
    Если реализовывать только режим 0, то логика значительно упрощается...
    "Байт-48"

  4. #3

    Регистрация
    05.10.2016
    Адрес
    г. Санкт-Петербург
    Сообщений
    1,080
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    5
    Поблагодарили
    5 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от andreil Посмотреть сообщение
    используются ли режимы 1 и 2 у ВВ55, или везде и всегда используется только 0-й режим?
    Это вопрос скорее к написателям эмуляторов, чем к программистам для КР580. В своих эмуляторах ОРИОНА и РК86 (для MSDOS) я эмулировал только режим 0 и тем не менее, всё, что должно работать, - работало.

    Потому делаю смелый вывод, что до сих пор, ни в базовом системном ПО (т.е ROM-BIOS и дискетные DOS-ы), ни в играх, - необычные возможности обоих ВВ55 не использованы. Единственное место где, возможно, параллельный интерфейс с квиттированием мог быть использован, - это драйвер принтера и скоростная передача по параллельному интерфейсу.

    В ходе использования и любительского программирования для трёх журнальных 8-ми разрядок на КР580, сталкивался с режимом ППА отличным от 0-го только один раз. В 1989 имел дело с КНГМД для CP/M (подобным РК-КНГМД, без ВГ93, интерфейс через ППА) для РК86. На схеме было написано - автор Анатолий Мельников. Там ППА использовался как положено, - в режиме параллельного интерфейса, когда порт C используется для управляющих сигналов. Такой режим немного ускоряет обмен, но особенно удобен, если есть прерывания. В любом случае этот режим, если где-то и используется, то только на третьем бесполезном ППА, который вообще нет смысла эмулировать (потому что третий ППА никто вообще не ставил, т.к для него не придумали применений).
    Последний раз редактировалось barsik; 02.02.2018 в 12:43.

  5. #4

    Регистрация
    20.06.2005
    Адрес
    Светлогорск
    Сообщений
    885
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    23
    Поблагодарили
    20 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от barsik Посмотреть сообщение
    Это вопрос скорее к написателям эмуляторов, чем к программистам для КР580. В своих эмуляторах ОРИОНА и РК86 (для MSDOS) я эмулировал только режим 0 и тем не менее, всё, что должно работать, - работало.

    Потому делаю смелый вывод, что до сих пор, ни в базовом системном ПО (т.е ROM-BIOS и дискетные DOS-ы), ни в играх, - необычные возможности обоих ВВ55 не использованы. Единственное место где, возможно, параллельный интерфейс с квиттированием мог быть использован, - это драйвер принтера и скоростная передача по параллельному интерфейсу.

    В ходе использования и любительского программирования для трёх журнальных 8-ми разрядок на КР580, сталкивался с режимом ППА отличным от 0-го только один раз. В 1989 имел дело с КНГМД для CP/M (подобным РК-КНГМД, без ВГ93, интерфейс через ППА) для РК86. На схеме было написано - автор Анатолий Мельников. Там ППА использовался как положено, - в режиме параллельного интерфейса, когда порт C используется для управляющих сигналов. Такой режим немного ускоряет обмен, но особенно удобен, если есть прерывания. В любом случае этот режим, если где-то и используется, то только на третьем бесполезном ППА, который вообще нет смысла эмулировать (потому что третий ППА никто вообще не ставил, т.к для него не придумали применений).
    Спасибо за ответ, это значительно упрощает эмуляцию ВВ-шки...
    Просто Альтеровская корка для i8255 перемудрена, да и уже начал писать свою реализацию
    "Байт-48"

  6. #5

    Регистрация
    20.06.2005
    Адрес
    Светлогорск
    Сообщений
    885
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    23
    Поблагодарили
    20 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Кое-как подключил клавиатуру, скопировав почти весь код с другого клона Ориона...
    Оно даже заработало, но не на 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"

  7. #6

    Регистрация
    20.06.2005
    Адрес
    Светлогорск
    Сообщений
    885
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    23
    Поблагодарили
    20 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Итак, добавил разрешение 640х480@60Hz. Переключается по SW8.
    Разрешение 640х350@70Hz на разных мониторах интерпретируется по-разному - на рабочем словило именно 640х350@70Hz, а на домашнем его видит как 720х400@70Hz.
    "Байт-48"

  8. #7

    Регистрация
    11.01.2008
    Адрес
    Ладошкино
    Сообщений
    1,811
    Записей в дневнике
    4
    Спасибо Благодарностей отдано 
    386
    Спасибо Благодарностей получено 
    339
    Поблагодарили
    244 сообщений
    Mentioned
    14 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от andreil Посмотреть сообщение
    Разрешение 640х350@70Hz на разных мониторах интерпретируется по-разному - на рабочем словило именно 640х350@70Hz
    у меня на двух мониторах именно так и есть.
    Компилилось 2:27, но ячеек побольше получилось, видимо без оптимизации.
    Profi v3.2 -=- Speccy2010,r2

  9. #8

    Регистрация
    20.06.2005
    Адрес
    Светлогорск
    Сообщений
    885
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    23
    Поблагодарили
    20 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zebest Посмотреть сообщение
    у меня на двух мониторах именно так и есть.
    Компилилось 2:27, но ячеек побольше получилось, видимо без оптимизации.
    Я вроде бы всё по дефолту сбрасывал уже пару раз параметры сборки, так что вряд ли.
    Да и в проекте сейчас побольше логики чутка, чем в той картинке было. Сейчас у меня весь проект в 766 ALMs влез.
    "Байт-48"

  10. #9

    Регистрация
    20.06.2005
    Адрес
    Светлогорск
    Сообщений
    885
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    23
    Поблагодарили
    20 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Появились вопросы по организации памяти и тактированию процессора:
    1) Какие тактовые частоты валидны? 2,5МГц базово, 5МГц, 10МГц - вроде бы всё? (Включая схемы с Z80, ест.);
    2) Какой объём памяти достаточен для 99% программ на Орионе? 256Кб или 512Кб? Просто думаю, как организовывать память, с учётом двухпортового банка для арбитража видеопамяти - однопортовая на таких частотах пиксельклока (25Мгц) уже не справляется, из-за циклов четния/записи процессора будет теряться до 2-х пакетов с пикселями (то есть 8 или 16 пикселей).
    "Байт-48"

  11. #10

    Регистрация
    14.08.2006
    Адрес
    Владимир
    Сообщений
    4,581
    Спасибо Благодарностей отдано 
    64
    Спасибо Благодарностей получено 
    112
    Поблагодарили
    97 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от andreil Посмотреть сообщение
    Появились вопросы по организации памяти и тактированию процессора:
    1) Какие тактовые частоты валидны? 2,5МГц базово, 5МГц, 10МГц - вроде бы всё? (Включая схемы с Z80, ест.);
    2) Какой объём памяти достаточен для 99% программ на Орионе? 256Кб или 512Кб? Просто думаю, как организовывать память, с учётом двухпортового банка для арбитража видеопамяти - однопортовая на таких частотах пиксельклока (25Мгц) уже не справляется, из-за циклов четния/записи процессора будет теряться до 2-х пакетов с пикселями (то есть 8 или 16 пикселей).
    2,5МГц , 5МГц, 10МГц в принципе достаточно.

    Ставить можно две ОЗУ для двух плоскостей, а там уж у кого какие есть - варианты от 2х64к (128кб) до 2х512кб (1024), просто развести два места по 32 ноги. Ну или промежуточные типа 128+512.
    Лучше сделать и жалеть, чем не сделать и жалеть.

    Некоторые из моих поделок тут: https://github.com/serge-404

Страница 7 из 56 ПерваяПервая ... 34567891011 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Эмулятор ZX-Poly
    от Raydac в разделе Эмуляторы
    Ответов: 109
    Последнее: 07.12.2024, 21:42
  2. ОРИОН-2010 на ПЛИС.
    от Ewgeny7 в разделе Орион
    Ответов: 447
    Последнее: 23.11.2016, 12:27
  3. Еще один Ленинград 48
    от Ewgeny7 в разделе Ленинград
    Ответов: 0
    Последнее: 16.10.2007, 22:31
  4. Ещё один Д.Р.
    от GNTB в разделе Поздравления
    Ответов: 4
    Последнее: 19.07.2006, 01:52
  5. Ещё один подраздел
    от CityAceE в разделе Форум
    Ответов: 2
    Последнее: 22.05.2005, 11:57

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •