С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Шутка юмора. ОК.
Сек еще чайник нарисую. Пошутим.
Последний раз редактировалось OrionExt; 04.08.2019 в 22:09.
Электроника КР-02, MSX YIS-503IIR, Орион-128, Ленинград-2, Pentagon-128k, MSX2 YIS-503IIIR, MSX-EXT, ...
Так, чисто теоретические рассуждения.
SRAM это дорого. Если 1-2-4 мегабайт будет мало надо будет прикручивать DRAM. Это значит весь процессор завести на ПЛИС (ножек 50), всю DRAM (ножек 35), и VGA (пусть 4 бита на цвет, 14 ножек). Итого 99. Плюс какая-то шина для подключения реального железа, типа AY или дисковода. Это ж уже QFP 208/240, или вообще BGA. Или две ПЛИС с шиной между ними.
А VGA обязательно клепать самому на этой плис? Тут такой момент обнаружился в "ZX концепции", есть предположение что если к Z80 прикрутить ISA EGA, а ULA просто выкинуть, то скорости якобы должно хватать для того чтобы рисовать то же самое что и на экране 6912 байт но уже без клэшинга. И значит если посмотреть историю сего вопроса то похоже никто толком этого не делал... Ну подключали ISA модем который не мапится на память а только I/O требует. Ну был еще ISA слот в "спринтер" только информации как с ним работать не было. Не пришла ли пора ввести стандарт на ISA 8bit (16?) для компов на Z80... по поводу софта скажу что был проект в котором VGA прикручивали к ATMEGA http://tinyvga.com/avr-isa-vga Ну и чипов этих vga и ega валом наклепали хватит всем (5V TTL).
Во-первых: то, что я собираюсь сделать, никак не Спектрум. Пока это просто задача, целью которой является потренироваться в HDL. Если фантазии удастся реализовать это будет абсолютно самостоятельная система, в которой есть режим "виртуального Z80".
Во-вторых:
Если цель "прикрутить EGA к Z80" - не вижу смысла. Тем более у меня нет ULA и Z80, нечего выкидывать и не к чему прикручивать
ПЛИС нисколько не напряжётся, выдавая видеосигнал, это уровень лабораторной работы студента, изучающего HDL. Если цель полностью эмулировать видеокарту EGA со всеми её регистрами и плоскостями - да, это сложно. Но не нужно.
В третьих.
8-битная шина - вещь хорошая и нужная, но это уже как раз BGA или вторая ПЛИС, потому что проводов в шине много. Опять же, если нужна просто шина для подключения AY, IDE, дисковода - это одно, если нужна вот прямо ISA, чтобы туда воткнуть EGA - зачем?
И в четвёртых, бонус. А то может люди не в курсе...
Про скорость отрисовки, и вообще про скорость работы.
Максимальные теоретические пределы:
Код:Z80 3.5 МГц 0.9 MIPS LDI 0.22 МБайт/с. Z80 (Z84C) 20 МГц 5 MIPS LDI 1.25 МБайт/с. eZ80 50 МГц 50 MIPS LDIR 25 МБайт/с.
Последний раз редактировалось Bolt; 05.08.2019 в 20:30. Причина: Ошибся в арифметике. Вспомнил про LDI.
А что тебе дает LDI? Неужели ты экран (хоть 256х192, хоть 640х480) будешь копировать/перерисовывать кучей 1-байт-в-блоке-командной LDI? Или же все-таки LDIR-ом? Что толку от этих 16 тактов LDI, если счетчик блока все равно нужно обрабатывать? Ты сможешь счетчик обсчитывать (и управлять циклом) быстрее 5 тактов? А LDIR это и делает, причем максимально шустро, и всего-то 21 такт.
А что, правда eZ80 лдирит с скоростью 2 такта на байт?
Кто-нибудь пробовал кмоповые Z84C или KL5C8400 запускать при питании 3.3В?
Турбо АГАТ-9/16 (ЦП 65C802, 5 Махов, dual-port SRAM).
Скрытый текст
Profi 5.06 1024K 12Mhz (кварц на 24), палитра, COM-порт, часы, hdd, covox, программатор
ZX-Spectrum +3, ZX-Spectrum +2B, ZX-Spectrum +2, ZX Spectrum 48, ZX Spectrum 48+
ZX Evolution Rev B.
Color 48 + Beta Disk Interface +FDD+YM2149F
Орель-08БК
Pentagon-48 (недоссобранный кем-то)
Pentagon-128 (полуубитый)
Кворум-128 (в ремонте)
Магик-05 (в ремонте)
Robotron 1715
Корвет ПК8020 и ПК8010
Amstrad CPC 464
Amstrad CPC 6128[свернуть]
LeoN65816(06.08.2019)
Смысл прикручивания именно EGA в том что есть предположeние что "ускоритель" в EGA карте сделает возможным обновление таким же быстрым как синклеровского экрана 6912 НО без клэшинга. Если налепить простой framebuffer с разверткой на VGA то скорости не хватит для разрешения 256x192x4bit (даже если сделать 160x200x4bit как в amstrad то торможение будет ощутимое во многих играх). Ну и почему именно ISA, потому что последние видяхи (чипов от которых валом), представляют собой по сути готовый чип для подключения к ISA напрямую (т.е. декодирование адресов и анализ сигналов шины происходит внутри чипа).
Ну, в ПЛИС я могу и сам "ускоритель" сделать, если скорости процессора окажется недостаточно.
Но:
Ну может не 25, а 16 МБайт/с.
"Фреймбуфер" в ZX 7 килобайт, при 256x192x8bit 48 килобайт, т.е. в 7 раз больше.
Не забываем про (не)линейность адресации.
В реальных условиях даже на 70 нс памяти процессор в 5 раз быстрее по выполнению программы, в 10 раз быстрее по выполнению LDIR.
Процессор "в вакууме" быстрее в 55 раз по выполнению программы, в LDIR, даже если она 3 такта - в 80 раз.
И шо, не успеет?![]()
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)