Загрузится. BSTRAP проверяет возможности записи.
Вид для печати
AFZ, Так с этого адреса ПЗУ и работает. Банк ОЗУ отключать не нужно, нужно загрузить RT11 и дальше копировать командой DUMP.
Не-а! То ПЗУ, которое работает с этого адреса, находится "в тени". Его видно только в HALT-mode. Можно, конечно, воспользоваться хитрым приемом, который придумал В. Полетаев, запустить в HALT-mode свою программу и выгрузить работающее HALT-модовое ПЗУ, тоже, кстати, вариант... Чего я на самом деле боюсь, это не стекли ли заряды с отечественных плавающих затворов? Все-таки более 20 лет прошло...
AFZ, Так это ПЗУ основное или дополнительное?
Пример запуска кода пользователя в HALT-моде ВМ2 можно посмотреть здесь: VM2MEM
Это ПЗУха, которую надо вставить вместо 055-й, после чего можно будет загружаться с DW по команде B. Угу, спасибо. Я только еще не решил, что я буду делать: добывать из дальней кладовки платы и собирать из них ДВК (очень утомительное занятие) или, в порядке тренировки с Atmega8515, клепать читалку для РЕ2/РР1. Тем более, что где-то еще есть 182, 183 и какая-то альтернативка для MY.
Есть прогресс. Удалось запустить ре-мулятор. По какой то причине его вход CS0 просто садил мой ~nSEL на землю, пересадка на CS1 помогла. В данный момент блок ОЗУ 140000 отключен и вместо него стоит 8к ремулятор. DWboot.bin в нем лежит по адресу 153000 я все ячейки открыл в пульте и сверил - все правильно.
Тут говорили код позиционно независимый, но у меня запуск 153000G неработает :(
kapitan-u, Код инвертирован?
Да. я же все проверил в пульте. Уже работает! Просто винт надо было подключить.
Теперь надо допилить ре-мулятор. Сейчас от отвечает на весь блок 160000-177777 и не используемые ячейки забиты нулями (т.е. на шине единицы ОК)
Вроде по reply не конфликтует, но лучше сделать все красиво.
Patron, При отключенном приводе регистры отключаются (BUS ERROR). Только на 174020/100000 показывает.
В моём случае после G просто мигает курсор.
Пока мигает курсор - процессор 32'768'000 циклов читает регистр 174020 - если там всё время 100000, то после прокрутки всех циклов должно выйти сообщение об ошибке:
Я так понимаю, что таким образом гарантируется, что при автозапуске с включением питания - диск успеет раскрутиться и пройти автотест даже на процессоре с быстродействием 5 MIPS.Код:loc210:
Mov #174000, R4
Mov #23, @#10002
loc222:
Dec @#10002
loc226:
BEq loc370
Mov #10, 20(R4)
Mov #1750, R3
loc242:
Mov #100000, R5
loc246:
Tst 20(R4)
BPl loc262
SOB R5, loc246
SOB R3, loc242
Br loc370
Большое спасибо Vslav ! ре-мулятор теперь работает как надо. и CS0 работает и окно 173xxx ! Из модификации на плате надо только отрезать ногу панельки 23 от земли и подключить туда ~nSEL с 10й ноги D7.5
Вроде дозрел понемногу открыть отдельную тему про subj и продолжить работу над своим вариантом. А пока проделал небольшой эксперимент: попробовал собрать RT-11SB вместо RT-11FB для RTEM'а (зря чтоли в 5.6/5.7 исходники RMON общие).
Получилось
Код:>RTE RT11SHSB/SH
RTEM-11 (RSX-11M) V01.00
RT-11SB V05.07
.SET TT QUIET
.SH ALL
RT-11SB V05.07
Booted from VS0:RTEMFB
USR is set SWAP
EXIT is set SWAP
KMON is set NOIND
MODE is set NOSJ
TT is set NOQUIET
ERROR is set ERROR
SL is set ON
EDIT is set KED
FORTRAN is set FORTRA
KMON nesting depth is 3
CLI is set DCL, CCL, UCL, NO UCF
Emulated RT-11 environment, processor type unknown
60KB of memory
FP11 Hardware Floating Point Unit
Extended Instruction Set (EIS)
50 Hertz System Clock
Multi-terminal support
SB timer support
FPU support
Extended unit support
Device Status CSR Vector(s)
------ ------ --- ---------
LD Installed 000000 000
BA Installed 000000 000
NL Installed 000000 000
SL 127312 000000 000
SD Installed 000000 000
VS Resident 000000 000
QW Not installed 000000 000
TT (Resident)
VS (Resident)
VS0 = DK , SY
BA
NL
LD
SL (Loaded)
SD
1 free slots
Job Name Console Level State Low High Impure
--- ---- ------- ----- ----- --- ---- ------
0 RESORC 0 0 Run 000000 127236 144176
Unit Owner Type WIDTH TAB CRLF FORM SCOPE SPEED
--------------------------------------------------------
0 Console DL 80 Yes No No Yes N/A
Address Module Words
------- ------ -----
165324 VS 854.
142510 RMON 4806.
127304 SL 2882.
001000 ..BG.. 22114.
No LD units mounted
.
[свернуть]
Правда файл системы все-равно нужно обзывать RTEMFB.SYS - прошито в программе RTEM, но это как раз в планах - в своей реализации RTEM сделать возможность загрузки по выбору.
Использование памяти:Код:RT-11FB RT-11SB
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Address Module Words Address Module Words
------- ------ ----- ------- ------ -----
165324 VS 854. 165324 VS 854.
135744 RMON 6008. 142510 RMON 4806.
122540 SL 2882. 127304 SL 2882.
001000 ..BG.. 20912. 001000 ..BG.. 22114.
2 All: А имеет ли какие-то особенности подключение 1801РР1 в качестве ПЗУ для считывания? Я, по-простому, подключил ее точно так же, как и 1801РЕ2: линии AD00-15, как и положено, 3 - SYN, 1-RD, 23-CS - заземлил, 2-RPLY, а 21-22 бросил в воздухе. А вот сейчас боюсь, не попорчу ли я этим содержимое ПЗУ. Все-таки МОП-входы, может их тоже куда-нибудь подключить?
И еще вопрос: резистором какого номинала "подпереть" RPLY на +5В ?
AFZ, PP1 Пин-то-Пин совместима. Подробности можно почитать- здесь.
Этого не может быть потому, что этого не может быть никогда. (с) И здесь это подтверждается. На ногу 22 следует подать "Лог. 1" (открытым текстом этого не сказано, но можно понять из времянок чтения-записи), потенциал ноги 21 может быть любым между 0 и +5В, так, что обе эти ноги проще всего подключить к +5В, иначе надежность не гарантируется - хрен его знает, какие там потенциалы наведутся на ногах, брошенных "в воздухе". А у 1801РЕ2 ноги 21-22 помечены, как NC.
За книжку - спасибо.
---------- Post added at 09:35 ---------- Previous post was at 08:12 ----------
Поразглядывал книжку внимательнее. Во-первых, про ноги 21-22 таки прописано, что в режиме чтения их нужно либо заземлить, либо подать +5В, причем про 21-ю в другом месте заявлено, что +5В предпочтительнее. Во-вторых, в той игрушке, которую я склепал на АТмеге 8515, достаточно подключить к свободной ноге любого порта 22-ю ногу (RD/WR), разземлить и подключить к другой свободной ноге порта CS (23), добавить источники +24В, +18В и обеспечить их коммутацию на 5 ногу (+5 туда же подать через резистор), подправить софтину и получится программатор этих РР1.
Насчет ПЗУ.
Доки на программирование М1801РР1 ( классические 1991 г. ) :
http://narod.ru/disk/9026099000/1801rr1.zip.html
( IE8 не поддерживается )
Сканы любезно предоставлены уважаемым господином anonymous.
Следует учитывать, что в 1801РЕ1 выв. 22, 21 были заведены разряды адреса А16, А17.
Теоритически, для 1801РЕ2 следует придерживаться пиноута от 1809РУ1/537РУ11 :
http://storage4.static.itmages.ru/i/...8d1ed9008f.jpg
где 21 выв - подложка.
"Теоретически" про РЕ2 вот тут всё без теоретизирований расписано:
http://155la3.ru/datafiles/kr1801_tu.pdf
MiX, Сегодня тебе звонил, но ты бы вне зоны.
Отфоткал я КМД-255 с вновь прибывшего Кванта-4С и подписал номиналы.
http://bk0010.spb.ru/PHOTO/NEBK/2/KMD255KM.JPG
Этот же скан (с тем же просветом в тексте внизу 20-й страницы), но оформленный в виде PDF, только что выложил MiX двумя мессагами выше. В общем-то из этого скана вполне понятно, как надо делать. Вот-вот. Что я и написал. 21-22 не задействованы. По-буржуйски - NC (Not Connected).
Объясняю для тех, кто далек от темы М-ЭВМ.
Если в колодку с неразведенными 21, 22 выв. вставить ИС ПЗУ 1801РЕ1 или 1801РР1 - М-ЭВМ скороее всего не пустится или будет часто спонтанно висеть.
Более того, колодку с внутренней магистралью М-ЭВМ часто разводят именно для внешного отладочного оборудования - что бы вместо ПЗУ вставлять стенд.
Пример - КМД.
Более того, как представитель предприятия - изготовителя КР1801РЕ2 не дам 100%, что выв. 21 и 22 не разваривались на кристалл - вероятно, были варианты.
Году так 1989 расспрашивал человека, причастного к исполнениям РЕ2 - он говорил, что возможно по заказам были варианты, т.е. 100% вероятности NC нет.
Т.е. если кратко - что бы небыло сюрпризов и проволок на плате, надо разводить
21, 22 к шине +5в. через резистор 150 ом - 3.3 ком.
Про 1801РЕ1 я ничено не знаю, не видел. А вот с РЕ2, скорее всего, все будет работать нормально. Да и подключение куда-то 21-22 ног РР1 - тоже чистая перестраховка. 21 нога - это питание схем программирования. Блуждающие потенциалы и наводки не в состоянии пркормить довольно жручую схему, так, что ничего ей в брошенном состоянии не будет. А 22-я - логический вход управления схемами записи/стирания, при отсутствии питания этих схем он просто неактивен. Склонен полагать, что в серийных, правильно маркированных микросхемах РЕ2 с общеизвестными прошивками, ноги 21-22 таки NC. А то, что было по заказам, должно иметь спецмаркировку, и уж номер прошивки точно должен отличаться от общеизвестных.
Специально сейчас перетер с ветераном, он сказал, что в 1986 г. часто корпусировали кристаллы РЕ1 в пластик и маркировали РЕ2, т.к. не все прошивки РЕ2 были готовы к 27 съезду, к которому и делалась КР1801РЕ2.
А насчет маркировки партий и извещений - может, на А. это еще кое-как и соблюдалось, но в моем городе самая первая проблема - не качаться при проходе проходной. Очень хорошо, если в цеху правильно соориентируют рамку при разварке - но примерно у единиц % ИС этот не удавалось, ввиду повального алкоголизма у рабочих и недостаточного интеллекта у теток-проектировщиков ("конструктора").
Кстати, в Солнечногорске вообще КР1801РЕ2 не испытавали - от них шел массовый брак 326 и др. прошивок, до 30% сразу выявлялось, остальные - потом.
Не так давно с одной такой столкнулся - в блоке КНГМД в упор не хотела грузится с диска, в программаторе к/с - ок. Поставил 253 Ангстрема - БК11М загрузилась...
Повторюсь, про РЕ1 ничего не знаю, если что и читал когда-то, не помню ничего. А что, там какие-то особенности?
2All: А я ее таки нашел и прочитал. Ловите. https://yadi.sk/d/koWW7SDPgWSfe
Это альтернатива прошивке 055 для ДВК с ВМ2 и ВП1-013. Поддерживает загрузку с RK, MT, DW, MY и кучки не помню еще каких устройств. Увы, я смог прочитать только в .hex, на пробу сконвертировал в .bin, вроде все в порядке.
Кто там страдал с ВМ2 и DW? Это то самое, что нужно.
AFZ, Просто класс!!! :v2_thumb::v2_clapp::v2_cheer:
Спасибо за прошивку!!!
А какой класс был, когда я ее добывал!.. Программатора, который бы понимал эти м/с у меня и в обозримой округе нет и не предвидится. Идею собрать ДВК из лежащих в дальней кладовке плат я отверг - больно глубоко все это закопано. По некотором размышлении, решил склепать читалку на AVR, благо, АТмега8515 уже давно лежит без дела в коробочке с радиодеталями. Ладно, склепал платку (лазерный утюг рулит!), сочинил софтинку и тут засомневался: а вдруг бесценная информация повредится из-за того, что я бросил ноги 21-22 в воздухе? Яндекс с гуглом ничего хорошего не нашли, пришлось спрашивать здесь, ты весьма кстати выложил правильную доку, вопрос закрылся, хотя шума с разгону хватило еще на десяток мессаг.
Конечно, остался вопрос, как принять данные в писюк. Я, не найдя подходящей программы, воспользовался виндовым Хипертерминалом (из-под ХРеновины). Софтинку в АТмегу склепал, чтобы она выдавала результат в Intel HEX (упрощенном), полученное, по-простому, скопипастил в редактор FAR'а, и весь хрен до копейки!..
Вы правильно считали прошивку. Можете сами проверить в эм. Патрона. Для этого нужно скачать эм.- здесь.
Далее поместить прошивку в папку эмулятора и отредактировать файл default.cfg в текстовом редакторе.
Где вместо 055 прошивки
прописать считануюКод:VM2.BootROM_DataFile = 055.DAT
Далее файл сохранить и можете запускать эмулятор.Код:VM2.BootROM_DataFile = RR1-VM2alt.bin
Я лично ставил РР1 ( с прош. 377) вместо РЕ2 на плату МС1201-04 и работало без проблем.
Было-бы полезно Вам надо найти коробочку с другими прошивками и прочитать их.
С Победой Вас!:v2_dizzy_drink:
Ну и замечательно. Собственно, я и ждал что кто-то ее проверит. Про эмулятор я как-то не сообразил, вернее не знал, что там используются образы этих ПЗУх. Я тоже пихал РР1 - вот эту самую прошивку - в 1201-02, РР1 с прошивками 183 и 184 - в КЦГД, все работало. Но это было тогда, микросхем было по несколько штук, да и дозаказать можно было. А тут держишь в руках уникальный экземпляр и знаешь, что грохнешь его, и все, другого в природе не существует!.. :)
В общем-то, конечно, чистая перестраховка. Зато теперь, при нужде, эту мою игрушку можно будет доработать до программатора, как я понял из полученной доки - ничего военного. :)
Уже нашел. На днях вычитаю и выложу.
Поиграл с этой прошивкой в эмуляторе. Во-первых, обнаружил, что появилась новая команда - A. Выдает список всего, что "видно" на Q-Bus, в виде "начало-конец". Во-вторых, посмотрел на реализацию загрузки Абсолютного Загрузчика с перфоленты. По команде 176560L с адреса 157500 размещается сам перфоленточный абсолютный загрузчик, с адреса 157744 пересылается полноценная программа "начальный загрузчик", а не тот хвостик от нее, который грузился под микро-ODT Э-60, ну, и происходит запуск с 157744. То есть, если работать с настоящей перфолентой, можно, включив "Пульт", подать команду 177550L не ставя ПЛ с абс. загрузчиком (его занесет HALT-программа), а потом, погасив "Пульт" и вставив ленту с LDA-файлом, запустить абс. загрузчик командой 157500G. Или, если вместо абс. загрузчика используется собственная программа, допустим, на компакт-кассете, подаем команду 177500L, а на кассете первая запись - тот самый самодельный загрузчик. То же самое можно сделать и для загрузки с компорта 176560, я когда-то делал такое...
*******************************
Это было вчера. А сегодня с утреца я вычитал очередную РР1 с надписью карандашом "093" Тут уже упоминалась какая-то прошивка 093, не знаю, то это или нет. То, что у меня, записано на "Кванте" в конце 92 - начале 93-го. https://yadi.sk/d/ossMfKVsgXk2Z
AFZ, а почему именно с 176560L?, это-же адрес последовательного порта.
И как понять "полноценная" программа? Что там может быть напихано?
А вот здесь поподробней пожалуйста. Это что-то типа TU58?
Да это неофициальная 093* для КМД. В 8 книге Преснухина 093 официальная упомянута как для КУВТ-ДВК (не для КМД). Вот эту интересно было-бы найти.
Потому, что надо указывать адрес существующего (отвечающего на Q-Bus) устройства. Загружать таким образом в эмуляторе нечего, но поразглядывать содержимое ОЗУ - самое то. Полноценная программа начальной загрузки с ПЛ - это вот:
Скрытый текст
Код:Load = 37400
. = 37744
START: MOV device,R1
Loop: MOV #.-LOAD+2,R2
ENABLE: INC @R1
PWAIT: TSTB @R1
BPL PWAIT
MOVB 2(R1),LOAD(R2)
INC LOOP+2
BRNCH: BR LOOP
DEVICE: 0 ; здесь надо записать адрес регистра состояния устройства,
; откуда загружаемся.
.END
[свернуть]
Располагается в последних 14 словах памяти. Позиционно независима с дискретностью в 256 байт (128 слов), т.е. ячейка DEVICE в младшем байте адреса должна иметь 376. Ее задача - загрузить абсолютный загрузчик.
На машинках с пультом (той же Э-100/25) ее полагалось в кодах вводить с пульта. На LSI-11/03 и ее клоне Э-60, действия, которые выполняет эта программа, перенесли в микро-ODT, а в ДВК, как мы видим, приняли свое оригинальное решение.
Подробности можно посмотреть на http://retropc.org/soderjanie_149.html (только что нашел). Нет, это устрйство CT:, был ли у него DEC-овский прототип и, если был, то как его звали - не знаю. Подробности про его СМ-овский вариант СМ 5211 можно посмотреть по той же ссылке.
То есть у меня то же самое? Мне тогда обещали что-то совсем выдающееся...
Это на продвинутых машинках, где этот эмулятор пульта есть. А на древних бездисковыых этого эмулятора нет, как класса. Собственно, на хрена нужна ПЛОС, если есть диски? Перфоленточная ОС в работе - строго от безысходности, ни один нормальный человек, имея под рукой машинку с дисками и той же RT-11, не станет программировать, используя ПЛОС. Естественно, не считая развлечений, типа "Плпробую-ка я по приколу попрограммировать под ПЛОСом". А для машинок с единственным органом управления в виде пульта, в упомянутом мной руководстве даже подробно расписано, какие надо нажимать кнопки.
Скажем проще, это на любой Э100/25 (речь шла о нем) где есть ПЗУшка независимо от продвинутости и дисков (то есть просто на любой я думаю) :)
---------- Post added at 20:53 ---------- Previous post was at 20:52 ----------
Ну пульт в старых унибусных машинах везде одинаково работал, там ничего сложного. И команды в эмуляторе пульта построены по той же логике.
Вероятно, на ранних машинках ПЗУ таки не было. Его же надо было прошивать проволокой через феритовые сердечники. Микрокод еще шили, а на программы, ИМХО, в те времена не замахивались. Клонов PDP-11 тех времен (конец 70-х) я не видел, а вот трансформаторное ПЗУ микрокода СМ-1 помню хорошо. А электронные ПЗУ появились позже, по крайней мере в серийной продукции.
Не совсем, по адресу 1EA0 слово заполнено единицами. Но по моему это не относится к программе.
Вот здесь я не согласен. Перфолента используется там, где невозможно использовать другие носители. Например из-за эл. магнитных полей силовых установок, агрессивности сред итд. Да и по долговечности перфоленту можно хоть через >100 лет прочитать без потери какой либо информации.
Как-то вот так...
2 All: Вот последняя порцайка инфы из моей коллекции РР1. https://yadi.sk/d/suQLcDgygZ4jw Все остальное уже выложено.
Это программа графического протокола KeyGP для КЦГД-182. Занимает две РР-ки - 183 и 184, вместе с РЕ2-182 обеспечивает полноценный графический адаптер с векторной графикой, тормозной только. Вроде-бы АДОСовский Бэйсик умел пользовать графику KeyGP, были еще какие-то программы, но, в общем-то, вещь, скажем прямо, малополезная.
В принципе, все прошивки КЦГД просятся в один РЕ-мулятор, если, конечно, на нем есть переключатель, которым можно рулить содержимым. Воткнуть его (мулятор) вместо имеющейся 181/182 и переключать: чтобы просто поработать в текстовом режиме, включить одну 182, чтобы запустить какую-то из массы графических программ для КЦГД-181, включить одну 181, а захочется поиграть с KeyGP - включить все три - 182, 183 и 184. Адрес 183-й прошивки 120000 (0xA000), 184-й - 140000. Если кто не знает, 181/182 - 100000. Адрес, если что, виден в .hex-файле.