Вход

Просмотр полной версии : АТП-46 - тепловизор на базе БК-0010



Radon17
14.04.2024, 23:26
Тема про тепловизор АТП-46 (Анализатор Тепловых Полей).

https://pic.maxiol.com/thumbs2/1713126008.1401653648.imagepngex662eaf68.png (https://pic.maxiol.com/?v=1713126008.1401653648.imagepngex662eaf68.png&dp=2) https://pic.maxiol.com/thumbs2/1713126061.1401653648.imagepngex662eafa4.png (https://pic.maxiol.com/?v=1713126061.1401653648.imagepngex662eafa4.png&dp=2)

История такая. Koncheglazov (https://zx-pk.ru/members/7554-koncheglazov.html), он же Иван Пчёлкин купил для сборки Союз-Неона две РР1 у некого дедушки. Они были не пустые, собственно он их считал на Стерхе. Образы были скинуты мне, я их сначала проинвертировал, ну и сразу увидел интересный текст:

https://pic.maxiol.com/thumbs2/1713124292.1401653648.imagepngex662d5702.png (https://pic.maxiol.com/?v=1713124292.1401653648.imagepngex662d5702.png&dp=2)

Погуглил что есть АТП-46, ну и вот: http://oldpc.su/lib/magaz/elecprom/1991-04izd.pdf
Там рекламка + целая статья про это устройство.
https://pic.maxiol.com/thumbs2/1713124261.1401653648.imagepngex662ea89d.png (https://pic.maxiol.com/?v=1713124261.1401653648.imagepngex662ea89d.png&dp=2)

Сразу бросилось в глаза ещё на заглавной картинке, что интерфейс-то БКшечный, и далее в тексте подтверждения этому.
Собственно, возникла мысль "а что если...". Ну и я подкинул эти инвертированные ромы в эмулятор БК (в соответствии с их адресами). Ииии... всё завелось сразу же :) Даже 017 и 108 прошивки не пришлось убирать.

Собственно, что надо сделать:
Эмулятор GID - https://gid.pdp-11.ru/
Скинуть прошивки в папку Rom
Прописать в ini-файле:

BK10 Basic1 = 12000.bin
BK10 Basic2 = 14000.bin
И всё, он сразу загрузится.

Управление кнопками, нащупал наугад. По-хорошему надо дизассемблировать конечно.
Почему-то в эмуляторе каждая кнопка работает со второго нажатия (фича?).

ШАГ - однократное нажатие включает шкалу температур справа, двухкратное - ещё и цифры слева сверху и снизу, трёхкратное - выключает.
Й(J) - панелька MIN слева. Перемещать каждый маркер стрелочками
Забой - сменить номер маркера
А - магнитофон
G - связь с IBM

Я нашёл не всё, многих строчек из рома я так и не увидел в интерфейсе.

Может быть найдутся герои, которые попробуют это дизассемблировать? Может быть Hunta ?
Скажем, интересует по стандартному ли адресу висит порт передачи на IBM PC? По каким адресам висит сама камера и как происходит взаимодействие с ней?
Прикладываются прошивки. rr1 - родные стерховские файлы, BIN - инвертированные.

Скриншоты из эмулятора:
https://pic.maxiol.com/thumbs2/1713126169.1401653648.screenshot15.png (https://pic.maxiol.com/?v=1713126169.1401653648.screenshot15.png&dp=2) https://pic.maxiol.com/thumbs2/1713126188.1401653648.screenshot19.png (https://pic.maxiol.com/?v=1713126188.1401653648.screenshot19.png&dp=2) https://pic.maxiol.com/thumbs2/1713126246.1401653648.screenshot11.png (https://pic.maxiol.com/?v=1713126246.1401653648.screenshot11.png&dp=2) https://pic.maxiol.com/thumbs2/1713126219.1401653648.screenshot17.png (https://pic.maxiol.com/?v=1713126219.1401653648.screenshot17.png&dp=2)https://pic.maxiol.com/thumbs2/1713126266.1401653648.screenshot18.png (https://pic.maxiol.com/?v=1713126266.1401653648.screenshot18.png&dp=2)

Почему-то цвета не такие, как на фото из журнала. Что-то они в схеме БКшки что ли меняли?

Hunta
15.04.2024, 00:30
Может быть найдутся герои, которые попробуют это дизассемблировать?
Попробую, но, как показывает практика, логику будет отловить сложно.
И - свободного времени не сильно много сейчас, так что первый подход к снаряду - скорее всего во вторник после восьме вечера

