Вход

Просмотр полной версии : Оживление Квант 4С



Страницы : 1 [2] 3

AFZ
06.02.2018, 06:49
С другой стороны - логика работы с DW достаточно похожа на логику работы с тем контроллером IDE, который у меня. И регистры тоже похожи Так логика работы с любым контроллером HDD одинакова. Никакой из процессоров общего назначения тех времен не был в состоянии обеспечить в PIO-mode поток данных для непосредственной записи/чтения с поверхностей HDD. Да и DMA тех времен не со всеми HDD мог справится. Так, что буфер (минимум на сектор) в таком контроллере есть всегда. А логика работы в PIO-mode с буферизованным контроллером HDD всегда одна.

bigral
06.02.2018, 15:28
Нет, только один набор.
Команды не транслирует.
И ещё раз повторяю - мне именно контроллер DW(MW) напоминает IDE, а не ST-506. И - напоминает, а не копирует.

Мне кажется что DW это контроллер еще с 70-х, я подозреваю взяли его как раз с reference документации на 8x300 процессор, где был как бы пример применения этого процессора в качестве DSP именно в контроллере диска, может эта схема и послужила прототипом для WD-шных одночиповых контроллеров в последствии. Короче схожесть DW и IDE может и есть, но я вообще не про это говорил! Я говорил ОБ WD-шном котроллере (st506) для ibm pc, и последующем стандарте IDE который разработали совместимым с этим WD-шным контроллером чтоб не менять BIOS. Т.е. суть тут в том что существует некий стандартный набор портов и протоколов работы с ними в следствии того что выпускали новое железо обратно совместимое с первым WD-шным одночиповым контроллером который применили в ibm pc. А значит все IDE контроллеры (которые без DMA) должны примерно одинаково программироваться, потому и идея универсального драйвера для всех qbus ide контроллеров потенциально возможна с моей точки зрения...

Hunta
06.02.2018, 16:54
Мне кажется

я подозреваю

может

А значит все IDE контроллеры
У меня пока только один вариант контроллера IDE.

Даже с этим вариантом контроллера и драйверами от создателей есть интересный нюанс - они не стали программировать драйвер на работу по прерываниям, а тупо - опрос до готовности. Вопрос - почему? Я получил первый примерно работающий вариант драйвера по прерываниям. С интересной особенностью. Если поставить точку останова на вход в драйвер, где дальше идёт получения пакета, и руками давать на этой точке останова команду продолжения, то драйвер (вроде) работает. А если не ставить - первое обращение отрабатывает, а второе - зависон. На ошибку в драйвере списать сложно - всё, что я делаю - жму кнопку P (продолжить). Такое впечатление, что нужны какие то задержки при работе с устройством, которые и обеспечивает работа под отладчиком. Проблема схемы? Где то не выдержана времянка цикла обмена с устройством?

А если в другом контроллере свои "багофичи"? Писать драйвер по невнятному описанию, а так же догадкам - а потом получать отзыв - а вот на моём супе-пупер совместимом твой драйвер ни хрена не работает. Увольте.

Кстати, кроме как предположение, что с работой по прерываниям у авторов не взлетело - не могу ничего придумать. Проверил, сколько инструкций успеет выполнить Квант от момента подачи команды до момента прерывания по готовности устройства. Достаточно тупой код:


RESET

CLR R0
MOV #2, R1
MOV #100, R2
;на приход прерывания по любому вектору - останов по адресу вектор прерывания+4
10$: MOV R1, (R0)+
CLR (R0)+
CMP (R1)+, (R1)+
SOB R2, 10$
...
MOV #CS.RD,@R1 ; послать команду, начать выполнение

CLR R2
CLR R3
; цикл в цикле, максимум 65536*65536 повторений
32$:
34$: SOB R2,34$
SOB R3,32$

HALT

Этот же код выяснял - а вообще контроллер по прерывания работает? Как оказалось - вполне. А теперь тотализатор - на карте CF (где никакой механики и задержек, связанных с ней нет) - что было в R2 и R3, когда пришло прерывания? Насколько медленен 1801ВМ3 для современных CF?

AFZ
06.02.2018, 20:44
И ещё раз повторяю - мне именно контроллер DW(MW) напоминает IDE, а не ST-506. И - напоминает, а не копирует. :) Историю надо знать. Первый контроллер винчестера для IBM PC AT работал с теми же винчестерами с интерфейсом ST-506. Потом этот контроллер (благо его таки миниатюризировали) запихнули на плату винчестера. Те мелочи, что были на плате винтов ST-506, частично просто миниатюризировались (приводы движков, головок, усилители считывания/записи), частично включены в состав контроллера (управление движком, приводами и пр.).Так родился винчестер IDE. А в писюк долгое время втыкался банальный согласователь интерфейсов с опознавателем старших битов адреса.

Можно считать, что диск с интерфейсом IDE - это тот же диск ST-506, только со встроенным писюшным контроллером дисков этого самого ST-506, несмотря на то, что сам интерфейс ST-506 у них выродился местами до дорожки на плате, а местами и вообще до программной связи разных GPIO микроконтроллера. :)

Это позже к ним начали пихать всякие ультра-DMA, Busmaster'ы и пр., тем не менее, совместимость снизу вверх существует, вроде-бы, до сих пор, любой IDE-винчестер спокойно будет работать в PIO-mode.

Hunta
06.02.2018, 21:01
Историю надо знать
Вот честно - параллельно фиолетово мне сейчас до истории. Задача весьма конкретно стоит. А уже после её решение под пиво можно и повспоминать-похолливарить. До след задачи.

Hunta
09.02.2018, 17:31
YES!!!! Это были всё таки мои косяки :):):):)

Hunta
09.02.2018, 21:52
Запустил BAD :) По расчётам, на 8 гиговой CF будет работать 38 часов :)

- - - Добавлено - - -

Надоело ждать :)
INI WQ:TEST/BAD=[NOAUTO]

Даже интересно, сколько служебной инфы оно запишет - на текущий момент пишет уже минуты три. Как закончит, сфоткаю и выложу

- - - Добавлено - - -

Инициализировал 28 минут (примерно). Щас монтирует.

- - - Добавлено - - -

Монтировал 2.5 минуты. Сейчас считает занято-свободно

- - - Добавлено - - -

Альфа версия драйвера в тепличных условиях :)

15 с половиной МИЛЛИОНОВ свободных блоков :) PIP минут пять считал - сколько же там свободно-занятых блоков :)

http://www.kpxx.ru/KBAHT4C/Железо/WQ

- - - Добавлено - - -

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

Следующий этап - привидение драйвера в порядок и автоопределение размера подключённого носителя (благо это уже в стандарте).

После этого - попробую посмотреть - а нельзя ли сделать работу более быстрой. 32 мб за 5 минут - конечно, в шесть раз быстрее, чем MY, но для CF выглядит странным... Сразу скажу - почему то ОЧЕНЬ большая задержка между выдачей команды чтения и сигналом то устройства, что данные в буфере. На исходных драйверах от разработчиков - тоже самое.

Hunta
10.02.2018, 11:16
Как программировать на MACRO-11 без меток :)


PROCEDURE WQWAIT
BEGIN
PUSH <R1, R0>
THRU R1 := #0
MOVB (R2), R0
IF RESULT IS PL ANDB #CS.RD SET.IN R0 THEN
LEAVE LOOP
END
END
IF R1 EQ #0 THEN
XDTCALL
END
POP <R0, R1>
RETURN
END WQWAIT

hobot
10.02.2018, 12:01
Как программировать на MACRO-11 без меток



HD7>mac HTST
A 1 000000 000000G 000000G PROCEDURE WQWAIT
A 3 000006 000000G 000001 000000 PUSH <R1, R0>
000014 000000
A 4 000016 000000G 000001 000000 THRU R1 := #0
A 6 000026 000000G 000000G 000000G IF RESULT IS PL ANDB #CS.RD SET.IN
R0 THEN
000034 000000G 000000G 000000
A 7 000042 000000G 000000G LEAVE LOOP
A 10 000052 000000G 000001 000000G IF R1 EQ #0 THEN
000060 000000
A 13 000066 000000G 000000 000001 POP <R0, R1>
000074 000000
EQ 0 END WQWAIT
?MACRO-E-Errors detected: 8
DK:HTST=DK:HTST



И вот как это компилировать? И не ПАСКАЛЬ и не АССЕМБЛЕР ) Ни тот ни другой
транслятор такой код не пропустит(!)

Hunta
10.02.2018, 13:02
Потому что PROCEDURE, PUSH, THRU, IF, END, ... - это макросы. Я специально написал MACRO-11 - его ключевое отличие от PAL-11 (если кто то знаком с ним) - МАКРОСЫ ;)

- - - Добавлено - - -

А также POP, LEAVE и XDTCALL :)

Hunta
10.02.2018, 19:08
Пополнение в моём компопарке. Теперь снова есть (в достаточно рабочем состоянии) третий мой комп. Квант-4С - четвёртый :)
http://www.KpXX.Ru/УК-НЦ/Фото Видео

hobot
11.02.2018, 08:40
Потому что PROCEDURE, PUSH, THRU, IF, END,
... - это макросы. Я специально написал MACRO-11 - его ключевое
отличие от PAL-11 (если кто то знаком с ним) - МАКРОСЫ

Что такое PAL-11? И что толку публиковать текст программы который
без комментария как его транслировать (ради теста и проверки хотя бы)
- похоже там либо шапку надо оформлять, либо макросы в текст программы
вставлять. В любом случае - пример (исходник) которые не прогоняется
через транслятор - зачем?


Пополнение в моём компопарке.
с прибытием УК-НЦ, меня всегда радует прибавление ещё одной
рабочей машинки на этом форуме.

Hunta
11.02.2018, 09:43
PAL-11 - предшественник MACRO-11, основное отличие - нет макросов.

Что толку публиковать текст программы, если она не закончена, если она драйвер, если она под RSX - и мало кто её сейчас может проверить - потому что нужно совпадение - у человека есть плата контроллера WQ, у него есть ДВК или Квант с мегабайтом памяти и RSX-11M-Plus на борту? Что бы показать потенциальные возможности MACRO-11 - работающим не в RSX пример напрямую не пригодиться - только как идея.

А для трансляции - да, нужен ещё один файл - DSMAC.MAC - и его можно найти на дистрибутиве RSX-11M-PLUS в каталоге [13,10] - исходники программ DMO и MOU.


прибавление ещё одной рабочей машинки
Насколько она рабочая - пока не совсем понятно - надо ещё очистить клавиатуру, сделать нормальный разъём для подключения БП, а потом подключу контроллер флопов с флопами - и вот тогда уже будет момент истины. Может быть - в следующие выходные.

hobot
11.02.2018, 10:14
Насколько она рабочая - пока не совсем понятно - надо ещё очистить
я представляю - сам получал несколько машинок с хранения. )

Hunta
13.02.2018, 21:21
Привёл (относительно) текст драйвера в порядок - теперь хоть логика работы проще прослеживается. Пока только это.
На новом драйвере скопировал содержимое дискет MY: (огрызок системы, относительно загружаемый) и MY1: (нужные утилиты) на WQ: - с помощью BRU, с проверкой. Ошибок не возникло. На очереди BOO и SAV

- - - Добавлено - - -

Сбрасываю систему (была под эмулятором от Патрона) на CF
Через дискеты :)
Хм. Быстро, однако :)
Но пока ни SAV ни BOO - писюкаю

- - - Добавлено - - -

Сглазил. Ошибка чтения с дискеты. Попытка номер два.

- - - Добавлено - - -

На 27, последней, по закону пакости. Завтра посмотрю, что там - попробую скопировать только сбойнувшее

Hunta
15.02.2018, 20:42
Дискетен меня затрахали, пошёл по пути - снять образ, подцепить образ к эмулятору, сделать, что надо, записать образ обратно на CF, попробовать на Кванте. В целом - быстрее получается :)

С первой попытки программа BOO отработала нормально - система загрузилась в память, а вот SAV /WB - где то косяк. Код проверил, переделал, собрал BOO и SAV, перенёс, щас запишется CF и будет вторая попытка получить загружаемую RSX с WQ

- - - Добавлено - - -

А вот хрен. То же поведение. Думаю.

bigral
16.02.2018, 17:53
А вот хрен. То же поведение. Думаю.

а как вообще положенно диагностировать такие вот ситуации с "кирпич"-ем на выходе? ну есть пультовый режим и есть pdp11gui которім можно снять дамп памяти, а потом что? куда? есть где-то в системе логи чтоли, чтобы глянуть вообще до какого этапа загрузки оно дошло?

И еще вопрос, судя по всему тот контроллер это не обычная пачка регистров (как на msx или zx-spectrum), ну раз он может АЖ ГЕНЕРИТЬ прерывание! значит какая-то ассинхронная работа предпологается (наверно для многозадачных OS). И когда это прерывание возникает?

Hunta
16.02.2018, 18:30
А чего их диагностировать - Квант или завис или вывалился в пульт :) С драйвером несколько проще - есть системный отладчик XDT - как никак, но можно отлаживаться. С начальным загрузчиком сложней - размер 1000(8) байт - только простейший вариант отладочного кода ака команда HALT и рассмотрение регистра и окружения. Голая физическая машина и голова в помощь :) Большую часть ошибок в драйвере нашёл рассматривая код и проигрывая в голове выполнения. Основная проблема - это я неправильно команды WQ подаю или неправильные команды PDP-11 выполняю. Когда исправил последнюю неправильную команду - драйвер заработал сразу :)

Да, умеет генерить прерывания - и достаточно неплохо работает через них в RSX. Надо будет допилить до нормального и драйвер под RT-11

Когда он готов отдать прочитанный сектор (аналог режима PIO в PC) и читать следующий или записал сектор и готов принять следующий сектор. Ну или когда выполнение команды закончил и готов принять следующую.

- - - Добавлено - - -

Ну и до кирпича ему далеко - ресет и вперёд :)

- - - Добавлено - - -

Да, ещё насчёт загрузки RSX. Она или загрузится или нет - образ системы просто тупо читается в память - что кончится раньше - память или образ. Только что созданный грузится утилитой BOO, что бы сделать её нормально загружаемой (с выполнением аналога AUTOEXEC.BAT) - нужно её (систему) сохранить обратно в образ на диске утилитой SAV - она (SAV) после загрузки такой сохранённой системы получает опять управление - и запускает на выполнение несколько команд, одна из которых - запуск стартового командного файла. Она же (SAV) умеет писать начальный загрузчик - тогда получаем аппаратно-загружаемую (с точностью до типа контроллера) систему. Для чтения файла образа утилитой BOO, для записи образа системы утилитой SAV, для загрузки аппаратно используется один и тот же модуль. Его задачи - уметь писать память на диск, уметь читать с диска в память. Вот собственно с ним щас и трах-трах :)

- - - Добавлено - - -

Но, конечно, можно ещё ядро системы попробовать модифицировать - тогда в помощь XDT, возможность сброса в случае "голубого экрана" содержимого памяти на выбранное устройства (если выбрали при генерации системы) и CDA (crash dump analyzer), которая умеет до какой то степени расшифровывать думп памяти - для анализа

Hunta
17.02.2018, 16:19
1. Собрать BOO (кстати, чтение (и BOO) работает) и SAV
2. Скопировать на тестовый образ
3. Пересоздать RSX11M.SYS
4. Отцепить тестовый образ от эмулятора
5. Залить на CF
6. Загрузить систему-посредника с флопа
7. Смонтировать WQ:
8. Инсталлировать BOO с WQ (нафсяк для проверки)
9. Загрузить систему с WQ:
10. Порадоваться, что чтение не сломал
11. Запустить SAV
12. $#$%#$^#$
13. Потупить над кодом
13. Перейти к пункту 1

Hunta
19.02.2018, 21:18
Из новостей
Первая проблема, как оказалось - я пытался запихать в область начальных загрузчиков SAV слишком много начальных загрузчиков (учитывая MW и MY). Эту проблему устранить было легче всего.
Вторая проблема, причины которой пока не понятны - SAV почему то решает, что сохранение (и последующая загрузка) идут с устройства WQ377: (контроллер позволяет подключать только два устройства). Где накосячил... думаю :)

Hunta
20.02.2018, 18:50
Из новостей.

Ну, примерно как с драйвером - начальный загрузчик надо причесать и всё таки понять причину сохранения номера устройства загрузки как 377. Пока хаком просто обошёл её.

Желающие посмотреть создание загрузочной RSX - видео:
http://www.KpXX.Ru/KBAHT4C/Софт/RSX-11M-Plus/Фото Видео/RSX-11M-Plus к жизни 1.mp4
http://www.KpXX.Ru/KBAHT4C/Софт/RSX-11M-Plus/Фото Видео/RSX-11M-Plus к жизни 2.mp4

Второе видео - это собственно процесс создания образа системы, первой загрузки и сохранения с записью загрузчика. Система начала монтировать системный диск (да, на текущей скорости работы драйвера это занимает приличное время) и телефон вдруг прервал запись видео.

