А то эти ИР1 оказались редкостной гадостью, надо где-то искать старые чипы... Посмотрю что из ЧипДипа приедет через недельку, а там будет видно...
Вид для печати
88г - http://radioshop.by/index.php?product=17510
1822ИР1.
Ещё варианты- https://www.radiodom.by/ResultSearch...%b8%d1%801&p=1
Хотел предложить этот магазин BYTEMAN'у утром, но там расчет, судя по всему, только за безналичный расчет и только с ип-шниками и юрлицами. Ну и прайсы зачастую протухшие. Это скорее поисковик по прайсам СНГ-шных фирм, чем магазин.
Вообще, основной список Минских радиомагазинов, много лет ведут здесь:
https://forum.onliner.by/viewtopic.php?t=38148
Есть ещё варианты, я пока что обожду чипдип. Если с ним будет плохо, то вариант ещё один есть.
Итак, чипдиповские ИРки оказались 1990 года, воткнул первую - взлетели успешно :) Теперь проблемы с доступом к регистрам нет.
На данный момент осталось две явные проблемы:
1) При возникновении внутреннего прерывания в контроллере (либо при записи в CSR[0]=1, либо просто при записи в DAR) контроллер ИНОГДА сбрасывается. Я думал, что шалит шифратор прерывания и даёт код прерывания по сбросу, однако нет. Контроллер не прыгает на адрес обработчика прерывания (771) а падает сразу на нулевой адрес, при этом иногда даже срабатывает Остановка внутреннего генератора (как будто ошибка в тесте). Попробовал поставить точки останова на все адреса, откуда мы могли прыгнуть на 0-й адрес - нигде не сработало... Продолжаю чесать репу... Входы сброса на 1804ВУ2 вместе с входом сброса у шифратора 589ИК14 по схеме подтянуты через килоомный резистор к +5В. Есть предположение, что у кого-то при возникновении прерывания что-то нехорошее на этой ноге, и ВУшки в итоге скидывают адрес микрокоманды на нулевой...
2) Вторая проблема так и осталась, непроходящий "адресный тест файла данных", с ним ещё не разбирался.
По первой проблеме пока что никаких сподвижек. Вчера провозился с осциллографом в надежде хоть что-то увидеть, обнаружил один момент: на табло у нас адрес микрокоманды 0, а сигнал INTDWN (37-й бит микрокоманды, сброс источника микропрерывания) у нас во всей микропрограмме в 1 кроме пары мест, так вот по 0 адресу - он тоже в 1, а по осциллу на регистрах-защелках микрокоманды я вижу 0... Т.е. вщелкнулось что-то не то. Более того, вщелкнулся 0 в последний бит микрокоманды (TST), который разрешает по ошибке теста останавливать синхрогенератор. А этот нуль присутствует только в микропрограмме тестов, с адреса 1000, куда у нас по-любому не может нормально перейти выполнение программы. И да, во всех тестах INTDWN - тоже должен быть единичкой. Т.е. регистры микрокоманды из ПЗУ вщелкнули что-то не то, явно не соответствующее микрокоду...
Проверять регистр лучше в момент синхронизации.
Примерно так:
1.Установить осциллограф в ждущий режим.
2.Подключить синхронизацию регистра к осциллографу.
3.Подключить два канала осциллографа к входу и выходу регистра.
В момент синхронизации регистр будет обновлять защелки и осциллограф покажет что на входе/выходе получилось. Ещё надо посмотреть по описанию нет ли инверсии в регистре и посмотреть не инвертирован ли сигнал на входе.
Там ТМ8 в качестве регистра, и снимаются где-то с инверсного, а где-то с прямого выхода. Мне кажется, что регистр как раз таки защёлкивает правильно, возможно проблемы с установкой адреса микрокоманды, и следовательно из ПЗУ читаем не то, что хотели. Либо какая из ПЗУ шалит. Я на неделе возьму логический анализатор на работе и попробую им посмотреть, что там на шине АМК при работе происходит, может быть какие левые значения действительно проскакивают.
Проблема выползает только при прерывании.
Сегодня утром ездил в музей отвозить Вектор, решил снова ковырнуть контроллер жесткого.
Таки разобрался с проблемой "Адресного теста файла данных". Оказалась одна кр541РУ2 битая. Долго вычислял, грешил на мультиплексоры, но потом всё-таки рискнул заменить её. Помогло, теперь все тесты проходят. Осталась проблема с некорректной обработкой прерываний.
Но блин вылезла новая проблема: процессор снова в СХК... Отключил общую шину от него - не помогло... Плюнул на это всё, вернусь к СМке уже в другой раз.
Таки не выдержал и решил после работы съездить и ковырнуть процессор. Похоже, что одна ПЗУ микропрограмм померла. По четности проверку не проходит, данные читаются левые. Попробую выкусить и прочитать в самопальном зажиме. Интересно, предположения подтвердятся или нет... И надо будет со сканов набить содержимое этой ПЗУшки и прошиться.
Пока я дожидаюсь детали, чтобы дособирать Стерх и прошить слетевшую РТшку в процессоре, самое время попробовать написать софтинку для считывания микрокода для контроллера ЖД СМ1420.5410. Контроллер имеет диагностический регистр, через который можно вытянуть полную прошивку микрокода. Я проверял, оно работает :)
Поскольку с ассемблером PDP-11 я не очень знаком, может быть кто сможет помочь наваять соответствующую программу? Необходимую информацию я предоставлю.
Параллельно буду попробовать распознать отсканированный микрокод, чтобы потом сравнить считанное из ПЗУ и табличное.
form делал подобную программку для вытягивания ПЗУ.
По ссылке программа для вытягивания KDJ11-B/E ROM. Для СМ1420 я помню тоже делал, врое там другой способ был.
- - - Добавлено - - -
Тут лежит
UPD. Там прога распечатки, но где-то должна быть и прога для извлекания
Путаница между контроллерами (RX211) и накопителями (RX02)
Форматировать умеет контроллер, а не накопитель.
ПыСы. Высказывание аннулировано до более полного вкуривания мануалов :)
Листаю доки по DEC-овским DX-DY. Возможно и ошибся - пока не понял. Смотрю урывками, поэтому пока ничего не могу сказать.
Видимо, сказалось то, что пяти- и трёх дюймовые накопители, по сути, просто пишут то, что им контроллер подсовывает, а всякие разборки с секторами делает контроллер.
В общем, предыдущее сообщение аннулирую :)
Hunta, Таки из мануала RX02 список поддерживаемых команд:
000 Fill Buffer
001 Empty Buffer
010 Write Sector
011 Read Sector
100 Set Media Density
101 Read Status
110 Write Deleted Data Sector
111 Read Error Code
И всё, никакого формата. Насколько я понимаю, заменой ПЗУ в ГМД-7012 заменяли одну из команд (вроде 100) на форматирование.
Там же весь контроллер в дисководе. В машине контроллер - только два регистра (управления и данных, причем в управлении только сигналы управляющие выставляем и читаем, ну и запрос обращения отрабатываем) и всё.