Прикинул содержимое D10 (К155РЕ3), имеем, значит, следующие зависимости:
- На микросхеме ПЗУ адрес меняется каждые пол периода частоты 6МГц, всего имеем 16 значений, на 8 тактов.
- Для получения ССИ с периодом 64мкс сигнал МХ2 должен иметь частоту 750 кГц, не обязательно его полупериоды будут равны, но 16 значений должно быть поделено на две неразрывные области, единиц и нулей, иначе подсчёт адреса будет неверным.
- Обращение к памяти для чтения в сдвиговые регистры графики происходит через каждые 8 тактов частоты 6МГц.
- Чтение из памяти в сдвиговые регистры выполняется в два этапа (по 16 бит), разрыв между этапами в 1 такт частоты 6МГц. Получается, за два байта из ПЗУ должен быть подготовлен адрес и считаны данные на вторые 16 бит графики. Жёстко...
Итого, первом прикиде, содержимое РЕ3 может быть примерно такое:
Код:
D0(RATO) 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0
D1(RAS) 0 0 0 1 0 0 0 1 0 0 0 1 0 1 0 1
D2(CAS) 1 1 0 1 1 1 0 1 1 1 0 1 1 0 1 0
D3(MX1) 1 0 0 1 1 0 0 1 1 0 0 1 0 1 0 1
D4(MX2) 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1
D5(FR6) 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1
D6(FR7) 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
D7(FR1) X X X X X X X X X X X 0 0 0 1 1
Тут все "Х" принимают значение или 0, или 1, это не влияет на работу.
Получается, три раза по 4 адреса обращение к памяти и один раз чтение графики. Возможно одно из трёх обращений к памяти следует заменить на цикл регенерации памяти, нужно сравнить с работой первого вектора. И, скорее всего, все эти биты следует циклически сместить вправо или влево для выравнивания по циклам работы процессора, в это я ещё не углублялся.
З.Ы. В схеме сделал маленькое исправление, картинку выше и исходники на гитхабе обновил.