Третье видео - это продолжение монтирования системного диска, настройка системы, показ - чего кажет RMD и процесс выключения.

Извиняюсь за размер (особенно первого видео) и качество - снималось с рук и на телефон :)

bigral
21.02.2018, 13:52
Вопрос немного отвлеченный: а как драйвер разруливает параллельные обращения (с двух разных процессов)? Я ж так понимаю нельзя "трогать" диск пока он не выполнил текущую "операцию", но можно наверно трогать другой "контроллер\диск" если они могут одновременно работать не мешая друг другу. И потом по приходу прерывания, надо ж как-то системе сообщить что такой-то процесс может получить свои результаты (его то система наверно заблочила).

Hunta
21.02.2018, 14:35
Не помню как в RT-11, а в RSX - не процесс - задача (task).

В RSX-11M, если мне не изменяет память, один контроллер - один запрос за раз (независимо от количества дисков). Могу ошибаться, ибо давно работал с ней.

В RSX-11M-PLUS возможна поддержка контроллером (и драйвером, если контроллер поддерживает) технологии, которая по-английски называется OVERLAPPED SEEK, а если по простому и по рабоче-крестьянски - один диск может читать-писать, а остальные на этом контроллере в это же время - позиционировать блок головок, что бы потом прочитать по быстрому (ну в пределах вращения диска и ожидания прихода нужного сектора).

Если несколько контроллеров - проблем нет вообще - у каждого своя очередь запросов (и свой вектор прерывания) - так что понять - от кого пришёл сигнал готовности - проблем нет.

Насчёт заблоченности задачи - там тоже есть свои хитрости, что бы не блочить задачу, но так глубоко я не ковырялся. Основной нюанс - если устройство готово передавать данные (ПДП или программная передача) - буфер задачи должен быть в той области памяти, где его ожидает драйвер. Но вроде как возможна промежуточная буферизация - сначала в буфер драйвера.

В случае RT-11 всё (насколько я помню) попроще - потому что в ней запущенные программы не перемещаются в памяти, в отличии от RSX

- - - Добавлено - - -

Немного неправильно написал - не - ВОЗМОЖНА ПОДДЕРЖКА КОНТРОЛЛЕРОМ, а - ЕСЛИ КОНТРОЛЛЕР ПОДДЕРЖИВАЕТ, ТО ДРАЙВЕР МОЖЕТ ПОДДЕРЖИВАТЬ ТЕХНОЛОГИЮ - ну и дальше по тексту

Hunta
21.02.2018, 17:19
Немного отвлёкся от Кванта - привожу в порядок клавиатуру УК-НЦ. Муторное дело :)

Hunta
21.02.2018, 19:30
Ну, одна почищенная и собранная 7007 есть :) Ещё две ждут зачистки, правда одна пойдёт под ЗИП - не все кнопки-пружинки есть.

Hunta
23.02.2018, 14:29
Хм. Похоже устройство 377(8) - это не ошибка, это информация от SAV - номер устройства задан (байт номера > 0) или не задан (байт номера < 0). Если это предположение верно (продолжаю копаться в SAV), то в DEC считали, что больше 128 устройств (номера от 0 до 177) на контроллере не может быть. А так же - если это предположение верно, то код начального загрузчика SAV можно будет сократить на несколько команд.

Hunta
23.02.2018, 21:08
Попробовал воткнуть две CF - одна - в штатном разъёме CF (master), вторую - в разъем IDE - шлейф - переходник на CF (slave). Работает. Но поскольку на второй CF - система с драйверами от разработчика (и трогать я её пока не хочу, а вторую CF я себе пока не купил), а FLX знать не знает такое устройство (но добавить в принципе не сильно сложно), и поскольку драйвер пока не доделан на автосайзинг устройства (а CF - 4 и 8 гигов) - посмотрел через DMP (дамп то есть), что видится-читается.

- - - Добавлено - - -

В дополнение к предыдущему сообщения:

И я сделал не хак, а собственно - почти правильный (в том плане, что там лишние телодвижения есть) код :)

Hunta
24.02.2018, 20:24
Вспомнил, что любой физический диск можно цепануть к VF и при этом ещё и задать альтернативное имя (в какой то теме здесь я это давно нашёл вроде как) - цепанул WQ1: к VF: под именем DU4: - и посмотрел - FLX вполне нормально кажет :)

Hunta
25.02.2018, 10:19
ДА!!!!!!!!!!!

form
25.02.2018, 11:25
задать альтернативное имя
И даже заставить понимать соответствующие QIO можно :)
А в принципе FLX очень легко доводится до понимания любых имен даже не требуя патчей (с оговоркой: хотя там есть свойство dynamic размера, оно привязано к именам - этот фрагмент требует патча).

Hunta
25.02.2018, 11:30
в принципе FLX очень легко доводится до понимания любых имен даже не требуя патчей
Учитывая, что я доделывал, восстановив текст соответствующего модуля, для DW - это не проблема, просто пока не актуально. На очереди - автосайзинг

form
25.02.2018, 11:41
На очереди - автосайзинг
Ждем живую машину в сети :)

Hunta
25.02.2018, 11:53
Для начала надо вентиляторы заменить - настолько гудящее жена не позволит оставить на ночь :)

- - - Добавлено - - -

И ещё - учитывая наличия RTC на плате - неплохо бы сделать аналог TOY :)

form
25.02.2018, 12:01
И ещё - учитывая наличия RTC на плате - неплохо бы сделать аналог TOY
Ну так кто мешает? :)

Hunta
25.02.2018, 12:08
Восстановить текст RT-шной программы, переделать под RSX :)

MiX
25.02.2018, 12:15
И ещё - учитывая наличия RTC на плате - неплохо бы сделать аналог TOY
Там TOY совместим с KDJ11-E?

form
25.02.2018, 12:33
Там TOY совместим с KDJ11-E?
Раз нужно делать, то, видимо, несовместим. 11E и M100 в RSX поддерживается :)

Hunta
25.02.2018, 12:38
Там TOY совместим с KDJ11-E
Если там - это на плате WQ - то хрен её знать, поскольку и про TOY и про KDJ11-E у меня смутное представление. Но кое что мне подсказывает, что общение с ними идёт побитово :) Как, мне насколько помнится - и с TOY - KDJ11-E

- - - Добавлено - - -


11E и M100 в RSX поддерживается
Эти, как минимум, сидят на (скорее всего) нестандартных адресах

form
25.02.2018, 12:43
TOY и про KDJ11-E у меня смутное представление
Там используется один бит в регистре который еще много чем заведует в плате процессора, так, что вряд ли кто-то стал бы совместимую реализацию ради этого городить (хотя в принципе несложно). :)

MiX
25.02.2018, 12:55
Просканировал WQ.
Адреса такие:

177000- 177076 загрузчик
177134- 177156 IDE и возможно RTC


Эти, как минимум, сидят на (скорее всего) нестандартных адресах
По сравнению с чем?
Дековкие адреса как раз стандартные. (ПРО350 не рассматриваем)

form
25.02.2018, 12:56
Дековкие адреса как раз стандартные.
Добавлю лишь, что они стандартные только в комплекте. Отдельно у DEC не было предусмотрено устройств TOY - только как часть модуля 11E (тот же RSX не опознает "совместимый" вариант где просто есть такой регистр - нужно чтобы и модуль опознался и проц был DCJ11).

Hunta
25.02.2018, 13:11
17777000-17777074 - загрузчик
17777076 - общение с внутренним ПЗУ и RTC
17777134-17777156 - выход на IDE


как раз стандартные
Стандартные с чем?

MiX
25.02.2018, 14:03
17777076 - общение с внутренним ПЗУ и RTC
Что за общение с ПЗУ?
Изменяется только последний байт, и то не весь.
177076/000360 1
/000361 2
/000362 3
/000363 4
/000364 5
/000364 6
/000366 7
/000366


Стандартные с чем?
С операционной системой.

Hunta
25.02.2018, 14:29
Что за общение с ПЗУ?
В котором сидит реальный загрузчик (который несколько больше шестидесяти двух байт).


Изменяется только последний байт
Для начала нужно записать правильную последовательность команд, а потом записать или прочитать данные - побитово.


С операционной системой
Стандартные с каким устройством DEC адреса 17777134-17777156?
Потому что если адреса не стандартные - нужно поменять как минимум адреса, а если и устройство не стандартное - то писать свой драйвер или прогу.

form
25.02.2018, 14:51
С операционной системой.
Чтобы быть совместимым "с операционной системой", нужно как минимум чтобы:

у процессора была инструкция MFPT, и возвращала возвращала 5
на шине был регистр 177750 и в нем (& 0360) было значение 0120
на шине был регистр 177526 и в нем 8й бит, собственно, и представлял собой интерфейс TOY


Драйвер NL: в RT-11 исключение - он не проверяет ничего кроме наличия регистра 177526.

Hunta
25.02.2018, 14:59
нужно как минимум чтобы
Уже посмотрел, чего там SAV творит на этапе загрузки. В общем, пока решил не забивать голову - оно оно или не оно оно. По мотивам утилит из RT напишу прогу, которая или устанавливает время в системе из RTC или устанавливает время в RTC из системы. Благо после подключения батарейки время в RTC вроде как нормально тикает.

- - - Добавлено - - -


регистра 177526
А напомни, пожалуйста, от чего это регистр?

form
25.02.2018, 15:01
А напомни, пожалуйста, от чего это регистр?
Дополнительный регистр модуля 11E, кроме TOY управляет онбордной памятью и еще чем-то там.

MiX
25.02.2018, 15:17
В котором сидит реальный загрузчик (который несколько больше шестидесяти двух байт).
Да, в 62х байтах только стартовое меню. Думал что как в плате И4. :)


Для начала нужно записать правильную последовательность команд, а потом записать или прочитать данные - побитово.
Что за команды?


Стандартные с каким устройством DEC адреса 17777134-17777156?
Причем здесь WQ? Речь шла о KDJ11-E (которая в RSX поддерживается)

- - - Добавлено - - -


на шине был регистр 177526 и в нем 8й бит, собственно, и представлял собой интерфейс TOY
По описанию вроде как больше 99лет не может считать.

form
25.02.2018, 15:24
По описанию вроде как больше 99лет не может считать.
Число больше 99 - да, не может. Но годы больше 99 поддерживаются (нужна прошивка последняя).
RT-11 (NL) поступает тупо: просто считает, что годы бывают [20]00-[20]71 и [19]72-[19]99 - этого вполне хватает поскольку поле даты в RT-11 закончится в 2099 году (ну чуть-чуть не хватает). В RSX (и последней прошивке) алгоритм хитрее: там используется день недели, чтобы высчитать точное значение года, и этого хватает до 3000-ых годов :)

Hunta
25.02.2018, 15:49
Речь шла о KDJ11-E
Исходно - речь шла о плате под названием Контроллер IDE для QBUS (ДВК, Электроника). Которая не стандартная и в продуктах DEC (MENTEC) явно не поддерживается.

- - - Добавлено - - -


RSX (и последней прошивке) алгоритм хитрее: там используется день недели, чтобы высчитать точное значение года, и этого хватает до 3000-ых годов
Такое впечатление (пока не подтверждённое, надо поэкспериментировать), что здесь нечто похожее - при инициализации можно указать день недели. До твоего ответа я тупил - чё ваще за? Теперь, похоже, понятно.

- - - Добавлено - - -


Дополнительный регистр модуля 11E, кроме TOY управляет онбордной памятью и еще чем-то там
Э... А причём здесь NL?.. Полез смотреть текст драйвера :)

form
25.02.2018, 15:51
А причём здесь NL?.. Полез смотреть текст драйвера
Начиная с RT-11 V5.6, драйвер NL при инсталяции проверяет наличие регистра 177526, и если он есть - вычитывает оттуда дату-время и устанавливает в системе :)

Hunta
25.02.2018, 16:16
Начиная с RT-11 V5.6
Да, спасибо, уже увидел. Прикольно прикололись ребята :)
И слегка (первое впечатление) напоминает действия с платой WQ.

- - - Добавлено - - -


Что за команды?
Для разных действий - разные.
В меню-загрузчике можно посмотреть для вычитки внутреннего ПЗУ.
Сейчас восстанавливаю текст программ для работы с RTC

MiX
25.02.2018, 16:21
этого вполне хватает поскольку поле даты в RT-11 закончится в 2099 году
Полез в виндусе проверять, оказывается там тоже до 2099 можно выставить, после идет 1980год.
:)

form
25.02.2018, 16:53
там тоже до 2099 можно выставить
Поди все дело в пцшном ртц у которого те же ограничения :)

Hunta
27.02.2018, 12:55
Ошибся. Правильно так:

17777000-17777074 - загрузчик
17777076 - общение с внутренним ПЗУ
17777134-17777156 - выход на IDE

17777542-17777544 - общение с RTC

Пока не понял, насколько похожи RTC от платы WQ и KDJ11-E, но адреса не совпадают

form
27.02.2018, 13:06
насколько похожи RTC от платы WQ и KDJ11-E, но адреса не совпадают
Для похожести достаточно одинакового способа общения: заслать 64 битный код attention, считать/записать 64 бита данных. Метод чтения/записи может быть разный. У KDJ11-E все делается через 8й бит 177526, у Mentec чтение выполняется из 173010 (бит 0), запись 0 выполняется чтением 173000, а запись 1 чтением 173002. Но в остальном принцип одинаковый :)

Hunta
27.02.2018, 13:25
Поспешный вывод.
Русская версия программы (TD3) работает через 177542 и 177544, английская (TD3E) через 177076. Щас включу-проверю - есть ли у меня адреса 177542 и 177544.

Восстановление текста закончено (в плане - EMT заменены на имена вызовов RT, абсолютные адреса на метки, файл трансляцию-сборку и проверку на идентичность SAV проходит. Кроме того, объединены тексты TD3 и TD3E.

- - - Добавлено - - -

17777542 и 17777544 на шине нет. Из стартового файла запускается английская версия - дату время считывает и выставляет в систему без ошибок. Русская версия ожидаемо вылетает при первом обращении к 177542

- - - Добавлено - - -


заслать 64 битный код attention, считать/записать 64 бита данных
Посмотрел на NL - пока похожести не ощущается...

form
27.02.2018, 18:16
Посмотрел на NL - пока похожести не ощущается...
Там именно так. Смотрится по уродски - да, но все что он делает - шлет побитово 64 бита attention и потом побитово читает.

- - - Добавлено - - -

Лучше всего смотреть LB:[12,10]TIMOV.MAC из M+ V4.6 - там код выглядит яснее, а заодно показано как он работает и с E и с M :)

Hunta
27.02.2018, 21:07
Я и там уже посмотрел - всё равно нет ощущения.
Пока разбираюсь в логике работы прог из RT

- - - Добавлено - - -

Не считая общения с контроллером (оно то от системы не зависит) - с логикой разобрался. Теперь доделать системно зависимое под RSX

Hunta
28.02.2018, 21:56
Первый вариант TDC (time date control program), транслируемый под RT-11 и RSX-11M(-PLUS) (единый файл, условная трансляция), готов. Функционал аналогичен TD3E (только выставляет дату в систему). Минут через 10-15 выложу ссылки на фото процесса отладки и видео работы на старте системы. Как ни странно, но каких то больших доделок под RSX не было, благодаря формату хранения даты - слово года, слово месяца, слово дня, слово часов, слово минут, слово секунд (плюс два слова, аналога который в RTC нет - слово тиков и количество тиков в секунду). Гораздо проще по сравнению с RT-11 :)

- - - Добавлено - - -

Гы :) Техническая задержка с видео - переключиться на видео на телефоне переключился, а записать кнопку никто не нажал :) Щас...

- - - Добавлено - - -

http://www.kpxx.ru/KBAHT4C/Софт/RSX-11M-Plus/Фото Видео/RTC.jpg
http://www.kpxx.ru/KBAHT4C/Софт/RSX-11M-Plus/Фото Видео/RTC.mp4

На фото - процесс отладки (шоб быстро вывести содержимое регистров, в которых занесено значение считанного времени-даты, выдал IOT, но по правильному надо было BPT). Рекомендую обратить внимание на дату :)
Ну а видео - процесс загрузки
И как обычно - пардон за качество - телефон...

- - - Добавлено - - -

То ли ближе надо телефон к экрану, то ли дальше.. Надо будет поэкспериментировать, что бы понять, как качественней снимать...

- - - Добавлено - - -

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

Hunta
04.03.2018, 20:50
На корпусе - Квант, плата СЭМЗ :)

Hunta
05.03.2018, 18:25
Опять отвлёкся от Кванта, что бы повозиться с УК-НЦ.

Результат - два более менее работающих аппарата - КВАНТ-овский и СЭМЗ-овский варианты.

На СЭМЗ можно сказать - идеальное видео, на КВАНТе - похуже.

