Номиналы зеленых КМок еще хорошо бы снять.
Вид для печати
Номиналы зеленых КМок еще хорошо бы снять.
Специально по просьбам трудящихся,
номиналы КМ' ок:
http://www.tis.kz/large/IMG_0507_BP_KM1.jpg
http://www.tis.kz/large/IMG_0507_BP_KM2.jpg
Andrey_Ak, а у меня БП какое-то другое исполнение, большая батарея "лежачих" электролитов на выходе.
Еще один вариант плугина, пока не сильно тестировался, но вроде гораздо
лучше совместим с живым железом. По прежнему поддерживает не все команды,
однако позволяет (ха-ха) отформатировать виртуальные диски в том числе под
разные размеры сектора (впрочем не видел ни одного драйвера который бы с
этим умел что-то делать потом). Сразу после подгрузки плугина диски
считаются неотформатированными и их нужно размечать каким-нибудь myform.sav
или другой столь же криво написанной программой :)
Как будет время, возмжность форматирования будет добавлена прямо в драйвер
который я недавно выкладывал тут.
Во-общем научился писать дискеты формата МХ на ДВК3/4 с контроллером МХ
и MY через Винт...
Позже будет подробный отчет... Так что если кому надо дискеты MX,
могу писать и отсылать... :)
Тут такое дело, всем известно что дискеты MY пишутся на PC без проблем...
А вот дискеты формата MX считалосьчто писать на PC нельзя, можно было только читать с помощью "программы чтения дискет MX на PC" от Владимира Полетаева...
Но всем известный "драйвер ДВК-дискет форматов MX и MY" состоящий из
файлов DVK.COM и DVKFMT.COM как выяснилось опытным путем,
умеет форматировать! дискеты МХ, писать! файлы на дискеты MX отформатированные им-же... Эти дискеты без проблем читаются на реальном
контроллере МХ на ДВК...
Только вот у меня не получилось делать эти дискеты загрузочными....
На ДВК на контроллере MX эти дискеты без проблем делаются загрузочными
командой COP/BOO MX1:FMONSJ.SYS MX1: Но для этого надо иметь
загрузочную дискету MX...
А вот как сделать эти дискеты загрузочными на PC я не додумался...
Принцип работы того драйвера на PC такой:
Загружается драйвер в систему, запускается программа форматирования которая
форматит чистый диск А под формат ДВК МХ, (только он немного отличается от
формата на реальном ДВК, но реальный ДВК этот формат понимает без проблем)...
Далее если в досе или в оболочке открыть диск А, то мы видим пустой диск,
на который просто тупо копируем нужные нам файлы системной дискеты ДВК...
Но вот как сделать ее загрузочной? Ни одна программа работы с дискетами
и образами отказалась понимать дискету в дисководе, хотя в досе содержимое
нашей сделанной дискеты просматривается, читается, пишется...
Как быть?
Вот тот драйвер и утилита форматирования: http://oldcomp.vitaly.kremnev.ru/dvk.rar
Andrey_Ak, утилита putr умеет делать загрузочные образы "по RT-шному" т.е. имея на диске (образе) драйвер XX.SYS и RT11SJ.SYS прописывает загрузчик.
http://www.dbit.com/pub/putr/
Единственное что нужно подобрать в putr тип дисковода.
Выложи образ ?
Можно ли образ залить на флоп ?
Andrey_Ak, дискеты формата MX писать на PC вполне реально. Также возможно их и прочитать и записать на машинах БК, УКНЦ и ДВК с контроллером MY(кроме прошивки 091), примером тому может служить драйвер BX.SYS в операционной системе БК-11.
Для PC принцип форматирования дорожки такой - она форматируется секторами размером 128 байт но с меткой размера 6 (8192 байт), вмещается 29 секторов с промежутком GAP3 равным 40 байт. По последнему сектору определяется срыв синхронизации, а значит и реальная длина дорожки (она может варьироваться на десяток байт у разных дисководов, идеальная длина 6250 байт). Далее пишется содержимое дорожки начиная с последнего сектора с прерыванием записи. Длина записываемых данных равна длине до индексного отверстия плюс длина MX-овской дорожки. В MX данные пишутся словами, начиная со старшего бита. Для того, чтобы на MFM-контроллере записать FM-данные для MX на взять слово данных (два байта), переставить байты и сформировать два слова данных, которые состоят из последовательности бит "1", бит 15, бит "1", бит 14 и т.д.
Таков в общем принцип, только надо написать программу для записи дискеты.
- А как ей это сделать? А то я посмотрел доку, но что-то мало что понятно... У меня в дисководе А стоит дискета формата MX, которая
в досе читается и можно прямо в нортоне кидать на нее файлы RT11...
А вот как прописать загрузчик? На дискете есть XX.SYS и RT11SJ.SYS
Какой образ выложить?
Берешь образ дискеты, цепляешь его к E11 как DU1: например, делаешь
COP/BOO:MX DU1:RT11SJ DU1:
получаешь загрузочный образ MX, который потом пишешь на дискету.
---------- Post added at 09:37 ---------- Previous post was at 09:36 ----------
Или к слову, делаешь все это у себя на винте с LD: :)
- Это с MY проблем нет, а МХ на писи понимает только один драйвер,
который позволяет только читать/писать файлы на диск А (МХ) и
форматировать дискету в формате МХ.... А ни одна программа работы
с образами не понимает дискету MX на PC, хотя через этот драйвер
с дискетой МХ можно работать как с обычной PC...
- На ДВК все получается без проблем... Но где-то в начале этой ветки,
у меня еще не было контроллера MY, а был только MX... Но тогда
писать МХ на писи считалось не возможным.... И по этой причине
я около полугода не мог загрузить систему на ДВК3 так как небыло
дискет.... И никто не мог мне их записать и отправить почтой...
А тут вдруг оказывается что дискеты МХ можно писать на РС....
Хочется отшлифовать эту тему и написать подробную инструкцию
по созданию дискет МХ на РС...
Andrey_Ak, интересно, как этот драйвер умудряется писать FM ? Не пробовал его дизассемблировать ? Если будет исходник, то можно писать образы.
AlecV, а этот драйвер и не пишет в FM, все пишется в MFM. По формату записи FM единицу можно представить как 1010, а ноль - 1000. В MFM единица представляется как 01, а ноль как 00 после единицы или как 10 после нуля. Соответственно прямо не получиться, но со сдвигом на один MFM-бит получается:
Число: 00000000
FM: ...0_10001000100010001000100010001000_1...
MFM: ...0_10001000100010001000100010001000_1...
Результат: 1010101010101010
Число: 00100100
FM: ...0_10001000101010001000101010001000_1...
MFM: ...0_10001000101010001000101010001000_1...
Результат: 1010111010111010
В архиве дизассемблированный драйвер BX для ОС БК-11. Алгоритм можно почерпнуть оттуда.
Вопрос все еще остается открытым... Получается с помощью драйвера и программы форматирования получается писать МХ, а вот загрузочным этот МХ сделать не получается...
Вопрос к Гуру по ДВК, и ассемблеру DEC....
Имеется вот эта ПЗУ: http://www.tis.kz/large/IMG_el100-ro1.jpg
Вот ее схема, правда не до конца дорисовал... :
http://www.tis.kz/temp/pzu_el100-25.jpg
У нее проблема с чтением третьего бита загрузочного
под-ПЗУ на четырех КР556RT4А, Как выяснилось это
подохла сама микросхема №0 КР556RT4А...
Просьба следующая, надо понять этот код ПЗУ и исправить
в нем третий бит в должный вид...
Вот код того загрузочного под-ПЗУ:
173000 005037 177570 012716 007776 004077 000652 005015 026512
173020 060572 071157 075175 060553 005015 026532 062570 062572
173040 060572 072570 065573 005015 026534 062574 072173 006571
173060 037412 000010 004777 000634 001757 120037 000112 001410
173100 120037 000132 001532 120037 000134 001336 000177 000350
173120 012737 000236 000234 012737 000012 000236 012715 175010
173140 012714 170012 012713 010010 004777 000416 004777 000352
173160 101017 004077 000510 006417 073412 066153 077150 020151
173200 066556 030154 073474 037153 000010 004777 000476 000754
173220 005035 005035 012711 000010 004777 000254 101053 001453
173240 005311 001014 004077 000416 006417 067412 020173 072176
173260 067155 070551 066450 000154 000010 000776 012713 177777
173300 012773 000112 000014 004777 000214 101356 004077 000356
173320 006417 067412 020173 067577 073572 060572 060574 000010
173340 000010 000776 012710 010016 012711 002010 012015 077112
173360 012711 000010 000731 004777 000170 005010 012711 000410
173400 012715 175010 005035 005035 011530 077112 005010 022710
173420 000250 001012 000137 000010 004077 000232 006417 067412
173440 020173 060572 071157 075175 064553 000010 000010 000776
173460 010710 062710 000174 012037 173776 012011 012012 013732
173500 173776 077113 011010 000110 010310 012730 174010 012730
173520 010016 012710 000112 010314 000011 005714 100411 000217
173540 032773 040010 177776 001412 000274 000412 000254 000271
173560 000217 012773 000016 000014 010314 105714 100376 000217
173600 000010 000010 000010 000010 007577 000010 000210 007577
173620 007570 000010 000210 017377 007217 000010 000210 026576
173640 003773 000010 000210 032571 000333 001010 001010 033114
173660 000674 100010 100010 105737 177574 100375 112037 177576
173700 105710 001371 042710 000011 005730 000210 005056 105737
173720 177570 100375 113710 177572 105737 177574 100375 110037
173740 177576 122710 000015 001412 010016 000771 105737 177574
173760 100375 112737 000012 177576 012610 105710 000217 013436
И немного другой вид Вложение 15958
Вот дизассемблированный вариант. Так по-моему проще. Уже сразу навскидку видно, что есть лишние биты, которые установленны там где должны быть нулями.
Вобщем в прошивке везде установлен 3й бит. Навскидку поправил что попалось на глаза без вдумчивости. После ";" написан код какой был до правки (если код не написан - значит не менялось, но я согласен с тем что было). Для текста старый код не писал - там все и так ясно. Мог и ошибиться где-нибудь впрочем. :)
Код где правил мог забыть поправить, но инструкции исправлял везде...
Основная часть кода которая используется в видимой прошивке отсутствует и ее еще вытащить надо (способ вытаскивания впрочем ясен). Здесь же виден сразу какой-то загрузчик с устройства вроде электронного диска.
Глядя на схему и на плату ПЗУ, я предположил, что основное ПЗУ (на 16 микросхемах РФ2) имеет последовательную адресацию, т.е. читается по какому-то одному регистру, подобно данным с последовательного порта. А в бутроме (который на РТ4 и которое как раз испорчено) сидит загрузчик, который перекидывает этот блок в ОЗУ платы МС1201.02 и потом запускает. Правда, подробно я не разбирался.
Отчасти так и есть. Там перекидывается кусок из этого последовательного и запускается. В коде который я слегка разобрал видно два блока параметров для перекидывания с разными адресами в скрытой области и разной длиной. А сам способ доступа простой: в 173776 пишется номер слова с которого начинать читать, а потом из него же последовательно вычитывается все.
Вот Вложение 15976
По просьбе Andrey_Ak предлагаю вариант временной замены 556РТ4 на AT29C010A, которую можно прошить хотсвопом (у Андрея нет программатора). Конечно, испотьзовать 1024 бит из мегабита не самое выгодное решение, но для проверки прошивки сойдет.
В таблице просто указано, что с чем соединять. В первые 512 байт AT29C010A заливается восстановленный бутром. На вывод 12 подавать 0 или +5, я забыл какой байт идет первым - старший или младший.Код:556РТ4 AT29C010A
1 5
2 6
3 7
4 8
5 11
6 10
7 9
9 17
10 15
11 14
12 13
15 27
12 (выбор старшего/младшего байта)
GND:
8,13,14|2,3,4,16,22,23,24,25,26,28,29
+5В:
16 31,32
Итак замена ПЗУ РТ4А на AT29C010A вроде удалась,
данные читаются... Осталось ее перепрошить и пробовать....
---------- Post added at 22:14 ---------- Previous post was at 22:14 ----------
Итак замена ПЗУ РТ4А на AT29C010A вроде удалась,
данные читаются... Осталось ее перепрошить и пробовать....
---------- Post added at 23:09 ---------- Previous post was at 22:14 ----------
Нужен бин файл исправленной прошивки... Кто поможет?
Похвастаюсь трофеями. Модуль ОЗУ П9 на 512к
http://img-fotki.yandex.ru/get/3910/...672_d674f9f6_S
и модуль ОЗУ П11 на 4 мегабайта
http://img-fotki.yandex.ru/get/3910/...671_7ba7a9d6_S
Последний - не от PDP-11, а от MicroVAX.
А что было отечественным аналогом MicroVAX ? СМ-1700 ?
PDP-11/73 вроде скопировали в виде Электроники-79.
А историю копирования MicroVAX совсем не помню...
Была еще Электроника 82 в составе комплекса Кулон-4 но она определялась как нечто среднее между VAX-730 и Vax-780.Это было примерно в 1989-90 годах.
Немного поправил файл, расставил метки, смысл некоторых фрагментов стал понятен...
Регистры электронного диска - с 175000 по 175004 (как минимум).
Два первых, предположительно, задают адрес обмена (в виде двух слов), из третьего читаются/пишутся данные.
Регистр контроллера НМЛ - 174002 или 174012. Контроллер непрост.
По-видимому, в этот регистр передаётся адрес дескриптора операции (чтения/записи/и др.), который считывается контроллером из памяти методом ПДП. Обратно из этого регистра читается состояние контроллера. В дескрипторе заполняются различные поля, определяющие вид операции, сколько данных считать, и в какую область памяти записать. Контроллер также заполняет определённые слова в этом дескрипторе (предположительно код завершения операции). Метод работы похож на реализованый в КМД...
Андрей, если в пульте этот регистр не читается - контроллер, как и предполагали, скорее всего, не работает. Присутствие этого регистра на шине МПИ наверняка реализуется в нём микропрограммно.
А как этот код в ассемблере перевести в бин файл?
Пока рано, надо ещё некоторые фрагменты уточнить.
Потом странслируем...
Программка сканирования адресов подвела,
оказалось что вот эта http://www.tis.kz/large/IMG_el100-mt1.jpg
плата имеет адрес 170002
Теперь надо попробовать восстановить из поломанного кода (3 бит)
ПЗУ команды работы с этим контроллером, вот поломанный код ПЗУ: http://zx.pk.ru/showpost.php?p=254692&postcount=662
Вот основное ПЗУ которое работает с вышеуказанным загрузочным
ПЗУ: http://zx.pk.ru/showpost.php?p=254849&postcount=669
Вот подправленный код ПЗУ: http://zx.pk.ru/showpost.php?p=256607&postcount=675
Скорее не подвела, а просто показала отсутствие адреса которого действительно не было на момент сканирования. Наличие адреса на шине - не постоянное состояние. Платы электронных дисков например иногда убирали регистр(ы) данных пока не выставишь правильный адрес в регистр(е,ах) адреса :)
170002 упоминается в коде загрузчика (был вариант и с 170012, но теперь уже с большой вероятностью можно сказать, что там должно быть всё-таки 170002).
Для уточнения некоторых констант в загрузчике нужно подключить накопитель и провести ряд тестов...