PDA

Просмотр полной версии : Вопрос про память



POIND
06.07.2005, 15:09
Исползуемые мной в пентагоне 48 озушки както странно хороше себя ведут
OKI
M514256B-70R
или
MISTSUBISHI
M5M44256BP

мало того они не сбоят при ужастно шумных адресных линиях
и линиях CAS/RAS

я еше наблюдаю следуюший еффект (как мне кажется еффект статического озу, батарейку пока не подключал :-))

при выключении питания на несколько секунд приблизително от 2 до 5
при любом блоке питания хоть импульсном хоть параметрическом

информация в озу сохраняется
это проявляется к примеру так что информяция на екране
после указанного кратковременного выключения питания остается неизменной
более глубокого анализа (контрольные суммы блоков) я не проводил,
но достаточно сложный екран какойто игры сохраняется визуально неизменным

с микросхемами РУ5 или 41256 такого еффекта ненаблюдалось

вот вопрос собственно

етот еффект чтото обычное неудивительное ?
и с чем он может быть связян?

spensor
06.07.2005, 15:52
при выключении питания на несколько секунд приблизително от 2 до 5 при любом блоке питания хоть импульсном хоть параметрическом информация в озу сохраняется...етот еффект чтото обычное неудивительное ?
Могу подтвердить подобное явление. У знакомого на SIMM (какие микросхемы в основе, не знаю) было такое-же. Эффект в принципе удивителен и конденсаторами БП явно не объясняется. Возможно фишка в том, что конденсаторы-ячейки этих DRAM обладают малым током утечки...?

Conan
06.07.2005, 16:10
Возможно фишка в том, что конденсаторы-ячейки этих DRAM обладают малым током утечки...?
Качество диэлектрика и благоприятный температурный режим (от этого сильно зависит ток утечки).

Возможно (предположение), что при выключении на переходных процессах не срабатывают элементы отвечающие за регенерацию (строки) и выборку колонок (отключаются первыми ).

Ronin
06.07.2005, 16:54
етот еффект чтото обычное неудивительное ?
и с чем он может быть связян?
видел подобное же на аналогичных 4х-битках в компе "Atas"

POIND
06.07.2005, 23:10
а можно ли както воспользоваться етим свойством озушек с целью сокращения числа циклов регенерации или процессору в спековкой схеме пофигу ето время всеравно он его расходует или не расходует ?
видео контроллер ее осуществляет независимо от CPU?

spensor
07.07.2005, 08:56
а можно ли както воспользоваться етим свойством озушек с целью сокращения числа циклов регенерации, или процессору в спековкой схеме пофигу ето время, всеравно он его расходует, или не расходует ?
Все очень специфично.
С одной стороны, во всех схемах Спектрумов регенирацией памяти занимается видеоконтроллер. Если для него предоставить память на отдельной микросхеме, а всю оперативку отдать CPU и новой схеме регенерации, то можно выиграть много тактов даже не используя данный эффект, хотя если использовать последний, то тактов будет еще больше. Но это требует глобальную переработку схемы Спектрума. Возможно, но точно сказать не могу, можно получить выиграш малой кровью, если применить это свойство только на бордюре.
С другой стороны, пока не проведен анализ, какие именно микросхемы обладают данным свойством. Может быть только 51xxx? Тогда это хоть и любопытно, но массово применить не удасться.


Могу подтвердить подобное явление. У знакомого на SIMM (какие микросхемы в основе, не знаю) было такое-же.
По данному сообщению, могу добавить, что эффект, по словам того же человека, наблюдался примерно 40с! И это при условии, что комп отключался по выходу БП - БП оставался в работе, а отключалась только схема компа. А там как известно суммарная емкость конденсаторов не велика.

Costa
07.07.2005, 21:47
С одной стороны, во всех схемах Спектрумов регенирацией памяти занимается видеоконтроллер. Если для него предоставить память на отдельной микросхеме, а всю оперативку отдать CPU и новой схеме регенерации, то можно выиграть много тактов
Каким образом в этом случае можно выиграть много тактов?А разве отдельной микросхеме не придётся делить циклы между видеоконтроллером и процессором.
Каким образом их можно полностью развязать?

GriV
07.07.2005, 23:19
таким же эффектом обладают, т.е. экран имеет свойство висения после выключения (как то дурацки описано, но так оно и есть), платы на основе РУ собраны...

Вспомнив схемотехнику можно вот что надумать: по сути между затвором и коллектором транзисторов есть ёмкость, она очень мала, фактически она определяет быстродействие микрохемы, чем более прогрессивная микруха, тем меньше эта ёмкость (сразу вспоминается стремление всех производителей электроники уменьшать размеры технологических звеньев - от 0,35мкм до 9нм), чем меньше ёмкость тем больше максимальная частота, на которой м/с способна работать, соответственно более старые микросхемы должны обладать большей ёмкостью, но и большим потреблением заряда этой ёмкости, в связи с большими своими размерами. Т.о. такая работа м/с связано с конкретной проработкой конкретной микросхемы - в пределах одной серии даже м/с должны заряд держать по разному...

spensor
08.07.2005, 09:22
Каким образом в этом случае можно выиграть много тактов?А разве отдельной микросхеме не придётся делить циклы между видеоконтроллером и процессором.
Каким образом их можно полностью развязать?
В стандартной схеме время между CPU и "GPU" делятся ~50/50. Если же видеоконтроллеру предоставить отдельную память, то совместная работа CPU и видеоконтроллера будет только в моменты "насыпания" изображения в экранную область, а это будет занимать несколько меньшее время чем 50%. Соответственно для CPU будет выигрыш по тактам.
Продолжая и дополняя эту подтему можно предложить такую схему работы видеоподсистемы, вроде-бы даже уже кто-то на форуме про такое говорил. Для понимания, основную память, которой будет пользоваться только CPU, назовем RAM, а ту, которой пользуется видеоконтроллер - VRAM. При этом по записи в экранную область данные будут транслироваться одновременно в RAM и VRAM, а при чтении - CPU читает из RAM, а "GPU" из VRAM.

Conan
08.07.2005, 10:03
Продолжая и дополняя эту подтему можно предложить такую схему работы видеоподсистемы, вроде-бы даже уже кто-то на форуме про такое говорил. Для понимания, основную память, которой будет пользоваться только CPU, назовем RAM, а ту, которой пользуется видеоконтроллер - VRAM. При этом по записи в экранную область данные будут транслироваться одновременно в RAM и VRAM, а при чтении - CPU читает из RAM, а "GPU" из VRAM.
Этот режим был реализован еще в конце 80-х в новосибирских клонах («ПЛМ», «Новосибирск», «Север 48»). Для устранения коллизий на момент записи данных в VRAM (CPU хочет записать, а GPU в этот момент считывает), там установлен промежуточный буфер (регистр), который сохраняет данные для записи до момента окончания чтения (байта пикселей либо атрибутов) из VRAM.

Кардинальное решение вопроса (к вопросу Costa о «полностью развязать»), это использование двухпортового (с двумя наборами входов-выходов) ОЗУ.

Ne01eX
08.07.2005, 10:52
Кардинальное решение вопроса (к вопросу Costa о «полностью развязать»), это использование двухпортового (с двумя наборами входов-выходов) ОЗУ.