Работа с флопами - СЭМЗ - на тройку, КВАНТ - на двойку. То ли контроллер дурит, то ли надо чистить контакты слотов.

На СЭМЗ все мелкосхемы для С2, он изначально без блока питания - бум делать под ATX.

На Кванте нет мелкосхем для С2, он изначально без блока питания - но к нему добрые люди приделали ATX. Думаю допаять нужное для С2 и доделать под ATX (чтоб +12 -12 в подавалось)

Ещё один КВАНТ-овский - похоже в доноры - даже звука нажатия клавиш нет.

Ну и надо дочищать от пыли-грязи, хотя некоторое количество её я уже... Основной геморрой - чистка клавиатуры. Сами платы можно душем :)

Hunta
08.03.2018, 13:05
Насколько шире? Первая и посдедняя колонки вылезают за края экрана? Тогда надо перепаивать конденсатор(ы). Похоже, тебе достался моник от ЕС1841, у него сделано по-телевизионному, обратный ход 24 мкс, а не 12, как надо для ДВК. Рулится это емкостью конденсатора с коллектора строчного транзистора на землю. В этом (http://http://hmelectro.ru/schematics/monitor/electronica_mc6105) архиве две схемы, первая, похоже, для ДВК/УКНЦ, там это параллельно включенные С28, С31 по 0.01 мкф; вторая - для ЕС1841, там это С45, 0.047 мкф. Конденсаторы там должны быть плёночные, довольно высоковольтные, не менее 630 В, а то и 1 кВ.

AFZ, спасибо за подсказки!
Сегодня руки добрались до монитора, впаял вместо С45 (схема, почти наверняка, вторая - судя по маркировке деталей) - который, кстати, оказался 0.033 мкф - два в параллель 0.010 мкф (2 кв хватит? ;) ) - картинка стала поуже, после всяких регулировок (в том числе катушку на кинескопе слегка повернул - а то горизонт был завален :) :) :) ) сделал вполне себе результат:

http://www.kpxx.ru/KBAHT4C/Железо/МС6105/Подстройка размера 1.jpg
http://www.kpxx.ru/KBAHT4C/Железо/МС6105/Подстройка размера 2.jpg

Hunta
09.03.2018, 22:09
Сегодняшний день тоже посвящён Кванту :) Постараюсь доделать автоопределение размера носителя в драйвере :)

- - - Добавлено - - -

Вроде получилось.
http://www.KpXX.Ru/KBAHT4C/Софт/RSX-11M-Plus/Фото Видео/Автоопределение параметров WQ.jpg
Для проверки скопирую систему на WQ1:, попробую загрузиться и посмотрю, что получится :)

- - - Добавлено - - -

В догонку. У меня пока только две CF - 4-х и 8-и гиговые. В данных драйвера, описывающих устройства CF заложены описания 8-и гиговой (не правильно, но так легче было на этапе написания-отладки драйвера). Теперь драйвер считывает информацию с устройства и прописывает правильные значения :) Потом надо будет проверить и вариант, когда одна CF не вставлена. А так же загрузка с primary и slave подключений.

CodeMaster
09.03.2018, 23:06
http://www.KpXX.Ru/KBAHT4C/RSX11MPlus/Сессия02
.

404 - File or directory not found.

Hunta
10.03.2018, 01:33
CodeMaster, я немного упорядочил хранение файлов, старые ссылки надо поправить. Но входная точка осталась той же - http://www.KpXX.Ru/KBAHT4C

- - - Добавлено - - -

Надо попробовать что то сделать со скоростью обмена информации с CF. Вроде как 39 мб - не много, а с одной карты на другую копировалось... В общем, сегодня не дождался, завтра утром доведу эксперимент с драйвером до конца :)

- - - Добавлено - - -

Прошерстил ссылки в этой теме - вроде все поправил. Если что-то упустил - пишите :)
Суббота - с утра запущу проверку работы системы с двумя CF разного размера и процесса загрузки.
Но в целом день будет посвящён УК-НЦ. Как и воскресенье, наверное.
А понедельник-пятница, в силу специфики работы на следующей неделе - скорее всего скрещиванию Циклона и PDP-11 :)

Hunta
10.03.2018, 10:11
Попробовал загрузиться, когда единственная карта стоит на slave канале. Если память не подводит, то ведёт себя как и PC - slave без primary не работает :)
Загрузился, когда стоит только одна карта (в primary) - теперь правильно показывает - WQ1: Offline.
Через пару минут запущу копирование

Hunta
10.03.2018, 19:04
Где то в драйвере, похоже, накосячил. При попытке скопировать с WQ на WQ1 примерно минут через 40 сваливается по неверной инструкции. Копирнул в эмуляторе - нормально прошло. Щас посмотрю - что с загрузкой...

- - - Добавлено - - -

И это я ещё не проверял обработку ошибок от устройства...

MiX
10.03.2018, 19:41
Копирнул в эмуляторе - нормально прошло.
Что за эмулятор с диском WQ?

Hunta
10.03.2018, 20:20
MiX, не, это не эмулятор с WQ, это я в simh проверил - нет ли каких то ошибок в файловой системе.

В продолжение. Со скопированной в simh карты, вставленной в slave порт - загрузка прошла успешно. Думаю, как выловить причину ошибки.

Hunta
11.03.2018, 14:52
Ещё раз прошёлся по ссылкам - переименование файлов, что бы можно было понять (на фото-видео) - что там.

Про копирование - похоже, проблема не в драйвере. По тому, что в системном стеке - такое впечатление, что работа с датой-временем вызывает вылет...

Запустил копироваться без установки даты времени.

- - - Добавлено - - -

Нет, всё таки ввод вывод - от BRU
IO.RLB
В процессе расшифровки запроса

- - - Добавлено - - -

Чтение с WQ:
Длина буфера - 17000

- - - Добавлено - - -

Странный запрос... читаем с lbn 0

- - - Добавлено - - -

Код в BRU нашёл, но... Это библиотечная процедура.. Ищем хвосты дальше...

Hunta
03.05.2018, 19:14
Сегодня вечером в очередной раз добрался до Квант-а. Приехали микросхемы (одна - на замену и кучка - ЗИП в запас) для контроллера IDE WQ. Проверил - RSX сказал ГУТ и загрузилась - прерывания работают (в прошлый раз или сигнал прерывания не проходил или вектор не тот (но вот это врят ли) или чего ещё).
А заодно проверил купленный на барахолке КМ1801ВМ3. С ним рискнул - и не прогадал - рабочий проц. Теперь в запасе 4 проца (знал бы - в своё время купил бы все, которые в Электронике продавались. И не только его).

bigral
03.05.2018, 20:16
А можно ли доработать HX так чтобы rsx запустить с\через HX? как это умеет RT?

p.s. Скорее всего Patron этим заниматься не будет по той же причине что и другие (ни у кого, по сути, кроме как у Form-а нету знаний по RSX, а он почемуто не признает HX полезным).

Hunta
03.05.2018, 20:31
А можно ли доработать HX
Тут скорей не HX дорабатывать надо, а писать драйвер и модуль для SAV под HX


ни у кого, по сути, кроме как у Form-а нету знаний по RSX
Ну это несколько приувеличение :)

xolod
03.05.2018, 23:11
Исходно.

Имеем эмулятор флопов SFR1M44-U100K (и иху подобные). Напрямую с контроллером MY не работает (долбанные 720 у них и 800 у нас). Раскручиваем, заглядываем внутрь и видим... тадададам! - STM32F105. До перепрограммирования которого можно (и нужно!) добраться :) То, что можно - https://cortexamigafloppydrive.wordpress.com/


Есть вот такой проект https://github.com/keirf/FlashFloppy
Он относительно молодой, и в нем нет пока поддержки FM, но он полностью открытый! Можно попробовать совместными усилиям его приспособить для наших целей.

S_V_B
04.05.2018, 05:41
Я делал с этой прошивкой:
https://github.com/keirf/FlashFloppy/wiki/Firmware-Programming

понимает формат HFE, а в нем можно любую дискету сделать.
также интересные моды, подключается OLED и вместо номера выводит названия файла образа и др.

Hunta
04.05.2018, 06:03
xolod, ответил в личке про него же :):):) Всё упирается в свободное время...

xolod
04.05.2018, 21:51
Вот код для обмена с хостом floppy emul
https://github.com/keirf/FlashFloppy/blob/8b93f361518fb8bd7de0c8a13cb506b2f3139b9f/src/image/da.c

Hunta
05.05.2018, 00:16
Засада с платой WQ. Адреса регистров поменять можно, адрес вектора - фигушки...

MM
05.05.2018, 02:37
адрес вектора - фигушки...
МГТФ в помощь.
При сигнале RPLY=0v, IAKI=0v, DIN=0v, SYNC=+5v можно выдавать дополнительные биты вектора прерывания. Сигнал RPLY следует буферизировать.

Hunta
05.05.2018, 09:46
МГТФ в помощь
Да это понятно..

выдавать дополнительные биты вектора прерывания
Есть подозрение, что зашит где то в РЕ3 - придётся слегка схему восстановить.
Должны прислать содержимое РЕ3, может, удастся без скальпеля над платой

- - - Добавлено - - -

Я уже как то переделывал адреса и вектор контроллера КМД - опыт есть (правда, даааааааавнооооооооо это было)

Hunta
06.05.2018, 12:50
Генерирую RT-11 v5.4 под Квант

Hunta
06.05.2018, 22:10
Сгенерировал RT-11 v5.7

Пока обобщённый вариант.

Сделал загрузочные образы (доступен как классический вариант .dsk, так и .hfe под Готек) для MY и MZ.

Немного позже выложу и дам ссылку.

В дальнейшем (всё таки делал генерацию незнамо когда - сходу сложно вспомнить всё) сделаю варианты (особенно для УК-НЦ) пооптимальней. А в вариант для Квант-а добавлю драйвер для WQ:

Теоретически могу принять некоторые заявки на доработку систему, НО! Никакого софта, кроме как имеющегося на официальном дистрибутиве RT-11 v5.7 добавляться не будет - можете добавить сами - на свой страх и риск. От меня - только родной софт.

Пока прицел использования этого диска - система или система + разработка на MACRO-11

- - - Добавлено - - -

Системы от меня
http://www.KpXX.Ru/KBAHT4C/Софт/SystemDisks

Подкаталог - название системы и версия, в подкаталоге - сборки с последовательно увеличивающимися номерами. Возможно, для сборки будут комментарии - текстовый файл - полное имя сборки + .txt

Пока так, потом посмотрим

Hunta
14.05.2018, 20:33
Вчера начал доделку-переделку драйвера WQ под RT-11 (в первую очередь под XM, потом попробую поиграться с работой по прерываниям. Первая попытка ожидаемо не ожила :)
Сегодня не получилось - с женой шампанское пьянствовали :)

Hunta
24.06.2018, 20:41
Дистрибутив и сгенерённая система под ДВК с 256 кб памяти и винчестером 615х4х16
http://www.KpXX.Ru/KBAHT4C/Софт/SystemDisks/RSX-11M-Plus v4.6
Первый блинкомом. Я продолжаю работать над этим :)

Hunta
02.07.2018, 20:46
Полуплата 1801ВМ3+4М ОЗУ добралась до меня. Включать пока не пробовал - есть некоторые вопросы к автору - чтоб ненароком не запороть :)

Hunta
03.07.2018, 06:26
С новой платой на борту http://www.KpXX.Ru/KBAHT4C/Железо/Полуплата

Hunta
03.07.2018, 21:29
Блин... То ли платы WQ полуподохли, то ли опять непропай вылез..
Плата сама по себе рабочая - с дискет RT и RSX грузиться и работают (RSX повисела примерно с полчаса - вроде не грохнулась - дальше не стал ждать) вроде как без проблем. Слегка поиздевался над ними, без успеха :)
В выходные буду пытаться оживить WQ

Hunta
23.10.2018, 19:15
Теперь в коллекции для КВАНТ-а есть МС1201.01 (вроде работающая), МС1201.02 (вроде работающая), КСМ (пока не знаю), КГД (пока не знаю)

bigral
24.10.2018, 18:25
МС1201.01 (вроде работающая)

это ж дикий раритет! есть хорошее фото этой платы?

Hunta
24.10.2018, 18:42
Не знаю, насколько раритет, но на барахолке пришлось повоевать на аукционе.
Щас выложу.
Хорошие в выходные сделаю

- - - Добавлено - - -

http://www.KpXX.Ru/KBAHT4C/Железо/МС1201.01

bigral
24.10.2018, 19:21
Не знаю, насколько раритет, но на барахолке пришлось повоевать на аукционе.
Щас выложу.
Хорошие в выходные сделаю

- - - Добавлено - - -

http://www.KpXX.Ru/KBAHT4C/Железо/МС1201.01

это ж по идее к этой плате подключается ГМД-70 дисковод, интересно совместим ли он с DEC-овским RX01 эмуль которого запилили уже давно http://www.chdickman.com/rx02/

Hunta
24.10.2018, 19:28
это ж по идее к этой плате подключается ГМД-70 дисковод
Ну по идее да.
Не знаю как ГМД-70, но на СМ-1600 был 8-ми дюймовый (модель не помню) - стандартные драйвера работали без проблем. Но в отличии от DEC-овского наш умел форматировать - на коленке была собрана прога, которая это творила.

MiX
24.10.2018, 19:35
Хорошие в выходные сделаю
На барахолке же есть от продавца - http://ipic.su/7yBGR0

Hunta
24.10.2018, 19:44
На барахолке же есть от продавца
Ну что сказать.. Ступил :)

Hunta
15.11.2018, 20:03
Квант-4С на 1201.02 - это звучит гордо!
А на 1201.01 - ещё гордее :)

Korchagin
15.11.2018, 20:16
Как Вы смотрите на Квант в составе М2+П3+В1+Консул+ПЛ-80+FS-1501? :biggrin: Машина Судного Дня.

Hunta
15.11.2018, 20:21
Как Вы смотрите на Квант в составе М2+П3+В1+Консул+ПЛ-80+FS-1501
Я не смотрю, я дико завидую :):):)
M2 понятно что, а что такое П3 и В1? :):)

AFZ
15.11.2018, 20:30
Как Вы смотрите на Квант в составе М2+П3+В1+Консул+ПЛ-80+FS-1501? Машина Судного Дня. Я на такой начинал. А еще В21 забыл плюс ПЛ-150М.


M2 понятно что, а что такое П3 и В1? П3 - память 16К слов на 565РУ3-х. В1 - плата для подключения ЭПМ "Консул" и фотосчитывателя FS1501.

Hunta
17.11.2018, 16:35
В наличии оказалось три варианта платы МС 1201.02
Фоты - по адресу http://www.KpXX.Ru/Железо/akaPDP (в каталоге http://www.KpXX.Ru/Железо/akaPDP/Foto - все подряд)

AFZ
17.11.2018, 17:19
Мне попадались платы 3-го варианта (от ДВК-3), в которых, вместо двух рядов РУ6-х стоял один ряд РУ5-х. И что-то там было заперемычено. Подробностей не помню.

Hunta
17.11.2018, 17:39
в которых, вместо двух рядов РУ6-х стоял один ряд РУ5-х
Видел и такой вариант

Hunta
31.12.2018, 16:47
Теперь есть и МС 1201.03 :)

Так что теперь есть все четыре варианта плат МС 1201 :)

Теперь хочется ещё одну-две .03-их как резерв. Ну и если будут варианта плат, которых у меня нет. Но есть одна проблема - тугрики....

Hunta
27.01.2019, 22:05
Когда устаю от текущего проекта или в нём творческий кризис - занимаюсь другим.
Тема этих выходных - восстановление текста ПЗУ - для других проектов.
До конца код ещё не причёсан и не у всех меток внятные имена, но это в процесс. Как только закончу первый проход причёсывания (с метками - как получится) - выложу остальные файлы, нужные для пересборки кода ПЗУ

http://www.kpxx.ru/KBAHT4C/Софт/Пзу

Проблемы с кодировкой - позже попробую решить, надо руками выставить

xolod
27.01.2019, 23:54
А как можно узнать коды останова в пульте при старте 1201.03?

AFZ
28.01.2019, 05:42
Нажать клавишу М. Не помню, как 134-я, но большинство ДВК-ншых пультовых программ выдают причину останова текстом. Э-60 - цифровым кодои.

AFZ
28.01.2019, 15:27
Когда устаю от текущего проекта или в нём творческий кризис - занимаюсь другим.Ты бы, в порядке отдыха глянул на FATFS и связанное с ней. Типа ТЗ я тебе выложил.

Hunta
28.01.2019, 16:12
глянул на FATFS и связанное с ней
Как раз в прошлые выходные с ней и игрался

Hunta
29.01.2019, 20:21
Пока ужинал, немного попричёсывал код ПЗУ 134

