Lavr wrote:
PS. Кстати говоря, и у автора CMOS Galaksija не совсем очевидны некоторые
моменты. Схемотехнику оригинальной Galaksija он местами называет набором
"грязных трюков", характерных для ТТЛ.
Интересно мне стало, какие это 'грязные трюки' применены в 'Галаксии'. Слегка 'допилил' модель x80.dll в части z80 и собрал на ней эту 'Галаксию'.
gal2.png
отличие от оригинала это одна ПЗУ и одна ОЗУ, плюс управление выборкой ОЗУ пришлось доработать, тк proteus не отпускает выход ОЗУ(цепь /OE) по приходу /WR и выдает конфликт на шине, а вот дальше пошли те самые 'грязные трюки'... Как всегда, весь черт прячется в мелких деталях, в данном случае, это относительные временные задержки. Цепочки из двух инверторов(U14:A-U1:F и U16:E - U16:F), это вносимые задержки, которые решают все проблемы. Первая влияет на синхронизацию начала строки, но картинка, по крайней мере, показывается, а вторая это самое интересное, и возможно в ней и кроется проблема работы с современными z80 - фактически быстродействие и время распространения сигналов внутри z80 от входного CLK. Триггер U5:В защелкивает сигнал /MREQ по фронту CLK, формируя строб записи в выходной сдвиговый регистр видео, и сбрасывается сигналом RFSH, и здесь, если фронт CLK не попадет во временной промежуток между установкой /MREQ и RFSH, то строб не сформируется, и данные на сдвиговый регистр не попадут... кроме этого, строб то формируется по заднему фронту /RFSH, а это значит, что данные рефреш адреса то уже сняты, а мы их используем, пропустив через ПЗУ знакогенератора и защелкиваем во все тот же сдвиговый регистр... получается, что применив современные(читай быстродействующие относительно времен создания галаксии) ПЗУ мы сталкиваемся с не валидными данными на ПЗУ знакогенератора в момент строба...Этот момент можно легко обойти, добавив один корпус ЛА3, подав на сброс триггера объединенные /MREQ и /RFSH, а защелкивать инверсный /MREQ, в таком включении строб будет формироваться четко в середине выставленного рефреш адреса и никакие временные разбежки на работу влиять не будут. Тогда корпус сэкономили, а сейчас нарываемся на глюки из-за прогресса

.
ЗЫ: временная константа для U13:A - 0.000008
добавил проект в протеус 7.7
You do not have the required permissions to view the files attached to this post.