А из общедоступного для среднего юзера в виде конкретной модели вы что-нибудь можете посоветовать?

Conan
08.07.2005, 11:22
А из общедоступного для среднего юзера в виде конкретной модели вы что-нибудь можете посоветовать?Я плохо знаком с современной элементной базой (в сутках только 24 часа, а профессия моя от электроники далека). Лучше спросить совета у Романа (CHRV) или Камиля (caro).

caro
08.07.2005, 12:36
А из общедоступного для среднего юзера в виде конкретной модели вы что-нибудь можете посоветовать?Двухпортовые ОЗУ достаточно специфические и дорогие устройства и главное в данном случае нет необходимости их использовать.
Как уже сказал Conan во многих моделях наших Спектрумов используется промежуточный буфер (регистры) для точек и атрибутов, который позволяет сделать без Waitовый режим разделения памяти между процессором и видеоконтроллером.
Причем если несколько переделать схему формирования сигнала записи в память (использовать не /WR, а RD - то есть факт не чтения), то даже в Turbo режиме современные SIMM-ки позволяют работать без /WAIT.
У меня стоит на столе "Кворум 256" c SIMM - 60 нс, прекрасно работающий на 7 Мгц без циклов ожидания.

Кстати есть еще один способ небольшого увеличения бустродействия, который я когда-то нашел в зарубежных публикациях:
Если Z80 нет необходимости заниматься регенерацией памяти (этим занимается например видеоконтроллер), то во время цикла REFRESH можно увеличить его тактовую частоту. Я попробовал подключать во время /RFSH удвоенную тактовую частоту.
Теоретически для 4 цикловых команд это должно привести к 12.5 % увеличению быстродействия.
Практически, в программах получается на 8-9% (не все команды 4-цикловые). Рекомендую попробовать.

Conan
08.07.2005, 13:20
Дополню сказанное Камилем:

Установка двухпортового ОЗУ хотя и возможна и позволяет достичь полной асинхронности процессора и видеоконтроллера в Speccy, но с практической точки зрения потребует бОльших переделок схемы, чем установка быстрого SIMM или турбирование Z80 в цикле М2 (при регенерации).

Не стоит так же забывать, что «разгон» все равно потребует использования WAIT, при обращении к медленным портам ввода-вывода (ВГ93), а на значительных частотах возникнут и технологические проблемы. Так, по словам CHRV, у разработчиков Sprinter (Z80 21МГц) были сложности с разводкой печатной платы.

Mick
08.07.2005, 13:27
У меня вопрос, так сказать, для самообразования.
Есть ли особенности использования статического ОЗУ в zx-комьютере(там вроде регенерация не нужна). Сейчас полно всяких старых PCI-видюх. Так вот из одной позаимствовал ОЗУ 256Kx16(т.е. 512Кб). А ее можно прикрутить к zx-компьютеру?

caro
08.07.2005, 13:48
Есть ли особенности использования статического ОЗУ в zx-комьютере(там вроде регенерация не нужна). Сейчас полно всяких старых PCI-видюх. Так вот из одной позаимствовал ОЗУ 256Kx16(т.е. 512Кб). А ее можно прикрутить к zx-компьютеру?Никаких особенностей если это классическое статическое ОЗУ (только я что-то сомневаюсь).
Включается как ПЗУ, и добавляется сигнал /WR.
Естественно надо решить вопросы формирования сигналов выборки и переключения страниц.
Ну и конечно оно включается как дополнительное ОЗУ, поскольку иначе придется кардинально менять схему видеоконтроллера (добавил Conan).

Mick
08.07.2005, 14:11
Никаких особенностей. Включается как ПЗУ, только добавляется сигнал /WR.
Естественно надо решить вопросы формирования сигналов выборки и переключения страниц.

Я выразился не правильно,прошу прощения, и меня тут наверно не поняли.
Статика - вопрос если возможность убрать не нужный цепи ожидания?
256Кx16 - это динамика с CASL и CASH,(со статикой PCI видюх я еще не видел)?

Lounge Lizard
08.07.2005, 14:15
У меня вопрос, так сказать, для самообразования.
Есть ли особенности использования статического ОЗУ в zx-комьютере(там вроде регенерация не нужна). Сейчас полно всяких старых PCI-видюх. Так вот из одной позаимствовал ОЗУ 256Kx16(т.е. 512Кб). А ее можно прикрутить к zx-компьютеру?

Кстати, а каким боком PCI-видюхи относятся к статике? На всяких одно-двухмеговых S3 вроде всю жизнь стояли обычные EDO DRAM. Да и даже на Voodoo2 стояла такая же память.

caro
08.07.2005, 14:17
Я выразился не правильно,прошу прощения, и меня тут наверно не поняли.
Статика - вопрос если возможность убрать не нужный цепи ожидания?
256Кx16 - это динамика с CASL и CASH,(со статикой PCI видюх я еще не видел)?Я уже добавил свои сомнения по этому поводу.
А CASL и CASH, как я понимаю это выборка младшего и старшего байта из 16-разрядного слова.
Подключить думаю можно если иметь цоколевку и временные характеристики.

Mick
08.07.2005, 14:40
Кстати, а каким боком PCI-видюхи относятся к статике? На всяких одно-двухмеговых S3 вроде всю жизнь стояли обычные EDO DRAM. Да и даже на Voodoo2 стояла такая же память


Вы опять не пояняли.
Есть две разных микросхемы:
1 - статическая ОЗУ - если возможность убрать не нужный цепи ожидания?
2 - динамическая EDO ОЗУ, позаимствованная со старой S3 с емкостью 256Кx16 - тут только я понимаю нужно распределить станички или еще что то?

Тут меня поправили - цитирование не от того автора. Приношу свои извенения Caro.

spensor
08.07.2005, 17:45
1 - статическая ОЗУ - если возможность убрать не нужный цепи ожидания?
Вот же ответ:

Никаких особенностей если это классическое статическое ОЗУ (только я что-то сомневаюсь).
Включается как ПЗУ, и добавляется сигнал /WR.
Естественно надо решить вопросы формирования сигналов выборки и переключения страниц.
Ну и конечно оно включается как дополнительное ОЗУ, поскольку иначе придется кардинально менять схему видеоконтроллера (добавил Conan).


2 - динамическая EDO ОЗУ, позаимствованная со старой S3 с емкостью 256Кx16 - тут только я понимаю нужно распределить станички или еще что то?
Проще всего включить по схеме расширения 48>128, где формируется два сигнала CAS из первичного CAS и бита порта конфигурации (#7FFD). Только прийдется еще, кажется 4, видеоадресных сигнала переподключить. Очень просто получается 512K из любого дискретного (с ПЛМ сложнее) 48K клона. На двух таких микрухах получишь 1M, ну и так далее. Да, еще прийдется второй экран организовать, но это очень просто - один провод.

jtn
08.07.2005, 18:34
демультиплексировать придется адреса

spensor
11.07.2005, 09:28
демультиплексировать придется адреса
Это еще почему? Насколько помню, там 9 мультиадресных линий, и 16 линий данных. Каждая из двух групп 8 линий данных активируется соответствующим сигналом CAS. Если зарараллелить D0 с D8, D1 с D9, и т. д., то все решается достаточно просто...

jtn
11.07.2005, 20:49
я уж запутался, кто про SRAM кто про DRAM...

POIND
12.07.2005, 16:09
Никаких особенностей если это классическое статическое ОЗУ (только я что-то сомневаюсь).
Включается как ПЗУ, и добавляется сигнал /WR.
Естественно надо решить вопросы формирования сигналов выборки и переключения страниц.
Ну и конечно оно включается как дополнительное ОЗУ, поскольку иначе придется кардинально менять схему видеоконтроллера (добавил Conan).

А все ОЗУ на статике как можно сделать? или оно медленное для видео области?

caro
12.07.2005, 16:25
А все ОЗУ на статике как можно сделать?Можно, но надо переделать узел мультиплексоров адресных линий ОЗУ.
А вот как, это надо рисовать схему под конкретные элементы.

или оно медленное для видео области?По скорости доступа статика даже опережает динамику.

Shiru
12.07.2005, 16:39
или оно медленное для видео области?
Ага, наверное поэтому его на современных компах ставят в кэш, а остальную память делают динамической;)

Статика быстрее обычной динамической памяти (и удобнее - регенерация не требуется), но и дороже.

Mick
12.07.2005, 17:44
Статика быстрее обычной динамической памяти (и удобнее - регенерация не требуется), но и дороже.

Вот именно, регенерация не требуется и время доступа меньше. За счет этого наверно можно избавится от сигнала WAIT и наверно можно турбировать без проблем.
А по стоимости - старая кэш память от трешки или четверки стоит не дорого, объем памяти может достигать от 128Кб и выше.

icebear
12.07.2005, 18:53
Вот именно, регенерация не требуется и время доступа меньше. За счет этого наверно можно избавится от сигнала WAIT и наверно можно турбировать без проблем.

Нельзя турбировать без проблем. Там проблемы не только в скорости памяти.

Mick
12.07.2005, 19:09
Нельзя турбировать без проблем. Там проблемы не только в скорости памяти.

Так я и написал наверно. :)

POIND
13.07.2005, 10:16
Можно, но надо переделать узел мультиплексоров адресных линий ОЗУ.
А вот как, это надо рисовать схему под конкретные элементы.


А по какому принципу ето надо делать хотябы блок схему допустим для 128к варианта любого спека можно будет или долго кумекать надо и времени нет?
можно чтоб на видео отдельная микруха была а на остальное отдельная(ные)
или так неудобно?

caro
13.07.2005, 10:34
А по какому принципу ето надо делать хотябы блок схему допустим для 128к варианта любого спекаЧто значит любого спека? Я думаю это будет не доработка любого спека, а разработка нового.
можно чтоб на видео отдельная микруха была а на остальное отдельная(ные) или так неудобно?Наверное без разницы, это будет виднее когда появится схема. Если появится :)

icebear
13.07.2005, 11:52
Наверное без разницы, это будет виднее когда появится схема. Если появится :)

Хорошая идея :) Что бы появилась схема, надо знать, как работает Спектрум. А на данный момент есть только статьи Буна. Кстати, всё хочу спросить, в схеме Радио разделение доступа между ВК и CPU идёт по CAS, а в других схемах я видел наоборот по RAS. Это принципиально?

Mick
13.07.2005, 11:58
Что значит любого спека? Я думаю это будет не доработка любого спека, а разработка нового.

Я думаю проще всего переделывать схему, в которой применены КП11. Так как SRAM является линейной, то сооствествующие линии видео надо, как я понимаю, представить тоже линейно c адреса 4000H. Сигнал RAS и CAS в этом случае, наверно не понадобится. Но это мои размышления.

Mick
15.07.2005, 09:41
Наверное без разницы, это будет виднее когда появится схема. Если появится

Я так понимаю в форуме нет людей, которые реально подключали SRAM вместо DRAM в ZX клонах. Вот накидал гипотетическую схему подключения SRAM 64Кх8. Да простят меня схемотехники за ламерство :) .
И попутный вопрос о стандарте страниц памяти в ZX выше 64кБ.
Какие старницы памяти и где находятся, ну и порты для их руления.

icebear
15.07.2005, 11:40
Я так понимаю в форуме нет людей, которые реально подключали SRAM вместо DRAM в ZX клонах. Вот накидал гипотетическую схему подключения SRAM 64Кх8. Да простят меня схемотехники за ламерство :) .

Что есть сигнал H1, который переключает муксы? Судя по всему смотрел на схему Пентагона? :)


И попутный вопрос о стандарте страниц памяти в ZX выше 64кБ.Какие старницы памяти и где находятся, ну и порты для их руления.

Ну как обычно - #1FFD и #7FFD. Только вот надо будет ещё и второй экран делать. А идея хорошая, надо развивать.

Mick
15.07.2005, 12:14
Что есть сигнал H1, который переключает муксы? Судя по всему смотрел на схему Пентагона?

Это сигнал переключения видео/проц - он так обозначается во многих схемах спека. H2 - переключение видео/атрибуты. Схем источников было несколько.


Ну как обычно - #1FFD и #7FFD. Только вот надо будет ещё и второй экран делать. А идея хорошая, надо развивать.

На счет #7FFD я про порт знаю, а вот как страницы разбиваются? А про порт #1FFD я только слышал и ни чего больше.

spensor
15.07.2005, 12:16
Что есть сигнал H1, который переключает муксы? Судя по всему смотрел на схему Пентагона?
Вообще-то обозначение Hx и Vx характерны для питерских машин (Ленинград, KAY, Scorpion). Это тактовые частоты учавствующие в формировании изображения Horisontal и Vertical. Частота H1 это 1,75 МГц, обычно ее заводят на AY/YM.
Обращение к памяти CPU и видеоконтроллера происходит в 4 цикла.Тип цикла определяется сигналами /RAS и H1 (4 двоичные комбинации):
/RAS H1
0 0 CPU A0-A7
0 1 Видео A0-A7
1 0 CPU A8-A15
1 1 Видео A8-A15
Таким образом по сигналу H1 указывается кто обращается к памяти, и соответственно чьи адресные сигналы (CPU или видеоконтроллера) подаются на RAM.
Точное значение "0" или "1" сигналов для /RAS и H1 в схеме может быть и противоположным. Я описал только принцип. Для конкретики смотрите схему, там все видно.
А в Пентагонах этот сигнал обозначался как Cx (x-число, точный индекс не помню).

spensor
15.07.2005, 13:00
На счет #7FFD я про порт знаю, а вот как страницы разбиваются? А про порт #1FFD я только слышал и ни чего больше.
В системе назначения бит портов очень много путаницы и все зависит от конкретной машины.
1 Стандартный порт Spectrum128 #7FFD:
D0-D2 - номер страницы ОЗУ в двоичном коде (0-7), проецируемой в область #C000-#FFFF;
D3 - видеообласть (5 или 7 страница);
D4 - ПЗУ (Basic128 или Basic48);
D5 - защелка 48K режима.
D6, D7 не задействованы.
После сброса расположение фрагментов памяти следующее:
#0000-#3FFF - ПЗУ Basic128
#4000-#7FFF - страница 5
#8000-#BFFF - страница 2
#C000-#FFFF - страница 0
Страница видеообласти существует автономно и не требует обязательного отображения в адресном пространстве CPU, в конкретный момент времени.
2 Впоследствии для Пентагона стандарт дополнился так:
D5,D7,D6,D2,D1,D0 - номер страницы ОЗУ (0-64), т.е. 1024К (биты расставлены в порядке от старшего к младшему). Защелка 48K режима упразнена. В более раннем стандарте было 512К и защелка присутствовала.
3 Порт #1FFD позаимствован с амстрадовской машины, но назначение бит для Spectrum +3 и Scorpion абсолютно не соответствуют.
В Scorpion256 и KAY256 за дополнительный разряд адреса страницы отвечает D4 порта #1FFD. Таким образом выборка страницы памяти происходит по двум портам:
#7FFD и #1FFD. Дальнейшее расширение памяти в Scorp'e и KAY'e шло автономно. И там появились дополнительные заморочки.
4 В KAY адрес страницы опеределялся так:
D7 #7FFD, D7 #1FFD, D4 #1FFD, D2 #7FFD, D1 #7FFD, D0 #7FFD.
Вот и скажите после этого, что Nemo не извращенец.
5 У Scorpion было устройство GMX, с 2048К на борту. Какие там разряды за что отвечали сказать не могу, но в выборке страницы памяти учавствовали аж 3 порта - #7FFD, #1FFD, #DFFD (порт Профи)!

icebear
15.07.2005, 13:03
Это сигнал переключения видео/проц - он так обозначается во многих схемах спека. H2 - переключение видео/атрибуты. Схем источников было несколько.

Ага, я просто под рукой имею схему Sintez-M и ориентируюсь всегда по ней, а так всё обозначено через Sxx.



На счет #7FFD я про порт знаю, а вот как страницы разбиваются? А про порт #1FFD я только слышал и ни чего больше.

http://www.8bit-museum.de/cssfaq/reference/128kreference.htm , извини, но русских ресурсов не знаю. Здесь наверняка подскажут.

Mick
15.07.2005, 13:17
Спасибо за информацию, будет над чем в командировке :( в свободное время подумать. Ну думаю попробовать поразмылить над 128Кб реализацией, у ней хоть стандарт какой то есть. Так что если и что надумаю, опять же гипотетически, то схему кину не раньше сентября. :(

icebear
15.07.2005, 13:19
Вот здесь http://www.womoteam.de/Hardware/ZX_Spectrum/ZX-Schaltplane/zx-schaltplane_0.html лежит схема на SRAM.

pbogdan
22.07.2005, 00:15
Вопрос по прилагаемой схеме :
1. регенерацию в схеме производит процессор используя микросхемы 74HCT670 на шыне даных насколько ето надежный вариант ( может и не успеть если загрузить работой з винчестером )
2. Где найти описание 74HCT670 ( 1533ИР26)

spensor
22.07.2005, 09:02
2. Где найти описание 74HCT670 ( 1533ИР26)
Ищи тут: http://www.inp.nsk.su/~kozak/ttl/ttlh97.htm

Mick
17.08.2005, 11:07
.... будет над чем в командировке :( в свободное время подумать. Ну думаю попробовать поразмылить над 128Кб реализацией, у ней хоть стандарт какой то есть. :(

И надумал. :)
Вот накидал еще одну схему на статической RAM UT621024(128Кх8).
Если время будет надо попробовать надругаться над своим ZX-777,
так сказать, проверить схему практически.
Микруху эту купил в "Чипе и Дипе" за 120 руб когда возвращался из командировки.
Там в позициях была еще AS7C4098(256Кх16) по цене 140 (блин 512К - в одной микрухе),
но в наличии, увы, не оказалась.
Буду рад услышать замечания от знатоков Speccy.

spensor
17.08.2005, 12:46
Сигнал WE мне явно не нравится - ошибка! В твоей схеме элемент D6.2 будет выдавать сигнал инверсный WE и в любом случае память окажется подключеной к шине данных. Так или иначе, либо память будет гадить на шину данных, либо любой бред будет записываться в память.
На W/R (вывод 29) надо подавать сумму по "0" (элемент ИЛИ) сигналов MREQ, WR и выборки сегментов памяти #4000-#FFFF. А на 0E сумму по "0" сигналов MREQ, RD и также выборки сегментов памяти #4000-#FFFF. Или на W/R - WR, на 0E - RD, на CS0 (вывод 22) MREQ, а на CS1 (вывод 30) сигналы A14 и A15 объединенные элементом ЛЛ1 (детектор сегментов #4000-#FFFF). Если понадобится подменять ПЗУ на нулевую банку ОЗУ, то схему управления надо будет усложнить.

Mick
17.08.2005, 13:07
Сигнал WE мне явно не нравится - ошибка! В твоей схеме элемент D6.2 будет выдавать сигнал инверсный WE и в любом случае память подключена к шине данных. Так или иначе, либо память будет гадить на шину данных, либо любой бред будет записываться в память.
На W/R (вывод 29) надо подавать сумму по "0" (элемент ИЛИ) сигналов MREQ, WR. А на 0E сумму по "0" сигналов MREQ и RD. Или на W/R - WR, на 0E - RD, а на CS0 (вывод 22) MREQ.

Тогда облом с видео получится. Сигнал WE/ он берется уже готовый с записи/чтения WE/ DRAM компа, т.е. мы только заменяем DRAM и мультиплексоры. Ведь в DRAMе спекки нет сигнала CS.

caro
17.08.2005, 13:26
Сигнал WE мне явно не нравится - ошибка! В твоей схеме элемент D6.2 будет выдавать сигнал инверсный WE и в любом случае память подключена к шине данных. Так или иначе, либо память будет гадить на шину данных, либо любой бред будет записываться в память.Если учесть, что на схеме показана только часть диспетчера памяти,
и на выходе не шина данных Z80, а промежуточная шина MD0..MD7,
то можно сделать и так как у Mick, только правильно
сформировать сигнал WE (разрешение записи).


На W/R (вывод 29) надо подавать сумму по "0" (элемент ИЛИ) сигналов MREQ, WR. А на 0E сумму по "0" сигналов MREQ и RD. Или на W/R - WR, на 0E - RD, а на CS0 (вывод 22) MREQ.Это было бы так, если бы память работала только с процессором,
для видео-контроллера память всегда должна быть выбрана и находится в режиме чтения.
Надо еще учесть что в нулевой странице Z80 находится ПЗУ, куда некоторые программы
(в частности встроенный Basic) пытаются писать.

spensor
17.08.2005, 13:34
Тогда облом с видео получится. Сигнал WE/ он берется уже готовый с записи/чтения WE/ DRAM компа, т.е. мы только заменяем DRAM и мультиплексоры. Ведь в DRAMе спекки нет сигнала CS.
Давай определимся - это модернизация готового Спека с целью выбросить РУшки или создание чего-то нового.
Если первое, тогда на W/R можно подавать /WE, а 0E вообще посадить на GND. Проблема с засорением шины данных отпадет, поскольку в реальной схеме обычно стоит буферный элемент на ИР22/ИР23, который пропускает данные только при чтении памяти.

Это было бы так, если бы память работала только с процессором,
для видео-контроллера память всегда должна быть выбрана и находится в режиме чтения.
Надо еще учесть что в нулевой странице Z80 находится ПЗУ, куда некоторые программы
(в частности встроенный Basic) пытаются писать.
Да, теперь я ошибся. Ну тогда остается по Н1 коммутировать сигналы 0E, CS0 и CS1 (если H1=0, то сигналы подаем как я сказал ранее, а если H1=1, то 0E=CS0="0",CS1="1").

Mick
17.08.2005, 13:35
Если учесть, что на схеме показана только часть диспетчера памяти,
и на выходе не шина данных Z80, а промежуточная шина MD0..MD7,

Вот именно! Тут показана схема как бы доработки существующего Speccy, а не разработка нового. И все сигналы берутся готовыми с платы. Может придется что то и изменить, но это надо смотеть конкретную модель Speccy. ;)

Mick
17.08.2005, 13:44
Давай определимся - это модернизация готового Спека с целью выбросить РУшки или создание чего-то нового.
Если первое, тогда на W/R можно подавать /WE, а 0E вообще посадить на GND. Проблема с засорением шины данных отпадет, поскольку в реальной схеме обычно стоит буферный элемент на ИР22/ИР23, который пропускает данные только при чтении памяти.
Если же второе, то верны мои предыдущие рекомендации.

Схема -доработка уже имющегося Speccy. Сигнал OE - сажать на землю нельзя из-за конфликта шины данных при записи и чтении. Тут возможно не хватает буферного элемента типа АП6(может вместо ИР22/ИР23 на реальном компе), чтобы развязать реальную шину данных D0...D7 проца и MD0...MD7 памяти.
Даже если разрабатывать новый - по твоим рекомендациям - с видео будет облом. Оно должно быть всегда выбрано и находится в режиме чтения, как сказал выше Caro!

caro
17.08.2005, 13:54
Тут возможно не хватает буферного элемента типа АП6(может вместо ИР22/ИР23 на реальном компе), чтобы развязать реальную шину данных D0...D7 проца и MD0...MD7 памяти.Не вместо а вместе.
Такой буфер ставится и при установке DRAM с обьединенной шиной данных.

spensor
17.08.2005, 14:00
Даже если разрабатывать новый - по твоим рекомендациям - с видео будет облом. Оно должно быть всегда выбрано и находится в режиме чтения, как сказал выше Caro!
Признаю свои ошибки - уже исправил.

Mick
17.08.2005, 14:15
Не вместо а вместе.
Такой буфер ставится и при установке DRAM с обьединенной шиной данных.

Да в принципе так оно и есть. Надо было сразу нарисовать буфера, тогда наверно понятнее было. Хотя если разрабатывать новый по моему можно все таки обойтись одной АП6 (она же двунаправленная).

И в дополнение вышесказанному. Вот другая схема.

Mick
18.08.2005, 08:45
Хотя если разрабатывать новый по моему можно все таки обойтись одной АП6 (она же двунаправленная).
И в дополнение вышесказанному. Вот другая схема.

Тут, вчера лоханулся на схеме(предыдущее письмо). Не так сформировал запись в ОЗУ. Вот схема, на которой вроде бы правильно???. Если не так поправьте. Все таки интересно SRAM подключить. А то уже достал свой ZX-777 и с хищным взглядом, с паяльником в руках его разглядываю :) .

caro
18.08.2005, 09:15
Тут, вчера лоханулся на схеме(предыдущее письмо). Не так сформировал запись в ОЗУ. Вот схема, на которой вроде бы правильно???. Если не так поправьте.Попробую поправить, что-то мне в ней не нравится :)
В частности выборка ROM без учета /RD.

Mick
18.08.2005, 11:14
В частности выборка ROM без учета /RD.

В принципе можно сигналы CSROM/ и RD/ пропустить через элемент ЛЛ1, например DD11.3. Это скорее логически правильно. А если так оставить, то от записи в ПЗУ, страшного я так думаю не произойдет :|.

Можно также обойтись и без DD11.3: CSROM/ подадим на вход CS микросхемы ROM, а RD/ на вход OE.

AlexCrush
18.08.2005, 11:23
Будет конфликт на ШД. Но работать будет :-)

Mick
18.08.2005, 11:58
Будет конфликт на ШД. Но работать будет :-)

Да он будет, но к сбоем и глюкам не приведет. В ПЗУ все равно записать не возможно. ;)

spensor
18.08.2005, 12:09
Да он будет, но к сбоем и глюкам не приведет. В ПЗУ все равно записать не возможно.
Известно, что ПЗУ будет греться. По идее это приведет к ее быстрейшему старению. Хотя конечно можно оставить и так - Пентагон128 так работает 15 лет и нареканий особых нет.
А кто знает, где есть в ПЗУ фрагменты кода которые пишут в 0000-3FFF?

caro
18.08.2005, 12:15
А кто знает, где есть в ПЗУ фрагменты кода которые пишут в 0000-3FFF?Во первых стековый калькулятор пытается писать в первые 5 байт 0-ой страницы.
Во-вторых скроллинг экрана верхние 8 строк экранного ОЗУ переписывает в 0-ю страницу.

caro
18.08.2005, 12:19
Да он будет, но к сбоем и глюкам не приведет.Любой конфликт ни к чему хорошему не ведет :)
И мне еще не нравится сигнал /WR подаваемый на АП6.
Скорее здесь должен быть /WE.

Mick
18.08.2005, 13:13
Любой конфликт ни к чему хорошему не ведет :)
И мне еще не нравится сигнал /WR подаваемый на АП6.
Скорее здесь должен быть /WE.

Хорошо, с выбором ПЗУ мы разобрались. Схема обращения к ПЗУ будет работать, но с конфликтами. Посему есть два простых решения, которые описаны выше. ;)
А на счет АП6 здесь подразумевается конфликт с видео, я так понимаю. Запись в ОЗУ возможна только пи H1 =0. Да так буде логичнее. :o

Но вопрос в том, что АП6 можно использовать для развязки шин данных, обходясь при этом без ИР22?

caro
18.08.2005, 13:59
Но вопрос в том, что АП6 можно использовать для развязки шин данных, обходясь при этом без ИР22?Режим работы с ОЗУ синхронный, боюсь без ИР22 не обойтись.
Кстати из этих же соображений рекомендую при формировании
/WE брать не /WR, а инверсный /RD.
Особенно это актуально при работе в режиме TURBO.

Mick
18.08.2005, 15:10
Режим работы с ОЗУ синхронный, боюсь без ИР22 не обойтись.
Кстати из этих же соображений рекомендую при формировании
/WE брать не /WR, а инверсный /RD.
Особенно это актуально при работе в режиме TURBO.

Да без ИРки похоже не обойтись, H1 =1 и читаем уже не из нужного места, а из видео. Так и здесь разобрались. Тогда вместо АП6 можно запендюрить АП5 (только в режиме записи), а на чтение нужно тогда ИР22(23) и схему ее защелкивания. Да, блин, все как оно получается :confused:.
Инверсный RD/ я так понимаю, для увеличения времени записи в ОЗУ.

Mick
17.12.2005, 20:40
Вот неоторое время назад дошли у меня "лапы" до попытки реализации своей гипотетической схемы. Первый результат - облом - гад не заработал. Короче говоря спустя некоторое время, пришлось нарисовать времянки реала на динамике. Получил с КП11 по схеме ZX-777 можно заставить работать без дополнительной доработки (разумется кроме замены рушек и мультиплексоров) только режим обращения проца ( там сигнал WE/ на память надо пропустить через ИЛИ с H0) - с видео облом. Инфа обновляется по RAS/ - в результате на экране черт знает что, а проги работают. Короче подумал - и заменил КП11 на КП13 и тактирую RASом. Вуаля и все заработало. Облом один - статика похоже битая only 64кБ - наверное убил пока паял или что-то забыл.
Схему если кому интересно выложу чуть позже, когдазаработает и страничная облась.

Mick
18.12.2005, 17:20
Ура, все заработало - все полные 128 Кб. Вот схема замены динамики на статику для ZX-777. Возможно она подойдет и ко всем компам, с аналогичной архитектурой.
Може кому и пригодится данная схема - 100% рабочая - проверена мной :) .


P.S. Чуть далее смотреть необходимые изменения для повышения стабильности работы.

Mick
19.12.2005, 20:07
Продолжаю издеваться на компом - отрезал WAIT ( в смысле на нем всегда теперь "1"). Пока работает без проблем. Хотя на что это повлияло и как это проверить я пока не знаю.

spensor
20.12.2005, 09:10
Продолжаю издеваться на компом - отрезал WAIT ( в смысле на нем всегда теперь "1"). Пока работает без проблем. Хотя на что это повлияло и как это проверить я пока не знаю.
Тестами количество тактов померяй. Заодно и стабильность шины выяснишь. Может еще что-то интересное узнаешь.

Mick
22.12.2005, 20:17
Тестами количество тактов померяй. Заодно и стабильность шины выяснишь. Может еще что-то интересное узнаешь.

А кто нить авторитетным тестиком кинется? Интересно же.

sheltem
23.12.2005, 09:54
Продолжаю издеваться на компом - отрезал WAIT ( в смысле на нем всегда теперь "1"). Пока работает без проблем. Хотя на что это повлияло и как это проверить я пока не знаю.

Вот если бы ты сумел исправить количество тактов в строке. ;)
лет 8 - 10 я воевал со счетчиками в ZX777, но так и не исправил энтот досадный баг.......

Conan
23.12.2005, 10:45
Что имеем: 15,5*8 + 11,5 *8 или 216 тактов в строке
Что хотим иметь: 224 такта в строке
Решение:
(224 - 15,5*8)/8 или 12,5 тактов. То есть надо сделать, так что бы второй счетчик (D58) считал на «1» больше, то есть предустанавливался на «1» меньше, чем есть сейчас. Для этого можно его вывод 15 вместо +5В завести на «землю».


Все бы хорошо, но где «вылезут» лишние 8 тактов (слева, справа, или посередине экрана), сразу не скажу. Так что если есть возможность, то попробуйте. По результатам будем думать дальше.

sheltem
23.12.2005, 16:48
Все бы хорошо, но где «вылезут» лишние 8 тактов (слева, справа, или посередине экрана), сразу не скажу. Так что если есть возможность, то попробуйте. По результатам будем думать дальше.

Mick - дерзай!!! я за своим на шкаф полез и упал с него!!! :sleep: Обиделся на шкаф и полезу на него не раньше чем через неделю, когда нога заживет...... :( :(

Mick
23.12.2005, 20:08
Что имеем: 15,5*8 + 11,5 *8 или 216 тактов в строке
Что хотим иметь: 224 такта в строке
Решение:
(224 - 15,5*8)/8 или 12,5 тактов. То есть надо сделать, так что бы второй счетчик (D58) считал на «1» больше, то есть предустанавливался на «1» меньше, чем есть сейчас. Для этого можно его вывод 15 вместо +5В завести на «землю».


Все бы хорошо, но где «вылезут» лишние 8 тактов (слева, справа, или посередине экрана), сразу не скажу. Так что если есть возможность, то попробуйте. По результатам будем думать дальше.

Надо будет опробывать, ну где там мой паяльник :) .

А теперь о грусном:
Вот откопал демонстрашку "ILLUSION". На ней тогда машина тормозила. Запустил без WAITa - прошла успешно. А вот на "7 Reality" упала - похоже шина все таки нестабильна :( .
Надо думать дальше.

Mick
23.12.2005, 22:19
Все бы хорошо, но где «вылезут» лишние 8 тактов (слева, справа, или посередине экрана), сразу не скажу. Так что если есть возможность, то попробуйте. По результатам будем думать дальше.

Попробовал синхра слетела напрочь. Экран слетел в диагональ справа налево.


Продолжил исследования: WAIT оказался не причем. Написал короткую прогу проверка страниц - что то с 7 страницей(улетает зараза после переключения), поспешил однако обозвать 100% (наверно где то ляпсус навернул).

Mick
24.12.2005, 16:53
После непродолжительного рисование и мозгового штурма пришел к заключению.
Старшие адреса MMA6, MMA7 и EA16 прежде чем зафиксироваться в мультиплексорах проходят обработку через мультиплексор DD40(страничный). В результате этого нестабильно работали страницы (обращение к C000h процессором). Чтобы выйти из этой ситуации было два пути: либо чуть задержать RAS/; либо сместить тактовую частоту процессора вперед. Я пошел по второму пути.
Получилась некоторая доработка. Результаты меня обрадовали. Демонстрашки перестали улетать. От WAITа я отказался. И еще побочный эффект. На телеке GoldStar, на котором я смотрю результаты своих творений, перестала срываться синронизация - картинка теперь держится стабильно.

Вот схема необходимых изменений для стабильности статики.

Conan
27.12.2005, 21:47
Попробовал синхра слетела напрочь. Экран слетел в диагональ справа налево.
Извиняюсь за задержку с ответом, на работе предновогодняя запарка. Сегодня разрисовал времянки для формирователя строчных импульсов (D59-59, 65,67,68,76).
Судя по «идеальным» диаграммам разработчики закладывали не 216, а 224 такта в строке. Поэтому для гарантии запустите приложенную утилиту (опубликуйте результат). Ее написал Камиль Каримов, для подсчета кол-ва тактов в экране (для разных банков ОЗУ). Поскольку WAIT вы отключили, зная, что строк 312, станет понятно, сколько реально тактов в строке.
8 тактов вероятнее всего выпало за счет асинхронной предустановки или «затягивания» сигнала переноса конденсатором C34. Если есть возможность, посмотрите осциллографом задержку (на сколько «затягивается») предустановки (11 вывод D58) относительно сигнала на счетном входе (5 вывод D58).

Поскольку изменение предустановки результатов не принесло, то можно сделать следующее: избавиться от C34 и сделать задержку предустановки за счет заведения сигнала с 6-го вывода D73 на 1-й вывод D67 (разумеется, отсоединив ее от «0»).

Mick
28.12.2005, 20:53
Судя по «идеальным» диаграммам разработчики закладывали не 216, а 224 такта в строке. Поэтому для гарантии запустите приложенную утилиту (опубликуйте результат).
8 тактов вероятнее всего выпало за счет асинхронной предустановки или «затягивания» сигнала переноса конденсатором C34. Если есть возможность, посмотрите осциллографом задержку (на сколько «затягивается») предустановки (11 вывод D58) относительно сигнала на счетном входе (5 вывод D58).
Поскольку изменение предустановки результатов не принесло, то можно сделать следующее: избавиться от C34 и сделать задержку предустановки за счет заведения сигнала с 6-го вывода D73 на 1-й вывод D67 (разумеется, отсоединив ее от «0»).

Попробую обязательно и сообщу результаты, только вот с осцилографом пока может не получится - праздники впереди.

Mick
28.12.2005, 22:21
Поэтому для гарантии запустите приложенную утилиту (опубликуйте результат). Ее написал Камиль Каримов, для подсчета кол-ва тактов в экране (для разных банков ОЗУ). Поскольку WAIT вы отключили, зная, что строк 312, станет понятно, сколько реально тактов в строке.

Запустил прогу и вот результат, причем одинаковый что с WAIT, что без WAIT. Непонятно :(

---------------------
page | takts per INT
---------------------
0 | 72320
1 | 72320
2 | 72320
3 | 72320
4 | 72320
5 | 72320
6 | 72320
7 | 72320
----------------------

jtn
28.12.2005, 22:58
перенедопентагон =)

Conan
29.12.2005, 00:12
Запустил прогу и вот результат, причем одинаковый что с WAIT, что без WAIT.
0 | 72320
1 | 72320
2 | 72320
3 | 72320
4 | 72320
5 | 72320
6 | 72320
7 | 72320

Интересный результат.

Судя по кол-ву тактов, в экране явно больше 312 строк:

72320/312 ~ 232

Но даже если в экране 320 срок (как у «Пентагон»):

72320/320 ~ 226

то строк явно больше чем 216 (как предполагалось), а с учетом некоторой погрешности подсчета их 224. В таком случае ничего в сроке прибавлять не требуется. Вероятно поэтому добавление 8 лишних тактов в строке, вызывало сбой синхронизации на телевизоре.



Что бы двигаться дальше, нужно выяснить (другим владельцам «ZX-777»), какое же кол-во тактов у них в экранах? Утилита для этого приложена выше в топике. Возможно, выпускались два варианта «ZX-777», с различными доработками.

Costa
29.12.2005, 00:35
то строк явно больше чем 216 (как предполагалось), а с учетом некоторой погрешности подсчета их 224. В таком случае ничего в сроке прибавлять не требуется.
А какая погрешность здесь имеет место?

Вроде правильней будет считать так:

72320+64=72384
72384/312=232такта
72384/320=226.2такта

sheltem
29.12.2005, 10:47
Помнится я тоже прогу писал для подсчета у меня получалось 228 тактов.... вот такая фигня....

Conan
29.12.2005, 19:22
А какая погрешность здесь имеет место?
Судя по результатам, которые предоставил Камиль, в фирменной машине +2 тест показал: 70848 тактов (в «быстрых» банках), а исходя из соотношения тактов в строке и строк (227*311) их 70597. То есть погрешность составила: + 251 такт.


Помнится я тоже прогу писал для подсчета у меня получалось 228 тактов.... О каком клоне вы говорите, о «ZX-777»?

P.S. С точки зрения схемотехники, легче выбирать число тактов в строке кратное 8-ми, поскольку в этом случае для предварительного деления используется простой счетчик (не требующий предустановки или внешней логики для формирования коэффициента деления). 228 без остатка на 8 не делится, но в «ZX-777» из за «своеобразной» схемотехники, деление на X½ возможно.

caro
29.12.2005, 20:59
Судя по результатам, которые предоставил Камиль, в фирменной машине +2 тест показал: 70848 тактов (в «быстрых» банках), а исходя из соотношения тактов в строке и строк (227*311) их 70597. То есть погрешность составила: + 251 такт.Такая погрешность говорит либо о моей ошибке, либо о вашей.
Завтра проверю, но уже сегодня могу предположить что в Spectrum+2 не 311 строк, а 312 строк, что дает (227*312)=70824 такта - погрешность +24 такта.
Либо строк 311, а число тактов в строке 228, что дает (228*312)=70908 - погрешность -60 тактов.
Сейчас проверил тест в эмуляторе ZXMAK, где прямо задается число тактов в кадре.
Как оказалось тест дает ошибку в -64 такта :)
Похоже все таки, второе предположение правильное и в Spectrum+2
в строке 228 тактов, а строк 311.

Conan
29.12.2005, 23:25
Похоже все таки, второе предположение правильное и в Spectrum+2 в строке 228 тактов, а строк 311.
Сверился с «проверенной шпаргалкой», тактов в строке действительно 228.

А насчет погрешности, для «ZX-777», главное было понять, что тактов больше, а не меньше, чем у +2. Тем более тест разрабатывался вами немного для другого (вычисления быстрых и медленных страничек), и свое предназначение выполнил великолепно. За что еще раз большое спасибо.

Costa
29.12.2005, 23:34
Как оказалось тест дает ошибку в -64 такта :)

Странно!?вроде не в минус 64 а в плюс 64 как я указал выше :v2_conf2:

Costa
30.12.2005, 01:01
Кстати эта ошибка в 64 такта есть только в тесте версии 1.0
Версия 1.1 работает правильно с точностью до такта !

Mick
30.12.2005, 02:27
Тест то тестом, но незабывайте у меня сейчас ZX-777 с переделками (SRAM128 и тактовая частота сдвинута). Может с оригинальным надо сравнить, может есть какая разница.

Mick
30.12.2005, 02:31
Поскольку изменение предустановки результатов не принесло, то можно сделать следующее: избавиться от C34 и сделать задержку предустановки за счет заведения сигнала с 6-го вывода D73 на 1-й вывод D67 (разумеется, отсоединив ее от «0»).

Вчера изучал схему, не нашел C34 (по схеме их всего 31)

sheltem
30.12.2005, 10:06
Тест то тестом, но незабывайте у меня сейчас ZX-777 с переделками (SRAM128 и тактовая частота сдвинута). Может с оригинальным надо сравнить, может есть какая разница.

У меня тоже 777 весь переделанный вдоль и поперек, и память стоит sim на 1 метр, но тактов показывал упорно 228 и до установки сима, правда я wait не отрезал, и что интересно, то что все фирмовые мультиколоры в играх он показывал правильно, просто тогда был у меня сдвиг в бошке что надо "что бы и пентагоновские мультиколоры шли", они шли, только бордюрные эффекты шли криво со сдвигом влево в каждой строке, получалась отличная лесенка......

caro
30.12.2005, 10:26
Кстати эта ошибка в 64 такта есть только в тесте версии 1.0
Версия 1.1 работает правильно с точностью до такта !Ну конечно, я же выкладывал версию 1.1, которая работает без ошибки.
Сходу не смог найти этот тест в форуме, выкладываю заново, тем более он небольшой.

Mick
30.12.2005, 20:54
Ну конечно, я же выкладывал версию 1.1, которая работает без ошибки.
Сходу не смог найти этот тест в форуме, выкладываю заново, тем более он небольшой.

Померял новой версией - результат на 64 больше, чем был. Мерял без WAIT

---------------------
page | takts per INT
---------------------
0 | 72384
1 | 72384
2 | 72384
3 | 72384
4 | 72384
5 | 72384
6 | 72384
7 | 72384
----------------------
Вообще этот результат - это есть хорошо или нет?

Так что, надо ли поробовать перерезать и подпаять что нибудь, или не надо?

Conan
31.12.2005, 00:22
Вчера изучал схему, не нашел C34 (по схеме их всего 31)У меня в наличии две отсканированные схемы «ZX-777» и одна в псевдографике. Конденсатор С34 обозначен только на одной из отсканированных схем (предоставил Costa). Фрагмент с конденсатором публикую, кроме того, прилагаю фото платы, где C34 обведен красным кружком (что бы было понятно его расположение). Схему если необходимо вышлю электропочтой (укажите адрес в ЛС).


Померял новой версией - результат на 64 больше, чем был. Мерял без WAIT
takts per INT 72384
Вообще этот результат - это есть хорошо или нет?С исправленным тестом, результат вероятнее всего такой: 72384/312=232 такта на строку.
Если предположить (хотя по схеме должно быть 312 строк), что строк 320, то деление (двоичное) не получается: 72384/320=226,2 – так делить двоичный счетчик не может. Невозможно и 228 тактов в строке при 72384 такта на экран: 72384/228=317,473684… Поэтому 232 такта на строку наиболее вероятны. Это не очень хорошо, поскольку не совпадает ни с одним стандартом (ни фирменным, ни «Пентагон»-овским).


Так что, надо ли поробовать перерезать и подпаять что нибудь, или не надо?Если «уникальность» не самоцель, можно попробовать привести времянки экрана к стандарту ZX Spectrum (и большинства отечественных клонов): 224 такта на строку (312 строк вроде как уже есть). Для этого нужно добавить счетчику D58 одну «единичку» при предустановке (завести вывод 10 на +5 вольт, а выводы 1, 15 на «землю»). Если все получится, то тест будет показателен.

Mick
31.12.2005, 10:27
У меня в наличии две отсканированные схемы «ZX-777» и одна в псевдографике. Конденсатор С34 обозначен только на одной из отсканированных схем (предоставил Costa). Фрагмент с конденсатором публикую, кроме того, прилагаю фото платы, где C34 обведен красным кружком (что бы было понятно его расположение). Схему если необходимо вышлю электропочтой (укажите адрес в ЛС). ]

Да, прикольно конденсатор на плате есть, а на схеме нет. Вывод - схема у меня от предыдущей версии компьютера. Попробуем его убрать.


Если «уникальность» не самоцель, можно попробовать привести времянки экрана к стандарту ZX Spectrum (и большинства отечественных клонов): 224 такта на строку (312 строк вроде как уже есть). Для этого нужно добавить счетчику D58 одну «единичку» при предустановке (завести вывод 10 на +5 вольт, а выводы 1, 15 на «землю»). Если все получится, то тест будет показателен.

Так, пошел уже за паяльником.


Ну ладно всех спектрумистов и сочувствующих с наступающим 2006 годом.! :) :) :)

Mick
31.12.2005, 11:38
Если «уникальность» не самоцель, можно попробовать привести времянки экрана к стандарту ZX Spectrum (и большинства отечественных клонов): 224 такта на строку (312 строк вроде как уже есть). Для этого нужно добавить счетчику D58 одну «единичку» при предустановке (завести вывод 10 на +5 вольт, а выводы 1, 15 на «землю»). Если все получится, то тест будет показателен.

Вот попробовал - комп отсался жив. C34 - выкинул.
Вот результат замера после доработки.
takrs per INT = 69888.
Сразу минус 72384 - 69888 = 2496 "попугаев"
А теперь этот результат что означает - были перепентагоном, стали недопентагоном :) .
Кстати - лично субъективное ощущение - демки идут плавней.

А сколько попугаев в фирменном Пентагоне?

caro
31.12.2005, 11:56
А сколько попугаев в фирменном Пентагоне?В Пентагоне число строк в кадре 320, число тактов в строке 224, в результате:
takts per INT = 224*320 = 71680.

Mick
02.01.2006, 15:08
А вообще вопрос такой - вот было тактов 72384, это же больше чем у Пентагона. Это получается быстрей или как? Так в чем же это плохо или в чем то ошибаюсь.

Conan
02.01.2006, 15:44
Скорость компьютера, при одинаковой частоте процессора, не зависит от периода (частоты) прерываний. А все что мы делали, это изменяли кол-во тактов между прерываниями (INT). Иными словами: 72384 такта это увеличенный период прерываний и не более.

Как я уже говорил выше, плохо, прежде всего, то что нестандартно. «Уникальность» будет вызывать различные нарушения в программах написанных под общепринятые кол-ва тактов между прерываниями (и/или кол-во тактов в строке и кол-во строк). В нашем случае 224 такта в строке на 312 строк это времянки фирменного ZX Spectrum, ZS Scorpion, Profi, ATM Turbo и Turbo 2 и множества других «не Пентагонов». Если есть желание переделать в «Пентагон», то придется изменять кол-во строк до 320. При этом изменятся времянки телевизионных сигналов (снизится частота КСИ) и могут возникнуть проблемы, например при подключении ПАЛ-кодера, но зато будут хорошо работать программы, написанные под «Пентагон» (как правило, только демы).

Mick
02.01.2006, 15:59
Скорость компьютера, при одинаковой частоте процессора, не зависит от периода (частоты) прерываний. А все что мы делали, это изменяли кол-во тактов между прерываниями (INT). Иными словами: 72384 такта это увеличенный период прерываний и не более.


Теперь стало понятно, спасибо за раъяснение. Вообщем довел доработку, как было предложено выше - стал стандартным клоном спектрума - 69888 тактов.
Для сравнения, кто нить, обладатель оригинального ZX-777(такие точно есть в форуме) померял бы такты. Узнать бы - применение статической памяти, кроме уменьшения количества корпусов, принесло какие нибудь изменения в плане производительности. Мой комп обратной переделки уже не подлежит, дорога только вперед к 512Кб)

Mick
02.01.2006, 16:50
Вот сейчас накидал кусочек схемы доработки ZX-777 до 224 тактов в строке. Если конечно не напутал.
За предложенную схему все благодарности Conanу.

Я же только нарисовал и опробовал, так сказать в научных целях. Могу сказать комп до сих пор работает. ;) Демки идут замечательно и ONLY Pentagon ( у меня в наличии была Illusion - тормозов больше нет).

Costa
02.01.2006, 20:11
Демки идут замечательно и ONLY Pentagon
А как работают фирменные мультиколоры?(Shock,Echology и др.)

Mick
02.01.2006, 21:47
А как работают фирменные мультиколоры?(Shock,Echology и др.)

Ссылку кинь - проверю. Затем и отвечу. Проверял, то что в наличие есть.

Costa
02.01.2006, 23:10
Ссылку кинь - проверю. Затем и отвечу. Проверял, то что в наличие есть.
на trd.speccy.cz всё есть.
http://trd.speccy.cz/demoz/demozimp/SHOCK.ZIP

Mick
03.01.2006, 14:15
А как работают фирменные мультиколоры?(Shock,Echology и др.)

Вот попробовал. Короче в Shock - вначале мультиколор, который по бордюру идет вроде цветов много - не считал. Но где статическая надпись SHOCK бегущая строка пропадает на половине экрана - как будто ее затеняют. Остальное вроде все проходит.
Echology - вроде цветов много - опять же не считал.
Как они раньше работали я не знаю - сравнить не могу.

И еще - по моему экран сдвинулся на 8 пикселей вправо. Точно не уверен.