AFZ
30.01.2019, 06:01
А зачем? Из чистого незамутнённого любопытства? Поскольку, если хочешь что-то переделать (добавить), то имеет смысл возиться с 377-й, а не с 134-й. А если хочешь вникнуть в какие-то детали, так Патрон, при написании эмулятора, уже все разобрал, спроси у него. Или загляни в архивы тех тем, в которых это обсуждалось...

Hunta
30.01.2019, 06:18
имеет смысл возиться с 377-й
Дизассемблирую и 337

А если хочешь вникнуть в какие-то детали
то предпочитаю свой взгляд

Hunta
31.01.2019, 19:33
Первый проход завершён, файл обновлён. Теперь проверка ссылок - код или данные. Особенно в тестах, где работает в том числе вариант - переслать из режима HALT в нормальный режим блок из ПЗУ и запустит код в нормальном режиме. Там используются не только ячейки памяти 17000-17776 (77000-77776), но и диапазоны 14000-14776 и 15000-15776 (из того, что заметил). Но это по мере работы с кодом - в выходные другие дела есть.

Korchagin
01.02.2019, 12:33
Простите, это на макроассемблере текст 134 ПЗУ? Как будто смесь бейсика с паскалем текст выглядит.

Hunta
01.02.2019, 13:40
это на макроассемблере текст 134 ПЗУ
Это на макроассемблере :) Ключевое слово - МАКРО :) То есть плюс ещё набор макросов структуированных операторов (насколько я в курсе - изначально от DEC плюс немного моего).

Позволяет (почти) избавиться от меток (особенно локально-одноразовых) и легче отследить логику работу программы.

Ну и - с одной стороны первоначальный разработчик видимо - любитель Паскаля, а с другой - я, когда добавлял своё - был любителем Модулы-2 :)

Но в силу того, что а) на имена макросов накладываются определённые ограничения и б) использование макроса - это всегда ИМЯ_МАКРОСА ЗНАЧЕНИЕ_ДЛЯ_ПАРАМЕТРА1, ЗНАЧЕНИЕ_ДЛЯ_ПАРАМЕТРА2, ... или ИМЯ_МАКРОСА ИМЯ_ПАРАМЕТРА1=ЗНАЧЕНИЕ, ИМЯ_ПАРАМЕТРА2=ЗНАЧЕНИЕ, ... для оператора := первоначальным авторам пришлось извратиться - сделать что то типа бейсиковского LET

По любому, мне так легче понять логику, поэтому в таком варианте. Ещё немного причешу код и выложу файлы самих макроопределений

- - - Добавлено - - -

Вдогонку

Ну и поскольку всё таки ни Паскаль, ни Модула и ни Бейсик - логические выражения тоже отличаются некоторой.. своеобразностью :)

Не помню, как было во времена, когда только начинал использовать, но сейчас за пару дней переделки начал переделывать-писать практически влёт-без-раздумий :)

MM
01.02.2019, 14:07
134 писали из нескольких блоков разных авторов, соединяли DESSoм и ручным перебором текста ( в DESS ).
*
Если не сложно - пожалуйста, выложите 134-ю в минимальном патче - что бы все адреса СОЗУ были в диапазоне 017000-017777.
*
Очень бы неплохо было бы пропатчить Т4 ( тест ДОЗУ ) на предмет :
1.При запуске - ввод к-ва проходов, максимум не менее 377 ( 8 ).
2.При ошибке должен воспроизводится звонок не менее 2 сек ( порядка 20 кодов 000007 с паузой 0.2 сек ).
3.При конце каждого цикла теста ( прохода ) должен быть одинарный звонок ( код 000007 ).
4.Индикация текущего номера прохода.

Hunta
01.02.2019, 14:25
что бы все адреса СОЗУ были в диапазоне 017000-017777.
Буду иметь ввиду, но сделать это можно будет после полного анализа кода, что бы найти и (возможно) не явные ссылки на этот диапазон, а пока не сильно много свободного времени.


Очень бы неплохо было бы пропатчить Т4 ( тест ДОЗУ ) на предмет :
В текущем варианте содержимого ПЗУ практически нет свободного места (учитывая, что код вплотную подошёл к 14000, а адреса в диапазоне 14000-14776 и 15000-15776, далеко не все, конечно, задействованы в обычном режиме - при тестировании и загрузке. Так что для начала код нужно причесать, полностью отследить логику и хорошо отрефакторить-переписать, в частности - выделить блоки командного монитора, загрузчиков, тестирования и общие подпрограммы. Только после этого я буду что то менять. Когда всё это получится - не знаю.

На очереди - ПЗУ 377 с доведением кода до примерно такого же уровня, как сейчас 134

AFZ
02.02.2019, 14:16
а адреса в диапазоне 14000-14776 и 15000-15776, далеко не все, конечно, задействованы в обычном режимеНемного не так. В ПЗУхе просто нет этих адресов. То есть, если считать, что у РЕ2 4 банка по 4000 адресов каждый, то в 134-й, как и в 377-й последний банк отключен. В ней 3К слов (6К байт). Именно поэтому, если все остальные дополнительные прошивки за дополнительные деньги (через кооператив, или что-то в том же духе) распространялись в РР1, то 377-я только в РЕшках.

А зачем? Все просто. Пультовой программе необходимо некоторое количество рабочей памяти, а где ее взять? В ВМ1 и ВМ2 памяти ставилось 64К, а нужны из них только 56К, вот, в этой лишней памяти и размещали рабочие поля пультовой программы. Но у ВМ3-го лишней памяти нет, если там, конечно, не 4М на борту. Поэтому решили, что пультовой программе хватит и 6К, а оставшиеся 2К отдали под ОЗУ пультовой программы. Потом оказалось, что пульту хватит и 512 байт, туда сунули две РУ8, и вперед, причем старшие разряды адреса, вроде-бы, просто бросили, из-за чего эти 512 байт (1000) повторяются на адресах с 14000, 15000, 16000 и 17000. Это в адресном пространстве HALT-mode.

Hunta
02.02.2019, 14:31
Немного не так
Немного так. Не учитываешь, что часть кода ПЗУ работает в HALT режиме, а часть - копируется в основное ОЗУ и отрабатывает там. Текст есть - возьми и посмотри сам.

все остальные прошивки распространялись в РР1
Не знаю, что имеется ввиду под словом ВСЕ, но если ты имеешь ввиду, что на РЕ доступна только 377, а ВСЕ остальные - ТОЛЬКО на РР - то уже как минимум - ошибаешься. Мои 1201.01 и .02 и даже .04 - на РЕ2

AFZ
02.02.2019, 15:17
Немного так. Не учитываешь, что часть кода ПЗУ работает в HALT режиме, а часть - копируется в основное ОЗУ и отрабатывает там. Текст есть - возьми и посмотри сам.Это-то понятно, тесты, загрузчики и пр. действительно копируются, но какое отношение это имеет к HALT-mode?


Не знаю, что имеется ввиду под словом ВСЕ, но если ты имеешь ввиду, что на РЕ доступна только 377, а ВСЕ остальные - ТОЛЬКО на РР - то уже как минимум - ошибаешься. Мои 1201.01 и .02 и даже .04 - на РЕ2То, что продавалось отдельно, как расширение - улучшение - дополнение, это когда Квант начал пытаться продавать софт. Прошивки 183, 184, 093, 279, еще что-то.

- - - Добавлено - - -

В этом же ряду лежит и 377, но она, в отличие от остальных, в РЕшке, остальные - в РР1.

Hunta
02.02.2019, 15:23
какое отношение это имеет к HALT-mode?
Для особо внимательных

адреса в диапазоне 14000-14776 и 15000-15776, далеко не все, конечно, задействованы в обычном режиме - при тестировании и загрузке

AFZ
02.02.2019, 15:36
Ну и что? Какое отношение это имеет к вот этому?

В текущем варианте содержимого ПЗУ практически нет свободного места (учитывая, что код вплотную подошёл к 14000 За 14000 ПЗУ просто нет. Туда нельзя положить код вне зависимости от того, заняты эти адреса холт-модовым ОЗУ или там как-то образуется основное ОЗУ.

Кстати, немного не по теме а именно - о полезности FAT'а. Тут вот в соседней теме наш коллега Gavrilov_S мучается с CF-кой без ФАТа. Сравни всё это с простым "залил на писюке чей-то готовый .DSK-файл, воткнул носитель в ДВК/УКНЦ и вперед!"

Hunta
02.02.2019, 16:03
Ну и что? Какое отношение это имеет к вот этому?
Сам то себя понимаешь? Дальше на эту тему продолжать диалог стало не интересно.


наш коллега Gavrilov_S мучается с CF-кой без ФАТа
Что то у меня никаких проблем с заливкой на CF чего угодно и без FAT-а нет (особенно учитывая, что для меня основная система - не RT и нет ограничения в 32 мб, но даже в этом случае - проблем нет). Кстати, в RSX есть возможность включения в драйвер поддержки СТАНДАРТНОЙ таблицы разделов, что так же упрощает логическое разбиение носителя на части - пусть и не столько удобное, как при использовании FAT-а, но у решения с FAT так же есть свой минус. Наверное, даже два, но второй минус будет и при другой файловой системы, а первый - он родной именно для FAT.

Так же это говорит о том, что а) нужен - опыт или инструкция - и - правильные руки и б) перемудрили создатели контроллера для УК-НЦ - поэтому я особо и не стремлюсь с - заиметь данный контроллер, потому как с моей точки зрения он слишком криво сделан и при любом раскладе мучения будут.

И эта тема тоже стала не интересна.

Hunta
03.02.2019, 14:43
Как для проверки качества дизассемблирования, так и исполняя просьбу - выложил файл 134-017xxx-ram.bin.

Переделки в нём:

1. Адреса ОЗУ HALT режима - в диапазоне 017000-017777
2. В тесте КС ПЗУ (T1) при несовпадении КС будет показано вычисленное значение КС (я это использую для занесения правильного значения КС в ПЗУ :) )

На первый взгляд - ПЗУ работоспособно - как минимум, тесты проходит все. Если будут замечены некорректности работы - поправлю.

Ну и выложен обновлённый текст, правда изменений там немного - в основном - нахождение обращений в ОЗУ HALT и обычного режимов и замена на именованное обращение при необходимости.

Ввод количества проходов теста в варианте 100T1 ( 100(8) раз повторить T1) с одной стороны вроде не требует большого количества кода, а с другой стороны - всё равно в свободное место не влезет :(

Ну и в силу того, что свободного места в ПЗУ крайне мало (а в варианте с показом КС стало меньше) вряд ли в этом варианте ПЗУ буду вносить какие либо ещё изменения и только, если они не потребуют доп места (как, например, с пунктом 1).

MM
03.02.2019, 15:15
...в ПЗУ...
А никак нельзя его проверить в железе ?

Hunta
03.02.2019, 16:28
А никак нельзя его проверить в железе ?
Я проверил в эмулятор Патрона, но в железе пока, увы, никак.

Хотя я и думаю приспособить ваш эмулятор под это дело, но это не в ближайшее время и учитывая, что живых 03 04 у меня пока только по одной штуке - трогать их паяльником (выпаять ПЗУ и впаять панельку) я не рискну.

04 есть вторая, но она не выдержала хранение, а до появления осциллографа (надеюсь, через месяц-два) я не рискну её чинить. Возможно, удастся купить ещё живую 03-ю (или хотя бы под восстановление 03 04), но это тоже не раньше, чем через пару месяцев.

Кстати, есть мысль купить у Вас ещё пару-тройку плат эмулятора - тоже для экспериментов над содержимом ПЗУ :) Но тоже не сейчас, хотя и не через два месяца - я напишу тогда.

MM
03.02.2019, 20:34
...трогать их паяльником...
Методика от Вредителя ЭВМ :
1.Нужно 2 паяла - один 80 ватт с заводским жалом, другой - 40 ватт с жалом, заточенным как шило ( острие - 0.3 миллиметра, не больше ).
Гибким тонким проводочком соединить корпуса паяла с общим истязаемой платы.
2.Выпайка. Инструмент : 80-вт паяло, ~30 грамм припоя ПОС-61 ( доп. замена ПОС-63 ), спирто-канифольный строго самодельный флюс ( в покупном высока вероятность присуствия кислот ). Установить расплавленный припой на все 12 шт. выводов ПЗУ ( которые в рядок ), и приподнять его над платой отверткой с одной стороны, затем с др. стороны корпуса. Не допускать чрезмерного перегрева ПЗУ ( 1 сеанс пыток - не более 5 сек с паузой 1 мин ).
3.Заточенной спичкой и 40-ватт паялом прочистить монтажные отверстия.
4.Установить советскую ж. колодку РС24-7. Цанговые не особо хорошо подойдут.
5.Рекомендуется протереть спиртом место монтажа. Спирт самогоном лучше не заменять.

Hunta
03.02.2019, 20:43
Опыт выпаивания есть, но по любому - на одном работающем экземпляре (03 и 04) экспериментировать не буду.

Или появятся ещё работающие (03 шансы есть, 04 при их цене - что то сомневаюсь).

Или если попадутся неработающие, которые получится прибрать жадными ручками - тогда в процесс восстановления (моя 04 не работающая уже в очереди).

Но есть ещё варианты экспериментирования - правда, не совсем на аутентичных платах :)

- - - Добавлено - - -

В общем - если вдруг у Вас получится раньше поставить эксперимент (с эмулятором - оно как бе проще) - напишите результат.
Или если вдруг я косяк найду - отпишусь и выложу новый вариант. Но это скорее всего не в ближайшее время - с середины недели буду код 377-ой восстанавливать.

MM
03.02.2019, 21:22
...04 есть вторая, но она не выдержала хранение...
Присылайте в зловодской ремонт :v2_dizzy_mutant:
Стоимость ремонта - 1000 руб + з/ч + почта.
Вероятность успешного ремонта - порядка 90% ( нашел стенд М1801ВМ3 - похож на нужный ).
Срок ремонта - научно не определен.
Силовую МПИ проверить особо не на чем.
АП2 имеются. КР1531ИР22 - нету, наверное...

Hunta
03.02.2019, 21:31
Присылайте в зловодской ремонт
Спасибо - я подумаю. Пока с деньгами некоторая напряжёнка. Ну и как бы хочется знания прокачать умения восстановить :)

- - - Добавлено - - -

Кстати, по поводу кода ПЗУ. Некоторое количество места можно освободить за счёт выкидывания экзотики среди загрузчиков - MT, CT, DK, DP, DM, MM, DB, DS, DX, DW, MX, MY и DU :)

MM
03.02.2019, 21:36
Пока с деньгами некоторая напряжёнка.
Ко времени готовности уже серьезно разбогатеете :v2_dizzy_grandfathe

AFZ
04.02.2019, 06:51
Вы только поосторожнее с эмуляторами. Не забывайте, что у 134-й и 377-й нет последней четверти памяти (14000-17776). Она не открывает выходные буферы и не отвечает СИПом на эти адреса. И, если выходные буферы с ОК при всех единицах в этой области памяти (нулях с точки зрения инверсной шины адреса-данных) не помешают, то СИП от эмулятора может и помешать. А РЕ-мулятор без изменения программы вообще не годится - могучие драйверы STM32 с гарантией передавят хилые драйверы 1801-х м/с.

Hunta
04.02.2019, 06:55
то СИП от эмулятора может и помешать
Да, точно... Надо на эту тему подумать... Спасибо!

Vslav
04.02.2019, 11:59
1801РЕ2 всегда отвечает ~RPLY если она выбрана по ~CS/~DIN. Просто на платах 1201.03/04 микросхема 1801ВП1-119 не выдает сигнал ~SROM для верхней четверти адресов РЕ2 (вместо этого выдает SRAM), поэтому 1801РЕ2 не получает сигнал ~CS на входе, и соответственно не генерирует свой ~RPLY.



И, если выходные буферы с ОК при всех единицах в этой области памяти (нулях с точки зрения инверсной шины адреса-данных) не помешают, то СИП от эмулятора может и помешать.

На линии RPLY никто никому мешать не может - там открытый коллектор. Поскольку не активного сигнала выборки (CS~) то ни реальная РЕ2, ни РЕ-мулятор для старшей четверти адресов ничего на RPLY выдавать не будут, как и на шину данных.



А РЕ-мулятор без изменения программы вообще не годится - могучие драйверы STM32 с гарантией передавят хилые драйверы 1801-х м/с.

Отлично годится и работает на платах 1201.03/04. Нет активного ~CS на входе - никто на шину не вылазит, независимо от содержимого памяти. Да и ROM/RAM на платах 1201 сидят за отдельными буферами на 531АП2, эти передавят кого хочешь :)

Hunta
04.02.2019, 12:19
Просто на платах 1201.03/04 микросхема 1801ВП1-119 не выдает сигнал ~SROM для верхней четверти адресов РЕ2 (вместо этого выдает SRAM),
Я уже в автобусе ехал и думал на эту тему - в общем, возникло подозрение, что AFZ ошибается и похоже - не только я так думаю :) . У меня были мысли примерно что - вряд ли кто то именно для этим ПЗУ-ух делал какую то специфическую маску, что бы отрезать верхнюю четверть - скорей сделали это в 119 или на самой плате. Но инета в автобусе не было ( :) ) - а на работе вылетело из головы - вот, в обед опять вспомнил :)

