Еще немного оффтопика.
Навеянный некой активностью в Спектрумостроении (иными словами в этой теме) тоже решил похудожничал в P-CADе и так сказать разродился очередным - из говна спектрум. - http://forum.tslabs.info/viewtopic.php?p=25488#p25488
Вид для печати
Еще немного оффтопика.
Навеянный некой активностью в Спектрумостроении (иными словами в этой теме) тоже решил похудожничал в P-CADе и так сказать разродился очередным - из говна спектрум. - http://forum.tslabs.info/viewtopic.php?p=25488#p25488
JV-Soft какие новости проекта?
а видеокарту Расширенного Графического Режима для Пентагона 128 не думали, по такому же принципу
допустим, вместо микросхем D38 и D40 устанавливаем панельки, в эти панельки дочернюю платку , для режима 512x192
Проверил, SRAM прекрасно работает с турбо VMG, нет артефактов на экране.
С турбо 7 без wait, загадка об которую сломал моск напрочь, по порядку -
Запустил BDI на пентагоне, что бы хоть асм, sts, загрузить.
В турбо 7 без WAIT по прежнему нет сброса в 128 меню.
делаю usr 0, что бы не защелкнулся порт 128
пишу на басике любую прогу с записью памяти и чтением (poke, peek), или например рисование фрактала на басике, она прекрасно выполняется в турбо 7 без WAIT, хоть всю ночь, при этом тумблером дергать можно без конца 7/3.5, ни каких глюков. Все как часы.
А теперь загадка об которую сломал всю голову, если исполняется любая другая прога кроме басиковской, комп в турбо виснет, пример
На басике
10 randomize usr 32768 ( или любой адрес памяти без разницы, проверено)
20 goto 10
в памяти любой даже простой код -
#8000
mtk nop
jp mtk
Все зависает наглухо, также если запустить этот цикл без турбо все нормально, при переключении в турбо сразу зависон, это касается любого исполняемого кода.
хоть такого -
ld a,0
ret
Но ведь в басике даже с чтением записью в память все нормально !!! клацай турбо сколько угодно ни каких глюков, все без WAIT, скорость 200%
Я бы еще понял такое, если бы прога выполнялась только в ПЗУ при 7мГц , а в памяти глючила, но ведь басик работает с памятью, и с турбо не глючит и никогда не виснет, сидел турбу минут 5 клацал не переставая, ни каких зависаний !
Версии господа ?
Мое предположение, что есть гонки адресов. Если ты делал по этой схеме - http://zx-pk.ru/threads/26977-pentag...l=1#post888205
То предложу стробировать по RAS и вторую половинку адресов, а CS SRAMины посадил бы на землю. Я лично так делал у себя.
Как говорит TS-Labs стробируйте клоком все критические сигналы.
Еще бы я вернул классический подход к чтению данных из ОЗУ через ИР22(ИР23), а не через АП6.
бейсик всеж интерпретатор
а код сразу , и ктото сбивается с ноги и частит
Да, но ведь из басика в озу и пишет и читает, даже простой тест озу делал, все нормально проходит. Если бы что то с адресами, явно глючила запись/чтение и из басика, 12 часов стабильной работы, все же показатель.
Да, так и сделал в самом начале, чтение через ир23, тут тоже нет проблемы.
В общем все, что приходит здравое в голову если байсик не читает ни одной команды из озу, а только данные, то сбой происходит в озу при выборке команды (цикл М1) там чтение байта из озу на пол такта раньше в отличии от чтения данных. Других причин не могу себе представить, значит надо пробовать такты проца подвинуть относительно CAS/RAS на пол такта (7мгц) вперед это где то как раз 70ns
Логично ?
CAS 7мГц, RAS 7мГц, тактовая 7мГц, все скомпановано по фазам, снял все сопли на всяий случай, меняю только тактовую.
При 7 мГц не исполняется код из озу !!! Запускал проги из под STS, tasm, игры и т.д. Обращение из басика в озу без проблем, код проги басика из озу ведь выбирается, исполняется !!! Любой код асма даже из трех строчек зависает ! Смотрим видео, чешем затылки:v2_dizzy_botan: даем умные советы.
Этот же пентагон с вайтовым турбо работает без проблем, поэтому грешить на какую то медленную микру я бы не стал, так как ПЗУ в турбо с вайтом и порты работают на 200% , если бы было дело в них, он бы глючил и в вайтовом турбо. На озу не грешу, 7мгц без WAIT на видео, проблем нет. Третий вечер, моск сломан:v2_dizzy_vodka4:
https://www.youtube.com/watch?v=K9J9...ature=youtu.be
Позже подпаяю переключалку 3.5/7 , покажу, что так же работает без проблем, клацай сколько угодно, на лету переключает, прога басика не виснет.
Ты бы нарисовал схему своих переделок. А то трудно телепатировать по картинке. :)
Если как ты уверяешь что в ПЗУ программа исполняется, а в ОЗУ нет, то проблема скорее всего в чтении кода команды из ОЗУ.
Mick, а как же басик тогда исполняется, он то озу пишет и читает:(
Тестовое ПЗУ, без проблем все озу читает, пишет ни одного сбоя
Тест озу на басике так же без проблем.
МИСТИКА.
Сейчас нарисую схему
Если допустим код исполняется в ПЗУ, то из ОЗУ он читает и пишет данные, а не команды.
Как только ты пытаешься исполнить код уже в ОЗУ, то у тебя зависон. Если так, то код команды из ОЗУ у тебя не читается. Иными словами при активном M1, у тебя из ОЗУ читается задница.
А задница для процессора противопоказана.
Я уже выше именно об этом и написал, вопрос почему.... Ты встречал когда нибудь такое ? с синхрой как только не игрался, сейчас на ир23 которая раскладывает адрес после мультиплексоров подал 14мгц, думал может не успевает адресс развернуть (хотя басик то озу читает), в 3.5 и в 7 опять таки басик работает, код нет.
Вложение 58496
- - - Добавлено - - -
PS, остается пробовать ИЕ 5 менять на ТВ9 (и под рукой ее нет), не хочется ведь городить.... Самое интересное будет если не поможет.
Какая то замороченная у тебя схема.
Ты адреса на ОЗУ берешь после мультиплексоров D16...D19?
По мне это не айс. У тебя как минимум появляется регистр-прокладка, который вносит доп задержку.
И как я выше писал, лучше уж тогда адрес полностью защелкивать в регистрах, а CS ОЗУ посадить на землю. Тогда у тебя адреса будут защелкиваться и уже не изменятся по своему желанию.
По схеме пентагона M1 вообще не участвует в выборке данных из ОЗУ.
Тогда я полагаю, у тебя не совпадает фаза работы проца с ОЗУ.
Повторюсь,чтение по М1 идет на пол такта раньше, это при 7мгц около 70нс , получается что за два такта у нас не успевают сформироваться данные на выходе D39 ? , а за два с половиной такта уже успевают, когда идет обычный цикл все тип топ.
- - - Добавлено - - -
Это да, но учитывай, что перед чтением на третьем такте, два такта проца адреса на мультиплексорах стоят жестко (и на третьем тоже) и не меняются, по RAS мы в регистр положили старший байт, на следующем переключении у нас на выходе мультиков лежит младший адрес, проблемы быть вреде бы как не должно.
Схема как раз простая, так бы не хотелось ее усложнять.
- - - Добавлено - - -
Да уже и протягивал фазу проца и так и эдак, не помогает.
В общем если наша идея на счет M1 правильная, надо играть фазами, а вот если трабл где то в SRAM это уже другая схематика. Буду думать, пробовать...
- - - Добавлено - - -
Да, кстати SRAM сейчас стоит 70нс, имеет смысл 55нс пробовать ?
- - - Добавлено - - -
Попробую отдельный более быстрый денитель 14/7 для клока проца, если не поможет, значит буду коварять схему sram, а если поможет значит надо тв9 туда для стабильной работы.
- - - Добавлено - - -
Mick, я люблю минимализм, доработка из десятка микросхем это жирно будет.Думаю еще чуток переделаю без дополнительных элементов узел на D15.
https://www.youtube.com/watch?v=jQgUQuCSuOw&feature=youtu.be
Итог - из озу не выбиралась команда, цикл М1.
- - - Добавлено - - -
Отдельно итогом хотел подвести, по результатам проделанного, Basic48 в своей работе не использует ни одной команды на ассемблере в пространстве ОЗУ, только данные.
Тогда вопрос в другом, а почему она не выбиралась, ведь при 3,5Мгц оно же работало и выбиралось. Значит ты поменял коренным образом прохождение основных сигналов: RAS/, CAS/ и частоты проца.
Но работает или нет твоя доработка будет известно только тогда, когда у тебя будут демы работать. Сейчас у тебя статическая "картинка", а нужна динамика, там где команды будут идти с разным количеством тактов, пересылка данных их одной части в другую.
То вчера статика была:v2_dizzy_coder:
Турбо специально не отключается даже при работе BDI, только по /CS ВГ93 сбрасывает скорость до 3.5мГц, а /CS вегешки это миллисекунды если не микро , за одно понятно, что с BDI 7мГц стабильно работает,так же схемно предусмотрено авто торможение для медленных устройств (1 микра)
Но в простоте схемы конечно есть нюансы.
В общем смотри -
https://www.youtube.com/watch?v=wR02eVwmgJE&feature=youtu.be
PS пока минут 30 грузилось видео на ютуб, комп играл в порт #FB мод, хоть ковокса и нет, но память он там молотит будь здоров, ни каких зависаний или глюков.
solegstar Олег, задача следующая, ,буду запускать адреса #0000-#4000 в режиме кеша, получим как и говорил турбо кеш для плеера без установки микросхемы кеша, а с использованием имеющейся SRAM, схемно это при IN #fb отключить A15,A16 от D15, и все, ПЗУ отключено, обращение идет ко всем 64кб, скорость в турбо 200%, в #0000-#4000 тем самым семулировали кеш.
главное верни резисторы R23 и R21 на место. В схеме пента при обращении in #fb формируется сигнал С13 и он с ОК, так что R23 нужен в любом случае, что бы не спалить выход D51. и я так понимаю нужно будет завести через диод 8 вывод D67 на 11 вывод D50. катодом к 8 выводу D67. так?
solegstar, схему, вчера не успел тебе отрисовать.
КЕШ сделал, один диод и резистор , работает, только при обращении у нас на элементе D63.2 не то, что надо, получается вместо A15 на адресные мультиплексоры попадает (0) и в области #0000-#4000 из за этого отображается память #C000, но это тоже не сложно решаемо, так, что кешу без кеша быть :v2_dizzy_yes:
Тот случай когда суслика видишь, я его нет. У пентагона в отличии от 64к машин нет же памяти без доступа в #0000-#4000, там пустота, забыл этот нюанс, она забирается под страницы.
Так, что кеша не сделать в общей памяти... Ставим под него отдельно статику.
Едем дальше.
- - - Добавлено - - -
Олег, проверил для интереса в эмуле, при турбо без wait, кеш в мод плеере ничего не дает, что есть, что нет, значит гнатся за ним для модов смысла нет. Но учитывая, что на общую плату с большой вероятностью пойдет вэйтовое турбо, то кеш поставим.
Какие вообще будут мысли на этот счет ?
- - - Добавлено - - -
Олег, еще вопрос, какие микры кроме ПА1 за это время применялись для ковокса, что по качеству лучше всего играет ?
ну мысли такие, что кеш используется не только в мод-плеере. еще куча программ, поэтому должен быть. турбу да, делать лучше wait`овую для народа. для особых ценителей можно описать процесс переделки и настройки без wait`овой, как ты и говорил.
- - - Добавлено - - -
для одноканального ковокса всё равно. что ПА1, что резисторы. для soundrive делали на стерео и квадро ЦАП с буферами внутри.
- - - Добавлено - - -
я ставил две стерео микросхемы TLC7528, Mick одну четырех канальную TLC7226.
572па1 есть красавчики, вот такие
http://s015.radikal.ru/i330/1105/ea/0ce19eac1e20.jpg
эстетическая составляющая пентагона важна
кстати и sram, ее установку по желанию чтобы делать можно было, 128 кб вот в таком варианте многим больше по вкусу-
http://www.alex-ismagilov.com/photo/...F6389_1024.JPG
красавчик, ведь правда?
дух соблюсти, керамический
[OFFTOP]Эстетической составляющей Пентагона, являются клубки МГТФа. :)[/OFFTOP]
Mor-Da, :D
Я вот начал путлять, 512 вязать. В классическом исполнении. Сёдня, поди, допутляю, авось запустится. Ой, оффтоп...
сразу вспомнил
http://alonecoder.nedopc.com/zx/pent1.jpg
Подскажите софт использующий кеш(shadow ram) 16, и 32кб ?
- - - Добавлено - - -
Это больше подойдет к теме сборка классического пентагона.
Еще вопрос, ни кто в данный момент пентагон не режет, turbo 7 без wait проверить бы на нескольких машинах, если будет идти то можно и на общую плату доработок.
Я режу.