gid
15.04.2024, 16:27
Поглядел бегло код прошивки, и у меня сложилось впечатление, что это прототип, а не конечный результат.
В коде много мусора, много дублирующегося кода, там вполне можно было уложиться в одну микросхему.
Хотя с тогдашней модой писать по возможности неоптимальный код, может и не получилось бы...
Там ещё хотели справку сделать, написали начальное меню справки, назначили для этого клавишу 'h' и всё, дальше дело не пошло, ни кода вывода справки, ни самой справки нету.

Связь с IBM/PC делается через ИРПС по адресам 176560, без использования прерываний.
Приём данных с тепловизора делается через некое устройство, подключённое к порту УП, через регистр 177714.
Каждое слово данных из регистра 177714 стробируется сигналом ТЛГ канала, т.е. ещё и из регистра 177716 биты читаются.

Работа рассчитана на старую плёночную клавиатуру, т.к. используются клавиши ГРАФ, ЗАП и т.п.
Управляющие клавиши первого уровня:
G,A,J,D,T,C,O,;,-,I,P,S,M,Стрелки (включая диагональные),ВВОД,СБР,ПОВТ ,ГРАФ,ЗАП,АР2/:,ШАГ и клавиша с кодом 0177 (закрашенный прямоугольник)
Несимвольные клавиши переключают разные режимы в которых дополнительно действуют ещё разные клавиши, например СУ/R, СУ/Т, сдвижка, раздвижка, забой и т.п.


Почему-то в эмуляторе каждая кнопка работает со второго нажатия (фича?).
Это возможно та самая ошибка в эмуляторе, которую я никак победить не могу. Связана с битом запрета прерывания от клавиатуры.

Я нашёл не всё, многих строчек из рома я так и не увидел в интерфейсе.
Это всё, остальное - сообщения об ошибках операций и нереализованная справка.

Что-то они в схеме БКшки что ли меняли?
Возможно резисторами палитру к другому виду привели.

Hunta
16.04.2024, 12:58
это дизассемблировать?
По быстрому (практически не смотря логику):
АТП-46 (http://www.KpXX.Ru/БК-11/АТП-46)

CodeMaster
16.04.2024, 14:33
Приём данных с тепловизора
Интересно, этот датчик существовал, хотя бы в прототипе? В журнале описан какой-то фантастический электромеханический датчик с охлаждением фотодиода жидким азотом.


Поглядел бегло код прошивки, и у меня сложилось впечатление, что это прототип, а не конечный результат.
Может конкретно это и да, но в статье указано "множество сервисных программ и развитое программное обеспечение" ;-)


Связь с IBM/PC делается через ИРПС по адресам 176560, без использования прерываний.
В статье про ПЦ ни слова (хотя на фото рядом с загадочным красным ящиком именно он, а не БК), наоборот делается акцент, что БК куда-то встроена и позволяет сделать законченное устройство.


Что-то они в схеме БКшки что ли меняли?
Как минимум добавили RTC.

gid
16.04.2024, 16:37
Как минимум добавили RTC.
Не, не добавляли. Я забыл написать, что ещё используется прерывание по вектору 0100 хитрым образом, там на нём навешен конечный автомат из трёх состояний, тоже из УП вызывается. Некий таймер был в устройстве, или что-то такое, что импульсы генерировало.
Ещё немного подробностей о командах:
J, D, T - переключают какие-то режимы работы программы, может по разному отображение данных, не разобрался, индикация режимов - две буквы в правом верхнем углу.
С - переключение режимов работы тепловизора, или там что-то включает/выключает.
клавиши ; и - - это соответственно инкремент и декремент какого-то параметра тепловизора.
S и M - соответственно инкремент и декремент какого-то значения программы.
O, I, P - вызывают какие-то развесистые подпрограммы, в которых трудно разобраться.
Остальное тоже не очень понятно что делают, клавиша ЗАП тоже оказывается заглушена, там нет кода, ничего не делает.

gid
17.04.2024, 13:48
Вот, предварительный результат. Сгенерировал листинг, если неудобно, можно убрать адреса в любом текстовом редакторе, умеющем блочные выделения.
80658
Чтоб не только я в одиночку алгоритмы ковырял.
Очень похоже, что писали код прямо в DESS. Взяли монитор БК10, и патчили под свои нужды, а потом добивали свой код.

shattered
17.04.2024, 22:21
ghidra может немного помочь с разбором алгоритма, кстати

gid
18.04.2024, 08:38
ghidra может
А как в гидру поддержку PDP-11 добавить? Чота не гуглится у меня. Из коробки там нету.

shattered
18.04.2024, 12:31
хм, а действительно нету

но kkaempf собирался его сделать -- https://github.com/NationalSecurityAgency/ghidra/issues/4606

подозреваю, что pdp11 можно сравнительно легко изготовить из vax -- https://github.com/kkaempf/ghidra-vax/blob/main/README.md