В общем, я тут уже отписывался в сторонних ветках. Хочу просто в одной теме выкладывать свои наработки.
Немного вяловато разрабатываю платформу ZX Spectrum, работающую с любыми тактовыми частотами процессора от 0 до 20 МГц (зависит от частоты тактового генератора).
В качестве задающего генератора можно использовать либо внешний источник сигнала (тогда частота процессора не привязана к частоте видео), либо один из сигналов, привязанный к частоте видео и кратный родному тактовому сигналу ZX Spectrum (3,5 Мгц). Основа - тактовый генератор с частотой 56 МГц (3,5x16).
В том числе есть вариант "привязанной" частоты 18,66667 МГц (56 МГц умножается на 2, делится на 3 и ещё раз делится на 2).
Схема не использует сигнал Wait и работает по принципу разделения и буферизации всех одновременных обращений к ОЗУ (принцип похож "Пентагоновский", но схема переработана кардинально).
То есть при одновременном обращении схемы видео и процессора к ОЗУ процессор не тормозится и сохраняет полную производительность.
Данный тип схемы подразумевает быструю работу схемы и микросхем ОЗУ. У меня используется SRAM с задержкой 10 нс.
На данный момент схема собрана "на коленке". В её основе лежит ПЛИС Altera EPM3512AQC208-10 ("голова" от платы Igrosoft).
В ПЛИС зашита схема графического генератора, управления памятью, интерфейс (матрица) клавиатуры для порта PS/2, Beta-интерфейс (но на самой плате пока не реализован), порт FE, порт 7FFD, порт AY (на плате имеется).
Пока на плате только 48 кБ ОЗУ (не считая 16 кБ теневых) и обычная "Пентагоновская" ПЗУ-шка, порт магнитофона и RGB-выход без цветового кодирования (PAL, например), поэтому пока чёрно-белый на обычном телевизоре, подключенном по входу НЧ.
Два кварцевых генератора - один на 56 МГц для видео, другой на 40 МГц - для процессора (делится на 2).
Схемы буду выкладывать по мере их "причёсывания". Пока всё очень "лохмато" и требует перерисовки. Буду рад, если кто-нибудь поможет как-то упростить и оптимизировать схему, так как она довольно громоздкая.
Я уже выкладывал один вариант, но оказалось, что для частоты 20 МГц он не годится - слишком долгие задержки сигналов процессора для работы с памятью.
А сейчас могу поделиться видео, как я пытался поиграть в Elite на этой частоте.
Смотрите, но сильно не ругайте - не играл очень давно, и с управлением на такой скорости беда: