Не только у меня.
И еще.
3 уже.
Вид для печати
Разобрал я сегодня свой работающий на ВМ80 специалист и посмотрел как там формируется для RAM #WE (и соответственно #OE) - та же фигня, то же двойное формирование этих сигналов каждый четный цикл записи...
- - - Добавлено - - -
Продолжаю анализировать внутренние сигналы этого замечательного :) компьютера. Поговорим о Ресете процессора. Если ничего не предпринимать, то он у Z80 20 MHz .... многократный :). Полагаю, что из-за наводок (длинные, тонкие линии в топологии платы не гуд), китайского БП в корпусе компьютера, экономии на электролитах по питанию на всей плате... и т.д. и т.п. , на триггере D16.2, D16.5 многократно в процессе работы проскакивает низкий уровень длительностью 15-25 нс. ВМ80 пофигу - он так быстро не работает, а вот Z80 иногда его ловит и воспринимает как команду ресетнуться :). Для полного устранения этой проблемы сделал следующее:
- конденсатор емкостью 100-200 пФ между D16.2 и D16.7
- конденсатор емкостью 100-200 пФ между D44'.26 и D44'.29
- электролит емкостью 1000 мкф между ХР8.3 и ХР8.5 (неиспользуемый разъем АТ питания)
- электролит емкостью 1000 мкф между ХР8.8 и ХР8.10 (неиспользуемый разъем АТ питания)
Теперь триггер D16 формирует идеальный ресет длительностью 66.3 мс. Причем один раз :). После этого на D44'.26 постоянный высокий уровень.
http://portal.kinderland.ru/publishe..._b0a23.970.jpg
- - - Добавлено - - -
Вопрос к авторам. В ПЗУ обеих машин записан тест:
0000 21 00 90 75 23 7C FE C0 C2 03 00 21 00 90 7D 2F
0010 77 23 7C FE C0 C2 0E 00 C3 00 00
Он должен одинаково работать на Z80 и на ВМ80 ?
- - - Добавлено - - -
Вытащил dd47. Без нее на экране вот такое динамическое (изменяющееся во времени) изображение:
http://portal.kinderland.ru/publishe..._c39ae.970.jpg
http://portal.kinderland.ru/publishe..._7d546.970.jpg
Вытащил dd46. Поведение аналогичное. Кстати, и без обоих ИР33 (D46, D47) изображение точно такое же.
Если стоят обе - черный экран, но синхронизация вроде есть...
Что-то я подзапутался в микросхемах ОЗУ, буферах и регистрах, которые тут используются при формировании изображения...
Нет ли где пояснений авторов, что и как они делали ?
В частности интерес представляет формирование сигналов #CR, #CG, #CB...
- - - Добавлено - - -
нифига не понятно как проходят данные из видео озу через регистры к монитору.
После сброса, сигналом ресета, триггер D25 устанавливает режим М0=1, М1=1. Дальше логика D19/2, D31/3 формируют из них STD=1, MX=0.
Затем, поскольку STD=1, то вне зависимости от #WE элементы D30/1, D31/1 формируют CST=1 -> регистр D46 выключен и сидит в импедансе.
На элементах D30/2, D31/2 формируется CMX. Так как MX=0, а на 5 вывод D30/2 мы подключили сигнал #WE (см. доработки), то выходной сигнал CMX фактически есть сигнал #WE (с небольшой задержкой) /имеющий, кстати, те же 2 импульса каждый четный цикл записи (см. мой пост выше).
CMX:
http://portal.kinderland.ru/publishe..._88dab.970.jpg
И вот этот CMX управляет регистром D47. Управляет им только этот сигнал, так как LE (11 вывод D47) всегда в "1". Фактически этот регистр представляет из себя повторитель, передающий на выход сигналы с входов в моменты, когда #WE низкий, и отключающейся, когда #WE высокий. Возникает вопрос - а зачем использовали регистр, если его защелкой не пользуемся ? Или я что-то не понимаю ? :)
... что за сигналы #CR, #CG, #CB я пока понять не могу :) и как они формируются тоже не особо ясно....
Эти сигналы берутся с выходов порта С ВВ55. Я как понял идёт речь о Std режиме. Далее сигналы идут на регистр цвета на DD47, где защёлкиваются. При записи эти данные (кстати используется только 3 вывода из 8) считанные данные с выхода ОЗУ цвета (DD38) через регистр DD48 поступают на мультиплексор DD51. При присутствии 1 на выводе DD50 сигналы цвета через усилители цвета поступают на монитор.
На счёт теста ОЗУ. Рюмик его писал, я не даюсь в коды, для ВМ80, я не уверен что он будет работать на Z80.
Если перейти в режим МХ - нажать X, затем ВК - то что происходит? Там видео ОЗУ цвета подключено по другому.
На D47 ничего не защелкивается ). И не может защелкиваться. Читайте даташит ).
На ее первый вывод (Почему-то обозначенный на схеме ЕО, хотя он ОЕ = Output Enable :-) ) идет СМХ - что это такое уже писал выше.
А вывод "защелки" (11, обозначен как "С") намертво прикручен к +5в.
Таким образом, ничего там никуда не защелкивается, а исходя из уровня сигнала на входе ОЕ, D0-D7 либо передаются на Q0-Q7 или же Q0-Q7 в импедансе. Всё. )
D47 подключенный таким образом регистром не является. Это простейший однонаправленный буфер с 3мя состояниями на выходах.
Даташит тут: http://www.datasheetarchive.com/SN74...datasheet.html
- - - Добавлено - - -
И еще вопрос к авторам схемы - зачем был введен в схему формирования цвета порт "С" одной из BB55 ? Для совместимости с оригиналом ?
Если уже есть 2 м/с ОЗУ - одна = данные, вторая = цвет зачем еще и порт ? Регистров куча :) = используются как отключаемые буферы... Может я, конечно, чего-то не понимаю.... по этому и задаю вопрос авторам - ПОЧЕМУ сделали так ? :)
Может и не понимаете. Начнём с того, что схемотехника контроллера цвета для Std и MX режимов различна. Как разделять входы/выходы ОЗУ цвета в разных режимах? Может для начала мы почитаем про контроллер цвета, изучим схемотехнику, а потом будем задавать вопросы. Тут и тут. Схему выдумывал HardWareMan и я его понимаю почему он не вмешивается в диалог - зачем отвечать на глупые вопросы...
Оригинальная схема (черновик).
На ней DD27 и /DD27 это 2 регистра цвета. Первый, DD27 это регистр цвета, хранит код цвета в режиме MX. /DD27 это скорее буфер цвета, т.к. он используется только как задатчик атрибута, по логике своей совместимый с цветами режима STD. Сами же цвета идут со схемы формирования 5/8 бит. Сам цвет заливается в ОЗУ атрибутов совместно с записью в экранную область (для упрощения в запись основной страницы вообще), и только во время записи, чтобы не мешать синхрогенератору вычитывать эти же данные во время рендеринга. Чего не понятного то?
Расцикловку я тут рисовал где-то, но она, видимо, протухла. В новой схеме DD27 это DD46, а /DD27 это DD47.Пара 4х битных регистров DD23 и DD24 (в старой схеме) заменена на 1 8ми битный DD48 (в новой схеме).
Заменил ВВ55 (клавиатура, цвет). Комп заработал на процессоре Z80 с монитором Версия 4.
И всего делов то, верно?
В качестве эксперимента поставил также КР1858ВМ1. Комп работает :). Всем спасибо !
http://portal.kinderland.ru/publishe..._7c5d2.970.jpg
- - - Добавлено - - -
Ну так прежде чем что-то менять, надо понять что конкретно менять. Конечно, можно по кругу все м/с заменить :), но это не наш метод.
Ну и сбросу я написал ранее. Некоторые Z84C0020PEG ловили мусор по сбросу и ресетились :(
Ну вот, еще один человек, который не просто запустил Z80 на плате, а еще и целую хуеву тучу экземпляров проверил. fifan, тебе следует что-то уже сделать.
Ну а помехи по питанию это уж не ко мне.
Я бросал 4 провода - два для +5в и два по земле. Прямо от разъема питания к:
1) 14 ноге D1
2) к конденсатору по питанию, который рядом с процессором.
До этого напряжение на противоположном конце платы было 4,74В, сейчас везде 4,86В - но это БП я полагаю такой...
+ электролиты в отверстия разъема АТ питания (писал об этом).
http://portal.kinderland.ru/publishe..._4955d.970.jpg
Есть другая проблема. Не то чтобы проблема, но мне не нравится. Очень низкая яркость на мониторе ( когда в начале идет приветствие:
PROGRAM ?
МОНИТОР-4: _
Настроил монитор на максимум, но все равно на мой взгляд как-то очень тускловато... Может КТ315 на что-то заменить ? или лучше делитель 75:390 изменить ?
Сделай так. Закрась белым (в мониторе это [ ] затем СТР) и измерь осциллом размах. Он не должен превышать 0,7в для типичных мониторов и можно до 1в для некоторых (выбирается в меню). Хотя, наверное лучше все-таки на МХ режиме, там еще интенсивность есть. В тестовой программе, что полоски рисует. До 0,7 повышать безопасно.
На днях получил посылку от perestoronin с комплектом из 3-х плат - основная, флеш-диск и контроллер клавиатуры. После НГ праздников тоже буду собирать.
Вперёд! Я тоже расчехлю свой Специалист_МХ2. Теперь есть повод - достал нормальный блок питания. Ранее у меня сгорел предыдущий и я забросил свой комп. Не хотел использовать писишный, т.к. они мощные и при подключении данного компа по +5 вольтному проводу выдают чуть ли не все 7! Если всё сложится, то я буду прикручивать ПЛИС на контроллер SD карты, может сейчас он заработает. Есть тестовая программа для данного контроллера - мой SpetsCommander. В ней я встраивал подпрограммы для чтения каталога диска.
Первый запуск - норма, как рассказывал предыдущий запускатель очень тусклые буквы. PS/2 адаптер не заработал, значит нужно в нём смотреть неполадки. Использовал такой - зря контроллер на панельку поставил - ненадёжная конструкция получилась.
Перенёс в пакете плату по морозу.
Второй запуск - полный кашмар - ничего не видно, залил прошивку от Vinxru - появился не голубоватый RAMFOS, а зелёный?!
Кто подскажет где искать неполадку?
- - - Добавлено - - -
Кстати вот бонус из трёх прошивок для Специалиста_МХ2:
1. Вторая версия оригинальной прошивки с Монитором 4 (Std режим + бонус - см. ниже) и программами в RAM-диске пользователя (цветная таблица, тест_МХ, тест звука, ввод 16-х чисел, тест Рюмика адаптация от HadrWareMan'а и моя - тест всего ОЗУ (512 кБайт RAM-диск) (MX режим) - см. картинку.
2. MXOS от Vinxru.
3. Цветной коммандер от Vinxru.
Бонус: попытка внедрения BIOD Loader v.5 от HadrWareMan'а. Вход по директиве U. Запущу нормально свой МХ2 перейду к прошивке SD контроллера - PVV переделал исходники плисины - нужно проверить.
Исправление тусклости проверю, а вот Z80 не ставил, единственный у меня оставшийся экземпляр Z80 есть подозрения что дохлый.
fifan, он просто установил I в лог.1 у INK для 5 и 8 цвета.
Так точно . Низкая яркость в STD режиме , а в МХ нормальная картинка.
SYR-ALEX, дорожку перерезать не получится - общий провод идёт от 10 к 4 выводу через 9 вывод данной микросхемы. Только откусование вывода от платы и его загибание - пока на это я пойти не могу.
Цвет у меня появился - виной было аж два сразу сдохших транзистора в выходных эмиттерных повторителях - заменил на новые. Теперь буду адаптер PS/2 клавиатуры буду паять. Пока на его плату я запаял Атмегу 8 и прошил её.
Я выпаивал DD47 реззал\паял перемычки под ней . Транзисторы видео усилителей подбирал с наименьшим Ку , так на экране намного меньше шума.
Применяю эту плату, правда от сокета с длиными выводами для ВВ55 пришлось отказаться - штырьки слишком толстые, не вставляются в панельку на основной плате. Буду паять обычные штырьки и поверх их обычную панельку на 40 выводов.
http://www.spetsialist-mx.ru/images/PS_2_keyboard11.png
Кстати без резисторов на ВВ55 комп позывает заставку Монитора-4 в синем ?! цвете (синее буквы).
Ну дык в 5 и 8 цвете именно системная ВВ55 красит картинку, или ты забыл?
Всё комп заработал. Спаял полностью PS/2 адаптер от Vinxru, подключил его, выявил что ВВ55 дохлая - заменил. Наверное потому что в адаптере используется Атмега 8 в TQFN корпусе сброс не работает. До этого имел дело только с атмегами в дип корпусе, там всё нормально со сбросом. Раскладка в МХ не та - смещение F клавиш влево на 2 кнопки, найду ридми для МХ режима, ознакомлюсь.
Тесты прошли. Правда Рюмика на тесте клавиш зависает и пищит. Прекрасно работает в MXOS (прошивки я ранее давал). Сейчас вставлю прошивку RAMFOS от Vinxru.
Завтра сниму всё на видео и перейду вплотную к плисине SD контроллера.
- - - Добавлено - - -
Хочу добавить что комп потребляет по +5 линии почти 800 мА, по +12 где-то 50 мА.
О ВИ53 никто не знает и, соответственно, никто его не затыкает. По идее следует добавить кляп для ВИ53 в лодыря.
Можно подсмотреть в рамфосе же. Тем более, схема включения как раз для него же сделана была.
Кстати, vinxru больше нет. Это теперь alemorf. И он окончательно ушел на NedoPC в раздел PDP. Ажар. Нужно обязательно схоронить то, что он уже сделал как vinxru для Специалиста.
Перенёс работу с SD контроллером в соответствующую тему.
Всем примет! Готовую платку можно купить у кого-нибудь? Или обращаться в резонит?
- - - Добавлено - - -
Никто не пробовал сделать выход не VGA, а сразу DVI-D/HDMI? Там же просто должно быть: вместо АЦП на резисторах, после DD51 ставим три 8-разрядных регистра сдвига. Младшие шесть входов заземляем, на старшие подаём RGB и яркость с DD51, таким образом, чтобы сформировать цифровые коды яркости в трёх каналах R,G,B (они могут принимать вид только 10000000, 01000000 и 00000000). Тактируем регистры сдвига частотой 8*pixel_clock. Их выходы через формирователь дифференциального сигнала подключается к разъёму. Кроме трёх диффпар RGB, делается ещё одна из pixel_clock.
По распиновке DVI-D и HDMI практически полностью совпадают, существуют пассивные переходники.
Точнее, лучше использовать палитру CGA. Тогда каждый из R,G,B выходов даёт код AAh (10101010b), т.е. просто подключается к соответствующим входам своего регистра через один, а выход яркости даёт код 55h (01010101h), т.е. подключается к оставшимся входам (всех трёх регистров). Осталось найти регистры, которые смогут работать на 8 * 40 = 320 МГц.
Скажите пожалуйста какой SVGA/VGA видеорежим Вы используете в Специалист МХ2?
40MHz pixelclock это 800х600х60Hz ? /*т.е (384*2=768)x(256*2=512)*/
Но ведь это-же 60Hz уже время на отрисовку в играх и демках уже не то, будет screen-tearing?
да и времянки уже не те с доступом процессора к памяти - ноты биперного звука не поплывут?
У Специалиста никогда не было привязки скорости процессора к видеосигналу. У него даже тупо прерываний нет, как у того же Спектрума. Всё завязано только на скорость процессора. А screen-tearing и вот это вот всё остальное это удел IBM PC.
Если бы вы изучили схему, то поняли, что Специалист МХ2 (впрочем, как и простой Специалист и Специалист МХ) не использует сигнал WAIT процессора. У него прозрачный доступ к ОЗУ в любое время с 0WS по любому адресу.
Таких кодов пикселей в DVI-D вообще нет. Там применяется сбалансированный код 8/10 с равным количеством единиц и нулей и 10 битами на символ. Но захардкодить их, действительно, можно.
10 * pixel_clock. То есть, для режима 640x480 нужен сдвиговый регистр на 251,75 МГц. Для 800x600x60 -- 400 МГц. Это только в ПЛИС. Россыпью за вменяемые деньги ты таких регистров не купишь.
В одну сторону. Из HDMI не всегда можно добыть сигнал, совместимый с DVI-D.