PDA

Просмотр полной версии : Турбо 5МГц (200%)



Error404
09.02.2013, 10:55
Во вложении 3 варианта турбирования журнального Ориона до 5МГц без WAIT (т.е. 200%). Есть предложение к людям "с руками откуда положено" (сам я не возьмусь :) ) - попробовать эти схемы и выдать компетентное мнение на тему какую из этих схем проще внедрить. Анализ схем также приветствуется.

Error404
24.09.2013, 12:58
Есть предложение к людям "с руками откуда положено" (сам я не возьмусь :) ) - попробовать эти схемы и выдать компетентное мнение на тему какую из этих схем проще внедрить. Анализ схем также приветствуется.

Нашлись ли герои? Страна ждет отчетов об успехах!

aviator
24.09.2013, 21:10
Ни один вариант не пошел. Видно у меня Z80 не той системы. Не запускаются процессоры.

HardWareMan
25.09.2013, 06:53
Сейчас глянем. Я в 90х турбировал Z80H согласно схемкам из журнала (вот только не помню версию Z80Card ибо делал все на свой лад).

Error404
25.09.2013, 12:24
Сейчас глянем. Я в 90х турбировал Z80H согласно схемкам из журнала (вот только не помню версию Z80Card ибо делал все на свой лад).

Там схемы турбирования без WAIT, т.е. в т.ч. быстрее будет обращение/регенерация ОЗУ.
Сейчас у нас на новодельных платах Орионов-128 + Z80 схема на ЛЕ1 с задержками (не использующая WAIT, но переключающая такт Z80 по сигналу SYNC), которая дает около 3,5Мгц реального такта (Рисунок в архиве во вложении вот этого поста (http://zx.pk.ru/showpost.php?p=439588&postcount=41)). А я бы хотел погнать на 5МГц реальных, и поверх ее еще накрутить эту схему с задержкой клока, работающую от 10МГц.

HardWareMan
25.09.2013, 13:15
У меня только один вопрос: на какой Z80 Card делаются доработки из первого поста?

Error404
25.09.2013, 14:23
У меня только один вопрос: на какой Z80 Card делаются доработки из первого поста?

Описание и схема в архиве во вложении этого поста (http://zx.pk.ru/showthread.php?t=17580)

Error404
26.09.2013, 15:51
У меня только один вопрос: на какой Z80 Card делаются доработки из первого поста?

Ну и как?

HardWareMan
26.09.2013, 16:36
Пока рисую результирующую схему на каждый патч. Затем приступлю к анализу.

HardWareMan
30.09.2013, 16:51
Итак, отправные данные почти готовы, но требуется уточнить несколько нюансов. Все схемы сделаны в кактусе как функционально эквивалентный блок. Сигналы процессоров вбиты вручную на основе данных из датащита с привязкой к сигналу тактов. Названия всех сигналов взяты из оригинальной схемы из Радио 1'90. Возможные глитчи на эпюрах кактуса так же пропускаем мимо ушей.

Шаг №1: оригинал.
Это функциональная схема циклогенератора в оригинальном Орионе с ВМ80:
http://savepic.su/3391129m.jpg (http://savepic.su/3391129.jpg)
Эта схема дает четкий рисунок, который полностью соответствует текстовому описанию.
http://savepic.su/3377817m.png (http://savepic.su/3377817.png)
Четко виден сигнал загрузки следующего байта в регистр сдвига точек. Виден опережающий сигнал загрузки данных в регистр временного хранения (на схеме он напрямую идет на регистры DD47 и DD48 не имея названия, так что пусть будет STB). Так же видно, что если сформировать сигнал SYNC, то сигнал STB не активируется, зато появляется разрешающий сигнал буферам памяти BUF_87, который продолжается до окончания сигнала CAS_66, как раз до момента фактического защелкивания байта самим ВМ80. Все сигналы имеют защитные задержки между собой.

Шаг №2: Z80 Card II.
За основу переделки была взята эта статья (http://www.emuverse.ru/wiki/%D0%9E%D1%80%D0%B8%D0%BE%D0%BD-128/ZCard-II). Результирующая схема практически не изменилась:
http://savepic.su/3378841m.jpg (http://savepic.su/3378841.jpg)
В этой доработке в качестве тактового сигнала используется TTLF1, который указан в статье как самый правильный. Вот его симуляция:
http://savepic.su/3382937m.png (http://savepic.su/3382937.png)
Почему именно TTLF1? Да потому, что Z80 устроен так, что опкод он читает по фронту тактового импульса, а ввод-вывод данных по спаду. Как итог, при использовании TTLF1 мы имеем фронт тактового импульса строго в центре CAS_66 сигнала, а спад попадает на его конец (режим "поздней записи"). И это должно работать. Однако, есть пара неясных моментов:
1. Если вводить эпюру SYNC основываясь на эпюрах Z80 из журнала Радио 2'95, то в M1 все нормально, а вот в остальном есть пропуск записи данных в регистр временного хранения изображения, что должно давать артефакты "снег" из полосочек.
2. В статье говорится за конденсатор на узле формирования сигнала SYNC, которого нет на схеме (а так же не говориться, где именно он должен стоять).
Чтобы продолжить дальше, хочется уточнить данные моменты, а будет лучше если Error404 прозвонит актуальную схему этого узла у своего компьютера.

Error404
01.10.2013, 15:32
2. В статье говорится за конденсатор на узле формирования сигнала SYNC, которого нет на схеме (а так же не говориться, где именно он должен стоять).
Чтобы продолжить дальше, хочется уточнить данные моменты, а будет лучше если Error404 прозвонит актуальную схему этого узла у своего компьютера.

Есть два варианта изменения формирователя:
1) кондер на SYNC (надо подбирать, ввиду этого метод применялся редко - только в ранних релизах ленинградских Z80Card и видимо по этому описан не подробно);
2) вывод 13 DD13.2 (TM2) отсоединяется от привязки к +5в и подключается к выводу 12 (т.е. к сигналу 71 - выв19процессора=SYNC ). В этом случае ничего подбирать не надо, у всех запускается сразу (этот вариант работает в ревизии-512 что мы все тут недавно собирали новоделом). На что оно повлияет на эпюрах сказать затрудняюсь.

HardWareMan
01.10.2013, 16:52
Решение умное. Оно сбрасывает триггер арбитра сразу по окончании обращения, а не строго по такту, что позволяет проскочить одному чтению экрана.
http://savepic.su/3385889m.jpg (http://savepic.su/3385889.jpg)
http://savepic.su/3377697m.png (http://savepic.su/3377697.png)
Ок, продолжим.

Error404
06.10.2013, 13:52
Сейчас у нас на новодельных платах Орионов-128 + Z80 схема на ЛЕ1 с задержками (не использующая WAIT, но переключающая такт Z80 по сигналу SYNC), которая дает около 3,5Мгц реального такта (Рисунок в архиве во вложении вот этого поста (http://zx.pk.ru/showpost.php?p=439588&postcount=41)).

HardWareMan, а упомянутую схему на ЛЕ1 можно раскочегарить не на 5МГц, а на 10МГц, оставив все остальное в схеме стандартного Ориона на 2,5М? Тупо подать на вход ЛЕ1 10М вместо 5М не работает. :)

HardWareMan
06.10.2013, 15:49
Нужно подумать.

Error404
06.11.2013, 17:51
Еще такая идейка меня мучает: планирую расширить память Орионов-128/512 до 1024 добавлением одной статической RAM 512кб. У меня под это дело припасены чипы с временем доступа 55нс. При работе с этой памятью можно вообще не тормозить проц, тактировать его хоть от 10МГц - для SRAM не нужно регенерации и к ее страницам не обращается видеоконтроллер. Тут можно сделать и еще более хитро: в Орионе много действий производится в "некоммутируемой" "склеенной" области 0F000-F3FF. Фактически, диспетчер ОЗУ вне зависимости от порта страниц (0F9) в эту область всегда "подставляет" одну область 0F000-F3FF одной и той же физической страницы ОЗУ. Если туда подставлять область ОЗУ из SRAM и не тормозить в ней проц, то это будет существенное ускорение.
Код писать/настраивать чтобы преимущественно выполняться в старших страницах.

HardWareMan
06.11.2013, 18:47
Это если Орион на стероидах. Нормальному пофигу же. Касаемо Спектрума, можно угнать экран в тень под статику и в нее только писать. Читать будет из статики, быстро. Это самый легкий способ, я так думаю, т.к. запись вроде без вейта (+ ее можно конвееризировать).

alx32
06.11.2013, 22:27
Это если Орион на стероидах. Нормальному пофигу же. Касаемо Спектрума, можно угнать экран в тень под статику и в нее только писать. Читать будет из статики, быстро. Это самый легкий способ, я так думаю, т.к. запись вроде без вейта (+ ее можно конвееризировать).

А может вообще на статику переделать?...

Отправленно от моего E73 с помощью Tapatalk 4

Error404
06.11.2013, 23:15
А может вообще на статику переделать?...

Отправленно от моего E73 с помощью Tapatalk 4

Может и переделать, только экономии не будет - вся схема регенерации останется: она же и как видеоконтроллер работает.

alx32
06.11.2013, 23:33
Может и переделать, только экономии не будет - вся схема регенерации останется: она же и как видеоконтроллер работает.

Я имел ввиду вместе с заменой КП2 на КП11 и две SRAM по 512Кб или одну 16-битную на 512Кб...

Error404
06.11.2013, 23:59
Я имел ввиду вместе с заменой КП2 на КП11 и две SRAM по 512Кб или одну 16-битную на 512Кб...

одна 16-битная не пойдет, проц же 8-битный, он при записи будет портить вторую половинку 16-битного слова. Т.е. В любом случае 2 ОЗУ. Или чтобы оставить обе плоскости экрана в одной общей 8-битной ОЗУ, сканировать ОЗУ экрана вдвое чаще: один такт в промежуточный регистр, на втором выводить одновременно и из регистра и из ОЗУ. Собственно, именно так в Орионе-ПРО сделано 4 плоскости в двух банках памяти.

alx32
07.11.2013, 00:06
одна 16-битная не пойдет, проц же 8-битный, он при записи будет портить вторую половинку 16-битного слова. Т.е. В любом случае 2 ОЗУ. Или чтобы оставить обе плоскости экрана в одной общей 8-битной ОЗУ, сканировать ОЗУ экрана вдвое чаще: один такт в промежуточный регистр, на втором выводить одновременно и из регистра и из ОЗУ. Собственно, именно так в Орионе-ПРО сделано 4 плоскости в двух банках памяти.

Есть вообще-то 16-битные с отдельными стробами записи старшего и младшего байтов, как отдельно так и вместе их можно читать и писать... Ну например AS7C34098...

Отправленно от моего E73 с помощью Tapatalk 4

HardWareMan
07.11.2013, 06:54
одна 16-битная не пойдет, проц же 8-битный, он при записи будет портить вторую половинку 16-битного слова. Т.е. В любом случае 2 ОЗУ.
Ответ неверный. У всех х16 памятей есть сигнал для активации старшего и младшего байтов индивидуально. И не только для записи, как было сказано выше.

Или чтобы оставить обе плоскости экрана в одной общей 8-битной ОЗУ, сканировать ОЗУ экрана вдвое чаще: один такт в промежуточный регистр, на втором выводить одновременно и из регистра и из ОЗУ. Собственно, именно так в Орионе-ПРО сделано 4 плоскости в двух банках памяти.
Это уже спектрумство какое-то. Не наш метод!