- - - Добавлено - - -


РЕ-мулятор
Уточнение - речь идёт о РЕ-мулятор от MM, не знаю, насколько он похож на Ваш (вроде он Ваш был), Vslav

Vslav
04.02.2019, 12:24
Уточнение - речь идёт о РЕ-мулятор от MM, не знаю, насколько он похож на Ваш (вроде он Ваш был), Vslav
Так в посте явно упоминается STM32, в изделии ММ такого компонента нету, поэтому речь явно о моем РЕ-муляторе, там как раз STM32 есть :)

Hunta
04.02.2019, 12:54
поэтому речь явно о моем РЕ-муляторе, там как раз STM32 есть
У меня мой эмулятор дома лежит, я только помню, что там есть какая то большая микруха - толком не всматривался :) Но у меня в сообщения речь шла именно об этом эмуляторе, а не о Вашем. И с учётом того, что он как бы тоже должен откликаться по шине - я и подумал - как бы оно действительно того не того :) Но раз это 119 делать адресное пространство - есть подозрение, что и с этим эмулятором всё нормаль должно быть :)

AFZ
04.02.2019, 13:58
1801РЕ2 всегда отвечает ~RPLY если она выбрана по ~CS/~DIN. Просто на платах 1201.03/04 микросхема 1801ВП1-119 не выдает сигнал ~SROM для верхней четверти адресов РЕ2 (вместо этого выдает SRAM), поэтому 1801РЕ2 не получает сигнал ~CS на входе, и соответственно не генерирует свой ~RPLY.Угу, только я хорошо помню, как я вычитывал 134-ю (еще на ДВК, через самодельную плату на 580ВВ55) и программа, которая до этого прочитала кучу других РЕ2 вдруг обломилась по тайм-ауту, не прочитав четвертую четверть ПЗУхи. Я тогда глянул в схему, вроде-бы понял, что четвертая часть этого пространства отдана под ОЗУ и успокоился, а как там оно детально разведено - не вникал.


На линии RPLY никто никому мешать не может - там открытый коллектор. Поскольку не активного сигнала выборки (CS~) то ни реальная РЕ2, ни РЕ-мулятор для старшей четверти адресов ничего на RPLY выдавать не будут, как и на шину данных.Естественно, если нет обращения, не будет и ответа. Значит, ложная тревога.

dk_spb
04.02.2019, 14:13
и программа, которая до этого прочитала кучу других РЕ2 вдруг обломилась по тайм-ауту, не прочитав четвертую четверть ПЗУхи.
Программатор (Стерх), выставленный на 1801рр1, без каких-либо ошибок читает 134-ю. Все 8192 байта данных.

MM
04.02.2019, 14:23
Выходы флешки AT49F1025 действительно подавляют КР1801РЕ2, на примере 330 МСТД ( в флешке ) и 326 КНГМД.
*
В моем эмуляторе ЭСППЗУ предусмотрена возможность сокращать размер каждого сектора на 50% и выбирать только младшую его половину посредством соединения выв. 15 ДД2 ЭКФ1564ИР37 ( 74HC574D ) с входом разрешения выборки сектора ( секторов ). Может пригодиться при установке в блок КНГМД БК11/М и некорых др. местах.

Hunta
05.02.2019, 08:26
В моем эмуляторе ЭСППЗУ предусмотрена возможность сокращать размер каждого сектора на 50%
Если 119 не выставляет выборку ПЗУ на старших двух килобайтах (склонен доверять Vslav-у) - как бы особой разницы нет.

По поводу 377-ой. Вчепетление, что писал какой то будильник. Точнее, не писал, а переделывал. В одном месте кода (и к этому коду претензий нет):


MOV R3,@#L14022

В другом месте кода (писала, очевидно, рептилия):


MOV R3,L14022


- - - Добавлено - - -

О, а это просто шедевр!


MOV @#L14106,L14022

AFZ
05.02.2019, 13:36
Вчепетление, что писал какой то будильник.377-ю писал Константин Юдин. Полетаев о нем отэывался очень хорошо.

Hunta
05.02.2019, 13:55
Где то там, от кого, кто восстанавливал код, что то такое, мелькало, что код выглядел недописанным. На этот счёт пока ничего не могу сказать - надо анализировать код после восстановления.

377-ю писал Константин Юдин. Полетаев о нем отэывался очень хорошо.
Если смотреть на то, делает ли код то, что от него ждали - тоже пока ничего не могу сказать - надо тоже анализировать код после восстановления.
Но если смотреть на качество кода и на возможность лёгкой модификации для исправления ошибок и/или добавления функционала... Для меня вот этот пример - уже "хороший" показатель.


MOV @#L14106,L14022

В этом плане 134 выглядит качественней.

Hunta
08.02.2019, 17:35
Репортёр однажды спросил Кена Томпсона, что бы он изменил в Unix, если бы решил создать его снова. Ответ Кена: «Я бы написал «creat» с е.»

Hunta
18.02.2019, 17:23
Ну, поскольку это моя первая тема и поскольку с Квант-а началась вся остальная бодяга, пусть будет здесь :)

Я приобрёл, наконец то, второй инструмент, нужный для ремонта всякой электроники, особенно цифровой :) Подарок на НГ, который приехал как подарок на 23 февраля :)

bigral
18.02.2019, 20:52
Я приобрёл, наконец то, второй инструмент, нужный для ремонта всякой электроники, особенно цифровой :) Подарок на НГ, который приехал как подарок на 23 февраля :)

цифровой анализатор?

Hunta
18.02.2019, 20:58
Осциллограф с анализатором :)

Hunta
19.02.2019, 18:49
Фысе, фсе опции активировал, попробовал посмотрел сигналы в Радио-86/РК (пока через аналоговый вход, ЛА не подключал, может, в выходные побалуюсь), сигнал с видео выхода записал, сижу, кнопсы изучаю :)

Hunta
20.02.2019, 19:55
До выходных не вытерпел, достал УК-НЦ, прикрепил щщщупы к AD выводам, посмотрел, как работает ЛА :) Ну, круто. Хотя 16 входов - маловато будет :) Лучше бы 32 :) Или 64 :)

DenSam
20.02.2019, 21:25
16 каналов маловато конечно. 1801ВМ3 шину уже не посмотришь полностью. У меня не осцил, а просто китайский ЛА SLA5032 32-канальный весьма удобен, однако что-то переклинило в нем и "родной" китайский софт перестал его определять: No HW... , а saleae- вский софт его видит как 16-канальный и очень успешно работает с ним. Вот и не знаю, чем починить мой ЛА, чтоб по-человечески широкие шины смотреть. А 64 это наверное уже баловство ;)

Hunta
20.02.2019, 22:45
16 каналов маловато конечно
Ну это да. Но пока как уж есть. В планах (но не быстрых) ещё и ЛА купить, а пока буду выкручиваться :)

А 64 это наверное уже баловство
Я и им найду применение. Цены там только... расстраивающие :)

Hunta
23.02.2019, 13:19
Стенд для ремонта ДВК-разного :) Аппараты слева НЕ ИМЕЮТ отношения к стенду :)
http://www.KpXX.Ru/KBAHT4C/Foto

AFZ
23.02.2019, 17:22
Стенд для ремонта ДВК-разного"Квант" разобрал. Варвар! :)

Hunta
23.02.2019, 20:43
"Квант" разобрал. Варвар
Это второй, купленный не полностью - от него ещё в 90-ые не осталось корпуса :) Я вообще планировал корзину раздербанить, что бы добавить к полному Кванту - руки так и не дошли. Так что получился неплохой такой стенд (планирую довести до нормального состояния) для ремонта и экспериментов :)

Hunta
02.03.2019, 18:49
Занялся исследованием halt режима. Занимательные результаты и не совсем такие, как на эмуляторе Патрона...

Hunta
03.03.2019, 17:16
Ещё одно отличие нашёл. Щас сделаю фотку и скриншот и выложу.

- - - Добавлено - - -

http://www.KpXX.Ru/KBAHT4C/Отличия от эмулятора Патрона

- - - Добавлено - - -

Надо будет поиграться с эмулятором РЕ2 от MM на предмет залития туда содержимого halt ПЗУ для МС1201.04 и игра на моём Кванте.
А так же подцепляния его через разъём Токовой петли - шо бы проще вести было лог

MiX
03.03.2019, 17:36
Ещё одно отличие нашёл.
У меня на МС1201.04 показывает пять звездочек.



Занимательные результаты и не совсем такие, как на эмуляторе Патрона...
Какие?

Hunta
03.03.2019, 18:14
Ну например.

Лог работы моего кода на ВМ3 (показывает, что прилетает в код halt режима при включении):

R0=000000
R1=000000
R2=000001
R3=000000
R4=010201
R5=100050
SP=100000
PC=173000
PSW=000340

И на эмуляторе Патрона

R0=000000
R1=000000
R2=000000
R3=000000
R4=000000
R5=000000
SP=177774
PC=177777
PSW=000000

- - - Добавлено - - -


У меня на МС1201.04 показывает пять звездочек.
Год на плате и на проце?

MM
03.03.2019, 18:28
Год на плате и на проце?
Все известные варианты МС1201.04 имели сопоставимую Э3, даже с половинным набором ДОЗУ.
*
Звездочки могут быть в разном к-ве по причине :
1. Существенное отличие Э3 ( или отказ чего-либо ).
2. Ошибка ДОЗУ.
3. Кривой проц, может даже переразогнанный ( свыше 5.00 мгц ) или на бедном питании ( менее 5.00 в. ).

Hunta
03.03.2019, 18:38
Звездочки могут быть в разном к-ве по причине
Учитывая, что на моем работала (по крайне мере два месяца назад, щас проверить проблематично) RSX+ - я думаю, на плате работает всё. Насчёт процессора. Я на этой плате ничего не разгонял. И этот процессор в другой плате успешно работал на 6 МГц под RSX больше 2 часов (потому выключил).
Я знаю, что значат первые 4-5 звёздочек - щас гляну и подумаю :)

AFZ
03.03.2019, 19:10
Звездочки, имхо, свидетельствуют о прохождении теста. Один тест - одна звездочка. Я тормозил машинку раза в три - звездочки появляются с заметным интервалом. Кажется, Т0 вызывает то же самое. Грубо говоря, Т0 вызывает последовательное исполнение тестов Т1-Т4, причем Т4 в специальном (минимальном) режиме. В общем, ты же отдизасмил 134 ? Вот и погляди, как у нее оформлен POST.

Hunta
03.03.2019, 19:12
Занимательно. 4 звёздочки выводят (последовательно) T1, T2, T3 и определение размера памяти.
Первую звёздочку вывод процедура определения - не замкнут ли на консоли вход на выход. Алгоритм простой - выводим звёздочку и на консоль и ждём - не прилетит ли она со входа. Если да - запускается непрерывное тестирование по алгоритму (насколько на сейчас разобрался - T4, T1, T2, T3, T4 и цикл)

И хто у меня при включении питания не отрабатывает?? :) Все тесты проходят, если что :)

- - - Добавлено - - -


причем Т4 в специальном (минимальном) режиме
Не специальном. Просто определяет размер памяти.

AFZ
03.03.2019, 19:26
Еще и чистит ее, скорее всего. Иначе обратись в своей программе (по ошибке) к неинициализированной ячейке памяти, а оно возьми, да и вылети по Хэммингу. Да и смотришь любое место памяти после включения и прохождения начального теста, а там везде все нули.

- - - Добавлено - - -

Да, еще и не командой CLR, скорее всего, она же делает "Ввод-пауза-вывод", да? Так вот, по этому вводу в первой фазе Хэмминг ее и обломит, так, что, скорее всего, MOV Rх,(Ry)+...

Hunta
03.03.2019, 19:41
Еще и чистит ее, скорее всего.
Там настолько всё запутано, особенно учитывая, что периодически оно отправляет кодовый блок в обычный режим и выполняет его там, что мама не горюй. Я всё ещё шерстю логику...

MiX
03.03.2019, 19:53
Год на плате и на проце?
Плата- 91г., проц -90г.

У меня так при включении.

***** ДОСТУПНОЕ ОЗУ - 1 M *
@ 001000
@R0/000000
R1/001122
R2/000000
R3/177000
R4/100003
R5/114000
R6/016770
R7/001000

После УСТановки.

@ 000004
@R0/120000
R1/000000
R2/000000
R3/000000
R4/000100
R5/077100
R6/177774
R7/000004

MM
03.03.2019, 20:33
Как пристроить модуль ЭСППЗУ в МС1201.04 :
https://pic.maxiol.com/thumbs/1551633752.531452173.120104.jpg (https://pic.maxiol.com/?v=1551633752.531452173.120104.jpg)
Сектора ЭСППЗУ 10-13 или 14-17 будут в адресах 3-го метра начиная с 100000.
При очистке ЭСППЗУ в самую первую очередь прописывать сектор 000000 - т.к. это БИОС ( 134 например ).
Перед эксплуатацией провести тщательный тест ДОЗУ, т.к. при включенной записи в модуль ЭСППЗУ ответ на запись в адрес 177764 будет выставляться в каждых 64 кбайт АП МС1201.04

В файле программатора в подпрограммах "чтение слова ЭСППЗУ" и "запись слова ЭСППЗУ" заменить управление портом 177716 на управление ДП 1801ВМ3, с изменением записываемых значений.
Так же устроить патч пункта меню "коррекция адреса окна ЭСППЗУ" и "коррекция маски 177716".

Hunta
03.03.2019, 21:18
Как пристроить модуль ЭСППЗУ в МС1201.04
Спасибо, может и пригодится. Просто на текущий момент меня интересует исследование режима HALT, а это значит - в ПЗУ будет писаться мой код, а не полноценное что то для halt режима, а значит - никакой операционки на компе на этот момент не будет. Так что программироваться оно будет на БК, а потом смотреться на Квант-е. По крайне мере первое время. Когда более менее освоюсь с модулем - возможно сделаю пульт, что бы можно было иметь как стандартный 134 (или что то ещё) так и мой код - и соответственно - быстрое переключение и программирование на Квант-е. Не знаю, посмотрю, как пойдёт :)

- - - Добавлено - - -


У меня так при включении
Выложил свой вариант. Там же. Если коротко - по включении тоже самое, по УСТ - отличие в точке останова (у меня 4630) и R5 (77116), SP (16770) и (ессвенно) R7 (4630)
Фот могут быть не видно в каталоге - чего то IIS брыкается. Ща попробую перегрузить

- - - Добавлено - - -

Проявились

AFZ
04.03.2019, 05:43
А у меня вот так.

***** ДОСТУПНОЕ ОЗУ - 1 M *
@ 001000
@R0/000000
R1/001122
R2/000000
R3/177000
R4/100003
R5/114000
R6/016770
R7/001000
@
@ 004626
@R0/120000
R1/000000
R2/000000
R3/000000
R4/000100
R5/077116
R6/016770
R7/004626
@T0**** ДОСТУПНОЕ ОЗУ - 1 M *
@ 001000
@R0/000000
R1/001122
R2/000000
R3/177000
R4/100003
R5/114000
R6/016770
R7/001000
@ И я, кажется, догадался. У тебя КЦГД, а у всех остальных, показавших экран после включения, VT52 на писюке. Возможно, КЦГД глотает первую звездочку. А еще возможно, что вот та самая проверка на возврат звездочки - это не тест, а обход тормозного запуска КЦГД, типа, пока КЦГД не запустился, он возвращает ту самую звездочку, а 134-я повторяет процедуру, пока КЦГД не запустится...

- - - Добавлено - - -

Дополнительным аргументом может служить наблюдаемый мной момент: между первой и остальными звездочками видна ощутимая задержка. Похоже, 134-я выдала звездочку, а потом некоторое время ждет возврата, порядка 0.1-0.2 сек.

Hunta
04.03.2019, 06:25
А еще возможно, что вот та самая проверка на возврат звездочки - это не тест, а обход тормозного запуска КЦГД
У нас тут одни, блин, Ванги собрались. Тогда провангуй вот этот код


.................................................. ............................
;
; Проверка - не замкнут ли вход на выход консоли
;
; Флаг TSTMOD - TVKBNC - не замкнут
; TVKBC - замкнут
;
PROCEDURE CLUPBC
BEGIN

THRU R2 := #0
TSTB @#TPS ; выход консоли готов?
IF RESULT IS MI LEAVE LOOP ; MI, если да
END ; продолжаем ждать

LET @#TPB := #ASTER ; попробуем послать *

THRU R2 := #0 ;
TSTB @#TKS ; вход консоли готов?
BMI 50$ ; MI, если да
END ; продолжаем ждать

40$:
LET @#TSTMOD := #TVKBNC ; выход на выход НЕ замкнут
BR 60$

50$:
CMP #ASTER,@#TKB ; прилетела * ?
BNE 40$ ; нет

LET @#TSTMOD := #TVKBC ; выход на выход НЕ замкнут

60$:

RETURN
END CLUPBC


134 прошивка, с адреса 012556

AFZ
04.03.2019, 07:37
А что это за паскалеподобная фигня? То есть, что-то понятно, но что такое THRU #R2 := #0 ? Эти знаки мне ничего не говорят...

Hunta
04.03.2019, 08:14
А что это за паскалеподобная фигня?
Добро пожаловать в MACRO-11


что такое THRU #R2 := #0
Для начала, там R2, а не #R2


THRU R2 := #0
TSTB @#TPS
IF RESULT IS MI LEAVE LOOP
END

эквивалентно


CLR R2
1000$:
TSTB @#TPS
BMI 1001$
SOB R2, 1000$
1001$:


И судя по вопросам, в дизассемблированный 134 заглянул только один человек. Знать, настолько оно интересно. Ок, выкладывать в дальнейшем буду, писать об этом - нет

Korchagin
04.03.2019, 08:27
О, нет. Заглянул точно не один. Я ж еще когда удивился похожести макропрограммирования на бейсико-паскалевую смесь (сам то я родом из масмов-тасмов-турбодебаггеров, там это несколько иначе выглядит). Потом, тема все равно на форуме останется, другим ценителям ВМ1,2,3 тоже будет интересно глянуть на поток реверсерской мысли.

AFZ
04.03.2019, 08:43
эквивалентно
Код:Ну и писал бы сразу по-человечески.


Тогда провангуй вот этот код И что тут военного? Посылаем звездочку, ждем ее возврата, проверяя готовность приемника. Дождавшись, вернем в переменной TSTMOD код TVKBC Если за 65536 проверок готовность не появится, вернем код TVKBNC. Скорее всего, вызывающая программа в цикле вызывает эту программу, смотрит эту TSTMOD и ждет, пока она не станет TVKBNC. Как-то так... А 6105 в это время прогревает катод.

Hunta
04.03.2019, 09:01
О, нет. Заглянул точно не один
Я Вас и имел ввиду. Судя по тому, что вопрос возник через десяток сообщений после моего о том, что выложил... А потом как то никто не удивлялся - или все заинтересованные видели этот вопрос и ответ или....

Кто-то в DEC нарисовал набор макросов (и даже как минимум в одной из системных программ они были использовано), я после появления у меня Квант-а слегка поковырялся, даже начал использовать и слегка подрихтовал под Modula-2 подобность. Ну, а когда начал дизассемблить 134 долго парился с отслеживанием всех этих переходов и меток, а потом вспомнил, попробовал - и на удивление быстро причесал код. По крайне мере теперь стало гораздо меньше локальных меток (то есть тех, на которые идёт переход из одного двух мест) и стало гораздо проще логику ловить. Но из за работы как режиме halt, так и в обычном режиме - всё равно голову ещё приходится ломать..

В целом - писать с их использованием проще (хотя надо почувствовать и знать возможные варианты написания - до сих пор в исходники подглядываю) и с учётом некоей высокоуровневости кода - проще понимать (особенно знакомым с Паскалем), но с учётом того, что это всё равно транслируется ассемблером - на вложенных (по крайне мере) IF-ах получаются лишние BR-анчи. И как минимум пару ошибок в макросах - например, оператор ELSEIF (или ELSIF - не помню, как макрос назвали) есть, но код генерится неправильный. И ещё какую то ошибку находил...


на поток реверсерской мысли
Скорей посмотреть - а что там в ПЗУ-ах делается...

- - - Добавлено - - -


Ну и писал бы сразу по-человечески
Я взял кусок кода из дизассмеблированной 134-ой.

Скорее всего, вызывающая программа в цикле вызывает эту программу, смотрит эту TSTMOD и ждет, пока она не станет TVKBNC
А теперь после этого "замечательного гадания" смотрим на этот код


.................................................. ............................
;
;
;
PROCEDURE L06006
BEGIN
IF @#PWRUP EQ #123456 THEN
CALL L13316
JUMPTO L02152
END

; Интересный вариант повтора после определения замкнутости входа на выход :)

LOOP
IF @#TSTMOD EQ #TVKBC THEN ; вход на выход замкнут ?

IF @#HV002 NE #0 THEN
LET @#HV002 := #0
LET @#HV154 := R2
CALL TEST4 ; T4
END

LET @#HV160 := @#HV160 + #1
LET @#HV156 := #0
CALL L12556
LET @#PWRUP := #0 ; вечное включение питания

JUMPTO TEST0 ; T0 и возврат в эту процедуру
END

IF @#TSTMOD EQ #TVKBNC THEN ; вход на выход НЕ замкнут ?

LET @#PWRUP := #123456 ; все, питание включено

JUMPTO TEST0 ; однократный прогон T0 и в пульт
END

; А ещё не знаем, поэтому - на определение

CALL CLUPBC
LET @#HV154 := #0
LET @#HV160 := #0
LET @#HV002 := #0

END
END L06006

и на этот код


.................................................. ............................
;
;
;

PROCEDURE L12556
BEGIN
IF #TVKBNC NE @#TSTMOD THEN

IF @#HV160 GE #20
LET @#HV160 := #1
END

LET R2 := @#HV156 + @#HV160 + @#HV050

LET @#LPB := R2
END

RETURN
END L12556

LPB, если что - это регистр принтера, тот, который буфер для печатаемого байта

- - - Добавлено - - -

- - - Добавлено - - -


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

- - - Добавлено - - -


Как-то так
То есть выводы делаем даже не заглянув в код ПЗУ. По всей видимости.
Мои то (возможные) ошибки хоть каким то кодом подкреплены...

AFZ
04.03.2019, 09:23
Каким образом символ, посланный на для вывода на экран - прилетит через входной регистр клавиатуры, а?Скорее всего, 181/182 первым делом настраивают этот возврат - разреши прерывания от приемной половины -065, получив его, перешли код из приемного регистра =065 в передающий. Далее инитим все, что надо, в конце подключаем нормальную работу с приемом/передачей. Может быть, КЦГД еще что-то высылает, по окончании своей инициализации, отличное от звездочки - тогла вообще почти все сходится.

Проверить это можно достаточно просто - накидай по-быстрому на писюке свой мини-терминал, который раз 100-1000 вернет полученную звездочку и только после этого начнет работать нормально.

- - - Добавлено - - -

В общем-то это правильно икс его три, сколько времени будет инититься этот КЦГД ? А первые три теста пролетят с гарантией быстрее, и что будет на экране? Правильно, обрезанная строка "Доступное ОЗУ" Чтобы этого не было, в 134-ю прикрутили своего рода синхронизацию с КЦГД, точнее, ожидание его готовности. А, чтобы оно могло работать не только с КЦГД, сделали такую смешную проверку.

Hunta
04.03.2019, 09:37
Скорее всего,
Это вывод на основании анализа кода 181 прошивки? (которая стоит у меня)

Может быть, КЦГД еще что-то высылает
Это вывод на основании анализа кода 181 прошивки?

Ради интереса, я пробежался по коду инициализации 181 прошивки в том дизассемблированном варианте, который у меня есть. Я не увидел ничего (вполне мог пропустить), что бы подтверждало эти гадания.


Проверить это можно достаточно просто - накидай по-быстрому на писюке свой мини-терминал
Проверить это можно гораздо проще - выкинув КЦГД, переключив второй порт на адреса консоли у .04, подключив принтер и замкнув вход второго порта на выход.
Те, кто используют PC-юк в качестве консоли - могут сделать это очень быстро. Мне надо восстановить шлейф принтера - возможно, доберусь в выходные.

AFZ
04.03.2019, 19:41
Это вывод на основании анализа кода 181 прошивки? Нет, конечно. Это как я стал бы решать эту проблему, столкнувшись с пропаданием части начальной строки.

Hunta
04.03.2019, 20:17
с пропаданием части начальной строки
Кстати, ещё не доказано, что она не пропала. Эмулятор Патрона - это догадки и подгонка, у MiX-а нажатие на кнопку УСТ - и показ текущего значения PC - 4 (это код вылетела на вектора, что ли?) - в отличии от моего варианта - когда видно, что программа была прервана в недрах halt пзу, конкретно вот это место:



1655 004622 .................................................. ............................
1656 ;
1657 ;
1658 ;
1659 004622 PROCEDURE KBIN
004622 KBIN:
1660 004622 BEGIN
1661 004622 REPEAT
004622 1001$:
1662 004622 UNTILB @#TKS MI #0
004622 105737 177560 TSTB @#TKS
004626 100375 BPL 1001$
004630 1002$:
1663
1664 004630 LET R4 := @#TKB OFF.BY #^C<177>
004630 013704 177562 MOV @#TKB, R4
004634 042704 177600 BIC #^C<177>, R4
1665
1666 004640 RETURN
004640 000207 RTS PC
1667 004642 END KBIN




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

MiX
04.03.2019, 22:16
у MiX-а нажатие на кнопку УСТ - и показ текущего значения PC - 4
Надо ещё учитывать что режим старта у каждого разный (переключатели, перемычки).

Hunta
04.03.2019, 22:26
Сфоткать плату можно, так что бы были видны переключатели?

MiX
04.03.2019, 22:51
Сфоткать плату можно, так что бы были видны переключатели?
SA2
1-1
2-1
3-0
4-0
5-0
6-1
7-1
8-0

SA1
все-0

Первые считаются от краевого разъёма.

Hunta
04.03.2019, 23:34
SA1 - 1000
SA2 - 11000111
Первый - коричневого цвета

MiX
05.03.2019, 00:58
SA1 - 1000
SA2 - 11000111
Первый - коричневого цвета
При таком варианте у меня также. Правда не всегда попадает на 4630. Бывают варианты 4622, 4624, 4626.

Hunta
05.03.2019, 06:03
4622, 4624, 4626
Это тоже, как мне кажется, нормальные варианты - они все попадают на п/п ввода с клавиатуры. А звёздочек четыре или пять?
Сидел, смотрел в доку и пытался сопоставить их S1.1-2 S2.1-10 с тем, что вижу на плате...

AFZ
05.03.2019, 07:32
На КЦГД 4 звездочки, на отдельном терминале, готовом еще до включения ДВК - 5.

Hunta
05.03.2019, 17:19
MiX, куда у Вас .04 выводит - КЦГД или через свой порт в PC? Если второй - какая скорость?

- - - Добавлено - - -


На КЦГД 4 звездочки, на отдельном терминале, готовом еще до включения ДВК - 5.
Поскольку я не знаю всех условий проведение эксперимента и поскольку у меня остались вопросы, пока отвечу - а вот хрен.
Новые фотки там же - http://www.KpXX.Ru/KBAHT4C/Отличия от эмулятора Патрона
Сериал Вангующие, сезон 1, серия 2. Ваши догадки, господа?

Hunta
05.03.2019, 20:49
Предварительно. Надо ещё разобраться с адресами и скоростями.
Первый столбец SA1.1-SA1.10 - это как бэ из доки, но там неправильно
Второй столбец - это как они на плате именуются нумеруюца (коричневый или со стороны корзины - первый, если уведён по стрелки, то типа 1. Если есть вопрос - знать, автор не совсем уверен.


SA1.1 SA1.1 Режим запуска (0 - обычный, 1 - восстановление питания)?
SA1.2 SA1.2 Корректирующий код ОЗУ (0 - включен, 1 - выключен)

SA1.3 SA2.1 -065 ACL0 \ Выбор - 0 ?
- 1 ?
SA1.4 SA2.2 -065 ACL1 / адреса - 0 176560-176566, 360-364 (по доке)
1 177560-177560, 60-64 (по доке)
SA1.5 SA2.3 -065 FR0
SA1.6 SA2.4 -065 FR1
SA1.7 SA2.5 -065 FR2
SA1.8 SA2.6 -065 FR3
SA1.9 SA2.7 -033 RC1 - 0 177550-177556 70-74
1 177514-177516, 200
SA1.10 SA2.8 -034 COM - 0 через 177552 и 177556 или 177516 идут инвертированные сигналы
- 1 через 177552 и 177556 или 177516 идут не инвертированные сигналы

MiX
05.03.2019, 21:01
А звёздочек четыре или пять?
Пять.

MiX, куда у Вас .04 выводит - КЦГД или через свой порт в PC? Если второй - какая скорость?
Гибрид :)
Обмен идет через половинку КЦГД (там где мост ВП65<>ВП65) с ВП65 на PC. Где-то схему выкладывал, если найду дам ссылку.
Скорость 57600, пробовал и 115200 с другим кварцем.

Hunta
05.03.2019, 21:09
Где-то схему выкладывал, если найду дам ссылку
С одной стороны - вроде как надо сделать выход на PC, с другой стороны - смысл как то ускользает :)

Пять.
В общем, на своём Кванте стартовую точку (что надо сделать) и конечную точку (на выходе 4 или пять звёзд) нашёл, а вот почему... пока не въехал...

Hunta
10.03.2019, 13:13
Так как возвращаюсь к причёсыванию 134 ПЗУ весьма эпизодически, выложил все файлы, которые нужны, что бы оттранслировать и собрать 134 ПЗУ.

Расширение .TXT убрать.

Сборка и сравнение с исходным ПЗУ - 134.com

Лежит там же - http://www.KpXX.Ru/KBAHT4C/Софт/ПЗУ

Hunta
21.03.2019, 19:55
Фоты полуплаты первой версии на фоне

1201.04
http://www.kpxx.ru/KBAHT4C/Железо/Полуплата/V1.0/IMGL2948.JPG

КЦГД
http://www.kpxx.ru/KBAHT4C/Железо/Полуплата/V1.0/IMGL2950.JPG

Manwe
22.03.2019, 08:58
Фоты полуплаты первой версии на фоне Красиво

Hunta
22.03.2019, 18:13
С форума bk0010

"? gid@ - 10.11.2013 10:28
...
Ибо опять же, без знания того, зачем пишутся и читаются непонятные ячейки памяти из диапазона 170000-177777, нормально откомментировать дизассемблированый код не получится.
Вот я дизассемблировал 134 прошивку, нашёл там код, похожий на загрузчик (похоже, что что-то там синхронно загружается откуда-то), нашёл код, определяющий количество ОЗУ и вроде бы инициализирующий ДП. А всё остальное там - непонятная куча ассемблерных команд, много кода без точек входа, выполняется ли он когда либо вообще, непонятно. Есть места, которые очень похоже, что позже допиливались DESSом. Такое крайне трудно комментировать, особенно если понятия не имеешь, что этот код вообще должен делать."

Печалька....

Hunta
24.03.2019, 15:20
Вопрос к знатокам.

Насколько совместимы корзины ДВК (ака Квант) и Электроники-60. То есть если в корзинку Э60 воткну платы от ДВК - увидят ли они друг друга и питания - или даже вариант - воткну как плату от Квант-а так и плату от Э60?
Или если у кого есть ссылка на схему корзины Э60 - тоже буду благодарен :)

MM
24.03.2019, 16:53
совместимы корзины ДВК
Если полноценные 22-адресные, для классического размещения плат = 100% совместимы.
Но в ДВК-4 закольцованы запросы ПДП и векторных прерываний - т.е. М-ЭВМ можно размещать вообще посередке корзины, при её полной занятости.

Hunta
24.03.2019, 17:01
Меня смутило на фотографиях разное размещение контактов. Ок, посмотрю по разводке сигналов - чего это оно разное...

MM
24.03.2019, 17:18
разное размещение контактов.
По совершенно не проверенным слухам было 2 варианта размещения очередности запросов между соседними платами - типа П-образного и Z-образного.
Скорее всего кто-то сделал "по-своему" на каком-то отдельном заводике, да и пустил это на продажу - т.к. варианты крейтов под Э-60 делались на множестве предприятий.
Я свою первую ДВК собрал с заводской помойки в 1988 г. - корзину от станка ЧПУ, в котором прошло 380 в на +5в. ( оптрон не выдержал ), БП БПС6-1 сам восстановил ( микротрещина на плате логики ), платы дали для анализа надежности - МС1201.02 самодел, КЦГД, КМД-097 ( эту нагло свиснул в ремонте - был прожжен коннектор под МС6022 ). МС1201.04 ( пяток ) выдали в 1989 г. тоже для анализа надежности, из которых 3 шт. совсем не пускались ( дефект МПП ).

Hunta
24.03.2019, 17:41
Э... не совсем точно написал. Я не про размещение на корзине, я про размещение на платах - сравнивал 1201.01 и М2, пример:
http://www.KpXX.Ru/Pics/М2 Ред 3 1.jpg
и
http://www.KpXX.Ru/Pics/МС1201.01.jpg

MM
24.03.2019, 17:42
Так вот, станочная корзина была как раз "левая" - аномально разведена очередность ПДП и векторов.

