Ремонт / запуск PDP-11/04

DEC Alpha, ARM, MIPS, PowerPC, SPARC, VAX, PDP-8 и другие устройства
Аватара пользователя
size_t
Advanced Member
Сообщения: 672
Зарегистрирован: 20.02.2019,14:28
Откуда: Санкт-Петербург
Контактная информация:

Вклад в сообщество

Ремонт / запуск PDP-11/04

Сообщение size_t » 06.01.2021,12:17

23-A26A2
Отличий нет
Насчет поиска пропавшего trap'а, машина у коллеги, и мы в любом случае хотели бы сначала определить, какие тесты работают, а какие нет. Так что патчим на живую нитку GKAB пока что.
► Показать

Аватара пользователя
alecv
Advanced Member
Сообщения: 6993
Зарегистрирован: 05.10.2004,11:13
Откуда: Санкт-Петербург
Контактная информация:

Вклад в сообщество

Ремонт / запуск PDP-11/04

Сообщение alecv » 06.01.2021,15:43

size_t, вот тут было предположение, что там c TRAP 4 общая проблема
viewtopic.php?p=563945#p563945

Аватара пользователя
size_t
Advanced Member
Сообщения: 672
Зарегистрирован: 20.02.2019,14:28
Откуда: Санкт-Петербург
Контактная информация:

Вклад в сообщество

Ремонт / запуск PDP-11/04

Сообщение size_t » 06.01.2021,16:40

alecv писал(а): 06.01.2021,15:43 size_t, вот тут было предположение, что там c TRAP 4 общая проблема
alecv спасибо! мы это помним) сейчас получили еще одно подтверждение.

Аватара пользователя
alecv
Advanced Member
Сообщения: 6993
Зарегистрирован: 05.10.2004,11:13
Откуда: Санкт-Петербург
Контактная информация:

Вклад в сообщество

Ремонт / запуск PDP-11/04

Сообщение alecv » 06.01.2021,23:25

size_t, А какие еще есть условия для TRAP 4? Неответ ведомого устройства и словное обращение по нечетному адресу.
А еще ? (Не помню)

А другие "внутренние" прерывания CPU работают ? Ну там по неправильной инструкции, EMT и т.д. ?

Hunta
Advanced Member
Сообщения: 427
Зарегистрирован: 31.08.2020,21:16
Откуда: Самара

Ремонт / запуск PDP-11/04

Сообщение Hunta » 06.01.2021,23:38

alecv писал(а): 06.01.2021,23:25 А другие "внутренние" прерывания CPU работают ? Ну там по неправильной инструкции, EMT и т.д. ?
Судя по тому, что RT грузили - там должно работать много, почти всё

Аватара пользователя
alecv
Advanced Member
Сообщения: 6993
Зарегистрирован: 05.10.2004,11:13
Откуда: Санкт-Петербург
Контактная информация:

Вклад в сообщество

Ремонт / запуск PDP-11/04

Сообщение alecv » 06.01.2021,23:56

А, точно. Тогда надо проверить TRAP 10, например JMP на регистр. Можно прямо из RT11 командой D записать код и выполнить.
Если работает, то значит проблема только в логике TRAP 4 (какой-нибудь элемент ИЛИ который собирает все возможные причины
ошибок шины).

Аватара пользователя
size_t
Advanced Member
Сообщения: 672
Зарегистрирован: 20.02.2019,14:28
Откуда: Санкт-Петербург
Контактная информация:

Вклад в сообщество

Ремонт / запуск PDP-11/04

Сообщение size_t » 07.01.2021,10:12

Trap 10 работает.
Если честно я плохо знаю архитектуру PDP-11, хоть и люблю эти машины)
Вот открываю справочники, читаю, потихоньку разбираюсь, вспоминаю систему команд.
alecv писал(а): 06.01.2021,23:25 А другие "внутренние" прерывания CPU работают ? Ну там по неправильной инструкции, EMT и т.д. ?
В данный момент пытаюсь пропатчить тест GKAB, чтобы изолировать сбойный тест и пройти его до конца.
Там же как раз все это тестируется. Во всяком случае до 53-го теста работает:
  • CMPB ст.байт мл.байт
  • TRAPA
  • TRAP
  • IOT
  • EMT
  • TRT
  • JMP R0
  • JSR R0, R0

Подскажите, как сделать JMP на инструкцию назад? Так и писать отрицательное число (с 1 в старшем бите)?

По схеме, прерывания обслуживаются ПЗУ 23-006B1, он же E71 (страница 198 Engineer Drawing). Отличий в нем нету, напомню.
Кстати, только понял изящность организации ЦП - вот этот каскад ПЗУ, когда выходы одних заведены на входы других, что-то отдаленно напоминающее ПЛИС.
Пытаемся разобраться какой из выходов E71 генерит нужный сигнал - предположительно это 13-й вывод.

Eats
Full Member
Сообщения: 223
Зарегистрирован: 05.04.2009,19:07
Откуда: Saint-Petersburg
Контактная информация:

Ремонт / запуск PDP-11/04

Сообщение Eats » 07.01.2021,16:50

size_t писал(а): 07.01.2021,10:12Подскажите, как сделать JMP на инструкцию назад?
Я ж на предыдущей странице уже расписал.
Всего доброго.
Евгений.

Аватара пользователя
size_t
Advanced Member
Сообщения: 672
Зарегистрирован: 20.02.2019,14:28
Откуда: Санкт-Петербург
Контактная информация:

Вклад в сообщество

Ремонт / запуск PDP-11/04

Сообщение size_t » 07.01.2021,16:58

Eats писал(а): 07.01.2021,16:50 Я ж на предыдущей странице уже расписал.
Да, извините, туплю - забыл асм напрочь. Полдня сегодня повозился, разобрался как устроен тест, раньше делали на века - прям в исходнике и написано как пропатчить тест для его зацикливания.

Eats
Full Member
Сообщения: 223
Зарегистрирован: 05.04.2009,19:07
Откуда: Saint-Petersburg
Контактная информация:

Ремонт / запуск PDP-11/04

Сообщение Eats » 07.01.2021,17:02

size_t писал(а): 07.01.2021,16:58раньше делали на века - прям в исходнике и написано как пропатчить тест для его зацикливания.
Только они там указали лишний NOP, из-за которого затирается начало 54-го теста, а я Вам предложил поставить сразу BR вместо HALTа.
Всего доброго.
Евгений.

Аватара пользователя
size_t
Advanced Member
Сообщения: 672
Зарегистрирован: 20.02.2019,14:28
Откуда: Санкт-Петербург
Контактная информация:

Вклад в сообщество

Ремонт / запуск PDP-11/04

Сообщение size_t » 07.01.2021,17:28

Еще один результат: отрабатывают тесты с 60 по 103, на 104-м вылет.
104-й тест: присваивание нечетного адреса счетчику команд R7:
13602 MOV #1, %7 ; PC  EQUALS ONE
Далее останов и на консоли
000001 0000001 000504 000020
Переход по адресу 1 видимо происходит, правда непонятно как оно добирается до 20, там несколько нулей в начале, на них должно заглохнуть.
По адресу 304 значение 104.
То есть по идее работают:
  • декремент R6 ниже 150 (типа вершина стека сильно низко)
  • переполнение стека командой с опкодом 7 (не понял что это вообще)
  • различные варианты переполнений стека командами IOT, EMT, TRAP, TRT, ILLA, ILLB
  • отсутствие переполнения стека при разных легальных адресах в R6
  • Trap to 14 по установке 4-го бита в PSW
  • RTI, RTT без и с битом T в разных вариациях
Вариант с зацикливанием 53-го теста ничего не дал, на консоли
000357 000001 000474 016300
светик Run не гаснет.
По адресу видно что оно таки доходит до обработчика прерывания, но из него вернуться уже нету мочи.

Ответить