Hunta
24.03.2019, 17:42
В общем, надо забраться в описание разводки разъёмов :)

Hunta
11.04.2019, 14:25
Очередной полезный девайс, именуемый в народе Стерх, добрался до меня :)

Hunta
14.04.2019, 17:57
Как то лениво всё...
Взял себя в руки, начал делать подключение корзины Квант-а к блоку ATX. Пока можно сказать так - дело сдвинулось с мёртвой точки :) Завтра после обед будет свободное от работы время - надеюсь опять взять себя в руки.

Hunta
15.04.2019, 18:24
Ещё продвинулся в вопросе использования ATX.

Развлекался с определением того, что приходит на разъём питания корзины (земля, +5, +12, -12, К ПИТ В, К ПОСТ В, К ОСТ Н, И ОСТ Н)

И что в разъём пульта управления (земля, +5, К ОСТ Н, И ОСТ Н, ещё три сигнала пока не понятны)

Надо будет ещё проверить правильность определения :)

Где то на форуме было о том, как включается-выключается 50 Гц таймер...

Продолжение - в следующие выходные - солнечный свет желателен, а пока когда в прихожу с работы - его уже (ещё) мало... :)

AFZ
15.04.2019, 20:26
Развлекался с определением того, что приходит на разъём питания корзины (земля, +5, +12, -12, К ПИТ В, К ПОСТ В, К ОСТ Н, И ОСТ Н)Ты забыл К ПРТ Н. А сигнала И ОСТ Н я, кстати, не нашел - где он в корзинке?


Где то на форуме было о том, как включается-выключается 50 Гц таймер...На любой процессорной плате есть ВП1-035/065, а у него есть сигнал 50 Гц. Этот сигнал через драйвер с открытым коллектором и перемычку отдается в корзинку на Б:А7 (Рез8/SPARE8 по таблице от Э-60). На ДВК-шных корзинах (не от Э-60) эти контакты соединены с линией К ПРТ Н (Б:А14). То есть, если не принимать специальных мер, таймер все время работает. А чтобы его остановить, линию К ПРТ Н просаживают открытым коллектором на землю.

Это с ДВК-шными корзинками. Корзинки от Э-60, использованные в ДВК-2/3М2 перемычки между Б:А7 и Б:А14 не имеют и получают К ПРТ Н от БПС 6-1, управление его подачей сделано в самом БПС 6-1. Не знаю, выдается ли на Б:А7 50 Гц, или нет (то есть установлена или снята перемычка на плате процессора), но это и не суть важно. А вот как это сделано на ДВК-1 (которые тоже с корзинками от Э-60, но с аналоговыми стабилизаторами) ни разу не интересовался.

В общем, проверяешь, стоит ли на плате процессора перемычка, выдающая сигнал 50 Гц в корзину, если нет - ставишь. Далее, берешь мощный драйвер (не слабее 7406 или 07 aka 155ЛН3 или ЛП9) и через него выдаешь сгенерированные твоей схемой К ПИТН В, К ПОСТН В, К ОСТ Н и К ПРТ Н.

Следует дождаться от АТХ-блока сигнала Power Good, получив его, выдать (сделать высоким) К ПОСТН В, через 70 мс поднять и К ПИТН В. Сигналы К ПРТ Н и К ОСТ Н следует выдавать с переключателей (или с триггеров, переключаемых, причем бездребезгово, от кнопки). Низкий уровень на К ОСТ Н означает перевод в режим пульта, низкий уровень на К ПРТ Н останавливает таймер. Я чуток поприкидывал эту схему на логике, как ни крутил - огород еще тот. Плюнул, и сваял ее на 8-й Меге - первая из АВР-ок, которая попалась под руку. В принципе, по ногам и прочим ресурсам хватило бы и ATtiny2313, но китайская пробная плата с 8-й Мегой у меня есть, а с 2313 - нет. :)

На той же Меге сделал и включение АТХ БП, еще одна кнопка и один выходной сигнал. Саму Мегу кормлю от дежурки.

- - - Добавлено - - -

Да, на мощном драйвере (155ЛН3/ЛП9) я тоже сэкономил. Для одиночной ДВК-шной корзинки 20-мА драйверов на GPIO АВР-ок вполне достаточно, не забыть только имитировать открытый коллектор. А для правильно согласованной многокорзиночной конфигурации и ЛН3/ЛП8 мало, надо ставить полноценные МПИ-шные драйверы, 533АП2 или соответствующие 559-е.

Hunta
15.04.2019, 21:26
А сигнала И ОСТ Н
А:А7


Ты забыл К ПРТ Н
Не питательных выводов на разъёме питания всего четыре (Б:А16, Б:А17, Б:Б16, Б:Б17). Судя по тому, что я намерял тестером и то, что у меня на картинке с разводкой корзины - они соединены с контактами К ПИТ В, К ПОСТ В, К ОСТ Н, И ОСТ Н



проверяешь, стоит ли на плате процессора перемычка, выдающая сигнал 50 Гц в корзину, если нет - ставишь
Зачем? Объяснения - со ссылками в доки и схемы

Учитывая НЕточности как в документации, так и в мнениях-познаниях форумчан - буду разбираться сам

- - - Добавлено - - -


Сигналы К ПРТ Н и К ОСТ Н следует выдавать с переключателей (или с триггеров, переключаемых, причем бездребезгово, от кнопки). Низкий уровень на К ОСТ Н означает перевод в режим пульта, низкий уровень на К ПРТ Н останавливает таймер. Я чуток поприкидывал эту схему на логике, как ни крутил - огород еще тот.

У меня есть штатная схема управления - я не буду городить весь этот город, тем более, на ещё одном проце

на 8-й Меге

AFZ
15.04.2019, 22:11
Не питательных выводов на разъёме питания всего четыре (Б:А16, Б:А17, Б:Б16, Б:Б17).Квант-4? Какие там номера ножек на разъеме, который идет в БП - это целиком на совести его сочинивших, ибо ни в Q-Bus, ни в МПИ такого разъема нет и стандарта на его ноги тоже нет



Судя по тому, что я намерял тестером и то, что у меня на картинке с разводкой корзины - они соединены с контактами К ПИТ В, К ПОСТ В, К ОСТ Н, И ОСТ НА вот тут ты облажался - сигнала И ОСТ Н там нет. а есть К ПРТ Н


Зачем? Затем, что на платах с ВМ2 ее может и не быть. На ВМ3 обязана быть, если никто не приложил к ней шаловливые ручки.


Объяснения - со ссылками в доки и схемы Залезь сам в схемы процессорных плат и найди, смотреть от вывода ВП1-035/065 "50 Гц", или как там его и до корзины, это раз. Второе - звякни, и убедись, что Б:А7 и Б:А14 соединены. И перепроверь, куда идет тот контакт питательного разъема, который ты принял за И ОСТ Н. А мне лень рыться в доках, благо, что-то еще помню.

- - - Добавлено - - -


Учитывая НЕточности как в документации, так и в мнениях-познаниях форумчан - буду разбираться сам
У меня есть штатная схема управления - я не буду городить весь этот город, тем более, на ещё одном процеЭто которая с тремя кнопками, которые с датчиком Холла? Вперед! Флаг в руки...

- - - Добавлено - - -


А:А7Ты, часом, А с Б не перепутал?

xolod
15.04.2019, 23:04
Hunta, Я себе для питания и запуска ДВК вот такую штуку сделал http://avitech.com.au/?page_id=1657

Hunta
16.04.2019, 06:30
Квант-4?
Только дошло?


Какие там номера ножек на разъеме, который идет в БП - это целиком на совести его сочинивших, ибо ни в Q-Bus, ни в МПИ такого разъема нет и стандарта на его ноги тоже нет
У меня корзина Кванта и разъём питания этой корзины. Какие там сигналы на разъёмах QBUS, МПИ или разъёме питания ДВК (любой модели) мне совсем от слова фиолетово.


А вот тут ты облажался - сигнала И ОСТ Н там нет. а есть К ПРТ Н
Возможно. Потому как пришлось полагаться в именовании сигналов на глючную документацию. Поэтому и написал - будет проверяться.

Залезь сам в схемы процессорных плат и найди
Я то полезу и в доку и на плату, ибо мне не

лень рыться в доках
а в чужом

что-то еще помню
слова "что-то" - для меня звонок - не доверять и проверять


Это которая с тремя кнопками, которые с датчиком Холла? Вперед! Флаг в руки
Не получилось разобраться?


Ты, часом, А с Б не перепутал?
Учитывая точность документации - всё может быть, поэтому ещё раз - всё будет проверяться


для питания и запуска ДВК вот такую штуку сделал
Извини, xolod, но эта та же самая хрень - для элементарной вещи городить атомный крейсер. Я бы ещё заинтересовался, если бы она позволяла питание программно со стороны PDP выключать...

AFZ
16.04.2019, 07:42
Не получилось разобраться?А у меня ее нет, так, что вникнуть и не пытался. В свое время обратил внимание, что эти платы у ДВК-3 (моноблок) и Кванта-4 очень похожи, и все. Да, однажды в Кванте сдохла микросхеиа в кнопке, та самая, с датчиком Холла. Выдрал из похожей кнопки, и заменил. Похожая кнопка в сборе туда не садилась - эта м/с у нее была сдвинута в другое место. Это и всё мое общение с этими пультиками.

Hunta
16.04.2019, 07:58
В свое время обратил внимание, что эти платы у ДВК-3 (моноблок) и Кванта-4 очень похожи, и все
Судя по том, что я видел на схеме блока питания 9002 - они разные. Но учитывая качество документации - пока не увижу в живую - уверять не буду. Ну и в живую я её вряд ли увижу, так как покупать ДВК любой модели в планы не входит, а дарить у нас их вроде не дарят.

Hunta
19.04.2019, 19:01
Неспешно вечерами паяю переходник для питания корзины Кванта от ATX. Вечерами. Пока не сильно стемнеет. Завтра должен закончить силовую часть и начать разбираться с пультом управления и парой сигналов "Питание подвезли" и "Питание - зер гут!"

MM
19.04.2019, 19:29
качество документации
https://pic.maxiol.com/thumbs/1555616492.531452670.2420.jpg (https://pic.maxiol.com/?v=1555616492.531452670.2420.jpg)
При питании от АТХ светик "Авария" можно назначить как "И ОСТ".

Hunta
19.04.2019, 19:57
MM, спасибо! По крайне мере этот вариант - логичный и не расходится с тем, что я уже знаю. :)

AFZ
20.04.2019, 03:16
(Глядя на схему) угу, и обрати внимание: на контакт 3 идет корзиночный сигнал ПРТ Н. И идет он через открытый коллектор (элемент D1.4, 155ЛП9) с обычного ТМ2 (элемент D2.2), который, по-простому, в счетном режиме переключается туда-сюда от кнопки "Таймер". Если триггер в единице (на 5-й ноге единица, на 6-й - ноль, это дефолтное состояние), то светодиод таймера не горит, на 8-й ноге D1.4 ноль, линия К ПРТ Н просажена этим открытым коллектором на землю, таймер не работает. Если триггер в нуле, открытый коллектор элемента D1.4 закрыт, зато открыт у элемента D1.х (номер не пропечатан, хотя похоже на пятерку, ноги 13-12). При этом горит светик таймера, а сигнал 50 ГЦ с Б:А7 (не поленился, заглянул в схему ВМ2) через перемычку на корзине между Б:А7 и Б:А14 идет на плату процессора. Что я тебе и говорил.

Hunta
20.04.2019, 09:24
Что я тебе и говорил
Аха. А ещё говорил, что выполнения (элементарных) вещей нужна отдельная плата на J-11

AFZ
20.04.2019, 10:05
Аха. А ещё говорил, что выполнения (элементарных) вещей нужна отдельная плата на J-11Где? Пальцем покажи, плз...

Вообще-то, у меня все это это сделано на одной микросхеме - ATmega8A-16PU, на ней же сделано управление включением АТХ БП - сигнал PS_ON (сама она кормится от дежурки), она же принимает от БП сигнал PWR_OK, на ней же генерятся сигналы К ПИТН В и К ПОСТН В, которых на твоей плате нет - их схема в самом БП Кванта, с твоей платы на эту схему идет только управляющий сигнал УСТ. Я даже драйвер 155ЛН3/ЛП9 поленился ставить, имитировал открытые коллекторы на выходах этой Атмеги. Итого - одна м/с, а тебе еще надо будет городить как эти самые ПИТН/ПОСТН, так и управление АТХ БП (если, конечно, не закоротишь его навсегда, а включать будешь подачей 220В на БП, могучим сетевым выключателем). И что-то мне подсказывает, что одной (третьей) микросхемой ты не отделаешься.

Hunta
20.04.2019, 10:13
Вот

ATmega8A-16PU

AFZ
20.04.2019, 15:22
И что? Одна 28-ногая м/с ценой 80 американских копеек. А если брать в планарном кузове - то вообще $4 с копейками за десяток...

Вообще-то я не призываю тебя делать так же, как и я - я просто рассказал, как это сделал я. А тебе все равно генерить К ПИТН В и К ПОСТН В, этого нет ни на твоем пультике от Кванта, ни в БП АТХ. И, ради бога, генери их, как хочешь. (Правда мне кажется, что одной микросхемой ты не отделаешься, придется делать что-то на КМОП ИС вроде 74HC132, иначе будут сложности с выдержкой времени, а в МПИ отдавать через ЛП9 или ЛН3, ну, или, если и там понадобится логика, то через ЛА13 или ЛА7.)

Hunta
20.04.2019, 19:53
Ну.. практически сделал. Ошибся в логике работы, но осциллограф подсказал. Сегодня уже поздно паять, завтра сделаю как правильно.
А, да. Одна 14-тиногая микросхема, три резистора и один кондёр. Думаю, не тянет даже 4 убитых енотов за десяток. И пространственный монтаж (пока, по крайне мере)

Hunta
20.04.2019, 22:52
Завтра проверю осциллографом, но, возможно, деталей надо ещё меньше....

AFZ
21.04.2019, 05:32
А при выключении оно у тебя тоже правильно работает? Сначала снимается К ПИТН В, а через 10 мс К ПОСТН В и только после этого выключается питание. Так? А то простые схемы, обеспечивающие правильную последовательность включения, при выключении действуют наоборот.

В оригинале там отслеживается сеть, при обнаружении пропуска одного периода сети (или двух, точно не помню, там аналоговая схема, вроде-бы), сбрасывается ПИТН, когда конденсаторы БП разрядятся до уровня "вот сейчас, через 1 мс, сорвётся стабилизация", сбрасывается ПОСТН и далее БП естественным образом останавливается. В АТХ такого, вестимо, нет, да и жирно для компьютера такие навороты. Но, если в БП на стороне 220В есть источник 3-5 В, который можно дополнительно нагрузить током 20-30 мА, то это тоже можно сделать. Цена вопроса - какая-нибудь мелочевка с АЦП на борту, типа ATtiny13, пара диодов, несколько резисторов и пара оптронов - такой небольшой довесок.

Но это так, вольный полет фантазии. А вот для выключения ДВК-шника штатным органом управления, в отличие от пропадания питания, все-же, стоит соблюсти правильную последовательность выключения. Да и сброс по сигналу "УСТ" тоже стоит делать правильно - получил его, снял К ПИТН В, подождал 10+ мс (я жду те же 70 мс), снял К ПОСТН В и жди, когда снимут "УСТ" (отпустят кнопку). Дождался - опять выполняешь правильную последовательность включения.

- - - Добавлено - - -


Одна 14-тиногая микросхема, три резистора и один кондёр. Думаю, не тянет даже 4 убитых енотов за десяток.Угу. И квантовский пультик. То есть, твоё решение годится только для тебя. Да, а микросхема с открытыми коллекторами, или как? МПИ все-таки...

Hunta
21.04.2019, 12:54
А при выключении оно у тебя тоже правильно работает?
Вопрос - нахрена? Или может быть, в Квант-е можно организовать батарейное питание, хотя бы ОЗУ - когда эта последовательность хотя бы для этого имела смысл? Особенно учитывая, что нормально на пропадание-восстановление питания может реагировать только RSX, которая для большинства - слишком сложна?


А вот для выключения ДВК-шника штатным органом управления, в отличие от пропадания питания
Это каким - рубильником 220 в?


То есть, твоё решение годится только для тебя
То есть то, что я с самого начала делал под Квант (и не пытался ащасливить весь мир, лет так через цать, как обычно на этом форуме) - как обычно пролетело мимо тебя.


а микросхема с открытыми коллекторами
Эта фраза говорит минимум о том, что ты не читаешь то, что я пишу и не думаешь над прочитанным, а с другой - видимо, держишь меня за идиота?

- - - Добавлено - - -

Частая проблема у старых специалистов - они говорят, как надо делать, часто не знаю или не помня - почему так надо делать. То есть надо - и всё.
Так рождается религия.

- - - Добавлено - - -

Ну что могу сказать.

К555ЛН2В, два резистора 680 Ом, блок питания ATX и самодельный Разъём ATX - Разъём Квант-а (не помню как называется, который 72-ухконтачный).

Осталось припаять провода Таймер и Пульт от блока управления Квант-а (с этим проблем нет - на разъём питания они заходят) и провод Установка - а с этим надо подумать, ибо в исходном варианте эта кнопка дёргает какой то из двух ПитаниеОк, что мне не совсем нравится - всё таки это не пропадание питания. Думаю завести её на К СБРОС Н - как то оно будет логичней.

Сегодня сделаю Таймер и Пульт, с Установ не горит - пока это всё делается под ремонтный стенд - а когда руки дойдут до попыток отремонтировать МС 1201.04 - кто его знает...

- - - Добавлено - - -

Возможно, верну кондёр и третий резистор, но сначала посмотрю на осциллограмму. С одной стороны - вроде как работает, с другой стороны - чёрт её знает, какая там задержка у ATX

- - - Добавлено - - -

Ну, потому, что мне показал осциллограф, всё таки верну кондёр и резистор

Hunta
21.04.2019, 15:58
Свободное время закончилось, так что на сегодня фсё...
Из размышлизмов - похоже, сигнал К СБРОС Н тоже играет роль при включении питания. Займусь в след выходные.

MM
21.04.2019, 16:22
Установка
Это перезапуск , аналогичный щелканию сетевым выключателем - см. Э3 МС9002.
Сброс Н - это всего лишь INIT, вырабатывается ЦП МС1201.х

Hunta
21.04.2019, 16:39
Это перезапуск , аналогичный щелканию сетевым выключателем
Да, это я уже разобрался.


Сброс Н - это всего лишь INIT, вырабатывается ЦП МС1201.х
Хм.. Но у проца этот вход вроде как входной-выходной? Во всяком случае, когда я сажал его на землю, плата исправно отрабатывала сброс. Хотя КЦГД никак не реагировал...

Hunta
22.04.2019, 07:48
Поскольку на подходе МС1201.2018, разборки с адаптером откладываются на неопределённое время, особенно учитывая, что МС1201.2018 сама умеет генерить сигналы ПитаниеОк и загруженность по работе - остаётся буквально час в рабочие дни и выходные свободного времени - и оно будет отдано МС1201.2018.

AFZ
22.04.2019, 08:17
Эта фраза говорит минимум о том, что ты не читаешь то, что я пишу и не думаешь над прочитанным, а с другой - видимо, держишь меня за идиота?Что-то ты не вполне адекватно реагируешь на мои замечания. Я, вроде-бы, поводов к такому не давал...

Где,напимер, ты писал про открытые коллекторы? Написал бы "одна 14-ногая 555ЛН2" и не было бы вопросов.


и провод Установка - а с этим надо подумать, ибо в исходном варианте эта кнопка дёргает какой то из двух ПитаниеОкВообще-то, в Э-60 (М2) сигнал К ПОСТН В своим низким уровнем делает сброс микроканала, приводя процессор в начальное состояние. Тот сигнал, который у других процессоров называется RESET. Пока на К ПОСТН В низкий уровень, процессор стоит в сбросе, после перехода его в высокий, процессор запускается. Зеленоградцы, разрабатывая МПИ и ВМ1-ВМ2, смотрели именно на Э-60, и сделали точно так же.


что мне не совсем нравится - всё таки это не пропадание питания. Это не пропадание, а его имитация. И надо его отрабатывать полностью - по нажатию кнопки УСТ снять оба сигнала, а по отпусканию сначала выдать К ПОСТН В, а через 70 мс - К ПИТН В. А при включении, перед их выдачей, следует дождаться от БП АТХ его сигнала PG (PWR_OK, Power_OK). Даже если оно сейчас работает. Через несколько лет сменишь БП и запросто может оказаться, что у нового БП запуск сильно затянутый, простые 555-е могут начать работать и от 3.5-4 В, оно выдаст К ПОСТН В, а 1801-е м/с при таком питании этого не поймут и зависнут. То есть, конечно, оно может и работать, а может и нет. Как и любое нарушение предписанных разработчиком правил использования оборудования. Кстати, в документации по ДВК эти дела изложены местами невнятно, если ты делаешь что-то для МПИ - неважно, периферию, процессорный модуль или питание - внимательно изучи соответствующие разделы документа 3.858.382 ТО Центральный процессор М2, это книжка от Э-60. Ошибок там, кстати, не замечено.

Кстати, для Э-60 было достаточно, по-простому, коротнуть на землю Б:А1 (К ПОСТН В), после чего она перезапускалась. Чем я иногда пользовался при отладке своей периферии для Э-60 с БПС 6-1, чтобы не дергать лишний раз питание. А вот ДВК-шники при таком обращении иногда подвисают, вплоть до необходимости выключения питания. Наблюдал на ВМ1 или на ВМ2, точно уже не помню.


Хм.. Но у проца этот вход вроде как входной-выходной? Во всяком случае, когда я сажал его на землю, плата исправно отрабатывала сброс. Хотя КЦГД никак не реагировал...К СБРОС Н - это сигнал, генерируемый процессором. Он вырабатывается, во-первых, при запуске процессора после сброса микроканала и, во-вторых, по команде RESET из программы. К СБРОС Н сбрасывает только периферию, и то не всю (пример - тот же КЦГД). Это выходной сигнал процессора, если он где-то и может оказаться входным, то это могло быть сделано только из расчета на многопроцессорную конфигурацию - у Э-60 он входным быть не может.

Hunta
22.04.2019, 09:35
Где,напимер, ты писал про открытые коллекторы?
То есть я просто так использовал резисторы, да?

- - - Добавлено - - -

За напоминание про

3.858.382 ТО Центральный процессор М2
спасибо

- - - Добавлено - - -


К СБРОС Н - это сигнал, генерируемый процессором
Я не смотрел ещё по схеме, но по тем описаниям, которые у меня есть на ВМ3 - 33 нога (обозначаемая где INIT, где CLR) - вход/выход

AFZ
22.04.2019, 12:50
Для подключения выхода с ОК к МПИ резисторы не нужны, они есть на плате процессора. А для организации задержек нужны RC-цепочки, простое подключение конденсаторов к выходам МС некошерно, возможны проблемы, вплоть до выхода м/с из строя. Я и подумал, что ты сделал, как надо.

Тем более, если не врет мой склероз, у 555-х максимальный выходной ток в состоянии "Лог 0" около 8 мА, так, что подключаясь к линии МПИ со стандартным для одиночной корзинки согласованием 330 Ом на +5 и 680 Ом на землю, ты и так перегружаешь несчастную 555ЛН2 почти вдвое. Так, что не удивляйся, если она у тебя через месяц-два работы возьмет, и крякнет.

Кроме того, у ЛН-ки неважная передаточная характеристика, из-за чего задержанный (особенно на 70 мс) фронт импульса К ПИТН В может оказаться слишком плохим - черт его знает, как на него будут реагировать разные экземпляры плат? Я в свое время делал эти 70 мс на 555ТМ2 с RC-цепочкой на входе - 1.5 кОм и не помню сколько мкФ, а в корзинку отдавал через ЛА18-ю. БП у меня тогда был от СМ1810, сигнала PG у него нет, так, что я тогда сделал две задержки по 70 мс последовательно, первой на вход +5В, второй - с выхода первой.

- - - Добавлено - - -


Я не смотрел ещё по схеме, но по тем описаниям, которые у меня есть на ВМ3 - 33 нога (обозначаемая где INIT, где CLR) - вход/выходТочно это знает только Vslav.

Я схемы с ВМ3 тоже не смотрел, на на схеме с ВМ2 контакт А:Б16 К СБРОС Н идет на 14 ногу D3 и на резисторную сборку. D3 это 531АП2, жестко включенная на передачу с порта W на порт B - 1 нога на +5В, 15-я - на земле. В обратную сторону передача не предусмотрена. 14 нога - это бит B3, только выходной, вход у этого (третьего) драйвера на А3 (12 нога), висит в воздухе...

Hunta
22.04.2019, 13:15
Точно это знает только Vslav.
Он вроде ещё не сделал ВМ3


на на схеме с ВМ2 контакт А:Б16 К СБРОС Н
когда я замыкал его на землю (а так же подавал на него выход с пульта управления с кнопки Установ) приводил к поведению, похожему на сброс.

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

Но ставить везде и всюду для элементарных действий микропроцессоры - это уже какая то клиника

- - - Добавлено - - -

У Шахнова:

ВМ1 - Init(34) вход выход
ВМ2 - Init(27) выход
ВМ3 - CLR (на рисунке) (33) вход, а INIT (в таблице) (33) вход-выход

Надо лезть в модели у Vslav-а

MM
22.04.2019, 14:12
Можно поставить эксперимент на работающей М-ЭВМ :
в разрез INIT проца и др. схемы включить выключатель, вывод INIT проца подтянуть резистором 2 ком к +5в., и от него на общий приделать
нормально разомкнутую кнопку.
Запустить М-ЭВМ, разомкнуть выключатель, кратковременно нажать и отпустить кнопку, замкнуть выключатель.
Если за время этого мероприятия Слово Состояния Процессора не изменилось - значит, выв. INIT только выход.

В ВМ3 должен вроде как быть двунаправленный :confused:

Hunta
22.04.2019, 14:31
Будет опять время - поэкспериментирую. Но для начала загляну в модели Vslav-а

AFZ
22.04.2019, 15:48
Икс его три, как там оно у самого микропроцессора ВМ3. Я не поленился, заглянул в схему 1201.03, блин, какой отвратительный скан!.. Так вот. То же, что и на схеме с ВМ2, только попроще. А:Б16 К СБРОС Н идет в жгут под номером 37, в два адреса - на резисторную матрицу и на 14 ногу D10 (531АП2, В3) , жестко включенную на передачу с W на В (1 нога на +5, 15 на земле). Вывод W3 (13 нога) идет тоже в два адреса: на выход процессора INIT (33 нога) и на резисторную сборку А8 (10 нога). Вывод А3 (вход АП2-й) висит в воздухе. Все. У ВМ2 этот INIT еще куда-то идет, а здесь только на драйвер. То есть у 1201.03 НЕТ пути передачи сигнала INIT из корзины на процессор. Уверен, что и у 1201.04 такого пути нет.

Кроме того, считаю, что заявление про то, что 33-я нога ВМ3-го вход-выход - это ошибка. На самом деле это только выход. Многопроцессорность, в смысле возможность посадить несколько процессоров на одну шину, поддерживает только ВМ1. Далее разработчики поняли, что главный тормоз - это шина и больше таких глупостей не делали. А "туда-сюда" на ноге INIT может понадобиться только при наличии нескольких процессоров на одной шине. Где-то про это писали, кажется в МПСиС.

Hunta
22.04.2019, 19:15
Эмулятор MFM диска добрался до меня, но развлекаться с ним буду не раньше майских..

Hunta
24.04.2019, 15:21
Вопрос к специалистам. Быстрые инвертирующие шинные формирователи с ОК - што е?

- - - Добавлено - - -


К531АП2?
Оно вроде как не инвертирующее...

- - - Добавлено - - -

Однако быстро я ответил :)

BYTEMAN
24.04.2019, 15:24
Однако быстро я ответил
... я успел передумать :)

Hunta
24.04.2019, 15:25
я успел передумать
Догадался :)

AFZ
24.04.2019, 16:07
Вопрос к специалистам. Быстрые инвертирующие шинные формирователи с ОК - што е?155ЛА18. Для МПИ - в самый раз.

- - - Добавлено - - -

Ну и штатные 559-е, ИП1 или ИП2, не помню, кто из них передатчик, кто приемник.

Vslav
24.04.2019, 16:14
Кроме того, считаю, что заявление про то, что 33-я нога ВМ3-го вход-выход - это ошибка. На самом деле это только выход.

Вывод 33 ~INIT в процессоре 1801ВМ3 совершенно точно является входом-выходом OK.
Низкий уровень на этом входе приводит к сбросу ряда внутренних схем процессора, включая детекторы фронта прерываний и биты регистра SR0.

Hunta
24.04.2019, 16:41
155ЛА18. Для МПИ - в самый раз.
Блин.. только посмотрев описание - понял, что в запросе не дописал... Нужны двунаправленные быстрые шинные формирователи с ОК

- - - Добавлено - - -

В принципе, можно и из пары ЛА18 сделать двунаправленные, но хотелось бы бит побольше, а корпусов поменьше..

Hunta
24.04.2019, 23:05
Э.. Вопрос снимается - не нужны там ОК :)

AFZ
25.04.2019, 06:55
Нужны двунаправленные быстрые шинные формирователи с ОК А нет таких. Ну, не считая 74F642 (вроде-бы, последнюю цифру точно не помню). которые теоретически есть, но на самом деле нет - давно сняли с производства. То есть, конечно, есть еще 559ИП3, но у них вторую сторону в шину не соберешь - только раздельные вход и выход.


Э.. Вопрос снимается - не нужны там ОКНу и слава Богу. Хотя тоже не все так хорошо - у нас есть (остатки) 555-531-1533АП3, а буржуазных не найдешь...

AFZ
25.04.2019, 16:30
Вывод 33 ~INIT в процессоре 1801ВМ3 совершенно точно является входом-выходом OK.
Низкий уровень на этом входе приводит к сбросу ряда внутренних схем процессора, включая детекторы фронта прерываний и биты регистра SR0.Получается, тоже готовили многопроцессорность? А чем он переключается на ввод?

Впрочем, не суть важно. Возможно, в каких-то военных приложениях оно и используется, как вход, но на 1201.03 (не смотрел, но думаю, что и на .04 тоже) НЕТ пути передачи сигнала INIT из корзины на микропроцессор. Драйвер, через который оно подключено к корзине (АП2) жестко включен на передачу от ВМ3 в корзину - выводы управления направлением запаяны на землю и на +5В, так, что можно забыть, что INIT на 1201.хх может быть входным.

Vslav
25.04.2019, 17:05
Получается, тоже готовили многопроцессорность? А чем он переключается на ввод?
Он не переключается, вход всегда подключен, а выход имеет тип ОК (открытый "коллектор"). Это не многопроцессорность, просто возможность наличия еще одного источника ~INIT в системе.

на 1201.03 (не смотрел, но думаю, что и на .04 тоже) НЕТ пути передачи
Дык, возможность - не обязанность :)

AFZ
25.04.2019, 17:39
Может просто воспользовались сигналом INIT внутри, а то, что он с ОК (в смысле ОС) - это так, между делом? Выходы IAKO, DMGO, часом, не ОК ?

Vslav
25.04.2019, 22:47
Может просто воспользовались сигналом INIT внутри, а то, что он с ОК (в смысле ОС) - это так, между делом? Выходы IAKO, DMGO, часом, не ОК ?
Вот тут (http://www.1801bm1.com/files/retro/1801/vm3/f3.sch) лежит полный, но непричесанный до конца вариант схемы 1801ВМ3 в .sch (можно смотреть бесплатным пикадовским просмотровщиком), там есть ответы на почти все вопросы по внешним выводам на странице "External Pins".

AFZ
27.04.2019, 08:51
Посмотрел. Нет, INIT - единственный с ОС, у всех остальных выход подтянут к +5 отдельным выключаемым транзистором, т.е., действительно, допускается внешний сброс. Интересно, зачем?

А вообще, я офонарел от проделанного объема работ. Я бы такое и в молодости не сделал, терпения не хватило бы. Снимаю шляпу!..

Hunta
27.04.2019, 10:11
действительно, допускается внешний сброс. Интересно, зачем?
Что бы делать сброс кнопкой снаружи

- - - Добавлено - - -


Вот тут лежит полный
Как то не пускает, пишет 403 ошибку (прав нет)

yu.zxpk
27.04.2019, 11:39
Как то не пускает, пишет 403 ошибку (прав нет)

Можно более конкретно: к какому URL нет доступа?

> curl -I http://1801bm1.no-more.kiev.ua/files/retro/1801/vm3/f3.sch
HTTP/1.1 200 OK
Server: nginx/1.12.2
Date: Sat, 27 Apr 2019 08:39:12 GMT
Content-Type: application/octet-stream
Content-Length: 24640555
Last-Modified: Wed, 01 Nov 2017 16:09:18 GMT
Connection: keep-alive
ETag: "59f9f1ae-177fc2b"
Accept-Ranges: bytes

Hunta
27.04.2019, 11:49
Ну.. Ссылка в исходном сообщении - хттр://www.1801bm1.com/files/retro/1801/vm3/f3.sch перекидывала на хттр://www.1801bm1.com а там уже 403
Сейчас попробовал ещё раз - пустило...

AFZ
27.04.2019, 18:43
Что бы делать сброс кнопкой снаружиТак повторяю: на платах 1201.хх нет возможности передачи сигнала INIT из корзины на микропроцессор. И кнопки такой на этих платах нет. Так, что...