PDA

Просмотр полной версии : Эмулятор ДВК



Страницы : 1 2 3 4 [5] 6 7 8

Patron
17.03.2016, 11:10
Благодаря добавлению в эмулятор контроллера RK впервые попользовался родным штатным FORMAT.SAVЕсли добавить для RK кнопки приводов - можно наблюдать на них "цветомузыку", которую на четверть часа запускают тесты XXDP.



[objects]
D0_Button = Ядро:SB_DriveButton
D1_Button = Ядро:SB_DriveButton
D2_Button = Ядро:SB_DriveButton
D3_Button = Ядро:SB_DriveButton


[links]
VT52 + D0_Button + RK
VT52 + D1_Button + RK
VT52 + D2_Button + RK
VT52 + D3_Button + RK


[VT52.ini]
InitialStateOf[StatusBar] = 1


[D0_Button.ini]
SB_Part_Data=nPosition[3] | nPriority[2] | bHidden[0]
Unit_Number=0


[D1_Button.ini]
SB_Part_Data=nPosition[4] | nPriority[2] | bHidden[0]
Unit_Number=1



[D2_Button.ini]
SB_Part_Data=nPosition[5] | nPriority[2] | bHidden[0]
Unit_Number=2


[D3_Button.ini]
SB_Part_Data=nPosition[6] | nPriority[2] | bHidden[0]
Unit_Number=3


Динамический тест даже умеет рисовать графики скорости позиционирования:



@B
$DX0


CHMDXD0 XXDP+ DX MONITOR
BOOTED VIA UNIT 0
28K NON-UNIBUS SYSTEM

ENTER DATE (DD-MMM-YY):

RESTART ADDR: 152010
THIS IS XXDP+. TYPE "H" OR "H/L" FOR HELP.

.R ZRKLE0
ZRKLE0.BIC

RK11 DYNAMIC TEST
MAINDEC-11-DZRKL-E

SWR = 000000 NEW = 100140

DRIVES PRESENT
0
DRIVE 0
SEEK TIME SCALE FACTOR=0.01 MILI SECS

# OF SEEK # OF SEEK
SEEKS TIME SEEKS TIME

CYLS:0-202
FRWRD REVRSE
100 8085 100 8085

CYLS:0-1
FRWRD REVRSE
100 1155 100 1155

CYLS:179-181
FRWRD REVRSE
100 1155 100 1155

CYLS:0-3
FRWRD REVRSE
100 1155 100 1155

CYLS:0-16
FRWRD REVRSE
100 2475 100 2475

CYLS:0-32
FRWRD REVRSE
100 4125 100 4125

CYLS:0-100
FRWRD REVRSE
100 5775 100 5775



X AXIS - SEEK TIME - MILI SECS
Y AXIS - CYLINDER SEEKED FROM 0

0 10 20 30 40 50 60 70 80 90 100 110 120 130
I----I----I----I----I----I----I----I----I----I----I----I----I----
0- X
1- X
2- X
3- X
4- X
6- X
8- X
10- X
12- X
14- X
16- X
18- X
20- X
25- X
30- X
35- X
40- X
45- X
50- X
55- X
60- X
65- X
70- X
75- X
80- X
85- X
90- X
95- X
100- X
105- X
110- X
115- X
120- X
125- X
130- X
135- X
140- X
145- X
150- X
155- X
160- X
165- X
170- X
175- X
180- X
185- X
190- X
195- X
200- X
202- X
END PASS # 1

form
17.03.2016, 11:21
Если добавить для RK кнопки приводов - можно наблюдать на них "цветомузыку", которую на четверть часа запускают тесты XXDP
Даешь таб с картинкой контроллера, лампочками и переключателями! :D

Patron
17.03.2016, 11:33
Даешь таб с картинкой контроллера, лампочками и переключателями!Можно ( и планируется для СМ5400 ) сделать дополнительно к эмулятору контроллера - виджет эмулятора привода, который при подключении к контроллеру задаёт режим [ один/два диска ] и реализует все тайминги и лампочки привода.

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

form
17.03.2016, 11:41
и реализует все тайминги и лампочки привода.
Кстати если склероз меня не обманывает, в реале все приводы стартуют защищенными и их надо вручную ткнуть в кнопки чтобы разрешить запись.

Patron
17.03.2016, 11:44
Кстати если склероз меня не обманывает, в реале все приводы стартуют защищенными и их надо вручную ткнуть в кнопки чтобы разрешить запись.В описании написано наоборот - защита записи привода сбрасывается после каждой загрузки диска.

form
17.03.2016, 11:51
В описании написано наоборот - защита записи привода сбрасывается после каждой загрузки диска.
Ну я оригинала вблизи не видел, а на советских вроде ждали пока раскрутится, потом снимали защиту.

Patron
17.03.2016, 11:54
Ну я оригинала вблизи не видел, а на советских вроде ждали пока раскрутится, потом снимали защиту.Если где-то есть живые приводы - можно спросить у владельца.

form
17.03.2016, 12:05
Если где-то есть живые приводы - можно спросить у владельца.
У Andrey_Ak есть - только еще бы уговорить его включить все это хозяйство...

Patron
17.03.2016, 12:17
еще бы уговорить его включить все это хозяйство...А может - он с последнего включения ещё не всё забыл.

BYTEMAN
17.03.2016, 14:23
У меня два условно живых, но лампочки на обоих накопителях работают странно. Так что пока что никаких результатов сообщить не могу. Почитайте доку, там вродь написано как и что себя ведёт...

form
17.03.2016, 14:31
Почитайте доку, там вродь написано как и что себя ведёт...
Ну в принципе да - по советским-то вроде все есть теперь.

MiX
17.03.2016, 20:09
Patron, Раз появилась поддержка перфоратора, возможно ли передать поток вывода на LPT порт?
Спасибо.

Patron
17.03.2016, 20:13
Раз появилась поддержка перфоратора, возможно ли передать поток вывода на LPT порт?Поддержка перфоратора ничем принципиально не отличается от поддержки терминала. Как передать поток терминала на LPT порт и зачем это делать ?

MiX
17.03.2016, 20:20
Поддержка перфоратора ничем принципиально не отличается от поддержки терминала.
Отличается. Терминал использует последовательный порт RS232.

Как передать поток терминала
Речь шла про перфоратор.

на LPT порт и зачем это делать ?
Чтобы подключить его.

Patron
17.03.2016, 20:54
Чтобы подключить его.Вряд ли получится. Пока всё, что я знаю про работу с портом LPT в Windows - что она вообще невозможна. Но, если кто-то напишет программу, работающую с перфоратором в Windows через порт LPT - код оттуда я без проблем добавлю в эмулятор.

form
17.03.2016, 21:12
про работу с портом LPT в Windows - что она вообще невозможна.
Смотря что от этой работы требуется. Если просто выводить символы - можно открыть файл "LPT1" (или полновесный путь устройства) и писать в него. Насчет прав только не знаю как там - лень проверять - у меня в тестовой системе только админ есть...

MiX
17.03.2016, 22:18
Вряд ли получится.
Для того чтобы сделать 8 дырок 8 разрядов и нужно.

Пока всё, что я знаю про работу с портом LPT в Windows - что она вообще невозможна.
Только об этом не знают LPT принтеры.

Но, если кто-то напишет программу, работающую с перфоратором в Windows через порт LPT - код оттуда я без проблем добавлю в эмулятор.Кодом я не владею. Там нужен просто байтовый вывод где на один из входов идет обратно с каждого бита (подтверждение) и обрыв бумаги (на LPT это сигнал есть).

form
17.03.2016, 22:23
на LPT это сигнал есть
А вот на это как раз не стоит расчитывать - считай нет. Ибо напрямую к физическому порту обратиться как раз не получится, что Patron видимо и имел в виду.

MiX
17.03.2016, 22:32
Ибо напрямую к физическому порту обратиться как раз не получится,
К СОМ порту можно а к LPT нельзя? Или к СОМ обращение не напрямую?


считай нет
Да он напрямую и не нужен. Это типа как сигнал готовность от терминала.

Vamos
17.03.2016, 22:33
Там нужен просто байтовый вывод где на один из входов идет обратно с каждого бита (подтверждение) и обрыв бумаги (на LPT это сигнал есть). подтверждение на каждый байт, видимо, порт то параллельный. А код можно в UKNCBTL посмотреть, там LPT вроде работает.

form
17.03.2016, 22:40
К СОМ порту можно а к LPT нельзя? Или к СОМ обращение не напрямую?
Не напрямую.

MiX
17.03.2016, 23:11
подтверждение на каждый байт
Ну да на байт. Сложность в том, чтобы передать по одному проводу правильность пробивки байта надо ещё просветить этот байт и сравнить с входным байтом. Получается много операции. Пробивка- запоминание кода пробивки- сдвинуть ленту на один шаг- просветить(считать) пробивку- сравнить с запомненным кодом- выдать подтверждение (если совпадает). Так что лучше отказаться.


Не напрямую.
Тогда через драйвер.

Vamos
17.03.2016, 23:44
Сложность в том, чтобы передать по одному проводу правильность пробивки байта надо ещё просветить этот байт и сравнить с входным байтом. Получается много операции. Пробивка- запоминание кода пробивки- сдвинуть ленту на один шаг- просветить(считать) пробивку- сравнить с запомненным кодом- выдать подтверждение (если совпадает). Так что лучше отказаться.
А зачем такие сложности? Если для подключения железного перфоратора, одного провода достаточно, если я правильно помню, то от принтера передается только один сигнал готовности, сделать таймаут и если сигнал есть/нет то ошибка, передаем байт еще раз. Насколько я понимаю проверки должен делать сам перфоратор.

MiX
18.03.2016, 00:14
если сигнал есть/нет то ошибка, передаем байт еще раз.
Зачем? Если верификация не прошла с эталонным байтом и байтом считанным после пробивки то должен идти сигнал ошибки (paper end). В этом случае дальнейшая перфорация прекращается. Ну итд.
...
Здесь уже это оффтоп.

hobot
18.03.2016, 01:25
Если добавить для RK кнопки приводов - можно наблюдать на них "цветомузыку"

Вот тот, что выше отформатил превратился в образ rk05 - для эмулятора ДВК с RT11QQ (это RT11 v5.02)



KMON>BOOT RK0:
Пользуйтесь командой "SET DW INFORM"
EIS & FIS EM
KZ V01.00 (C) ВЦ МИЭТ, НОЯБРЬ 1987
ПРИМЕНЯЙТЕ КОМАНДУ "SET MX INFORM"
SL V08.00 [SW] Сторожевых С.В. 1988
RT11QQ.SYS V05.02/04

Last correction : Date 27/01/90 Time 00:01:36
Яковлев С.С. исправил ошибки в системе:
вылет в монитор при ошибках в вызове .CSIGEN
незагрузку адресов ниже 1000 по командам R,RUN


RT-11SJ (S) V05.02

SJ/RK0> SE TT SCOPE, QUIET

SJ/RK0> SE USR NOSWAP

SJ/RK0> SE EXIT NOSWAP

SJ/RK0> SE SL ON

Assignments:
Symbol Status Value
------ ------ -----
; auto < dir/fu/vo/bl
\ auto < nys
^D auto < dess
^X auto < mac
^B auto < lin
^T auto < pasdwk
---------------------
Empty bytes: 245.

SJ/RK0> SH S

No LD units mounted


SJ/RK0> SYS

RT-11SJ (S) V05.02

Время Дата
01:06:27 18-Мар-2016, Пятница

KMON>Dir/Fu/Bl/Vol RK0:
18-Mar-2016
Volume ID: rk05_system
Owner : [hobot]
SWAP .SYS 27P 17-Mar-2016 38 RT11QQ.SYS 68P 17-Mar-2016 65
DW .SYS 7P 17-Mar-2016 133 DX .SYS 4P 17-Mar-2016 140
DY .SYS 4P 17-Mar-2016 144 EM .SYS 4P 17-Mar-2016 148
HD .SYS 3P 17-Mar-2016 152 HX .SYS 6P 17-Mar-2016 155
KP .SYS 2P 17-Mar-2016 161 KZ .SYS 3P 17-Mar-2016 163
LD .SYS 8P 17-Mar-2016 166 LP .SYS 2P 17-Mar-2016 174
MX .SYS 9P 17-Mar-2016 176 MY .SYS 3P 17-Mar-2016 185
RK .SYS 3P 17-Mar-2016 188 SD .SYS 7P 17-Mar-2016 191
SL .SYS 10P 17-Mar-2016 198 TS .SYS 2P 17-Mar-2016 208
TT .SYS 2P 17-Mar-2016 210 DATE .SAV 3P 15-Nov-2012 212
BASIC .SAV 60P 17-Mar-2016 215 BINCOM.SAV 24P 17-Mar-2016 275
BUP .SAV 49P 17-Jun-1985 299 CLRL .SAV 2P 17-Mar-2016 348
COD .SAV 2P 17-Mar-2016 350 DESS .SAV 19P 17-Mar-2016 352
DIR .SAV 20P 17-Mar-2016 371 DSTAT .SAV 8P 17-Mar-2016 391
DUP .SAV 45P 17-Mar-2016 399 FCU .SAV 25P 17-Mar-2016 444
FORMAT.SAV 24P 17-Jun-1985 469 FORMDX.SAV 4P 17-Mar-2016 493
FORMFD.SAV 3P 17-Mar-2016 497 HANDLE.SAV 7P 17-Mar-2016 500
HELP .SAV 130P 17-Jun-1985 507 KOSTI .SAV 44P 17-Mar-2016 637
LAT .SAV 1P 17-Mar-2016 681 LIBR .SAV 24P 17-Mar-2016 682
LINK .SAV 59P 17-Mar-2016 706 LOOK .SAV 4P 17-Mar-2016 765
MACRO .SAV 63P 17-Mar-2016 769 NYS .SAV 22P 17-Mar-2016 832
PASDWK.SAV 52P 17-Mar-2016 854 PASMAT.SAV 59P 17-Mar-2016 906
PIP .SAV 26P 17-Mar-2016 965 RDWR .SAV 2P 17-Mar-2016 991
RESORC.SAV 22P 17-Mar-2016 993 RUS .SAV 1P 17-Mar-2016 1015
SCE .SAV 30P 17-Mar-2016 1016 SHKEYS.SAV 5P 17-Mar-2016 1046
SHM .SAV 4P 17-Mar-2016 1051 SHSET .SAV 41P 17-Mar-2016 1055
SHT .SAV 2P 17-Mar-2016 1096 SIPP .SAV 21P 17-Jun-1985 1098
SPACEM.SAV 33P 17-Mar-2016 1119 SPLIT .SAV 3P 17-Jun-1985 1152
SRCCOM.SAV 26P 17-Mar-2016 1155 SYS .SAV 3P 17-Mar-2016 1181
TRK .SAV 30P 17-Mar-2016 1184 TTY .SAV 3P 17-Mar-2016 1214
UCL .SAV 2P 17-Mar-2016 1217 XDIR .SAV 12P 17-Mar-2016 1219
SYSLIB.OBJ 47P 17-Mar-2016 1231 SYSMAC.SML 92P 17-Mar-2016 1278
PASDWK.OBJ 83P 17-Mar-2016 1370 MACMIS.LST 14P 17-Mar-2016 1453
PASCAL.LST 178P 17-Mar-2016 1467 PASFUN.TXT 14P 17-Mar-2016 1645
PASUSE.LST 161P 17-Mar-2016 1659 SCE .HLP 3P 17-Mar-2016 1820
DEMO .BAS 2P 17-Mar-2016 1823 KOI8 .BAS 1P 17-Mar-2016 1825
STARTS.COM 1P 18-Mar-2016 1826 < UNUSED > 2973 1827
73 Files, 1789 Blocks
2973 Free blocks

KMON>


C макро-11, ОМСИ-Паскалем и бейсиком-11.
Символьные KOSTI и TRK как полагается парочка системных игрушек,
причём KOSTI - ведёт статистику клуба строго на системном устройстве.
Несколько привычных внештатных утилит улучшат и ускорят (сделав удобнее)
многие процессы при работе с системой. На образе достаточно свободного места
для добавления любых необходимых пользователю файлов.

Временная ссылка на образ > http://www.fayloobmennik.net/5949282 <

form
18.03.2016, 06:34
А образ RK точно должно быть 2 494 464 байт? У сторонних RK образов ёмкость 2 457 600 байт.
"Сторонний" образ - это стандартный DECовский размер для RK05. Именно такого размера создается образ DEC/Mentec'овскими утилитами (VCP например), именно такой размер видят все DECовские системы, mkdisk создает RK03/RK05 такого же размера по умолчанию. 2 494 464 - это полный размер диска (он 203/2/12/512). В 2.11BSD в disktab обозначен именно этот размер. С таким размером диск создается CHARON'овским mkdisk или моим mkdisk если указать -x.

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


RK05
RK05 как я понял реализован 16-битный (судя по тому, что в RSX-11M DMP сначала рисует нули, а потом система рушится)?

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

Еще феатуре реяуест (если не реализовано пока): сделать фиксирующуюся кнопочку при нажатии и отжатии которой возникает трап по 24, ну и для целостности пусть при запуске и по RESET отжимается. И опционально при нажатии выполнять INIT всем устройствам (в идеале просто держать в состоянии неготовности все "внешние" устройства пока кнопка нажата - этакий ~ACLO/POK).

AFZ
18.03.2016, 08:52
состоянии неготовности все "внешние" устройства пока кнопка нажата - этакий ~ACLO/POK). Вообще-то, в оригинале (на ДВК-3/4) кнопка "УСТ" как раз и снимает К ПИТН В, К ПОСТН В и держит их в нуле, пока не отпустишь. А по отпускании выполняет начальную последовательность - сразу же (источники ведь не выключались) поднимает К ПОСТН В, а через 70 мс - К ПИТН В. Дребезга там не должно быть - кнопки там с магнитом и элементом Холла с логическим выходом и хистерезисом.

form
18.03.2016, 11:18
кнопка "УСТ"
А память при этом сохраняется?

Patron
18.03.2016, 11:38
А память при этом сохраняется?При нажатии кнопки [Reset] память сохраняется, но при отжатии процессор перезапускается, выдавая на шину INIT.

ВМ3 при этом ( в зависимости от состояния ноги W0 ) стартует или из вектора 24, или с адреса 173000.

form
18.03.2016, 11:45
ВМ3 при этом ( в зависимости от состояния ноги W0 ) стартует или из вектора 24, или с адреса 173000.
Задача - получить два прерывания без потери памяти. Первое когда питание "пропало", второе - когда "вернулось" (причем даже если проц остановлен). С сохранением памяти. Интересно провести некоторые наблюдения на штатной работе систем в этих условиях.

В RT-11 если поддержка включена насколько я помню все просто: перенастраивается вектор, выполняется HALT в цикле, а второе прерывание выводит из этого состояния. Устройства же бросаются на произвол судьбы и там как драйвер решит - например сброс сделает в случае ошибки.

В RSX-11 предусмотрена реакция драйверов на восстановление питания, а программы могут установить себе AST прерывание по восстановлению питания.

Вот и хочется поиграться с этим немного.

Patron
18.03.2016, 12:36
.

Можно изменить эмуляторы процессоров ВМ так, чтобы при нажатии кнопки [Reset] перед отключением процессора сначала выполнялась отработка ACLO и ещё столько команд, сколько успеет выполниться за 15 миллисекунд. TRAP24 при отработке ACLO происходит не всегда - в режиме пульта ACLO игнорируется.

Для старта через вектор 24 - платы ВМ1 и ВМ2 надо настраивать переключателями, а ВМ3 стартует через вектор 24 по умолчанию.

hobot
18.03.2016, 23:37
Можно изменить эмуляторы процессоров ВМ так
похоже на ещё один "побочный продукт написания" помимо эмулятора ДВК, эмулятор-тестовый-стэнд ))) Вот только там exe-шник уже
"заказной" )

MiX
20.03.2016, 00:59
Демос 3.0
http://s020.radikal.ru/i702/1603/21/57023028f526.png (http://radikal.ru/big/d6fe65b61a13498b92423ab520ccaebf)http://s017.radikal.ru/i441/1603/a0/2f72b9725b33.png (http://radikal.ru/big/64d6e33fe6684bea81fa905f37fd8421)http://s017.radikal.ru/i416/1603/9f/d4cc5d2988e3.png (http://radikal.ru/big/7472c1be7e1e42019071f6e5a4886472)

Образ DW. (http://rghost.ru/download/private/88kdplf8X/790147c591dcde170eff8c295c2d14ad/ebf2c239a716c5a397d9457c5e6912d6b217de3b/f629f3b1198527a73fd020cf843450bc9b64e132/%D0%94%D0%B5%D0%BC%D0%BE%D1%81%203.0%20%D0%94%D0%9 2%D0%9A.zip)

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

...


Первый же образ RK, какой я взял - спокойно загрузился при включённом таймере ( после вылета в пульт и нажатия G ).
Попробовал DECовский загрузчик.
При выключенном таймере результат такой:

@1000/177777 12700
001002/000000 177406
001004/177777 12710
001006/000000 177400
001010/177777 12740
001012/000000 5
001014/177777 105710
001016/000000 100376
001020/177777 5007
@1000G
RT-11FB V05.07

.SET TT NOQUIET

.SET SL ON

.
При включенном таймере результат такой:

@1000/177777 12700
001002/000000 177406
001004/177777 12710
001006/000000 177400
001010/177777 12740
001012/000000 5
001014/177777 105710
001016/000000 100376
001020/177777 5007
@1000G 000001
@G 000001

hobot
20.03.2016, 03:38
http://archive.pdp-11.org.ru/ukdwk_archive/dwkwebcomplekt/DEMOSDVK/
Наверное этот образ DW прилеплю по этой ссылке к дистрибутиву системы в архиве.

2 минуса - образ не открывается плагином.
не понятно как перестартануть с него из профиля где в начале стартует система с HD?

AFZ
20.03.2016, 08:12
образ не открывается плагином И не должен - файловая система у него своя, ничего общего с RT-11.


не понятно как перестартануть с него из профиля где в начале стартует система с HD? А что, BO/FO DW: не помогает?

hobot
20.03.2016, 09:18
А что, BO/FO DW: не помогает?
Помогает!
http://storage8.static.itmages.ru/i/16/0320/s_1458454725_3913794_36ead135c2.png (http://itmages.ru/image/view/4025186/36ead135)
Заливаю образ к дистрибутиву тогда )

MiX
20.03.2016, 10:03
Помогает!
Ну вы блин даете. Профиль то ДВК-3.сfg.

Patron
20.03.2016, 12:24
При включенном таймере результат такойТочно. Загрузиться с RK при включённом таймере с прошивкой -055 не получится - команда G разрешает прерывания, поэтому хотя начальный загрузчик прошивки и вылетает с запрещёнными прерываниями - вход в первичный загрузчик после вылета в пульт и команды G происходит уже без защиты от прерываний.

AFZ
20.03.2016, 14:54
Точно. Загрузиться с RK при включённом таймере с прошивкой -055 не получится - команда G разрешает прерывания А, кстати, как оно было в Э-60?


вход в первичный загрузчик после вылета в пульт и команды G происходит уже без защиты от прерываний. А 100/102 и 102/2 не помогут? Кому-то из драйверов я прописывал такое в блок с первичным загрузчиком...

Patron
20.03.2016, 15:07
А 100/102 и 102/2 не помогут? Кому-то из драйверов я прописывал такое в блок с первичным загрузчиком...Для любого конкретного диска RK - конечно помогут. Но в общем случае - проще выключить таймер на время загрузки.

AFZ
20.03.2016, 16:23
Для любого конкретного диска RK - конечно помогут. Но в общем случае - проще выключить таймер на время загрузки. Нет, я имел в виду вписать в драйвер, в секцию .DRBOT.

form
20.03.2016, 16:52
Задача - получить два прерывания без потери памяти. Первое когда питание "пропало", второе - когда "вернулось" (причем даже если проц остановлен).
Уточнение: "пропадание питания" должно вызвать прерывание по кернелному 24, дать возможность выполнить сколько-то там команд, после чего все устройства (включая процессор) должны полностью "выключиться" (к этому моменту операционка уже выполнит HALT), сохраняется только память. "Восстановление питания" должно выглядеть как запуск процессора с нуля и вызвать прерывание по физическому 24 (ну собственно он же и кернелным будет поскольку MMU в этот момент выключен), не трогая при этом стек - то есть установить PC/PS и все.

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

Опробовал в E11 симуляцию сбоя питания на RSX. Для этого сделан плугин который по записи в свой регистр вызывет прерывание по 24, а по init устанавливает PC/PS и достаточно продолжить выполнение командой P:
>TYP PFAIL.MAC
.TITLE PFAIL -- POWERFAIL RECOVERY TEST
.IDENT /V01.00/

.MCALL EXIT$S,QIOW$S,SPRA$S,STOP$S

START:: SPRA$S #20$ ;SET POWER RECOVERY AST
10$: STOP$S ;STOP
BR 10$ ;LOOP

20$: QIOW$S #IO.WVB,#5,#1,,,,<#PWUP,#PWUPL,#40> ;PRINT MESSAGE
EXIT$S ;EXIT

PWUP: .ASCII /*** POWER RESTORED ***/
PWUPL =: .-PWUP

.END START
>RUN PFAIL
E11>d 172000 1
E11>
%HALT
R0/172260 R1/172220 R2/172240 R3/172200 CM=K PM=S PRIO=7
R4/177620 R5/172360 SP/002120 PC/045714 N=0 Z=0 V=0 C=0
045714 mov 001114,sp
E11>init
E11>p

*** POWER RESTORED ***
>

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

Ну и развитие идеи симуляции сбоя питания: возможность сдумпить память в файл и выйти из эмулятора, а потом восстановить из файла память и сделать запуск прерыванием по 24.

Patron
20.03.2016, 17:01
"пропадание питания" должно вызвать прерывание по кернелному 24При пропадании питания выставляется ACLO - остальное зависит от процессора. Пока выставление ACLO не эмулируется. Когда ( в следующем релизе ) выставление ACLO будет эмулироваться - реакция процессора на выставление ACLO будет в точности такой, как в оригинале.

Предполагается добавить в эмулятор абстрактной шины настройку: nACLO_to_DCLO_Delay_MS - через сколько миллисекунд после выставления ACLO выставлять DCLO.

MiX
20.03.2016, 17:38
Предлагаю добавить сигналы РА0 РА1 исключительно для модуля ВМ1.

form
20.03.2016, 19:58
Не совсем в тему, но касается темы сбоев питания... Посмотрел внимательно на то как RT-11 реагирует на сбой питания в случае если поддержка реакции включена. А поступает он просто: меняет вектор и сразу HALT и BR на него. При восстановлении питания - печатает сообщение о сбое питания и останавливается там же. Ну вобщем-то логично раз драйверы не предусматривают восстановления.

hobot
21.03.2016, 06:04
о сбое питания и останавливается там же.
Вопрос по режиму отладки (просто интересно) на УК-НЦ есть очень правильная клавиша "ИСП",
а что там с ДВК и PDP - с тем же функционалом есть клавиша - рычажок?

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


Не совсем в тему, но касается темы сбоев питания...
Всем известно, что если запустить какую-нибудь стабильную задачу под RT-11 на УК-НЦ и нажать на плате "СБРОС",
потом в режиме отладки легко снова запустить её, поскольку память не очищается при "RESET" и что бы её очистить
нужно питанием перезапустить машину. Правда такое срабатывает не со всеми "задачами", поэтому что то в памяти
всё равно наверное портится.

form
21.03.2016, 07:10
на УК-НЦ есть очень правильная клавиша "ИСП",
а что там с ДВК и PDP - с тем же функционалом есть клавиша - рычажок?
ИСП - по сути G обычного пульта.


нужно питанием перезапустить машину
Это все несколько не в тему. Речь про отработку падения/восстановления питания с сохранением памяти (у меня например можно к памяти внешнюю батарейку прикрутить, на VAXовской и 11/84 корзине предусмотрено подключение батарейки прямо через основной разъем. В этом случае после восстановления питания можно продолжить работу. Но RT-11 так не умеет поскольку в нем не предусмотрено восстановление работоспособности устройств после сбоя питания. В RSX-11 можно (и программа может принимать оповещения о ситуации).

AFZ
21.03.2016, 17:25
Кстати, а как размонтировать привод HD, не залезая в конфиг? Вот я намонтировал себе с HD3 по HD6, поработал, теперь они мне не нужны, только отвлекают. Так как их убрать?

Patron
21.03.2016, 19:19
.

Обновилась текущая сборка "эмулятора ДВК": DVK_Emulator_21.03.16_18-18 (http://emulator.pdp-11.org.ru/DVK/distr/DVK_Emulator_21.03.16_18-18.rar)

Изменения:

1. Внесены изменения, описанные ЗДЕСЬ (http://zx-pk.ru/showthread.php?t=20092&page=79&p=864076#post864076).

2. В объект PDP11A16 добавлены состояния MainPower и MainReset, а также настройка nACLO_to_DCLO_Delay_MS, определяющая задержку в миллисекундах между выключением MainPower ( или включением MainReset ) и выключением Power ( или включением Reset ) - минимальное значение 0, максимальное 50, по умолчанию 25. В процессоры добавлено состояние ACLO, активирующееся при выключении MainPower и при включении MainReset.

3. В файлах конфигурации VM3.cfg и ДВК-3.cfg кнопки [Power] и [Reset] перенастроены на управление состояниями MainPower и MainReset, а также сделана настройка nACLO_to_DCLO_Delay_MS = 2, что вызывает выставление сигнала ACLO за 2 мс до остановки процессора после нажатия кнопки сброса или выключения питания.

MiX
21.03.2016, 19:32
RT-11 так не умеет поскольку в нем не предусмотрено восстановление работоспособности устройств после сбоя питания.
Я уже писал что если на ДВК перебить питание в течении ~3сек., то RT11 ни куда не исчезает. Правда в корзине одна плата МС где сохраняется память за счет накопленной энергии конденсаторов БП.

form
21.03.2016, 19:41
Я уже писал что если на ДВК перебить питание в течении ~3сек., то RT11 ни куда не исчезает.
Суть не в том исчезает или нет. Суть в том умеет ли RT-11 работать после восстановления питания. Ответ - нет.

MiX
21.03.2016, 19:52
Суть в том умеет ли RT-11 работать после восстановления питания.
Смотря какого питания. В моём случае только ACLO снимается.

form
21.03.2016, 20:03
Смотря какого питания.
Физически - любого которое вызовет отключение внешних устройств на время достаточное для их сброса (зависит от железа). Фактически - любого которое вызовет прерывание по вектору 24. RT-11 в этом случае остановится в бесконечном цикле. В случае если при генерации выбрана поддержка сообщения о сбое питания, RT-11 при восстановлении питания напечатает сообщение о сбое питания и остановится в бесконечном цикле.

UPD: без поддержки сообщения просто остановится по адресу 26 (PC=30).

Patron
21.03.2016, 20:03
Кстати, а как размонтировать привод HD, не залезая в конфиг? Вот я намонтировал себе с HD3 по HD6, поработал, теперь они мне не нужны, только отвлекают. Так как их убрать?Выбрать номер привода с ненужным образом ( чтобы название образа было на кнопке ), прижать <Ctrl> и сделать клик мышью по этому названию.

AFZ
22.03.2016, 05:50
Я уже писал что если на ДВК перебить питание в течении ~3сек., то RT11 ни куда не исчезает. Правда в корзине одна плата МС где сохраняется память за счет накопленной энергии конденсаторов БП. Не-а! За счет энергии в конденсаторах БП оно проработает миллисекунды. Чтобы оно проработало секунды, в БП нужны банки по несколько фарад!

Все проще: динамическая память гарантировано держит информацию единицы миллисекунд. А вот без гарантии она может продержать ее и единицы секунд. Было дело, отключал я регенерацию на Э-60.

form
22.03.2016, 06:01
А вот без гарантии она может продержать ее и единицы секунд.
Но выжить RT-11 это уже не поможет :)

AFZ
22.03.2016, 06:46
Но выжить RT-11 это уже не поможет Ну, при соблюдении особых условий... Если отключение электричества произошло в момент, когда никаких работающих устройств не было (кроме терминала, вестимо), то волшебная команда 0G пультовой микро-ODT запустит ее, как будто бы ничего и не происходило. Вот программа, которая в то время выполнялась - да, погибла безвозвратно, ее только запускать сначала. Особенно обидно, когда эта программа - EDK. :(

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

Да, забыл сказать, перед запуском с нулевого адреса, надо будет подправить R6.

xxxxxx
@R6/yyyyyy 1000
@0G

form
22.03.2016, 06:58
Если отключение электричества произошло в момент, когда никаких работающих устройств не было (кроме терминала, вестимо)
Некоторые устройства могут и не подняться ибо требуется полная инициализация. В этом плане VM подойдет как заведомо оживляемое.

то волшебная команда 0G пультовой микро-ODT запустит ее, как будто бы ничего и не происходило
Далеко не всегда. Только в SJ мониторе (тоже не всегда, но вероятность большая). В любом другом мониторе прерывание может возникнуть не в момент выполнения кода задачи, тогда 0G не поможет. Это касается и SB монитора.

ее только запускать сначала
Не обязательно. Программа может поддерживать вход по REENTER (кстати родные DECовские редакторы как раз умеют вроде). Только при этом 0G не годится - нужно 2G делать, убедившись, что R0 не содержит 0.

AFZ
22.03.2016, 10:37
Некоторые устройства могут и не подняться ибо требуется полная инициализация. В этом плане VM подойдет как заведомо оживляемое. Все устройства ДВК/УКНЦ поднимутся молча.


Далеко не всегда. Только в SJ мониторе (тоже не всегда, но вероятность большая). В любом другом мониторе прерывание может возникнуть не в момент выполнения кода задачи, тогда 0G не поможет. В общем-то, все это элементарно проверяется. Необязательно выключать питание, достаточно остановить машинку кнопкой "пульт". По крайней мере, монитору FB по барабану, исполнялясь задача или нет, будучи перезапущенным с нуля он спокойно выдает свое приглашение (точку) и вся любовь. Даже если выполнялся его собственный KMON. Не знаю, что там будет, если прервать исполнение оперативной задачи, но, подозреваю, что снимется она, а фоновая, возможно, продолжит работу.

Вот ХМ, возможно, загнется - ДП-то надо полностью переинитить, а он этого не знает...

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

Patron, а вывод на принтер перенаправить в файл как-нибудь можно? Потихоньку воюю с ДИАМСом, пока не получается добраться до обмена файлами с внешним миром, может хоть так?

Patron
22.03.2016, 11:16
а вывод на принтер перенаправить в файл как-нибудь можно?Принтер эмулируется обычной консолью в "режиме принтера" ( делает другой цвет фона и отступ от левого края ). Чтобы вывод на любую консоль копировался в файл - в настройках консоли в файле конфигурации надо задать: InitialStateOf[Log] = 1.

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



[Printer.ini]
TabTitle=""
InitialStateOf[ControlBar]=0
SaveChangesFor[ControlBar]=0
InitialStateOf[StatusBar]=0
SaveChangesFor[StatusBar]=0
InitialStateOf[Log]=1
SaveChangesFor[Log]=0
FontFace = "system"
DumpMode=1
PrinterMode=1

form
22.03.2016, 11:40
В общем-то, все это элементарно проверяется. Необязательно выключать питание, достаточно остановить машинку кнопкой "пульт". По крайней мере, монитору FB по барабану
Навскидку с первого раза попал в ситуацию когда умер после останова и 0G. Все просто: если система была синхронизирована с заданием в этот момент (INTLVL < 0) 0G сработает без проблем. Если нет - номер не пройдет. В SJ не ведется уровней и вероятность попасть в трудную ситуацию очень мала - если только чудом удастся вклиниться в критичный код который при повторном входе после может дать неверный результат...

MiX
22.03.2016, 21:10
Не-а! За счет энергии в конденсаторах БП оно проработает миллисекунды. Чтобы оно проработало секунды, в БП нужны банки по несколько фарад!
Я же написал что в корзине одна плата. Значит энергия не затраченная на другие устройства даёт поддержку для этой платы.
1. при пропадании питания первым делом снимается меандр таймера т.к. генерация берётся от сети.
2. через 10мс снимается сигнал ACLO, процессор стопорится.
3. супервизор питания держит DCLO до тех пор, пока удовлетворяет его напряжение питания до схемы стабилизации. Когда доходит до критического уровня (с некоторым опережением) где напряжение уже без запаса по верхнему уровню но все ещё годится для схемы стабилизации, то снимается сигнал DCLO. При этом напряжение питании ещё в норме какое то небольшое время, но процессор оповещён заранее.
В моём случае ~3сек. хватило чтоб при включении увидеть приглашение RT.

Alex_K
22.03.2016, 23:12
1. при пропадании питания первым делом снимается меандр таймера т.к. генерация берётся от сети.
В ДВК в платах МС сигнал для таймера генерится 1801ВП1-035(-065).

2. через 10мс снимается сигнал ACLO, процессор стопорится.
Процессор не останавливается, а прерывается по 24 вектору, если только не в режиме HALT.

3. супервизор питания держит DCLO до тех пор, пока удовлетворяет его напряжение питания до схемы стабилизации. Когда доходит до критического уровня (с некоторым опережением) где напряжение уже без запаса по верхнему уровню но все ещё годится для схемы стабилизации, то снимается сигнал DCLO. При этом напряжение питании ещё в норме какое то небольшое время, но процессор оповещён заранее.
В моём случае ~3сек. хватило чтоб при включении увидеть приглашение RT.
А вот при снятии DCLO процессор реально останавливается.

hobot
23.03.2016, 10:50
Patron, нужна помощь, не могу разобраться как привязка кнопок с конфиге идёт к конкретному контроллеру и устройствам,
где это обозначение искать и как его прописать в свой конфиг ?

Уточнение:
после последнего обновления начал "улучшать" свой конфиг для ВМ3. Из вашего сообщения про кнопки RK добавил в свой
раздел и всё работает, далее попытался аналогично получить кнопочки для четырёх MY и как не крути ничего не выходит!!!
Желание такое - иметь на вкладке VT52 в эмуляторе "интерактивные" кнопочки для самых используемых устройств, помимо RK.

Вот мой конфиг (прошу сильно не пинать !), сылка временная просто для изучения
и примера, что я оформил там не правильно?

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


KeyboardControlling = 1
NumLockControlling = 0
NumpadSwapping = 0
Use_NumLock_as_PF1 = 1


Спасибо.

AFZ
23.03.2016, 11:08
В случае с принтером это выглядит так: А управляющие символы игнорируются, да? Я пытался передать разбиение на страницы (символом ctrl/L) и в логе его не наблюдается...

Patron
23.03.2016, 13:28
что я оформил там не правильно?Всё правильно, но этого мало - надо ещё эти новые кнопки прицепить к какому-то окну, а к этим кнопкам - управляемое ими устройство.

Вот как это сделано для кнопок RK :



[links]

VT52 + D0_Button + RK
VT52 + D1_Button + RK
VT52 + D2_Button + RK
VT52 + D3_Button + RK



я могу настройку для управление клавиатурой и NUM_LOCK так же каким-то образом (как цвета терминала), перенести в свой конфиг, что-бы не править это каждый раз ?Да.

Любую глобальную настройку любого объекта можно переназначить в файле конфигурации.

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


А управляющие символы игнорируются, да?В режиме принтера консоль превращает FF в LF.

Чтобы символ FF попадал в лог - надо изменить настройки так:



[Printer.ini]
DumpMode = 0
PrinterMode = 0

hobot
24.03.2016, 08:11
Patron,
странный глюк обнаружен,
все текстовые редакторы Ныса : EDK, EDIT и EDIT8K - нормально
реагируют на сочетание <END> + E, но и на честно АР2>упр+H>E то же.
А редактор NED.SAV нет. Он пищит на <END>, но нормально отрабатывает
последовательность ? Как так не понимаю - они разве не идентичны ?
NED.SAV 15 блоков : кстати Русифицированный и имеет приписку в версии [SL],
легко ищется в оглавлении и к нему есть описание. В UKNCBTL вроде нормально
реагирует как и другие редакторы на запрограм. кнопку К1


RU KEY
K1=<33><10>
K2=<33><25>
K3=<33>P
K4=<33>Q
K5=<33>R
K6=<33><24>
K7=<30>
^C

Patron
24.03.2016, 11:36
Он пищит на <END>, но нормально отрабатывает
последовательность ? Как так не понимаю - они разве не идентичны ?Разные версии редактора EDIK могут быть при компиляции настроены на разные клавиатуры и разные терминалы. Возможных вариантов очень много.

Версия EDIK для 15ИЭ-00-013 и РУСЛО-3 выглядит так:



.EDIK
*
NYS V2.17-3/Fr+Ruslo3
*

AFZ
24.03.2016, 13:29
Чтобы символ FF попадал в лог - надо изменить настройки так Не пойдет. С такой настройкой инфа на псевдопринтер вываливается в кодовой таблице ДИАМСа, а она не та, что хотелось...

Ладно, это мелочи, я обойдусь. А вот экранный редактор в ДИАМСе работать не хочет в упор. На КЦГД он работал. Какие ANSI-последовательности реализованы в эмуляторе? Табличку бы, я бы его (редактор ДИАМСа) вправил...

hobot
24.03.2016, 14:01
Разные версии редактора
Я же не об этом. Я вот сейчас описание почитал к Ned. Оказывается это В.Полетаева редактор, все сообщения на Русском, поскольку он должен был быть или был в составе Русифицированной рабочей среды (АДОС скорее всего). В другом описании, шапки от Полетаева нет. Но я и не об этом. Я об идентичности нажатий <END> и последовательности АР2>УПР+<H> ?
Получается все редакторы работают как с кнопкой <END> так и с последовательностью, NED так же работает, но в эмуляторе UKNCBTL. А в эмуляторе ДВК он пищит на кнопку <END>, но последовательность отрабатывает корректно - вот я о чём.



KMON>DIR NED
24-Mar-2016
NED .SAV 15 26-Nov-1987
1 Files, 15 Blocks
47116 Free blocks

KMON>R NED
*
Ned V05.09 [SL]
*^C

KMON>




ЭКРАННЫЙ РЕДАКТОР NED
ВЕРСИЯ 05.09

ПОЛЕТАЕВ В.М. ВЦ МИЭТ 26.12.86

ЗА ОСНОВУ ЭТОГО РЕДАКТОРА БЫЛ ВЗЯТ РЕДАКТОР EDIK,
РАЗРАБОТАННЫЙ И. НЫСОМ.

ОСНОВНЫЕ ОТЛИЧИЯ

1. РЕЖИМ ПРОСМОТРА (ВЫХОДНОЙ ФАЙЛ НЕ ОТКРЫВАЕТСЯ).
2. ВОЗМОЖНОСТЬ ПОВТОРНОГО ВХОДА В РЕЖИМ РЕДАКТИРОВАНИЯ В
СЛУЧАЕ ОШИБКИ ВВОДА/ВЫВОДА.
3. ЗАКАЗ ПО УМОЛЧАНИЮ МАКСИМАЛЬНОЙ СВОБОДНОЙ ЗОНЫ НА ДИСКЕ.
4. ВОЗМОЖНОСТЬ УСТАНОВКИ И АВТОМАТИЧЕСКОГО ИЗМЕНЕНИЯ В
ФАЙЛЕ ДАТЫ И ВРЕМЕНИ ПОСЛЕДНЕЙ КОРРЕКТИРОВКИ ФАЙЛА.
5. БЫСТРАЯ ЗАМЕНА РЕГИСТРОВ В ТЕКСТЕ
6. НАЗНАЧЕНИЕ КЛАВИШ, ПРИБЛИЖЕННОЕ К РЕДАКТОРУ K52 И
ДРАЙВЕРУ SL.
7. ВВЕДЕНА ВОЗМОЖНОСТЬ ЗАДАВАТЬ КОНТЕКСТ ДЛЯ ПОИСКА,
КОЛИЧЕСТВО ПОВТОРЕНИЙ И Т.Д. ВНУТРИ МАКРОКОМАНДЫ.
8. ПРИ ВОССТАНОВЛЕНИИ ЭКРАНА РАБОЧАЯ СТРОКА НЕ "УЛЕТАЕТ"
ВВЕРХ, А ОСТАЕТСЯ НА ПРЕЖНЕМ МЕСТЕ.
9. В РЕЖИМЕ UPDATE НАЖАТИЕ КЛАВИШИ "ЗАБОЙ" НЕ ВЫЗЫВАЕТ
СДВИЖКУ СИМВОЛОВ В СТРОКЕ.
10.ДОБАВЛЕНА ВОЗМОЖНОСТЬ ВЫРАВНИВАНИЯ (РАСТЯЖКИ) ТЕКСТА ДО
ПОЗИЦИИ, УСТАНОВЛЕННОЙ РЕЖИМОМ WRAP.
11.ВВЕДЕНА РАБОТА С ДОПОЛНИТЕЛЬНЫМИ ФАЙЛАМИ, ОТЛИЧНАЯ ОТ
РЕАЛИЗОВАННОЙ В EDIK 2.1.
12.ИСПРАВЛЕНЫ НЕКОТОРЫЕ ОШИБКИ ПРЕДЫДУЩИХ ВЕРСИЙ.
13.ДОБАВЛЕНА ПОДДЕРЖКА КЛАВИАТУРЫ МС7004 ДЛЯ ДВК-3М2.



Может быть всё дело в пункте 13?
Среди бумаг Полетаева есть исходник редактора NED, только версию надо уточнять.

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


Версия EDIK для 15ИЭ-00-013 и РУСЛО-3 выглядит так:
Русло-3 - это что кнопки? Где такой EDIK, только дискету целиком со всем окружением, если можно, пожалуйста. )))

Patron
24.03.2016, 14:01
С такой настройкой инфа на псевдопринтер вываливается в кодовой таблице ДИАМСа, а она не та, что хотелось... Если такой файл упаковать плагином в образ DSK, а потом достать обратно - кодировка изменится на нужную, а управляющие символы останутся.



экранный редактор в ДИАМСе работать не хочет в упор. На КЦГД он работал. Какие ANSI-последовательности реализованы в эмуляторе?Почти все - даже самые навороченные ( в части использования кодов ANSI ) дековские редакторы работают без проблем.

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

hobot
24.03.2016, 14:05
Patron, выход из эмулятора EXIT не работает, если загружаешься с RK )

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


Почти все - даже самые навороченные
там может быть, как в MFP2 для АДОС - в оформлении цветная подсветка шрифта для КЦГД - это может быть причиной,
поскольку КЦГД - не эмулируется же

Patron
24.03.2016, 14:21
Получается все редакторы работают как с кнопкой <END> так и с последовательностью, NED так же работает, но в эмуляторе UKNCBTL. А в эмуляторе ДВК он пищит на кнопку <END>, но последовательность отрабатывает корректноПоследовательнос ть для кнопки <END> задаётся настройкой: ANSI_STR_FOR_KEY[End] = "\033f".

Если изменить эту последовательность на удобную для NED, то ситуация поменяется на обратную.



Где такой EDIKВ комплекте поставки "Эмулятора ДВК" - есть его старший брат:



.EDIK
*
Nys (c) V2.18-2/Fr+R3
*


А старый вариант здесь: EDIK.SAV (http://emulator.pdp-11.org.ru/misc/EDIK_v2.17-3.zip)

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


выход из эмулятора EXIT не работает, если загружаешься с RKДля выхода из эмулятора по команде EXIT - в конфигурации должен быть контроллер HD, а на системном диске - файл EXIT.SAV из комплекта поставки.

MiX
26.03.2016, 13:36
Обнаружилась ошибка.
При попытки добавить диск DW размером 33 554 432 байт, эмулятор перебрасывает с консоль и пишет какие размеры может присоединить. Настройка головок/цилиндров ничего не дало.

Patron
26.03.2016, 17:29
Обнаружилась ошибка.Так и есть - новые стандартные размеры были добавлены неполноценно.



Настройка головок/цилиндров ничего не дало.Правильная настройка позволяет подключить любой стандартный размер.

Для размера 33 554 432 можно указать 1024 цилиндра и 4 головки или 512 цилиндров и 8 головок :



[DW.ini]
NonStandardDrive_Tracks = 1024
NonStandardDrive_Heads = 4


Только что так сделал и образ подключился.

Но без таких фокусов до исправления ошибки можно подключить только три изначальных стандартных размера.

hobot
29.03.2016, 09:29
Patron, я снова, что то недопонимаю, пожалуйста подскажите мне несколько моментов с cfg, а именно :
Вот, что вышло с кнопочками устройств в итоге (почти так я и хотел, НО !!!):
http://storage8.static.itmages.ru/i/16/0329/s_1459232731_4928905_d6c1d30d60.png (http://itmages.ru/image/view/4064658/d6c1d30d)

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

2. Я где то лишнюю 1 выставил, но не могу её поймать "научным тыком", что бы вернуть вкладку VT52 на прежнее место?

В идеале хотел что бы 0 и 1 устр-ва шли парами в виде кнопок (кроме HD и DX).

Patron
29.03.2016, 10:35
Почему с позициями кнопок не получается делать отступПотому что отступы не предусмотрены. В качестве "распорки" можно использовать ещё одну кнопку без подключенного устройства - она будет выглядеть как отступ:



VT52 + D0_Button + RK
VT52 + D1_Button + RK
VT52 + D2_Button
VT52 + D3_Button + MX




Я где то лишнюю 1 выставил, но не могу её поймать "научным тыком", что бы вернуть вкладку VT52 на прежнее место?Чтобы вернуть любое окно в закладки - надо просто его закрыть.

hobot
29.03.2016, 21:19
можно использовать ещё одну кнопку без подключенного устройства
Да! Спасибо, всё очень красиво теперь.
Несколько минимальных уточнений, что бы кашу в голове немного упорядочить.
1. RK статичное объёмное устройтсво (кассеты, лента) или всё таки диск какой-то?
2. Если старшие по номерам в эмуляторе MX - 40 дорожные, то старшие MY2 и MY3 - каковы?
3. Почему такая герцовка у ВМ3 маленькая - это правильная штатная скорость ?


И вот по скрину я бы хотел "вежливо" попросить тов. MiX давать больше пояснений к образам
которые он публикует. В данном случае речь о DW с ДЕМОС, которая оказывается даже не установлена и не настроена полностью, упомянуть об этом в том посте где образ прилеплен, что помешало? Или я пропустил?
или это "питарда-шутиха" такая?
http://storage4.static.itmages.ru/i/16/0329/s_1459275579_2306714_4e618179e7.png (http://itmages.ru/image/view/4067914/4e618179)

Patron
29.03.2016, 21:38
1. RK статичное объёмное устройтсво (кассеты, лента) или всё таки диск какой-то?Это сменный жёсткий диск диаметром полметра.



старшие по номерам в эмуляторе MX - 40 дорожныеТам просто так драйвер настроен. Эмулятор сам перенастраивается при смене размера образа, но драйвер надо каждый раз перенастраивать вручную.



3. Почему такая герцовка у ВМ3 маленькая - это правильная штатная скорость ?Да - это скорость платы МС1201.03

MiX
29.03.2016, 21:51
И вот по скрину я бы хотел "вежливо" попросить тов. MiX давать больше пояснений к образам
Да там не надо было давать согласие на проверку диска. Можно заново скачать образ диска и загрузится без согласия проверки.

AFZ
30.03.2016, 15:52
Patron, А можно подключить к эмулятору два терминала? Один - штатный, 177560, а второй, допустим, на 176560 ? И как это сделать?

form
30.03.2016, 16:04
Это сменный жёсткий диск диаметром полметра.
Точнее один сменный, один фиксированный в приводе. Был еще вариант где оба несменных (точнее он всего один, но выглядит как два).

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


Один - штатный, 177560, а второй, допустим, на 176560 ? И как это сделать?
Я выкладывал ссылку на конфиг с RSX-11M, там так и сделано.

Patron
30.03.2016, 16:08
как это сделать?Добавить с раздел создаваемых объектов ещё одну плату DL11-W, присоединить объект к шине, а в разделе настроек объекта задать нужные параметры.

Как это уже сделано - можно посмотреть в файлах конфигурации: default.cfg и VM3.cfg.

hobot
30.03.2016, 19:31
Patron, у меня проблемы с образом DW из комплекта DW_System54.DSK который.
Сделал его копию целиком в виндоусе (просто имя файла сменил грубо говоря) и попытался
средствами RT-11 обновить систему - и понеслось : Output error - почему так?
Хотел его форматнуть каким-нибудь из TDW (их же на выбор куча) ни один не сделал этого.
Он либо не распознаётся (вот эти всякие "номера головок" - бррр страшные термины, гробовщиной какой-то отдают, нет?)
либо пишут "слишком много BAD (это выдал обычный DIR), SQ/OUT с ним не работает так-же Input error и ещё одна из версий
TDW пишет "слишком долго не меняет сигнал "ЗАНЯТ" (BUSY)"
Но при этом загружается и вроде работает (хотя запустить тот BASIC с него не получилось).
Так вот - обновил архив и следственно образ - всё то же самое. Где причина таких сбоев???

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

я использовал драйвер DW вот такой

Время Дата
KMON>DS DW

File name: "DK:DW.SYS", size: 7. blocks.
Release = V05, Version(s) = 2

*** Runable program
Transfer address 003544
Stack top 001000
High limit 006550 = 1716. words
Job status word 001000 = [ OVLY$ ]

*** Handler data structure
Handler size 868. bytes
Device size 65535. blocks
Device status word 102453 = [ FILST$ SPFUN$ VARSZ$ ]
Device code 53
CSR address 174000
Vector 300
* Installation code for DATA SYSTEM
* Bootable device
H.BPTR=002544, H.BLEN=512.b, H.READ=000210

*** Set options table:
LIST entry 550
INFORM entry 550
[no] WRITE entry 542
SECTOR = decimal entry 550
HEADS = decimal entry 550
NULC = decimal entry 550
SIZE = decimal entry 550
VECTOR = octal entry 550
SYSGEN entry 550
RETRY = decimal entry 550
CSR = octal entry 550
FORMAT entry 550

DW V01.02 Mini-winchester disk

Set :
Format - Форматирование
Sysgen - Настройка под систему
[No]Write - Разрешение/запрещение записи
Retry=d. - Повтор чтения/записи
Nulc=d. - Нулевой цилиндр
Size=d. - Размер
Inform - этот текст
Csr=o. - регистор идентификации
Vector=o. - вектор прерывания
Sector=d. - число блоков на поверхности
Heads=d. - число поверхностей
LIST - текущее состояние

KMON>

Patron
30.03.2016, 20:15
у меня проблемы с образом DW из комплекта DW_System54.DSK который.
Сделал его копию целиком в виндоусе (просто имя файла сменил грубо говоря) и попытался
средствами RT-11 обновить систему - и понеслось : Output error - почему так?Если загрузиться не с DW и использовать рабочий драйвер, то результат такой:



.COP/DEV SY: DW:/NOQ
?DUP-W-Output device is larger than input device

.SQU/NOQ DW:

.COP/BOO DW:RT11SB DW:

.BO DW:
SL V08.00 [SW] Сторожевых С.В. 1988
KZ V01.00 (C) ВЦ МИЭТ, НОЯБРЬ 1987
ПРИМЕНЯЙТЕ КОМАНДУ "SET MX INFORM"

RT-11SB (Y) V05.07

AFZ
31.03.2016, 04:56
Я выкладывал ссылку на конфиг с RSX-11M, там так и сделано. А где ссылка? Впрочем, кажется помню, сейчас поищу.


Пульт (ДВКшный?) тут умеет только физический адрес читать? А то после HALT фиг посмотришь сам код... 377-я прошивка дает расширенные возможности возни с адресами. К - включить кернелмоду, U - юзермоду, знак равенства "=" - физические адреса. 134-я - никак.

(это я таки нашел конфиг, буду пробовать.)

form
31.03.2016, 05:04
это я таки нашел конфиг, буду пробовать
Выложил последний вариант (http://pdp-11.org.ru/~form/files/pdp-11/dvk/rsx-11/). Первый я там не особо аккуратно делал и он кривоват был, хотя и работал.

AFZ
31.03.2016, 15:30
Укачал свежий эмулятор, а в нем что-то не монтируется мой 32-М виртуальный диск. В консоли говорит DW: Размер образа [<путь\имя>] должен быть 5... 10... 20... 28... 33 554 432 ....., у меня файл длиной ровно 33554432, а оно посылает. Где косяк?

Patron
31.03.2016, 15:43
у меня файл длиной ровно 33554432, а оно посылает. Где косяк?Ответ ЗДЕСЬ (http://zx-pk.ru/showthread.php?t=18351&p=864960&viewfull=1#post864960).

Учитывая, что это обсуждалось на предыдущей странице - можно было бы сразу там прочитать.

hobot
31.03.2016, 16:03
и использовать рабочий драйвер
Мне в плане эксперимента хотелось весь путь проделать от форматирования с помощью TDW до установки обычной RT-11.
И да все глюки были связаны с использованной версией DW.SYS, видимо та которую я использовал первоначально (7 блоков),
каких-то настроек требует, копаться не стал - просто заменил на системный (он одинаковый там на DW образе и на HD образе 4 блочный с минимальным кол-вом параметров. В общем всё с 5 метровым образом получилось.

AFZ
31.03.2016, 19:12
Учитывая, что это обсуждалось на предыдущей странице - можно было бы сразу там прочитать.Пардон, я первым делом полез исправлять это место, и, вроде-бы исправил, стал подключать файл - облом. Оказалось, что я исправил не тот файл cfg. Виноват...

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


Выложил последний вариант. Первый я там не особо аккуратно делал и он кривоват был, хотя и работал. Все как часы, ДИАМС в обоих терминалах летает, параллельно.

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

Patron
31.03.2016, 19:23
А нельзя ли запустить что-то подобное в разных окнах?Любое окно эмулятора можно освободить из закладок ( кроме самого левого - окна системной консоли ) - зажав <Ctrl> и сделав клик мышью на названии закладки. Для возвращения окна в закладки - его надо закрыть.

form
31.03.2016, 19:28
Типа отдельно запустить эмулятор VT52, отдельно эмулятор ДВК и привязать их один к другому?
Можно повесить не на окно, а на TCP и эмулятором приконнектиться, но я так полагаю, что можно и окно отдельно сразу сделать, а не табом.

hobot
31.03.2016, 22:00
Patron, всяческие мелочи - почему вдруг <><><<><> взяли верх над ,.,.,.,.,.,.,., - откуда это новшество?
Кроме настройки SL можно клавиатурку в прежний режим вернуть? Или так всегда было, а я не замечал?

Patron
31.03.2016, 22:08
Patron, всяческие мелочи - почему вдруг <><><<><> взяли верх над ,.,.,.,.,.,.,., - откуда это новшество?Нет такого новшества - символы '>' и '<' вводятся с нажатым шифтом.

hobot
31.03.2016, 22:26
ет такого новшества - символы '>' и '<' вводятся с нажатым шифтом.
Извиняюсь, у меня в связи с отсутствием ДКЛ(доп.клав.) иногда после "ненужных" или "случайных" нажатий некоторых управляющих видимо кнопок начинают странные вещи в закладе VT52 происходить. Самый просто пример

1. Если вставить в DW образ от MiX на котором ДЕМОС 3.0 и написать команду BO/FO DW:
при первом нажатии на <ВК> в процессе загрузки эмулятор выпадает в окошка [ЗАВЕРШЕНИЕ ПРЕЛОЖЕНИЯ],
после перезапуска и повторного BO/FO DW: всё проходит Ок!

2. Забавно срабатывает обработчик клавиатуры в ДЕМОС, сначала (первое нажатие) он воспринимает как букву из
русской раскладки и только повторно ту же клавишу уже определяет правильно.

- есть ещё куча всяких по мелочам вещей, но большинство из них не воспроизводятся, а "плавают" и лечатся перезапуском эмулятора
- вот я например написать про <><><> поспешил, но помучиться чуть-чуть успел )))

AFZ
01.04.2016, 08:50
Любое окно эмулятора можно освободить из закладок ( кроме самого левого - окна системной консоли ) - зажав <Ctrl> и сделав клик мышью на названии закладки. Для возвращения окна в закладки - его надо закрыть. Замечательно! То, что доктор прописал.

А еще вопрос: вроде где-то говорилось, что можно включить клавиатуру VT220? Что-то ни в конфиге, ни здесь в теме не нашел...

Patron
01.04.2016, 21:55
вроде где-то говорилось, что можно включить клавиатуру VT220?В каком смысле?

При переходе в режим ANSI обычные клавиши и так начинают генерить коды VT220.

F-клавиши посылают последовательности, заданные для них в файле Terminal.ini

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


Если вставить в DW образ от MiX на котором ДЕМОС 3.0 и написать команду BO/FO DW:
при первом нажатии на <ВК> в процессе загрузки эмулятор выпадает в окошка [ЗАВЕРШЕНИЕ ПРЕЛОЖЕНИЯ]Ошибка нашлась в эмуляторе процессора ВМ3 - такая смачная, что даже удивительно, как вообще что-то могло работать с такой дырой в коде.

MiX
01.04.2016, 22:11
Vista обнуляет память при запуске программы
В XP тоже закрывалось, но не помню при какой последовательности.

Ещё заодно просьба, добавьте в образ MY драйвер DW. А в образ НХ драйверы MY,DW.
В конфигурации ДВК3 лучше цвет луча сделать жёлтым как в КЦГД (можно использовать настройки VT220).
Спасибо.

Patron
01.04.2016, 22:27
В конфигурации ДВК3 лучше цвет луча сделать жёлтым как в КЦГДЭто оставим для ДВК-4.

У ДВК-3М экран был монохромный с синим люминфором :

http://www.leningrad.su/museum/36/dvk3m-2.jpg

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


в образ НХ драйверы MY,DWКаждый драйвер в образе HX добавляет секунду к времени загрузки, поэтому в комплекте поставки HX драйверов устройств нет вообще - пользователи должны сами добавлять те драйверы, которые им нужны.

MiX
01.04.2016, 22:48
Это оставим для ДВК-4.
Ок.

У ДВК-3М экран был монохромный с синим люминофором :
Делать компы с цветным контроллером и ч/б трубкой, как-то вне логики.


Каждый драйвер в образе HX добавляет секунду к времени загрузки
Тогда можно добавить в комплект два образа, типа Fast_HX и Full_HX. Образ Full_HX бывает необходим в случае когда надо "подцепить" не загрузочные (по каким либо причинам) диски MY,DW.

AFZ
02.04.2016, 07:11
У ДВК-3М экран был монохромный с синим люминфором : Это про 6105? Так не с синим, а с белым. Тем самым, которым светили все отечественные ч/б телевизоры. Но да, он был с голубоватым оттенком ("голубые экраны телевизоров" - именно оттуда).


Делать компы с цветным контроллером и ч/б трубкой, как-то вне логики. Ну, теоретически, можно было заказать и с цветным моном (6106) А так, надо же было заводу избавиться от наштампованных кузовов ДВК-3, вот и затолкали. Да и качество наших 6106 еще то было...

hobot
02.04.2016, 11:36
типа Fast_HX и Full_HX.
Так вот же архив софта - любой системный образ собирайте под свои задачи ) В этом и прикол RT-11, что быстро и без заморочек собрать только нужное и конкретную задачу решить. А образ "всё включено" (!) всегда 2 копии - это у каждого своя специфика.


Это оставим для ДВК-4.






О.С. Д.E.M.O.С.
.... ..........



В е р с и я 3 . 0
.. 1 9 9 1 , М П " К р и с т а л л "










(ДВК-4)

Имя:


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

ДВК4 - это же КВАНТ-4? А КВАНТА-4 без КЦГД не бывает ;-)
Там конечно другая "головная боль совместимости" - версии прошивок КЦГД.

Patron
18.04.2016, 16:30
.

Обновилась текущая сборка "эмулятора ДВК": DVK_Emulator_18.04.16_14-00 (http://emulator.pdp-11.org.ru/DVK/distr/DVK_Emulator_18.04.16_14-00.rar)

Изменения:

1. Исправлена ошибка в эмуляторе процессора 1801ВМ3, приводившая к неопределённому поведению при обращении к регистрам PDR режима KERNEL в режиме USER.

2. В модуль DSK_module добавлен объект MT, эмулирующий контроллер TM-11 с приводами СМ5300, TS03 или TU10. Настройка: TapeSpeed_char/sec - задаёт скорость ленты для всех подключенных приводов. Возможные значения: 10000, 36000, 64000 или 72000, по умолчанию: 36000. В файлы конфигурации default.cfg и VM3.cfg добавлено создание объекта MT. В образ HDSYS.DSK добавлен драйвер MT.SYS, в комплект поставки добавлен образ MT.810 ( 10-мегабайтной ленты с плотностью записи 800 dpi ). Также возможно подключение образов TAP, 800, 820 и 840. Образы TAP подключаются только для чтения.

3. В объект SB_DriveButton добавлена настройка ShowTrackNum, позволяющая включить отображение текущего номера дорожки для дисков и процента перемотки для лент. Возможные значения: No, Yes, Bold. По умолчанию: No. Пример использования - в файле: MY\MY.cfg

form
18.04.2016, 16:47
драйвер MT.SYS
BUP.SAV тогда для ровного счету. Кстати ему (и программе DIR) не требуется полный драйвер.

только для чтения
Создавать образы пока не получится?

Patron
18.04.2016, 17:07
Создавать образы пока не получится?Нормальные посимвольные образы создавать получится, а создавать новые образы TAP большого смысла нет. Можно написать элементарную утилиту для конвертации посимвольных образов в TAP, но синхронное преобразование содержимого символьного буфера эмулятора в формат TAP в общем случае невозможно, поэтому невозможна и запись в образ TAP во время эмуляции.

form
19.04.2016, 15:05
посимвольные образы
Сделать бы краткую спецификацию чтобы не копаться по куче документации. Я бы просто добавил функционал в mktape (в том числе для конвертирования одного формата в другой).

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


приводившая к неопределённому поведению при обращении к регистрам PDR режима KERNEL в режиме USER.
А подробности можно узнать? Ибо некоторые падения остались без объяснения, а времени сильно копаться не было.

Patron
19.04.2016, 16:54
Сделать бы краткую спецификациюЛента - последовательность 9-битных символов, представленная в образах символьного формата последовательностью 16-битных слов, биты 9..15 у которых всегда нулевые.

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

У символов CRC и LPC - старший бит равноправен с остальными, поэтому символы CRC и/или LPC могут быть нулевыми.

Организация данных на ленте такова, что промежутки состоят из нулевых символов, а блоки данных - из ненулевых символов. По умолчанию бит паритета для байта данных вычисляется по нечётности. После каждого блока данных находится последовательность: 3 нуля - CRC - 3 нуля - LPC.

Символы данных, CRC и LPC вычисляются так:



word PDP11A16_MT_deviceClass::MakeNonet( byte uByte, bool bOdd )
{
word uParity = 0400 * bOdd;

for( byte mask = 0200 ; mask ; mask >>= 1 )
{
if( uByte & mask ) { uParity ^= 0400; }
}

word nonet = uByte | uParity;

if( !nonet ) { nonet = 0400; }

wLPC ^= nonet;

//////////////

wCRC ^= nonet;

bool bROR_1 = ( wCRC & 1 );

wCRC >>= 1;

if( bROR_1 )
{
wCRC |= 0400;
wCRC ^= 074;
}

return nonet;
}


Перед записью символа CRC производится завершение вычисления CRC и LPC:



wCRC ^= 0727;
wLPC ^= wCRC;


Если блок данных состоит из одного символа данных = 023, CRC = 0, LPC = 023 - это метка EOF ( т.е. метка EOF - это последовательность: 023 - 7 нулей - 023 ).

Промежуток между любыми блоками должен быть не меньше 400 символов. В начале ленты перед первым блоком оставляется промежуток 3200 символов. Перед меткой EOF промежуток 3200 символов.

Расширение файла символьного образа содержит информацию о плотности записи и положении маркера EOT относительно начала ленты:


800 - лента длиной 600*12*800 = 5'760'000 символов.
810 - лента длиной 1200*12*800 = 11'520'000 символов.
820 - лента длиной 2400*12*800 = 23'040'000 символов.
840 - лента длиной 4800*12*800 = 46'080'000 символов.

Можно записать 46080000 символов и в файл с расширением 800, но тогда после чтения первых 5760000 из них в эмуляторе - активируется сигнал EOT.

AFZ
19.04.2016, 17:25
В модуль DSK_module добавлен объект MT, эмулирующий контроллер TM-11 с приводами СМ5300, TS03 или TU10. А как вставить в эмулятор чистую ленту? Мне для возни с ДИАМСом оно очень пригодится: записать из ДИАМСа что-то на ленту, потом прочитать эту ленту из RT-11...

Patron
19.04.2016, 18:15
А как вставить в эмулятор чистую ленту?В диалоге выбора файла ввести имя нового образа без расширения и нажать <Ввод>. Операционка спросит - создавать ли новый файл и если да - будет создан пустой образ с раcширением 810.

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


А подробности можно узнать?Проблемный код выглядел так:



switch( nIO_Addr &(~1) )
{
case 0172300: // PDRK0
case 0172302: // PDRK1
case 0172304: // PDRK2
case 0172306: // PDRK3
case 0172310: // PDRK4
case 0172312: // PDRK5
case 0172314: // PDRK6
case 0172316: // PDRK7
{
PDP11A16_DeviceClass::IO_fun( IO_Mode, IO_Size, nIO_Addr, wData );

if( IO_Mode == IO_WRITE )
{
REG_WORD( nIO_Addr &(~1) ) &= 077416;
}

if( !wCurrMode )
{
word nPageNum = ( word(nIO_Addr &(~1))- 0172300)/2;
Set_PDR( nPageNum );
}
}
// --> Ошибка: нет "break;" <--

case 0177600: // PDRU0
case 0177602: // PDRU1
case 0177604: // PDRU2
case 0177606: // PDRU3
case 0177610: // PDRU4
case 0177612: // PDRU5
case 0177614: // PDRU6
case 0177616: // PDRU7
{
PDP11A16_DeviceClass::IO_fun( IO_Mode, IO_Size, nIO_Addr, wData );

if( IO_Mode == IO_WRITE )
{
REG_WORD( nIO_Addr &(~1) ) &= 077416;
}

if( wCurrMode )
{
word nPageNum = ( word(nIO_Addr &(~1))- 0177600)/2;
Set_PDR( nPageNum );
}
}
break;



В результате - в определённых ситуациях функция Set_PDR( nPageNum ) модифицировала произвольные участки памяти процесса.

AFZ
20.04.2016, 08:57
А как подключить вот такой (http://zx-pk.ru/threads/26360-diams-(dsm-11).html?p=868218&viewfull=1#post868218) образ ленты? Это я где-то утянул оригинальный DSM-11...

form
20.04.2016, 09:02
А как подключить вот такой образ ленты?
Сам образ не смотрел, но из сообщения понял, что это образ SimH/E11? Тогда может как пиво выветрится добавлю новый формат в mktape и возможность конвертации между форматами.

Patron
20.04.2016, 12:18
А как подключить вот такой (http://zx-pk.ru/threads/26360-diams-(dsm-11).html?p=868218&viewfull=1#post868218) образ ленты?Добавить к файлу образа расширение .TAP - схема перекодирования выбирается на основе расширения.

В результате файл dsm_image.tap подключается и читается без проблем:



.RU EOT
EOT v0.1 - Skip TM-11 tape past EOT.
<<< BOT >>>
256
<<< MARK >>>
36
<<< MARK >>>
877
<<< MARK >>>
310
<<< MARK >>>
0
0
0
^C
^C
.


Но нужно понимать, что если это загрузочная лента для другого контроллера - на TM-11 она загрузиться не сможет.

form
20.04.2016, 12:25
Но нужно понимать, что если это загрузочная лента для другого контроллера - на TM-11 она загрузиться не сможет.
Навскидку - только ленты RSX грузятся с одного типа контроллера (указанного к воманде SAV программы VMR) (не берем в счет стороннее - ARC, PRESRV [хотя известный мне вариант PRE - stand RSX] итд). Остальные (включая RT-11) многоконтроллерные.
Вариант с RSX врочем многоконтроллерным может быть еще проще - просто не пробовал.

Patron
20.04.2016, 12:28
Навскидку - только ленты RSX грузятся с одного типа контроллераВероятно, что и ленты XXDP тоже.

form
20.04.2016, 12:32
Вероятно, что и ленты XXDP тоже.
Ну это да - там тоже все однозначно... не гарантирует загрузки, но предполагает...

AFZ
21.04.2016, 11:23
1. Исправлена ошибка в эмуляторе процессора 1801ВМ3, приводившая к неопределённому поведению при обращении к регистрам PDR режима KERNEL в режиме USER. Хе, а у меня ДИАМС заработал. В оригинале он грузился с дискеты, надо было запустить установку, и он ставился на винчестер. Так вот, при попытке загрузиться с дискеты вываливался panic dump.

ДИАМС занимает весь винчестер, а он в ДВК один, RT-11 тоже была нужна, поэтому я в свое время пропатчил ДИАМС для работы не с начала винчестера, а с (почти) произвольного места, выделив это место в виде файла RT-11. То есть загружаю с диска RT-11, а нужен ДИАМС - запускаю свою программу загрузчика, которая загружает ДИАМС из этого файла, заносит в нужное место смещение от начала диска, и вперед! Эта же программа загрузчика могла загрузить ДИАМС с дискеты, для установки его в файл RT-11.

Так вот, из-под этого моего загрузчика ДИАМС загружался. Патченный ДИАМС работал вполне нормально, а непатченный ставился не в файл, а, как ему и положено, в начало диска. И потом, при попытке загрузиться с винта вылетал в останов. Я даже подумал, что у меня просто битые диски.

Однако, после установки DVK_Emulator_18.04.16_14-00, все волшебным образом заработало - и дискеты, которые я посчитал битыми стали загружаться, и брошенный файл-образ винчестера со случайно установившимся в начало ДИАМСом загрузился. То есть, похоже, ДИАМС у меня падал именно из-за этой ошибки.

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

Кстати, в процессе возни с ДИАМСом обнаружилось. Я подключил два терминала, 177560 и 176560. Запуск, как и положено идет на консольном, но потом, в процессе загрузки, ДИАМС что-то делает со вторым терминалом (очищает, скорее всего), и фокус переключается на него, потом там продолжается вывод на консоль, а фокус остается на втором терминале. ИМХО, это (мелкая) ошибка.

Patron
21.04.2016, 11:51
Я подключил два терминала, 177560 и 176560. Запуск, как и положено идет на консольном, но потом, в процессе загрузки, ДИАМС что-то делает со вторым терминалом (очищает, скорее всего), и фокус переключается на него, потом там продолжается вывод на консоль, а фокус остается на втором терминале. ИМХО, это (мелкая) ошибка.В настройках каждого терминала в файле конфигурации есть параметр nFocusOnFirstOutput = 1, если изменить его на 0 - фокус на этот терминал перемещаться не будет.

AFZ
21.04.2016, 13:36
В настройках каждого терминала в файле конфигурации есть параметр nFocusOnFirstOutput = 1, если изменить его на 0 - фокус на этот терминал перемещаться не будет. Ясно. Как говорят у нас в народе, "Это не баг, это фича!"

Кстати, ИМХО, на все файл-образы дисков, идущие в комплекте с эмулятором обязательно надо положить драйвер HD.SYS, ибо грохнешь нечаянно систему, загрузишь с чего-нибудь (MX, MY), а HD недоступен. И нужен. То есть перезапускай эмулятор. А там на терминалах что-то нужное. То есть, конечно, и самому скопировать можно, только забываешь про это, обновил эмулятор, занялся чем-то (я, в частности, ДИАМСом), загрузил его, теперь надо снова RT-11, остановил, BMX0, а драйвера HD, чтобы сделать BO HD, нет!..

Patron
21.04.2016, 14:09
ИМХО, на все файл-образы дисков, идущие в комплекте с эмулятором обязательно надо положить драйвер HD.SYSНичто не мешает сделать это самостоятельно.

Образы реальных устройств в комплекте поставки содержат драйверы только тех устройств, которые обычно имелись на оригинальных дисках этого типа ( например - на образах дисков MX нет драйвера DW ).

AFZ
21.04.2016, 20:14
Ничто не мешает сделать это самостоятельно. Угу, кроме забывчивости. Я же описал то, что случилось сегодня днем - на терминалах куча полезного под скроллером, после ДИАМСа нужна RT-11, а загрузиться не с чего - обновил эмулятор, а скопировать HD.SYS забыл...

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


например - на образах дисков MX нет драйвера DW Не факт - видел я класс ДВК с винчестерами и MX-ами. Комплектных дискет при них, правда, не было, давно растеряли, но думаю, драйвер DW должен был там быть.

Patron
22.04.2016, 00:29
Угу, кроме забывчивости. Я же описал то, что случилось сегодня днем - на терминалах куча полезного под скроллером, после ДИАМСа нужна RT-11, а загрузиться не с чего - обновил эмулятор, а скопировать HD.SYS забыл...Скопировать файл в подключенный образ можно при работающем эмуляторе - такая возможность специально предусмотрена.

AFZ
22.04.2016, 08:31
Скопировать файл в подключенный образ можно при работающем эмуляторе - такая возможность специально предусмотрена. Из ДИАМСа? Нельзя. Пришлось запускать виртуалку, в которой у меня стоит Тотальный Командир (я его активно не люблю и не держу на основном компе) и делать это там... Я, правда, не зная, что можно копировать при подключенном, сначала отключил, потом скопировал и снова подключил...

AFZ
23.04.2016, 19:36
Patron, а нельзя, как вариант, эмулировать магнитную ленту обычными текстовыми файлами? Или не совсем обычными, но чтобы один байт, записанный на виртуальную ленту оказался одним байтом в файле, а не двумя? И чтобы в файле были только те байты, которые я записал и ничего постороннего? Или вообще, нечто, подобное дисковому WorkDir ?..

AFZ
26.04.2016, 14:31
Patron, похоже, в эмуляторе какая-то ошибка. С 377 ПЗУ после однократной загрузки ДИАМСа с дискеты перестает работать автоматическая загрузка с DW/MY. Вылетает в останов в середине тестирования. Ну, и еще наблюдается странное поведение ДИАМСа, но это, может быть, и у меня косячок...

Образ загрузочной дискеты прилагаю, ее лучше защитить от записи.

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

У меня создалось впечатление, что где-то не инитится (или неправильно/невовремя инитится) ДП, по кнопке "Вкл/Выкл".

AFZ
29.04.2016, 07:15
Patron, не смотрели ошибку? Проверяется просто: подключаем 377-ю прошивку, подключаем приложенный DSMBOT.DSK, как MY1, загружаемся с него, дожидаемся первого вопроса, вместо ответа выключаем эмулируемую машинку кнопой ВКЛ/ВЫКЛ, включаем снова и видим упавшую 377-ю. Да, таймер надо включать.

Patron
29.04.2016, 17:39
смотрели ошибку? Проверяется простоДа, у меня то же самое - буду разбираться.

MiX
29.04.2016, 23:49
включаем снова и видим упавшую 377-ю
Если отключить образ DW от привода то прошивка не падает.

AFZ
30.04.2016, 10:43
Если отключить образ DW от привода то прошивка не падает. Это, вообще-то, Патрону, информация к размышлению. Дело в том, что еще и Диамс после этого не запускается - падает в какой-то TRAP.


Да, у меня то же самое - буду разбираться. Еще, похоже, мелкая ошибка. У меня на файл-образе для винчестера случайно взвелся атрибут ReadOnly, так эмулятор с таким файл-образом молча игнорирует операцию записи. Говоришь ему INI DW:, он его, якобы инитит, с виду все ОК, а диск не изменился. ИМХО, надо бы выругаться...

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

Patron, обнаружил одно неудобство, для ДИАМСа - сильное. Как я понял, у терминала один индикатор "рус/лат". А по-хорошему, надо бы два: один для клавиатуры, другой для экрана. Дело в том, что ДИАМС на русском регистре выводит только русские буквы. Всё остальное - цифры, значки и пр., включая пробел, выводится на латинском. И вот, нажимаю я пробел, индикатор рус/лат переключился на английский, следующая буква тоже оказывается английской. А, по-идее, клавиатура с момента получения Ctrl/N должна стать русской и оставаться ей, пока не введут Ctrl/O. И, кстати, на этот предмет, не повредила бы отдельная клавиша "рус/лат". Как в некоторых ДОСовских писюшных руссификаторах. Помнится, под это пользовали правый Ctrl, хотя совершенно необязательно, можно и любую другую клавишу, или их сочетание. В частности, почему бы не оставить обычное виндовое переключение?

И еще о клавиатуре. Как я понял, эмулятор сам включает CapsLock. Вот это, ИМХО, зря. По-идее, для полной совместимости с ДВК-шными терминалами, хоть КСМ, хоть КЦГД, надо на латинском регистре, если не нажат Shift и не включен CapsLock, просто инвертировать бит 0x20, причем только для латинских букв. Остальные символы надо передавать, как есть - фигурные скобки, двоеточия и пр. должны появляться только под шифтом, и никак иначе.

А на русском - всё прямо "в лоб" - не включен CapsLock и не нажат Shist - маленькие, иначе - большие.

И еще я заметил, когда поиграешь CapsLock'ом, иногда происходит то, о чем упоминал Хобот - меняются значки. Точки, запятые и пр. набираются только под шифтом, а без него - соответствующие символы верхнего регистра (<>?":_+). ИМХО, если сделать, как я указал выше, это тоже уйдет.

Patron
30.04.2016, 14:26
У меня на файл-образе для винчестера случайно взвелся атрибут ReadOnly, так эмулятор с таким файл-образом молча игнорирует операцию записи. Говоришь ему INI DW:, он его, якобы инитит, с виду все ОК, а диск не изменился. ИМХО, надо бы выругаться...При включённой защите записи носителя все эмулируемые контроллеры отрабатывают как оригинальные. Если отключить линию записи от реального привода DW - всё так и будет.



не повредила бы отдельная клавиша "рус/лат"Левая клавиша <Ctrl> при одиночном нажатии отрабатывает как <РУС>, правая - как <ЛАТ>. Левая клавиша <Shift> при одиночном нажатии отрабатывает как <ВР>, правая - как <НР>.



по-идее, клавиатура с момента получения Ctrl/N должна стать русской и оставаться ей, пока не введут Ctrl/OПроблема алгоритмически неразрешима. Если программа при выводе русских букв каждый раз выводит последовательность <016>буква<017> - то терминал всегда находится в латинском режиме. Невозможно предсказывать режим ввода по нажатию кнопок <РУС> и <ЛАТ>, потому что в некоторых играх для ДВК кнопка <РУС> используется для стрельбы и нажатие на неё должно не переключать раскладку клавиатуры, а только отправлять код <Ctrl / N>, что и эмулируется.

Можно добавить терминалу два состояния. Первое состояние будет связано с раскладкой клавиатуры, что даст возможность повесить туда кнопку отображения/изменения раскладки. Второе состояние - определяющее, что переключает раскладку - отправка кодов <РУС> и <ЛАТ> или приём, тогда повесив на это состояние кнопку - можно будет отключать смену раскладки клавиатуры при получении терминалом кодов <016> и <017>.



фигурные скобки, двоеточия и пр. должны появляться только под шифтом, и никак иначеТак и эмулируется - можно запустить в RT-11 любой нормальный русский текстовый редактор и убедиться. Просто при рассинхронизации раскладок рассинхронизирутся не только буквы, но и остальные символы.

AFZ
30.04.2016, 18:43
Левая клавиша <Shift> при одиночном нажатии отрабатывает как <ВР>, правая - как <НР>. Это на 15ИЭ? Потому, как на 7004 нет клавиши НР есть две клавиши ВР, работающих в точности, как Shift и кнопка ФКС - практически, тот же CapsLock, только срабатывающая не при простом нажатии, а только под шифтом (ВР). И отдельных кнопок РУС и ЛАТ у 7004 нет - есть одна рус/лат. Так, что очень желательно сделать вариант 7004, включать его можно в конфиге, внешняя кнопка необязательна.


Невозможно предсказывать режим ввода по нажатию кнопок <РУС> и <ЛАТ>, потому что в некоторых играх для ДВК кнопка <РУС> используется для стрельбы и нажатие на неё должно не переключать раскладку клавиатуры, а только отправлять код <Ctrl / N>, что и эмулируется. Опять же, для 15ИЭ. А 7004 незаслуженно забыта.


Можно добавить терминалу два состояния. Первое состояние будет связано с раскладкой клавиатуры, что даст возможность повесить туда кнопку отображения/изменения раскладки. Второе состояние - определяющее, что переключает раскладку - отправка кодов <РУС> и <ЛАТ> или приём, тогда повесив на это состояние кнопку - можно будет отключать смену раскладки клавиатуры при получении терминалом кодов <016> и <017>. Мне кажется, проще сделать переключатель типа дисплея. Если дисплей 15ИЭ, пусть все будет, как есть. Если же дисплей КЦГД (а ДВК с ВМ3, практически, все были с КЦГД), то приводим клавиатуру к виду 7004 и делаем отдельный индикатор рус/лат для клавиатуры, который будет ставится в состояние РУС при отправке на эмулируемый 177562 кода Ctrl/N и в ЛАТ при отправке туда кода Ctrl/O, все остальное время будет стоять, как его поставили.

Второй индикатор - для экрана - должен, соответственно, переключаться при поступлении переключающих кодов на эмулируемый 177566 и для него действительно нужна кнопка, чтобы можно было переключить вручную, поскольку иногда бывают косяки, когда программа бросает терминал на русском и вываливается в ОС, которая понятия не имеет о каких-то там рус/латах...

Это будет точно эмулировать КЦГД с 7004. Поскольку ДИАМС на этой аппаратуре работал молча. А на эмуляторе - косячит.

Patron
30.04.2016, 20:00
Мне кажется, проще сделать переключатель типа дисплея. Если дисплей 15ИЭ, пусть все будет, как есть. Если же дисплей КЦГД (а ДВК с ВМ3, практически, все были с КЦГД), то приводим клавиатуру к виду 7004Хорошая идея.



нужна кнопка, чтобы можно было переключить вручную, поскольку иногда бывают косяки, когда программа бросает терминал на русском и вываливается в ОС, которая понятия не имеет о каких-то там рус/латах...Такая кнопка уже есть - если кликнуть мышью по индикатору РУС / LAT, то режим терминала изменится.

AFZ
01.05.2016, 08:14
Такая кнопка уже есть - если кликнуть мышью по индикатору РУС / LAT, то режим терминала изменится.Да знаю, пользовался. Я к тому, что она пригодится и для КЦГД, а не только для 15ИЭ.

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


При включённой защите записи носителя все эмулируемые контроллеры отрабатывают как оригинальные. Если отключить линию записи от реального привода DW - всё так и будет. Так никто и не спорит, если запись защищена, писать, естественно, нельзя. Плохо, что молча. Надо куда-нибудь выругаться. Винчестер - это не дискета, которая с полным правом может быть защищенной от записи, ИМХО, раз аппаратура DW не сигналит о защите записи, стоит выругаться при монтаже такого файл-образа, на консоль, туда же, где сообщается о неправильном размере файл-образа. По-простому, предупредить: файл XXXXX только для чтения, запись будет невозможна, Are you sure?

А то я вроде доделал ДИАМС, сгенерил проверочный "винчестер" в 39360 блоков, пытаюсь поставить ДИАМС на него и тихо охреневаю: ^DISKPREP говорит мне, что все сделано, теперь DW0 - монтируемый том, можно монтировать, а запустившийся следом ^MOUNT заявляет: DW0 - нет метки ДИАМС! Я уж подумал, что нечаянно грохнул что-то в ДИАМСе, дергался минут 15, потом сообразил попробовать RT-11, и, наконец, догадался нажать Ctrl/A в FAR'е...

AFZ
02.05.2016, 11:22
Patron, а как бы принять буфер экрана терминала на виндовый клипборд?

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


Проблема алгоритмически неразрешима. Если программа при выводе русских букв каждый раз выводит последовательность <016>буква<017> - то терминал всегда находится в латинском режиме. Невозможно предсказывать режим ввода по нажатию кнопок <РУС> и <ЛАТ> Я тут внимательно все обдумал...

Похоже, я заблуждаюсь. На наших терминалах не надо предсказывать режим ввода. Он всегда один и тот же. Клавиша [Ю@] всегда посылает одну и ту же пару кодов: 140 под шифтом и 100 без него. А как эти коды интерпретировать - [юЮ] или [`@], решает индикатор состояния экрана. Единственное исключение - клавиша РУС/ЛАТ 7004@КЦГД, код, который она посылает, зависит от состояния клавиатуры, конкретно - от индикатора [ЛАТ], если он горит, передается 016, если нет - 017.

Но у нас ведь НЕТ клавиши [Ю@]. У нас вообще нет ни одной из буквенных клавиш, совпадающих с оригиналом. Вот, положил рядом 7004, посравнивал, так вообще, совпадают только клавиши со стрелочками, единица и пробел. Все!

Так, что проблема действительно неразрешима - псиюшая клава принципиально не годится для прямой эмуляции отечественных терминалов. И действительно, надо искать какое-то компромиссное решение, причем, получается, не одно. Каким-то программам годится так, как есть сейчас, каким-то нет. И среди последних нарисовалась не то, что программа, а целая операционная система - ДИАМС. Таким образом, нужно сделать, как минимум, еще один дополнительный режим эмуляции клавиатуры - с отдельным индикатором состояния рус/лат строго для клавиатуры, который переключается только клавишами, в момент поступления кодов 016/017 на 177562 (176562...).

Не думаю, что нужен оперативный переключатель этих режимов эмуляции - с индикатором состояния клавиатуры, или без него. - достаточно конфига. А еще замечу, что большинству программ и систем, кроме ДИАМСа и той самой игрушки, стреляющей по клавише РУС, скорее всего, будет фиолетово, есть этот дополнительный индикатор, или нет.

Patron
02.05.2016, 13:16
как бы принять буфер экрана терминала на виндовый клипборд?При нажатии клавиши <Print Screen> - терминал помещает в буфер обмена все строки от верхней видимой до последней выведенной. Поэтому, если скролер экрана в нижней позиции - скопируется только последний экран, а если скролер в верхней позиции - скопируется всё, что есть в буфере терминала.

hobot
03.05.2016, 22:27
скопируется всё, что есть в буфере терминала.
У меня движок форума стал без спроса (по умолчанию) вставлять буфер обменную информацию только в графическом виде в сообщение,
хотя до какого-то момента вставлялся по умолчанию текст. Так вот текст теперь "через блокнот" перегоняю,а как ещё? )

shattered
07.06.2016, 22:05
Можно ли как-то сохранить образ памяти на диск (после срабатывания ловушки, по счетчику выполненных инструкций или еще как)? Хочу сравнить поведение этого эмулятора и MAME, разницы в состоянии регистров не прослеживается, но разница в поведении есть (http://zx-pk.ru/threads/17277-pomogite-najti-osnovnoj-test-kommand-elektroniki-60/page4.html)

Patron
07.06.2016, 23:24
Можно ли как-то сохранить образ памяти на дискТакое невозможно.

shattered
24.06.2016, 00:33
Оригинальный тест инструкций FIS (VKAC, http://dustyoldcomputers.com/pdp-common/reference/papertapes/maindec/maindec-11-dvkac-b-pb.bin) не проходит в 0.97f с конфигом default.cfg "из коробки" -- в пульт не выпадает, похоже, что просто зацикливается.

Листинг теста (http://bitsavers.trailing-edge.com/pdf/dec/pdp11/microfiche/ftp.j-hoppe.de/bw/gh/AH-8196C-MC__LSI-11__FIS_INSTRUCTION__CVKACC0__(C)75-78.pdf). Кстати, есть ли аналогичные листинги от тестов FTMON?

form
24.06.2016, 08:01
не проходит в 0.97f с конфигом default.cfg "из коробки" -- в пульт не выпадает
На живом УК-НЦ точно также.

shattered
24.06.2016, 22:43
Хорошо бы потрассировать происходящее на УКНЦ... :rolleyes_std:

Alex_K
25.06.2016, 14:25
Оригинальный тест инструкций FIS (VKAC, http://dustyoldcomputers.com/pdp-common/reference/papertapes/maindec/maindec-11-dvkac-b-pb.bin) не проходит в 0.97f с конфигом default.cfg "из коробки" -- в пульт не выпадает, похоже, что просто зацикливается.
Этот тест предназначен исключительно для LSI-11. В эмуляторе FIS в 1801РЕ2-055 не будут работать тесты на прерывание инструкции. В оригинальном LSI-11 при прерывании инструкции FIS в стеке оказывается адрес этой инструкции и при возврате из прерывания она перезапускается, а в эмуляторе FIS в стеке оказывается адрес возврата больший 0160000. Соответственно при возврате эмуляция инструкции FIS продолжается.

Листинг теста (http://bitsavers.trailing-edge.com/pdf/dec/pdp11/microfiche/ftp.j-hoppe.de/bw/gh/AH-8196C-MC__LSI-11__FIS_INSTRUCTION__CVKACC0__(C)75-78.pdf). Кстати, есть ли аналогичные листинги от тестов FTMON?
Только видел 791401 и 791404.

shattered
25.06.2016, 16:01
Только видел 791401 и 791404.

Скажите же, как его зовут т.е. где их взять?

Alex_K
25.06.2016, 16:13
Скажите же, как его зовут т.е. где их взять?
Сами листинги опубликованы в книге Электроника 60-Книга 4. А в исходники их переводил Vslav. Где-то на форуме можно найти.

shattered
25.06.2016, 23:48
Нашлось в https://github.com/nzeemin/bkbtl-doc/tree/master/Tests

Восстановлено из "Электронная вычислительная машина Электроника-60, основной тест команд, программное обеспечение, 2.791.004 ПО1" и "Электронная вычислительная машина Электроника-60, тест прерываний, программное обеспечение, 2.791.004 ПО4" -- сканы есть на emuverse. (http://www.emuverse.ru/downloads/computers/E-60/docs/E60_Book_4.djvu)

hobot
27.09.2016, 20:44
Этот вопрос тут или в родственных темах по ДВК уже поднимался\обсуждался.
Насколько я помню дело в прошивке (версии) ?
Какая именно из них умеет с устройства DW0 по умолчанию грузиться и как правильно её подсунуть эмулятору ДВК?



@ 001002
@B
$DW0
SL V08.00 [SW] Сторожевых С.В. 1988
KZ V01.00 (C) ВЦ МИЭТ, НОЯБРЬ 1987
ПРИМЕНЯЙТЕ КОМАНДУ "SET MX INFORM"

RT-11SB (Y) V05.07

.SET TT FORM

.SET TT SCOPE

.SET EDIT K52

.SET SL ON

.DAY
Время Дата
00:00:02 26-Сен-2016, Понедельник

.


Ввод с клавиатуры
B > DW0 - работает по умолчанию, с прописанной прошивкой 134.dat в конф. файле вот тут:




<..>
[B]BootDeviceAlias = DW
BootDeviceUnit = 0
<..>
[CpuBoard.ini]
<..>
VM3.BootROM_DataFile=134.dat



Образ диска взят отсюда > http://zx-pk.ru/threads/26624-emulyatsiya-vychtekhniki-na-mpk-k1801-v-mame-mess.html?p=886317&viewfull=1#post886317

Patron
27.09.2016, 21:22
Насколько я помню дело в прошивке (версии) ?
Какая именно из них умеет с устройства DW0 по умолчанию грузиться и как правильно её подсунуть эмулятору ДВК?Прошивка 377.dat сначала ищет загрузочный диск в приводе MY, потом - в приводе DW. Чтобы подсунуть эту прошивку эмулятору - надо в файле конфигурации вместо 134 написать 377.

hobot
28.09.2016, 00:08
Patron,
Прошивка 377.dat сначала ищет загрузочный диск в приводе MY, потом - в приводе DW.
Не работает, всё равно руками приходится загружаться с DW
(это когда BootDeviceAlias = DW
BootDeviceUnit = 0 ), а замена нуля на 1 или DW на DW0 (именно в указанных пунктах)
выдаёт вот такое вот ))) Что то я не так делаю )))


Тест HALT-режима*
Доступное ОЗУ - 256 К*
Тест ДП и прерываний*
Тест НЖД
? - Ошибка ДП*
@013370
@


:confused_std:

Другой момент что сообщения у 377 на экране более информативное
при нажатии на B пишет BOOT_

shattered
28.09.2016, 00:36
Прошивка 279 (для 1201.02) умеет грузиться с DW:, если выставить SEL=xxx002. Проверил только что в MAME :)

hobot
28.09.2016, 00:53
Прошивка 279
ссылку на неё дай пожалуйста или выложи, я глянул в архиве к ней только pdf-ка какая-то.

Я выше не уточнял, но у меня конфиг. для эмулятора под ВМ3 )))
279 помечена как "альтернативная" для ВМ2 (!)
и есть ещё без номера прошивка DWBOOT - с исходником <-- вешает эмулятор !!!
я это всё с форума брал, но как правильно и где оно использовалось знают только
AFZ, Patron и ещё несколько человек на форуме.

377 в эмуляторе выдаёт список на B > с клавиатуры возможных устр-в:



@001002
@Boot:
Загрузчики: VM,MY,DW,LL,LA,MX,DU,MT,DK,DP,DB,DS,DX
@



Возможно для ВМ3 надо что то менять в секции
[ROM.ini] ???

shattered
28.09.2016, 01:54
http://forum.maxiol.com/index.php?act=Attach&type=post&id=6845 <- прошивка 279


Загрузчики: VM,MY,DW,LL,LA,MX,DU,MT,DK,DP,DB,DS,DX

что такое DS? в описании прошивки только номер регистра 172040. DU -- понятно, MSCP; а что были такие контроллеры или это рассчитано на стык корзин МПИ и Q-bus?

hobot
28.09.2016, 03:35
<- прошивка 279 --- на ВМ2 конфиге цепляет загрузку с DW0 )))

DS - что нибудь DECовское, исходник DS.SYS см в дистрибутиве RT-11.

Почитал описание к 377 - там описана ручками загрузка и про тесты, автомата для загрузки там судя по описанию нет, увы. Это не беда конечно - главное выяснилось, что автомат был на ВМ2 (я же помнил, что был!). Я хотел на конфиге
VM3.cfg что подобное и вот "нашла коса на камень" )))

Patron
28.09.2016, 12:13
Я хотел на конфиге VM3.cfg что подобное и вот "нашла коса на камень"Если взять исходный вариант VM3.cfg и внести следующие правки:



[Booter.ini]
InitialStateOf[Boot] = 0

[CpuBoard.ini]
VM3.BootROM_DataFile=377.dat


То система будет автоматом грузиться с привода MY0.

Если убрать образ диска из привода MY0 - система будет автоматом грузиться с привода DW0.

hobot
28.09.2016, 18:02
Patron, да! Всё верно, в начале тесты запускает, затем систему ищет и загружает и всё в автоматическом режиме.
Сравнивая свой конфиг с исходным (VM3.cfg) критических разногласий не нашлось!!!(кнопочки и внешний вид не влияют на эмуляцию) Но на моём почему то тест ЖД выпадал в ошибку, оказалось значение скорости эмуляции процессора на MAX мешало тесту и вызывало сбой.
Сейчас я припоминаю, что и этот нюанс обсуждался )))
Мой конфиг заработал как только я сделал TRUE, порог скорости выполнения теста
(у меня ПКМ) - 2.000, уже на 5.000 тест не проходит )))



Э.Л.Е.К.Т.Р.О.Н.И.К.А.
......................



Автоматическая загрузка!
SL V08.00 [SW] Сторожевых С.В. 1988
KZ V01.00 (C) ВЦ МИЭТ, НОЯБРЬ 1987
ПРИМЕНЯЙТЕ КОМАНДУ "SET MX INFORM"

RT-11SB (Y) V05.07

.SET TT FORM

.SET TT SCOPE

.SET EDIT K52

.SET SL ON

.DAY
Время Дата
00:01:55 28-Сен-2016, Среда

.


Начало обсуждения тут > http://zx-pk.ru/threads/18351-emulyator-dvk.html?p=886432&viewfull=1#post886432

AFZ
29.09.2016, 08:35
Я выше не уточнял, но у меня конфиг. для эмулятора под ВМ3 )))
279 помечена как "альтернативная" для ВМ2 (!)
и есть ещё без номера прошивка DWBOO У меня все эти прошивки, кроме 377-й, в РР-ках. Кузова из белой керамики, номер прошивки написан карандашом. Кроме 279-й, на которой, вместо номера прошивки, тем же карандашом написано "ВМ2". Я, подумав, что ей просто не присвоили номер, выложил ее под названием VM2ALT. Позже, перебирая старые бумаги, нашел от нее доку, оказалось номер у нее таки есть, 279, но в сеть она уже ушла под именем VM2ALT.

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


DU -- понятно, MSCP; а что были такие контроллеры или это рассчитано на стык корзин МПИ и Q-bus? Думаю, сделано просто так, на всякий случай. Максимум, в дальних неопределенных планах стояло клонирование...

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

Patron, а что с замеченными косяками и моими предложениями для ДИАМСа? (страницы 113-114 этой темы)

Patron
29.09.2016, 11:33
что с замеченными косяками и моими предложениями для ДИАМСа?Пока сказать не могу - очередной "сезон эмуляторов" в моём расписании ещё не начался.

hobot
29.09.2016, 15:07
У меня все эти прошивки, кроме 377-й, в РР-ках
Всё тут > http://archive.pdp-11.org.ru/ukdwk_archive/dwkwebcomplekt/dwkrom/

Наблюдая как резво эмулятор тестит и загружается с DW на автомате - очень сильно
напомнило старт Э-85 )))

Korchagin
18.11.2016, 18:29
Почему-то не получается с первого раза откомпилировать программу на ассемблере - на второй раз всё окей.
Помещаем на HD1: MACRO.SAV, LINK.SAV, библиотеку, исходник программы 1.MAC и получается следующее:
.R HD1:MACRO.SAV
*1.OBJ,LP:=1.MAC
после чего на LP: выводится инфа о компиляции с сообщением об отсутствии ошибок компиляции, но файл 1.OBJ создается лишь при повторном вводе
1.OBJ,LP:=1.MAC

то же самое происходит и с линковкой объектника в исполняемый файл - он появляется только при повторной команде
.R HD1:LINK.SAV
*1.SAV,LP:=1.OBJ

form
18.11.2016, 18:52
Почему-то не получается
Мало информации. Как минимум нужно знать что такое HD1 и сколько блоков на нем свободно (в том числе результат команды DIR/FR на нем до и после команды). Не ясно также почему в команде MACRO фигурирует .SAV в качестве входного файла :)
А так - нет смысла запускать программы MACRO и LINK командой R для работы с единственным файлом - команды монитора здесь будут удобнее (при этом программы MACRO и LINK должны лежать на устройстве загрузки). В частности первая команда (подразумеваем, что входной файл все-таки .MAC, а не .SAV):
.MAC/LIS 1
попроще будет ;)
Вторая команда соответственно будет выглядеть так:
.LIN/MAP 1

Ну и как вариант, проверить все из под FB монитора - RT-11SJ столь любимый в советское время имеет много проблем которые не всегда легко вычислить с устройствами которые заканчивают ввод-вывод до того как управление возвращается в программу. В свое время много воевал с электронным диском на эту тему в RT-11 V5.0, в конечном счете более-менее помогало SET USR NOSWAP, но полностью механизм проблемы тогда не выяснял, а сейчас уже и софта тоо нет, да и в SJ не работаю в силу того, что пока последняя версия RT-11 устраивает и вопреки множеству жалоб, никаких проблем не возникало (быть может потому что у меня нет советских драйверов (особенно переделанных вручную под другую систему с помощью правки смещения 60) :)

Korchagin
18.11.2016, 20:12
Входной файл .MAC конечно же. Свободного места вагон - 64395 Free blocks. И объектный файл, и исполняемый ассемблер и линковщик создают, только после повторного набора строки параметров, во в чем загвоздка то.

form
18.11.2016, 20:28
Свободного места вагон
Увы, количество свободного места ни о чем не говорит само по себе, и я не случайно сформулировал множество вопросов и предложений :)
Вот типичный пример:
1189 Files, 54384 Blocks
11083 Free blocks
Это диск с кучей файлов. Если мы попытаемся скопировать их командой COPY на пустой диск с достаточным количеством свободных блоков (например 65467 - стандартный максимум разметки по умолчанию макисмально возможного размера), то... Правильно - получим ошибку Device full (и кучу незанятого места) :)

hobot
18.11.2016, 22:40
ся\ноя ))) (разговорная форма ся на я)

В целом самая правильная ситуация когда транслятор, линковщик и системные библиотеки на СИСТЕМЕ!!! с которой вы загрузились.
Вызывать транслятор командой R - нет необходимости, есть команды mac и lin

form
19.11.2016, 05:50
Вызывать транслятор командой R - нет необходимости
Ну иногда есть смысл - если надо много файлов скомпилить к примеру, то запуск и передача множества файлов будет быстрее. Пары файлов смысла нет.

Patron
19.11.2016, 12:05
И объектный файл, и исполняемый ассемблер и линковщик создают, только после повторного набора строки параметров, во в чем загвоздка то.Если речь о папке Windows, то дело в том, что файловая система RT-11 создаётся не в папке Windows, а на теневом виртуальном диске. Содержимое виртуального диска синхронизируется с содержимым папки Windows при каждом чтении каталога RT-11 и при завершении эмулятора. Проще говоря, чтобы увидеть в папке созданные в каталоге файлы - надо закрыть эмулятор или дать команду DIR.

В такой ситуации проще всего использовать для компиляции эмулятор RT-11 (http://zx-pk.ru/threads/24755-emulyator-rt-11.html) с передачей команды в строке вызова. Тогда после исполнения команды эмулятор тут же закроется и содержимое папки Windows обновится.

form
26.11.2016, 07:54
Пока только драйвер I/O, а загрузка несохраненной системы выполняется из под RT-11 ;)
Но далее в рамках уже имеющегося можно довести...
HD V2.0 CSR=177720, 22-bit controller

RT-11SB (S) V05.07

.SET TT QUIET

.RSXLD
00173600

RSX-11M-PLUS V4.6 BL87


>

>ATL
...LDR 117504 SYSPAR 117440 00270700-00275200 Pri - 248. Dpri - 248.
Status: -CHK STP -PMD PRV NSD DFB XHR FXD
TI - CO0: IOC - 0. BIO - 0. Eflg - 000001 000000 PS - 170000
PC - 120474 Regs 0-6 000222 007746 177777 061414 061364 061244 120166
MCR... 117304 SYSPAR 117240 00275200-00330700 Pri - 160. Dpri - 160.
Status: -CHK STP -PMD PRV CLI NSD DFB XHR FXD
TI - TT0: IOC - 0. BIO - 0. Eflg - 000001 000000 PS - 170000
PC - 122744 Regs 0-6 160021 050712 122022 120772 053320 053772 120402
ATLT0 061244 GEN 061364 00575300-00635600 Pri - 160. Dpri - 160.
Status: -CHK -PMD REM PRV MCR CMD DFB XHR
TI - TT0: IOC - 0. BIO - 0. Eflg - 000001 040000 PS - 170017
PC - 122330 Regs 0-6 000000 131574 050712 140544 140060 000000 001274
PMT... 103730 GEN 061044 00565600-00575300 Pri - 148. Dpri - 148.
Status: STP -PMD PRV DFB XHR
TI - CO0: IOC - 0. BIO - 0. Eflg - 000100 000000 PS - 170000
PC - 122064 Regs 0-6 000074 000100 000000 140234 140200 000000 120212
>PAR
SECPOL 117734 00120000 00100000 SEC POOL
SYSPAR 117670 00220000 00342100 MAIN
117624 00220000 00050700 RO COM !DIR11M!
117440 00270700 00004300 TASK <...LDR>
117240 00275200 00033500 TASK <MCR...>
117040 00330700 00010500 TASK [TKTN ]
116640 00341400 00003200 TASK [SHF...]
116440 00344600 00013500 TASK [RCT...]
116360 00360300 00006000 RO COM !TTEXT !
116274 00366300 00035100 DRIVER (TT:)
114650 00423400 00004700 DRIVER (DB:)
113424 00430300 00005600 DRIVER (DR:)
113030 00436100 00005300 DRIVER (MM:)
112500 00443400 00001300 DRIVER (DK:)
112100 00444700 00005200 DRIVER (DM:)
111510 00452100 00003500 DRIVER (DL:)
111424 00455600 00005100 RO COM !PUCOM !
110624 00462700 00014000 DRIVER (DU:)
110250 00476700 00011500 DRIVER (MU:)
107720 00510400 00005300 DRIVER (MS:)
107370 00515700 00001700 DRIVER (DX:)
107024 00517600 00005000 DRIVER (DY:)
106474 00524600 00004000 DRIVER (DD:)
106214 00530600 00001300 DRIVER (LP:)
105634 00532100 00003600 DRIVER (MT:)
105424 00535700 00000100 DRIVER (NL:)
105360 00536000 00002500 DRIVER (VT:)
105314 00540500 00001500 DRIVER (RD:)
105250 00542200 00017700 DRIVER (VF:)
GEN 105204 00562100 01215700 MAIN
105140 00562100 00002000 RO COM !DYCOM !
101560 00564100 00000400 DRIVER (HD:)
101130 00564600 00001000 DRIVER (MY:)
061044 00565600 00007500 TASK <PMT...>
061364 00575300 00040300 TASK <PART0 >
>RMD

RSX-11M-PLUS V4.6 BL87 (BASLIN) 512K UP 000:00:00 30-MAR-82 00:00:12
TASK= MCR... FREE= SY0:DMO
PARS
POOL=2244.:3966.:3. SECPOOL=462.:512.:90%
2244.:3966.:3. 462.:512.:90% SECPOL:P
SYSPAR:D
IN: D M TRT MPMDVVR GEN :D
3 I C KCT MUUYTFM
17K R R TT: :C::::D
OUT: 1 . N. O T
0 1 . . M 0
0K M . .
!=!=>]]=))!))))->
0*******32******64******96******128*****160*****19 2*****224*****
E--P-P---D-------------D----------------------------------------
----------------------------------------------------------------
256*****288*****320*****352*****384*****416*****44 8*****480*****

ERRSEQ
0.
>

form
27.11.2016, 14:59
ПОБЕДА!
Первый запуск сохраненного M+ с HD. Весьма помог дизассемблер эмулятора.
Вопрос только (наверное уже задавал, но не помню - пора записки заводить): есть возможность исключить из дизассемблера режим HALT?


>@NEW
>PIP RSX11M.SYS/NV/BL:1026.=RSX11M.TSK
>VMR @SYSVMR
VMR -- *DIAG*-Installed tasks or commons may no longer fit in partition
SET /TOP=SYSPAR:-*
VMR -- *DIAG*-Loadable driver larger than 4K
LOA TT:/SIZE=16300
VMR -- *DIAG*-Installed tasks or commons may no longer fit in partition
SET /TOP=DRVPAR:-*
>@ <EOF>
>BOO [1,54]
XDT: 87

XDT>G
RSX-11M-PLUS V4.6 BL87

>

>TIM 18:52 27-NOV-2016
>SAV /WB


RSX-11M-PLUS V4.6 BL87 512.KW System:"KYPEBO"
>RED HD3:=SY:
>RED HD3:=LB:
>RED HD3:=SP:
>MOU HD3:"RSX11MPBL87"
>@HD3:[1,2]STARTUP
>; PLEASE NOTE
>;
>; If you have not yet read the system release notes, please do so
>; now before attempting to perform a SYSGEN or to utilize the new
>; features of this system.
>;
>;
>* Please enter time and date (HH:MM DD-MMM-YYYY) [S]: ^Z
>@ <EOF>
>CON ONL HD:
>MOU HD:/FO
>BOO HD:/HW
HD V2.0 CSR=177720, 22-bit controller

RT-11FB (S) V05.07

.SET TT QUIET

Date? 27-NOV-2016

.BOO HD3:/FO



RSX-11M-PLUS V4.6 BL87 512.KW System:"KYPEBO"
>RED HD3:=SY:
>RED HD3:=LB:
>RED HD3:=SP:
>MOU HD3:"RSX11MPBL87"
>@HD3:[1,2]STARTUP
>; PLEASE NOTE
>;
>; If you have not yet read the system release notes, please do so
>; now before attempting to perform a SYSGEN or to utilize the new
>; features of this system.
>;
>;
>* Please enter time and date (HH:MM DD-MMM-YYYY) [S]:

hobot
27.11.2016, 15:10
ПОБЕДА!
Первый запуск сохраненного M+ с HD.
А получится сделать загрузочный образ DW ? Ну я с прицелом на будущее,
просто HD - это абстракция, а DW подразумевает вполне конкретное устройство.

form
27.11.2016, 15:21
А получится сделать загрузочный образ DW ?
Это надо драйвер для DW писать.

hobot
27.11.2016, 15:32
Это надо драйвер для DW писать.
Я постоянно упускаю этот момент.
А загрузка через FB никак не поможет ?
Исходников драйвера есть много, особенно есть для Зеленоградцких контроллеров даже )))
Но все они под RT-11 конечно же )))

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


Это надо драйвер для DW писать.
А есть же отеч. аналог этой системы - не с дискет же они запускались? )
Что с драйвером там?

form
27.11.2016, 15:43
А загрузка через FB никак не поможет ?
Это не отменяет потребности создания драйвера ввода-вывода для системы :)
А если написан драйвер I/O, то уж драйвер загрузки/сохранения написать - будет мелочью :)


А есть же отеч. аналог этой системы - не с дискет же они запускались? )
Что с драйвером там?
Пока не найдено ни одного примера. Напротив, ходили упорные слухи, что RSX ну никак вообще на ДВК не пойдет без больших переделок :)

hobot
27.11.2016, 15:58
тут конечно (если я обсуждения по DW хозяйству правильно оценил) проблемы не заканчиваются,
разновидность контроллеров(или прошивок???) (в железе) и физических разметок у самих дисков могут сильно различаться. надо какой-то KZ-like драйвер, что бы работало plug&play )))

В стандартной ВМ3 конфигурации эмулятора ты запускаешь?

form
27.11.2016, 16:02
В стандартной ВМ3 конфигурации эмулятора ты запускаешь?
Стандартная для M+ слабовата - 256Kb только-только хватает на 22-битный режим, запустить в нем M+ можно, но муторно. Я 512 сделал - в нем памяти дофигищща :)
Но это уже несколько за рамками темы все...

hobot
27.11.2016, 16:08
полистал оглавление книги Егорова по ОС РВ для СМ ЭВМ - ужас! страшно сложно для меня.
А такого понятия как драйвера внешних устройств там просто нет ??? form dk:/noq )))

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


Но это уже несколько за рамками темы все...
ну ты же в эмуляторе конкретном экспериментируешь, где же ещё это обсуждать?

form
27.11.2016, 19:48
Выложил образ (http://pdp-11.org.ru/~form/files/pdp-11/dvk/rsx-11/m-plus/HDRSXSYS.dsk.bz2) HD с дистрибутивом RSX-11M-PLUS V4.6. Драйвер HD присутствует, BOO/SAV поправлены. И еще кое-какие правки были (подробности ниже).

Образ я запускал из под RT-11 командой BOO/FO. Опять я забыл как отключить в эмуляторе загрузчик, примеряющийся к RT-11 (вернее что-то там нашел на эту тему, но это не помогло - позже поковыряю детальнее).

Здесь (http://pdp-11.org.ru/~form/files/pdp-11/dvk/rsx-11/m-plus/sysgen.html) можно посмотреть раскрашенный лог генерации системы. На большую часть вопросов можно ответить умолчаниями. То, что вводилось руками подкрашено.

Остановлюсь на некоторых моментах генерации...

>* SU100 Do you want to run Autoconfigure on the host system
>* hardware? [Y/N D:N]: Y
Автоконфигурацию можно (и нужно для простоты) выполнить, но...


>ACO SHOW
Processor Type: LSI-11/73 Memory Size: 124. Kw

Options:

Extended Instruction Set (EIS)
Parity Memory

Name Vector CSR Unit Type Remark
DKA 220 177404
0 RK05
DXA 264 177170
LPA 200 177514
MTA 224 172522
PPA 074 177554
PRA 070 177550
YLA 060 177560

>ACO SYSGEN
>;
>* SU110 Do you want to override the Autoconfigure results? [Y/N D:N]: Y
...результаты нужно будет подправить...


>* CE010 What is your target processor type? [S R:3.-12. D:"LSI-11/73"]: 11/23-PLUS
Прежде всего тип процессора. 11/23-PLUS будет вполне уместным, иначе .IFы в исходниках зашизеют и будет пара неопределенных символов. Также DECnet при генерации берет тип процессора из параметров системы, и уж тут держись - начнет генерить программы режима супервизора, с разделением данных, да мало ли чего...


>* CE270 Do you want to include XDT? [Y/N D:N]: Y
Люблю включать отладчик в систему. В принципе в M+ можно в любое время подгрузить отладчик в живую систему, но мне как-то привычнее так...


>* CE290 On what device and unit do you want crash dumps
>* to be written? [S R:2-6]: XX:
Увы, пока нет подходящего устройства для сброса аварийного дампа. Ставим XX: (загружаемый драйвер).


>* CE310 Enter memory size (in K words) [D R:256.-2044. D:256.]:
Это не размер памяти который будет использовать система. Эта циферка определяет размер сохраненного образа на диске (в блоках будет nK * 4 + 2). Обычно минимального хватает для сохранения системы.


>* CP2204 How many RK11 cartridge disk controllers do you have? [O D:1]: 0
С RK05, разумеется, все плохо. Q-Bus вариант контроллера поддерживает только 16 бит. RSX в такие подробности не вдается скорее всего, но в любом случае без UNIBUS mapping контроллер максимум адресует 18 бит, и обращение к нему вызовет падение системы.


>* CP5604 How many TM/TMA/TMB11 magtape controllers do you have? [O D:1]: 0
Аналогичная ситуация с MT: - на Q-Bus его скорее всего в оригинале не было, а на UNIBUS вопрос 22 бит отпадает сам собой...


>* CP4804 How many RX11 disk controllers do you have? [O D:1]:
>;
>* CP4868 Enter vector address of the next RX11 [O R:60-774 D:264]:
>;
>* CP4872 What is its CSR address? [O R:160000-177700 D:177170]:
>;
>* CP4876 How many drives does DXA have? [D R:1.-2. D:2.]:
А вот RX01 работает отлично. Я не силен в нем и не знаю поддерживает ли он 22 бит или драйвер использует буфера в нижней памяти (драйвер DY: вроде так делает [ну или зачем-то ему отдельный раздел нужен]), или просто методика работы такая, что пофигу, но факт остается фактом - все пашет:
>MOU DX:/FO/NOSH
>INI DX:KAKA/SDI
Searching for bad block descriptor file
INI -- Failed to read bad block file
>DMO DX:
23:23:43 *** DX0: -- Dismount complete
DMO -- TT0: dismounted from DX0: *** Final dismount initiated ***
>MOU DX:/OVR/VI
Volume Information
Class: Files-11
Device: DX00
Volume label:KAKA
Owner: [1,1]
Protection: [RWCD,RWCD,RWCD,RWCD]
Default: [RWED,RWED,RWED,R]
Processor: F11ACP
>PIP DX:=[3,54]HDDRV.TSK,.STB
>DIR DX:


Directory DX0:
27-NOV-16 23:24

INDEXF.SYS;1 24. 27-NOV-16 23:23
BITMAP.SYS;1 2. 27-NOV-16 23:23
BADBLK.SYS;1 0. 27-NOV-16 23:23
000000.DIR;1 1. C 27-NOV-16 23:23
CORIMG.SYS;1 0. 27-NOV-16 23:23
HDDRV.TSK;13 4. C 27-NOV-16 23:24
HDDRV.STB;13 1. 27-NOV-16 23:24

Total of 32./32. blocks in 7. files

>

Тут кое-что интересное:
>* CP5804 How many PC11 paper tape reader/punches do you have? [O D:1]:
>;
>* CP5868 Enter vector address of the next PC11 [O R:60-774 D:74]: 70
>;
>* CP5872 What is its CSR address? [O R:160000-177700 D:177554]: 177550
Что-то напутали где-то и автоконфиг слегка криво раздает правильно определенные на этапе конфигурации параметры перфолентера.


>* CP6004 How many PR11 paper tape readers do you have? [O D:1]: 0
А тут еще интереснее. Первый вопрос был про читалку-писалку, и она действительно генерит два устройства. Второй вопрос про отдельную читалку. Автоконфиг ее подсвечивает по умолчанию, но получается бардак. Если согласиться, что есть еще один контроллер, то независимо от того, что будет введено, сгенерится читалка с адресом-вектором консольного терминала :D


>* CP6804 Enter number of additional DL11/DLV11 line interfaces [O D:0]: 1
>;
>* CP6820 Do any of the DL11/DLV11 lines require modem support? [Y/N D:N]:
>;
>* CP6832 Enter terminal type for YLA [S R:4-6 D:"LA120"]: VT52
>;
>* CP6868 Enter vector address of YLB [O R:300-770]: 360
>;
>* CP6872 What is its CSR address? [O R:160000-177700]: 176560
>;
>* CP6832 Enter terminal type for YLB [S R:4-6 D:"LA120"]: VT52
Тут все просто. Автоматом второй порт не определился поскольку нарушаются правила раздачи регистров-векторов.


>@ <EOF>
Закончилась сборка, создан образ новой системы, но там нет главного - драйвера диска с которым мы намерены работать. Это нужно будет сделать вручную. Для простоты цитирования делаю в EDT в строчном режиме. В реале, конечно, проще в экранном :)

INS $EDT
>CHD 1 54
>EDT SYSVMR.CMD
1 RSX11M.SYS
*F "LOA DX:"
*I
LOA HD:/VEC
^Z
84 LOA DX:/VEC
*EX
HD7:[1,54]SYSVMR.CMD;2 239 lines

Собственно и все. Остается только заново создать образ системы, загрузить-установить в него все, заботить и сохранить с записью аппаратного загрузчика:
>PIP RSX11M.SYS/NV/BL:1026.=RSX11M.TSK
>INS $VMR
>VMR @SYSVMR
VMR -- *DIAG*-Installed tasks or commons may no longer fit in partition
SET /TOP=SYSPAR:-*
VMR -- *DIAG*-Loadable driver larger than 4K
LOA TT:/SIZE=16300
VMR -- *DIAG*-Installed tasks or commons may no longer fit in partition
SET /TOP=DRVPAR:-*
SECPOL 117734 00120000 00100000 SEC POOL
SYSPAR 117670 00220000 00166100 MAIN
117624 00220000 00112100 RO COM !DIR11M!
117440 00332100 00004400 TASK [...LDR]
117240 00336500 00033500 TASK [MCR...]
117040 00372200 00010500 TASK [TKTN ]
116640 00402700 00003200 TASK [SHF...]
DRVPAR 116560 00406100 00076400 MAIN
116514 00406100 00006700 RO COM !TTEXT !
116430 00415000 00036000 DRIVER (TT:)
116060 00453000 00001700 DRIVER (DX:)
115210 00454700 00000500 DRIVER (HD:)
114770 00455400 00001300 DRIVER (LP:)
114530 00456700 00000500 DRIVER (PP:)
114270 00457400 00000400 DRIVER (PR:)
114060 00460000 00000100 DRIVER (NL:)
114014 00460100 00017700 DRIVER (VF:)
113750 00500000 00000300 DRIVER (CO:)
113704 00500300 00002500 DRIVER (VT:)
113640 00503000 00001500 DRIVER (RD:)
GEN 113574 00504500 01273300 MAIN
...LDR 12.01 117504 SYSPAR 248. 00004400 LB0:-00166112 FIXED
TKTN 07.01 117104 SYSPAR 248. 00010500 LB0:-00065277 FIXED
F11MSG 15.00 111564 GEN 200. 00006300 LB0:-00053566
MTAACP 17.00 111204 GEN 200. 00016200 LB0:-00060246
SHE... 06.01 110744 GEN 200. 00014500 LB0:-00063715
MCR... 07.00 117304 SYSPAR 160. 00033500 LB0:-00057225 FIXED
F11ACP 07.00 113364 GEN 149. 00011100 LB0:-00052236
ERRLOG 05.03 113034 GEN 148. 00056200 LB0:-00052154
PMT... 02.02 112404 GEN 148. 00007500 LB0:-00061156
COT... 02.04 111704 GEN 145. 00014300 LB0:-00046412
HRC... 05.00 111324 GEN 140. 00042500 LB0:-00054352
PMD... 07.05 111064 GEN 140. 00017600 LB0:-00061126
SYSLOG 04.03 112144 GEN 130. 00024500 LB0:-00064155
SHF... 07.01 116704 SYSPAR 105. 00003200 LB0:-00063734 FIXED
FXR... 03.02 111444 GEN 100. 00003300 LB0:-00053560
BAP0 04.11 113154 GEN 80. 00050300 LB0:-00044071
QMG... 06.04 112264 GEN 75. 00037300 LB0:-00061560
LP0 07.04 112620 GEN 70. 00020300 LB0:-00056543
ACNT 06.04 112024 GEN 50. 00057600 LB0:-00043534
SHUTUP 04.04 110624 GEN 50. 00016500 LB0:-00063741
...RMD 05.00 001236+ GEN 225. 00042000 LB0:-00061643
...DCL 06.01 001212+ GEN 160. 00062500 LB0:-00046716
...DMO 04.02 001214+ GEN 160. 00017300 LB0:-00047671
...MCR 07.00 001230+ GEN 160. 00040300 LB0:-00057263
...MOU 26.06 001232+ GEN 160. 00045600 LB0:-00060155
...CA. 01.00 001266+ GEN 150. 00026100 LB0:-00064204
...INS 16.00 001226+ GEN 100. 00053200 LB0:-00055237
...SAV 11.00 001262+ GEN 100. 00071000 LB0:-00171627
...UFD 07.02 001270+ GEN 100. 00014500 LB0:-00065312
...VCP V04.10 001272+ GEN 90. 00020300 LB0:-00065500
...ACS 04.00 001244+ GEN 70. 00006200 LB0:-00043712
...ACC 05.00 001204+ GEN 65. 00032100 LB0:-00043220
...SHA 06.01 001264+ GEN 65. 00032000 LB0:-00063542
...AT. 10.0 001220+ GEN 64. 00056700 LB0:-00054772
...INI 24.00 001222+ GEN 60. 00037200 LB0:-00055143
...HOM 24.00 001224+ GEN 60. 00037200 LB0:-00055143
...BRO 09.10 001206+ GEN 50. 00041500 LB0:-00044217
...BYE 05.01 001210+ GEN 50. 00021700 LB0:-00044523
...HEL 06.00 001216+ GEN 50. 00031600 LB0:-00053716
...PIP 21.00 001234+ GEN 50. 00036400 LB0:-00060746
...UNL 05.04 001240+ GEN 50. 00021500 LB0:-00065426
...ACD 03.00 001242+ GEN 50. 00042500 LB0:-00043311
...BOO 03.10 001246+ GEN 50. 00047400 LB0:-00044017
...CON 05.00 001250+ GEN 50. 00135600 LB0:-00046210
...ELI 04.03 001252+ GEN 50. 00032600 LB0:-00052117
...LOA 05.03 001254+ GEN 50. 00040000 LB0:-00056346
...MAG 03.00 001256+ GEN 50. 00037300 LB0:-00057163
...PSW 03.02 001260+ GEN 50. 00017500 LB0:-00061243
YLA OFL CPA CSR=177560 VEC=60 PRI=5
YLB OFL CPA CSR=176560 VEC=360 PRI=5
DXA OFL CPA CSR=177170 VEC=264 PRI=5
HDA OFL CPA CSR=177720 VEC=0 PRI=0
LPA OFL CPA CSR=177514 VEC=200 PRI=4
PPA OFL CPA CSR=177554 VEC=74 PRI=4
PRA OFL CPA CSR=177550 VEC=70 PRI=4
VF0: OFL DRIVER
VF1: OFL DRIVER
CO0: OFL DRIVER
TT0: YLA0: OFL DRIVER
TT1: YLB0: OFL DRIVER
VT0: OFL DRIVER
RD0: ONL DRIVER
DX0: DXA0: OFL DRIVER
DX1: DXA1: OFL DRIVER
HD0: HDA0: OFL DRIVER
HD1: HDA1: OFL DRIVER
HD2: HDA2: OFL DRIVER
HD3: HDA3: OFL DRIVER
HD4: HDA4: OFL DRIVER
HD5: HDA5: OFL DRIVER
HD6: HDA6: OFL DRIVER
HD7: HDA7: OFL DRIVER
LP0: LPA0: OFL DRIVER
PP0: PPA0: OFL DRIVER
PR0: PRA0: OFL DRIVER
NL0: OFL DRIVER
POOL=1200:3224.:03224.:1200
>BOO [1,54]
XDT: 87

XDT>G
RSX-11M-PLUS V4.6 BL87


>

>TIM 22:10 27-NOV-2016
>SAV /WB


RSX-11M-PLUS V4.6 BL87 512.KW System:"KYPEBO"
>RED HD7:=SY:
>RED HD7:=LB:
>RED HD7:=SP:
>MOU HD7:"RSX11MPBL87"
>@HD7:[1,2]STARTUP
>; PLEASE NOTE
>;
>; If you have not yet read the system release notes, please do so
>; now before attempting to perform a SYSGEN or to utilize the new
>; features of this system.
>;
>;
>* Please enter time and date (HH:MM DD-MMM-YYYY) [S]:

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

Ну и несколько слов о том, что было поправлено и что еще полезно будет сделать.

BOO и SAV (поддержка HD для сохранения и загрузки) - файлы [1,20]BOOBLD.BLD, [1,20]SAVBLD.BLD, [1,24]SAV.OLB, [3,54]BOO.TSK, [2,54]SAV.TSK
RMD (размещение индикаторов свободного места пошире как на ANSI терминалах - диски-то стали пообъемнее, а про VT52 забыли) - файлы [1,24]RMD.OLB, [14,10]V52MDM.MAC, [3,54]RMD.TSK (хмм... не помню пересобрал ли его :))
SYSGEN (не пытаться вести разборки с user data space если нет поддержки kernel data space) - модуль SGNEXC в файле [200,200]SYSGEN.CLB
разные мелкие правки в MCR и HELP которые накопились...


Ну и сделать также нужно многое: FLX научить работать с HD и некоторыми другими дисками в RT-11 формате (ну это не трудно - где-то у меня записано что там править), HRC научить при включении HD распознавать тип (например HD16 и HD32 - в соответствии с размером диска) и вписывать его в структуры (в сущности просто косметика). Написать драйвер HD для RTEM, чтобы грузить в нем физический диск HD (ну это совсем просто). И может еще чего забыл :)

Ну и кому интересно попытаться написать драйвер DW, могу рассказать вкратце как делать драйвера :)
Самому - лень :)

Patron
28.11.2016, 03:19
есть возможность исключить из дизассемблера режим HALT?Пока такой возможности нет.

form
28.11.2016, 06:23
Небольшое предложение по доработке booter - хорошо бы он в R1 помещал CSR устройства как это делают стандартные загрузчики, а также не читал "мимо устройства" :)
То есть, чтобы если загрузка сделана с HD3 скажем, то и HD помнил этот факт и отображал в регистрах unit 3 как последний с которым работали.

AFZ
28.11.2016, 08:01
сли согласиться, что есть еще один контроллер, то независимо от того, что будет введено, сгенерится читалка с адресом-вектором консольного терминала Намек на сохранившуюся с древних времен возможность подключить телетайп в качестве консольного терминала?

form
28.11.2016, 12:31
Намек на сохранившуюся с древних времен возможность подключить телетайп в качестве консольного терминала?
Да нет, это штатный драйвер TT выполняет - просто командами SET выставляется тип терминала.

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

Связал два эмулятора в сеть - пашет и очень стабильно (в E11 к примеру терминальными портами связать в DECnet не получится - там телнет бросается огромными пачками данных [хотя в последних версиях вроде отдельно делали сериал адаптеры для сети]). На досуге выставлю в сеть эмулятор ДВК на постоянной основе - пусть крутится-тестится :)

http://pdp-11.org.ru/~form/files/pdp-11/dvk/rsx-11/m-plus/dvkdn.jpg

BYTEMAN
28.11.2016, 13:51
Имя ноды KYPEBO забавное)))

AFZ
28.11.2016, 15:38
Да нет, это штатный драйвер TT выполняет - просто командами SET выставляется тип терминала. Угу, только у телетайпа может быть "автоматизация" - перфоленточные дела, копия того, что печатается, может быть отперфорирована на бумажную ленту (вроде бы и без печати можно, но точно не помню), а вместо нажатий клавиш, может быть подключена перфолента. Именно на такой терминал расчитана ПЛОС - то, что у нее заявлено "низкоскоростным" устройством - это, как раз, консольный телетайп, переключенный на работу с перфолентой, а "высокоскоростные" устройства - это обычные считыватель/перфоратор ленты, 177550-177556.

form
28.11.2016, 19:15
а вместо нажатий клавиш, может быть подключена перфолента
Ну в RSX в этом вопросе нет разночтений - любые терминалы (из чего бы они не состояли) и сериал принтеры это TT. Разделения на TT/LS как в RT нету :)
Впрочем в RT и драйвера TT многоунитового нету - там терминалы - отдельная песня...

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

Интересно было бы с кем-нибудь попробовать через инет связать два эмулятора с DECnetом :)

hobot
28.11.2016, 21:10
Интересно было бы с кем-нибудь попробовать через инет связать два эмулятора с DECnetом что для этого нужно?

form
28.11.2016, 21:13
что для этого нужно?
Да в сущности просто запустить эмулятор с RSX. Чуть позже подготовлю. Сейчас у меня выстроилась цепочка: эмулятор (KYPEBO) < через терминальный порт> 11/83 (BIGSYS) < ethernet > CTAKAH < decnet over ip> MIM - тестируется передача данных. Довольно ровно передает на скорости 9600, при том параллельно можно зайти через сеть терминалом и вполне адекватное время реакции :)
Докопируется - заготовлю эмулятор...

А пока из HECnet можно зайти на курево ;)

form
29.11.2016, 19:28
Дабы не раздувать тему эмулятора, дальнейшие разборки с RSX переносятся в соответствующую тему (http://zx-pk.ru/threads/20939-rsx-11-osrv-osrvm.html?p=892362&viewfull=1#post892362). Тема обновлена.

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


что для этого нужно?
Система для тестирования DECnet издалека готова. Есть добровольцы? :)

form
30.11.2016, 12:35
Первый эмулятор ДВК в HECnet (http://pdp-11.org.ru/hecnet.pl)! ;)

Подключен через физический COM порт на скорости 57600.
Нода KYPEBO. Можно заходить через SET HOST или RMT.
Пока пользователь USER с паролем USER, позже наведу порядок...



>DLN

Active nodes summary as of 30-NOV-16 15:16:56

Executor node = 62.637 (CTAKAH)

State = On, Identification = "DECnet for RSX-11M-Plus V4.6"

Remote Active Next
Node State Links Delay Circuit Node

1.13 (MIM) Reachable IP-0-0 1.13 (MIM)
62.5 (BOPOHA) Reachable UNA-0 62.5 (BOPOHA)
62.11 (KYPEBO) Reachable DL-0 62.11 (KYPEBO)

>

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

Первые впечатления: стабильность не очень (с другой стороны SimH v4). При этом эмулятор-эмулятор и эмулятор-11/83 стояли намертво и ни разу не сбойнули... Будем дальше смотреть, возможно пора вернуть стакана на E11 :)

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


>RMT KYPEBO

Connected to "KYPEBO", System type = RSX-11M-Plus
System ID: "DECnet for RSX-11M-Plus V4.6"


>HEL USER/USER

RSX-11M-PLUS V4.6 BL87 [1,54] System KYPEBO
30-NOV-16 16:32 Logged on Terminal HT0: as USR4

Good Afternoon

,;,
O(o o)O
+---ooO-----------Ooo------------------------------------------------+
| # # # W E L C O M E T O |
| # ## ## |
| #### #### #### # # ### # ### #### # # ### # # |
| # # # # # # ### # # # # # # # # # # # # |
| # # # # # # # # # # # # # # # # |
| #### #### #### ### ### # ### # ##### # # ### |
| # # # |
| # # RSX-11M-PLUS V4.6 #### |
+--------------------------------------------------------------------+

Last interactive login on Wednesday, November 30, 2016 16:31:35 (HT0:)

>@LB:[1,2]SYSLOGIN.CMD
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
| |
| Hello. |
| |
| You are now logged in on the |
| RSX-11M-PLUS Operating System. |
| |
| This is the USER account. Nothing |
| that you do in this account can do |
| any harm either to the system, or to |
| this account. |
| |
| Use this account with the terminal |
| warm-up session described in the book |
| Introduction to RSX-11M-PLUS. |
| |
| Take it easy. |
| |
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

$ @ <EOF>
$ LO
Connect time: 0 hrs 1 mins 44 secs
CPU time used: 0 hrs 0 mins 1 secs
Task total: 13
Have a Good Afternoon
30-NOV-16 16:34 HT0: logged off KYPEBO
$

RMT -- Control returned to node MIM::

>

hobot
30.11.2016, 16:01
стабильность не очень, с другой стороны SimH v4
Откат на 3.9 )))

form
30.11.2016, 17:39
Откат на 3.9 )))
Он не умеет с физическими портами работать.

hobot
30.11.2016, 17:52
Он не умеет с физическими портами работать.
Да я и не думал советовать всерьёз тебе ))) Просто удивился где ПРОФИ берут версии которых нет на официальных сайтах даже )))

form
01.12.2016, 18:04
Еще феатуре реяуест :)
Наряду с comport_adapter и ip_adapter сделать np_adapter который работает с named pipes - тогда можно будет подключать эмулятор напрямую к np которые vmware умеет создавать для com портов.

form
06.12.2016, 09:39
Нода KYPEBO
Нас посчитали (http://sanyalnet-openvms-vax.freeddns.org:82/falserver/hecnet-node-details/62_11-kypebo.html) :D

form
07.12.2016, 17:38
Отчет за уже довольно долгий период тестирования эмулятора ДВК с RSX-11M+ V4.6 и DECnet. За это время эмулятор подключался всевозможными способами и мучился долго (или недолго в зависимости от результата) :)


Эмулятор ДВК <> Эмулятор ДВК - стабильный вариант, ни одного разрыва соединения как при соединении через IP, так и через COM порт (включая замкнутую через named pipe пару портов), скорость передачи 57600 отлично держится.
Эмулятор ДВК <> PDP-11/83 - тут тоже ни одного сбоя, но скорость 9600 (DLV11 без контрольных сигналов). Надо будет еще попробовать к DHV на скорости 19200 покдлючить...
Эмулятор ДВК <> SimH - подключал через физические COM порты на скорости 57600. Работает, но иногда происходит потеря синхронизации и переконнект. На консоли OpenBSD (в нем запущен SimH) в логе silo overflows... Меньше скорость не ставил - там и так более-менее понятно.
Эмулятор ДВК <> E11 - по IP нормально подключить не удалось, возможно проблема в том, что телнет сервер (еще одна проблема) в E11 шлет пакеты большими пачками, а сам очень страдает когда ему отвечают тем же. Сильно впрочем не игрался. При подключении через COM порты нужно играться с параметрами задержки выполнения (запуск E11 на полную скорость без задержек не рассматривалась). На домашнем компе (vmware, замкнутые порты через named pipe) мне удалось подобрать параметры при которых очень стабильно держится 57600. Сегодня перенес все это хозяйство в ESXi на быстрый сервер. Там как не игрался, а 57600 не держит - постоянно рвет и пересоединяется. Сейчас выставил ограничение 19200 (38400 не дает - меняет на 57600) в эмуляторе ДВК - держится стабильно.


В настоящий момент KYPEBO крутится под эмулятором ДВК, и планируется так и оставить его всегда доступным в HECnet. Как обычно вход GUEST без пароля присутствует.
Примерно так. Не хватает етхернета :)
Ну етхернета-не етхернета, а вот реализация DLV11-E (ну ладно, коли уж изначально подключили UNIBUSовский адаптер - пусть будет DL11-E ;)) была бы полезной и не сильно трудной. Это позволит делать RSXы/TSXы с dialup входом по IP.

form
12.12.2016, 00:52
Где-то упоминал про стабильный уход времени в эмуляторе... В общем все оказалось просто: время уходит когда эмулятор запущен в VMWare Workstation. В WMWare ESXi все держится четко. Видимо это умышленная диверсия от vmware :)
>RMT KYPEBO

Connected to "KYPEBO", System type = RSX-11M-Plus
System ID: "DECnet for RSX-11M-Plus V4.6"


>HEL GUEST/

RSX-11M-PLUS V4.6 BL87 [1,54] System KYPEBO
12-DEC-16 04:52 Logged on Terminal HT0: as GST11

Good Morning

,;,
O(o o)O
+---ooO-----------Ooo------------------------------------------------+
| # # # W E L C O M E T O |
| # ## ## |
| #### #### #### # # ### # ### #### # # ### # # |
| # # # # # # ### # # # # # # # # # # # # |
| # # # # # # # # # # # # # # # # |
| #### #### #### ### ### # ### # ##### # # ### |
| # # # |
| # # RSX-11M-PLUS V4.6 #### |
+--------------------------------------------------------------------+

Last interactive login on Wednesday, December 7, 2016 21:17:04 (HT0:)

$ @LB:[1,2]SYSLOGIN.CMD
$ @ <EOF>
$ SH TIM
04:53:00 12-DEC-16
$ . UPT
04:53:02 up 4 day(s), 07:48, 3 user(s), 0 batch job(s), 18 active task(s)
$

form
23.12.2016, 22:55
Предположение: получив последовательность перехода в VT100 режим, эмулятор перестает реагировать на <ESC>Z. Реальные DECовские ANSI терминалы реагируют.

Patron
24.12.2016, 20:02
Предположение: получив последовательность перехода в VT100 режим, эмулятор перестает реагировать на <ESC>Z. Реальные DECовские ANSI терминалы реагируют.Будет исправлено.

hobot
24.12.2016, 21:36
Patron, совершенно на данный момент не помню откуда такая хитрая дискета?
http://www.fayloobmennik.net/6773816 - у меня она никаким особым образом не помечена,
в общем архиве её дубля вроде не видать(?) версия монитора вроде бы не слишком новая, но в Эмуляторе ДВК загружается только на ВМ3 конфиге? Что за секрет в ней (или что то забыл-пропустил из недавних
обсуждений где этот образ публиковался\обсуждался?) Втыкаю в MY ) Под ВМ2 даже boot/fo не помогает...

form
24.12.2016, 21:41
загружается только на ВМ3 конфиге?
XM монитор?

Alex_K
24.12.2016, 21:58
Втыкаю в MY ) Под ВМ2 даже boot/fo не помогает...
Ну не знаю??! У меня прекрасно загрузилась на ВМ2. Там обычная RT11SJ 5.00. Только вместо STARTS.COM файл STARTF.COM, который не исполняется. Ну и при загрузке LD.SYS восемь раз ругается, что отсутствует устройство DW0:.

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


000000
@172140/000040 37
172142/000004 0^
172140/000000 /000040
Single Line terminal edittor (SL:).
Logical Device driver (LD0:..LD7:).
Single Line terminal edittor (SL:).


RT-11SJ (S) V05.00
?LD-F-Device not installed DW0:
?LD-F-Device not installed DW0:
?LD-F-Device not installed DW0:
?LD-F-Device not installed DW0:
?LD-F-Device not installed DW0:
?LD-F-Device not installed DW0:
?LD-F-Device not installed DW0:
?LD-F-Device not installed DW0:


.

hobot
25.12.2016, 08:06
У меня прекрасно загрузилась на ВМ2. Там обычная RT11SJ 5.00.
так, тогда давайте копать, что у меня не так с конфигами? По умолчанию в конф. ВМ2 как и в конф. ВМ3
у меня по умолчанию сразу идёт загрузка с HD0:
Обсуждаемый образ торчит в MY0:, кстати говоря образ DW 5мб ЖД с 5.7 системой у меня подключен в обеих
конфигурациях так-же. Далее, в ВМ3 я набираю BOOT MY0: и получаю загрузку (мигает на панельке MY0,
всё проходит на ура). В конфигурации ВМ2 я набираю BOOT MY0: и получаю, что панелька MY0 c дискетой
помигает помигает и всё, повисон. (что за волшебство?).

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


000000 @172140/000040 37 172142/000004 0^ 172140/000000 /000040

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

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


XM монитор?
нет там весьма красочная 5.0 SJ ) Прямотаки историческая ) Но "странноватая" ) Первоначально там (на дискете)был "до кучи" видимо даже MZ драйвер УК-НЦ, надо бы попробовать в UKNCBTL первоначальный образ загрузить ) Сейчас попробую.

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


"до кучи" видимо даже MZ драйвер УК-НЦ, надо бы попробовать в UKNCBTL первоначальный образ загрузить ) Сейчас попробую.
А вот индейское-дом-жилище получите! )
http://pic.pdp-11.ru/thumbs/20161225044634812.png (http://pic.pdp-11.ru/?v=20161225044634812.png)
Выкладываю странный образ во временную папку для изучения всеми желающими, в процессе убедитесь какой COP/BOOT (на какой драйвер) выполнялся последним ))) (кстати говоря из стартового меню УК-НЦ просто мигает курсор и всё, долго долго, может я мало ждал?)
http://archive.pdp-11.org.ru/vid/strange_RT11.DSK

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

Что меня смущает
1.

Image : RT11.DSK

Format : DSK
Size : 800 Kb

Volume ID: RT11A
Owner :

File Blocks Date Bytes
---------- ------ ----------- ----------
TT .SYS 2P 18-Apr-1985 1'024
NL .SYS 2P 25-Mar-1987 1'024
VM .SYS 3P 29-Mar-1986 1'536
RT11SJ.SYS 72P 19-Sep-1985 36'864
SWAP .SYS 26P 10-Mar-1983 13'312
MX .SYS 10P 13-Oct-1989 5'120
MZ .SYS 3P 05-May-1987 1'536
MY .SYS 3P 25-Apr-1988 1'536
SL .SYS 10P 22-Sep-1989 5'120
LD .SYS 8P 22-Sep-1989 4'096
LS .SYS 2P 25-Apr-1988 1'024
PC .SYS 2P 25-Apr-1988 1'024
DX .SYS 3P 25-Apr-1988 1'536
FX .SYS 3P 05-Dec-1988 1'536
RE .SYS 2P 27-Dec-1988 1'024
LP .SYS 2P 25-Apr-1988 1'024
CP .SYS 3P 21-Sep-1989 1'536
DW .SYS 4P 27-Dec-1988 2'048
SS .SYS 10P 22-Sep-1989 5'120
ASSGN .SAV 4P 04-Oct-1989 2'048 - WTF???
STARTF.BAK 1 31-Mar-1992 512
STARTF.COM 1P 18-Dec-1989 512
DAY .SAV 4P 08-Apr-1987 2'048
DATE .SAV 3P 04-Oct-1989 1'536
UCL .SAV 4P 16-Sep-1986 2'048
PIP .SAV 29P 10-Mar-1983 14'848
DUP .SAV 45P 29-Feb-1984 23'040
DIR .SAV 19P 10-Jan-1983 9'728
ZMEJ .SAV 4P 26-Jul-1985 2'048
TESTMX.SAV 39P 30-Nov-1987 19'968
TESTDW.SAV 47P 18-Mar-1987 24'064
TESTMY.SAV 16P 31-Dec-1988 8'192
K52 .SAV 55 13-Apr-1990 28'160
< UNUSED > 1145 586'240
---------- ------ ----------- ----------
33 Files, 441 Blocks
1145 Free blocks


Содержимое стартового файла похоже на бредятину.



Set EDIT K52
Run SY:Date.SAV
Set TT: Scope
Set LP: LC,Noform0,Noform,Width=150
Assign SY: QUE:
Assign SY: LK:
Assign MY0: DK:
Assign MY0: MU:
Set SL: On
SetLP 132
Deassign - что за фигня такая? И главное проги такой нет, разве есть команда без пар.?
Set TT: Noquiet


Пятый блок монитора явно не по умолчанию оформлен )))

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

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

form
25.12.2016, 11:55
что за фигня такая? И главное проги такой нет, разве есть команда без пар.?
Нормальная команда монитора, проги для нее (как и для ASSIGN) не нужно. Без параметров отменяет все назначения кроме SY, а DK присваивает тому же устройству что и SY:
.SH
TT (Resident)
DU (Resident)
DU3 = SY
DU4 = DK
MQ (Resident)
EQ
LD
SD
VM
VM0 = CF , WF
SP
XL
NQ
MU
LP
LS
LS0 = LP
BA
NL
SL (Loaded)
3 free slots


.DEAS

.SH
TT (Resident)
DU (Resident)
DU3 = DK , SY
MQ (Resident)
EQ
LD
SD
VM
SP
XL
NQ
MU
LP
LS
BA
NL
SL (Loaded)
3 free slots


.

Alex_K
25.12.2016, 12:04
Выкладываю странный образ во временную папку для изучения всеми желающими, в процессе убедитесь какой COP/BOOT (на какой драйвер) выполнялся последним ))) (кстати говоря из стартового меню УК-НЦ просто мигает курсор и всё, долго долго, может я мало ждал?)
http://archive.pdp-11.org.ru/vid/strange_RT11.DSK
И этот образ загрузился в эмуляторе ДВК.

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

Правда у меня эмулятор DVK_Emulator_16.03.16_12-37 (http://zx.pk.ru/showthread.php?postid=863175), т.е. не самый свежий.

hobot
25.12.2016, 13:43
ASSGN .SAV 4P 04-Oct-1989 2'048 - WTF???
Капнул DESSом - какая-то стартовая утилита, выдаёт что то типа "Замечаний к версии",
потом передаёт монитору несколько команд и последней строкой идёт команда запуска
STARTF.COM

Очень странный образ и самое главное откуда он у меня в папке эмулятора ДВК возник?
Без описания, без указ. на источник, без всего. Совсем не знаю где взял.



Нормальная команда монитора, проги для нее (как и для ASSIGN) не нужно. Без параметров отменяет все назначения кроме SY, а DK присваивает тому же устройству что и SY:
Удобно.


И этот образ загрузился в эмуляторе ДВК.
И у меня грузиться, но только на ВМ3 конфиге.
Вместо стандартного стартового файла запускается вышеописанная ASSGN.SAV,
который в конце передаёт свою цепочку команд.

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

Похоже на копию системы из ящика стола (про запас), поскольку там набор драйверов и тесты ориентированы на ДВК, но и старенький 3-блочный MZ.SYS присутствует (возможно эта версия MZ только с 6022 пригодна), но учитывая такую точную настройку местного LP.SYS
так же возможно использовался только для печати на 1-м конкретном раб. месте

Кстати он хочет MX1 как DK в процессе запуска )))

Alex_K
25.12.2016, 18:33
И у меня грузиться, но только на ВМ3 конфиге.
Вместо стандартного стартового файла запускается вышеописанная ASSGN.SAV,
который в конце передаёт свою цепочку команд.
Загрузил последнюю версию эмулятора и у меня не пошел грузиться диск mm_system_disk.DSK. Загрузился со стандартного MY80_System.DSK, и после этого стал грузится и mm_system_disk.DSK.
А вот у меня ASSGN.SAV автоматом не запускается, запускается LD.SYS, и после этого выходит в командную строку.

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

Выяснил, что эти диски не грузятся при включенном таймере, выключаешь его и всё нормально идет.

form
27.12.2016, 17:56
Почти месяц работает - можно считать, что тест хорошо прошел. Правда система ничего особо не делает.
http://pdp-11.org.ru/~form/files/pdp-11/dvk/dvkemu.png

hobot
27.12.2016, 18:53
Выяснил, что эти диски не грузятся при включенном таймере, выключаешь его и всё нормально идет. нет. у меня прежняя картина, загрузка возможна только на ВМ3.

Alex_K
27.12.2016, 19:35
нет. у меня прежняя картина, загрузка возможна только на ВМ3.
На чём виснет? Скриншоты, значение счетчика команд при входе в пульт.

hobot
27.12.2016, 21:15
На чём виснет?
прямо сразу!
предлагаю проще
мой конфиг в котором загружается > http://www.fayloobmennik.net/6790744
и
мой конфиг в котором не загружается > http://www.fayloobmennik.net/6790745

Для экспериментов так пойдёт?

Alex_K
27.12.2016, 21:28
прямо сразу!
Обрезал память до 56 КБайт и всё загрузилось. И где же это на ДВК было 60 КБайт?

hobot
28.12.2016, 15:24
И где же это на ДВК было 60 КБайт?
А я почём знаю? ) Patron в своё время написал, что это "хакерский" вариант ДВКа же )
Тем более что запускалось кроме это дискеты до этого без проблем.

Поправил конфиг ВМ2 на 56К и всё пошло )
Ладно.
А что там у вас было с не запуском ASSGN.SAV
ведь там сам мониторчик поправлен



BLCK=000005/000005. ADDR=005000/005000 TYPE=WORDS DESS V05.00e
000/ 036352 036266 036270 045734 036472 036476 036324 036424 *j<6<8<\K:=>=T<.=*
020/ 036426 042220 042222 042226 042230 042232 042236 042240 *.=.D.D.D.D.D.D D*
040/ 037732 040016 044720 036522 045152 042132 044474 045106 *Z?.@PIR=jJZD<IFJ*
060/ 045176 045552 045624 041224 041242 042654 042736 040646 *~JjK.K.B"B,E^E&A*
100/ 046166 046160 046174 046320 046534 046652 042742 000000 *vLpL|LPL\M*MbE..*
120/ 000000 040000 104350 000244 000246 000000 000024 000026 *...@h.$.&.......*
140/ 000000 000114 000116 000000 000044 100000 000000 000004 *..L.N...$.......*
160/ 037754 000340 000010 037754 000341 000030 037222 000000 *l?`...l?a....>..*
200/ 000054 036000 000000 000100 043462 000341 000060 041204 *,..<..@.2Ga.0..B*
220/ 000340 000064 042726 000200 000000 051041 047125 051440 *`.4.VE....!RUN S*
240/ 035131 042114 051456 051531 027440 035103 030455 005015 *Y:LD.SYS /C:-1..*
260/ 051000 040440 051523 047107 000000 000155 036440 106746 *.R ASSGN..m. =f.*
300/ 000240 036460 106466 000002 000240 043240 106704 042504 * .0=6... . FD.DE*
320/ 106404 112637 013746 105037 112737 177776 177776 177776 *....f..._.~.~.~.*
340/ 177776 106426 106746 106427 106427 000240 000240 000000 *~...f..... . ...*
360/ 000240 047054 043232 046374 000000 012703 005336 032737 * .,N.F|L..C.^._5*

STACK : 000000 000000 000000 000000 000000 000000 000000 000000 000000

MACRO-11: BIT 036266(R3),@-(R2)


в свою очередь ASSGN.SAV содержит



BLCK=000003/000003. ADDR=003000/003000 TYPE=WORDS DESS V05.00e
000/ 063556 051040 026524 030461 063040 066151 020145 072165 *ng RT-11 file ut*
020/ 066151 072151 062551 027163 040400 071563 046440 030530 *ilities..Ass MX1*
040/ 042040 035113 005015 062523 052040 020124 052521 042511 * DK:..Se TT QUIE*
060/ 006524 040012 054523 051472 040524 052122 006506 000012 *T..@SY:STARTF...*
100/ 000012 000000 000000 000000 000000 000000 000000 000000 *................*
120/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
140/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
160/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
200/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
220/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
240/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
260/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
300/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
320/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
340/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*
360/ 000000 000000 000000 000000 000000 000000 000000 000000 *................*

STACK : 000000 000000 000000 000000 000000 000000 000000 000000 000000

MACRO-11: ADD @(R5)+,@-(SP)

Alex_K
28.12.2016, 22:56
А что там у вас было с не запуском ASSGN.SAV
ведь там сам мониторчик поправлен
А не запускается ASSGN.SAV только если отсутствует устройство DW0:. На него привязаны все восемь логических дисков и если есть ошибка при запуске, то внутренний командный файл прерывается.
Размонтировал все восемь логических дисков и в конфигурации ДВК-2_MY80 запустился ASSGN.SAV.

MiX
31.12.2016, 22:13
Patron, С наступающим Вас новым годом!
Если будет время, добавьте пожалуйста к приводу MY возможность подключения образов МХ80/40. Хотел попробовать драйвер ВХ к напрямую подключенному контроллеру ВП128 подключив образ МХ, эмулятор сделать этого не позволил. Размер не понравился.
Спасибо.

Patron
18.01.2017, 15:41
Обновилась текущая сборка "эмулятора ДВК": DVK_Emulator_17.01.17_21-08 (http://emulator.pdp-11.org.ru/DVK/distr/DVK_Emulator_17.01.17_21-08.rar)

Изменения:

1. Исправлена ошибка в эмуляции регистра SR3 процессора 1801ВМ3.

2. В настройки объекта MS1201.03 добавлен параметр VM3.NVRAM_DataFile, задающий имя файла для образа памяти HALT_RAM и ОЗУ при эмуляции энергонезависимой памяти.

3. Теперь объект Booter помещает в R1 CSR загружаемого устройства, а эмулятор контроллера HD выполняет запросы API чтения/записи образа через "аппаратную" последовательность команд задания привода, номера блока и счётчика слов.

hobot
19.01.2017, 12:13
последнее обновление (http://emulator.pdp-11.org.ru/DVK/distr/DVK_Emulator_17.01.17_21-08.rar)



Patron, у меня чисто пользовательские вопросы:
1. может случиться так, что очередное обновление откажется работать под WindowsXP ?
2. очень хочется пускай и не слишком радостной для фанатов ясности с планами на
эмуляцию граф. контроллеров в эмуляторе?
3. в данный момент ВМ3 всё ещё шлифуется или можно сказать с ним пока всё хорошо ?

Спасибо.

p.s. Кстати говоря в последних версиях MY.CFG не стартует - это нормально или у меня
тут что то поломалось?

Patron
19.01.2017, 14:48
может случиться так, что очередное обновление откажется работать под WindowsXP ?Случиться может что угодно - полное тестирование релизов не проводится.


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


в данный момент ВМ3 всё ещё шлифуется или можно сказать с ним пока всё хорошо ?На данный момент не известно, как должны работать запросы ДМА в режиме пульта, не известно, как в режиме пульта изменяется выполнение некоторых команд, не полностью известно, как изменяется работа команд в диагностическом режиме.


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

form
24.01.2017, 18:23
Обновилась текущая сборка "эмулятора ДВК": DVK_Emulator_17.01.17_21-08
Эх, не хочется эксперимент прерывать и обновляться - все еще работает предыдущий эмулятор с RSX :)
>SHO HOS
Host=KYPEBO RSX-11M-PLUS V4.6 BL87
>UPT
21:23:33 up 48 day(s), 00:18, 3 user(s), 0 batch job(s), 18 active task(s)
>

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

Ну и к вопросу о сбое питания и о том, что сохранять...
Сделал небольшую демонстрацию в E11. Простой плагин, вызывающий прерывание по вектору 24 при записи в адрес 17766666. Выполняя такую запись командой самого E11, мы собственно и вызываем "сбой питания".

#include "e11.h"

static E11HANDLE csr, vec;

static void __stdcall
init(dword addr)
{
}

static word __stdcall
dati(dword addr)
{
return (0);
}

static void __stdcall
dato(dword addr, dword value, dword datob)
{
EnqueueInt(vec, NULL, 0);
}

int __stdcall
DllMain(unsigned long hinstDLL, unsigned long fdwReason, void *lvpReserved)
{
switch (fdwReason) {
case DLL_PROCESS_ATTACH:
if ((csr = GetCSRBlock(017766666, 1, dati, dato, init)) == 0)
return (FALSE);
if ((vec = GetIntQel(7, 0, 024)) == 0) {
RetCSRBlock(csr);
return (FALSE);
}
break;
case DLL_PROCESS_DETACH:
RetIntQel(vec);
RetCSRBlock(csr);
break;
default:
return (FALSE);
}

return (TRUE);
}

Далее собственно демонстрация (RSX-11M+ V4.6, включен DECnet):
Ersatz-11 V7.2 Demo version, COMMERCIAL USE LIMITED TO 30-DAY EVALUATION
Copyright (C) 1993-2016 by Digby's Bitpile, Inc. All rights reserved.
See www.dbit.com for more information.
E11>install plugins\pwf.dll
E11>b du

RSX-11M-PLUS V4.6 BL87 1024.KW System:"KOPOBA"
>RED DU:=SY:
>RED DU:=LB:
>RED DU:=SP:
>MOU DU0:"RSX11MPBL87"/ACP=UNIQUE
>@DU:[1,2]STARTUP
>;
>; Current daytime is 22:10 24-JAN-2017
>;
>* Please enter time and date (HH:MM DD-MMM-YYYY) [S T:10S]:
...
>NCP SHO ACT NOD

Active nodes summary as of 24-JAN-17 22:12:15

Executor node = 62.6 (KOPOBA)

State = On, Identification = "DECnet for RSX-11M-Plus V4.6"

Remote Active Next
Node State Links Delay Circuit Node

62.3 (BIGSYS) Reachable 62.3 (BIGSYS)

>
E11>d 166666 0
E11>
%HALT
R0/172260 R1/172220 R2/172240 R3/172200 CM=K PM=S PRIO=7
R4/177620 R5/172360 SP/002214 PC/046726 N=0 Z=0 V=0 C=0
046726 mov 001014,sp
E11>dump mem.pdp
E11>q
Система остановилась по сбою питания, сохраняем содержимое памяти в файл, выходим из эмулятора. Ничего кроме памяти не сохраняем - никаких состояний процессора. Запускаем эмулятор с нуля:
Ersatz-11 V7.2 Demo version, COMMERCIAL USE LIMITED TO 30-DAY EVALUATION
Copyright (C) 1993-2016 by Digby's Bitpile, Inc. All rights reserved.
See www.dbit.com for more information.
E11>load mem
E11>e 24 26
000024/ 046726
000026/ 000340
E11>pc=46726
E11>ps=340
E11>r
R0/000000 R1/000000 R2/000000 R3/000000 CM=K PM=K PRIO=7
R4/000000 R5/000000 SP/000000 PC/046726 N=0 Z=0 V=0 C=0
046726 mov 001014,sp
E11>p

22:12:46 Event type 4.7, Circuit down - circuit fault
Occurred 24-JAN-17 22:12:45 on node 62.6 (KOPOBA)
Circuit QNA-0
Line synchronization lost
22:12:47 Event type 4.10, Circuit up
Occurred 24-JAN-17 22:12:47 on node 62.6 (KOPOBA)
Circuit QNA-0
22:12:48 Event type 4.15, Adjacency up
Occurred 24-JAN-17 22:12:48 on node 62.6 (KOPOBA)
Circuit QNA-0
Adjacent node = 62.3 (BIGSYS)

>NCP SHO ACT NOD

Active nodes summary as of 24-JAN-17 22:13:29

Executor node = 62.6 (KOPOBA)

State = On, Identification = "DECnet for RSX-11M-Plus V4.6"

Remote Active Next
Node State Links Delay Circuit Node

62.3 (BIGSYS) Reachable 62.3 (BIGSYS)

>
Загрузили память из файла, никакого состояния процессора не восстанавливали (то есть имеем в регистрах мусор, MMU выключен, все устройства сброшены), загружаем PS и PC из вектора 24 (никаких операций со стеком) и запускаем процессор. Система поднимается как ни в чем не бывало, даже видно как переподнялся DECnet :)

Вот в сущности этого бы и хотелось: возможности одной кнопкой вызывать трап по 24 и сохранение памяти в файл по переходу процессора в режим HALT (можно сразу с выходом из эмулятора). А при запуске, соответственно иметь возможность восстановиться из файла и запуститься. На ДВК я так понимаю штатно подобное не предусмотрено, но в качестве полезной фичи пригодилось бы :)

Patron
25.01.2017, 19:17
хотелось: возможности одной кнопкой вызывать трап по 24 и сохранение памяти в файл по переходу процессора в режим HALTВ последнем релизе так и должно быть. Если параметр VM3.NVRAM_DataFile не пустой - в этом файле сохраняется содержимое памяти при завершении эмуляции. Чтобы перед этим вызвать TRAP_24 - надо перед завершением эмуляции выключить питание.

form
25.01.2017, 19:27
VM3.NVRAM_DataFile не пустой
Что-то он подозрительно 8192 байта занимает - не очень похоже на содержимое памяти :)

Patron
25.01.2017, 21:08
Что-то он подозрительно 8192 байта занимает - не очень похоже на содержимое памятиПроверил прямо сейчас - если в комплектном конфиге VM3.cfg внести следующие изменения:



[Booter.ini]
InitialStateOf[Boot] = 0


[CpuBoard.ini]
VM3.NVRAM_DataFile=RAM.bin


то тогда после завершения эмуляции создаётся файл RAM.bin размером 262656, а после повторного старта эмуляции - RT-11 уже в памяти и можно записать в R6 адрес стека, нажать G и продолжить работу.

form
25.01.2017, 21:29
то тогда после завершения эмуляции создаётся файл RAM.bin размером 262656
Файл - перепутал с rom. Все нормально.


а после повторного старта эмуляции - RT-11 уже в памяти и можно записать в R6 адрес стека, нажать G и продолжить работу.
В RT-11 не предусмотрено восстановление после сбоя питания (оно и невозможно в большинстве случаев в виду отсутствия нужного функционала в драйверах). С RSX же номер пока не прошел. R6 устанавливать не нужно в оригинале - восстановление после сбоя питания происходит именно с нуля: кроме памяти не сохраняется ничего.

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

Ну и собственно функционала так и не удалось получить. Не удалось организовать сбой по питанию в принципе: при отжатии кнопки power просто все зависло (видимо эмулятор выключился), а не произошло прерывание по 24 (как должно быть). Или он просто молчит когда HALT происходит?

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

Похоже эмулятор просто сохраняет содержимое памяти по нажатию кнопки power и все. Это не то.
Нужно чтобы именно происходило прерывание по 24 по отключению питания, а сохранение памяти происходило в момент когда процессор переходит в режим HALT (система выполняет команду HALT).
А при восстановлении, соответственно, память считывалась обратно, а PC/PS устанавливались из @#24-26. Стек при этом трогать не нужно - нужно просто нажать P в теории (или сделать автоматом запуск).

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

К слову, проверка на RT-11 должна давать результат: система безнадежно остановилась и далее HALT в цикле - именно так RT-11 среагирует на сбой питания (при генерации можно разрешить, чтобы было напечатано сообщение о причине останова, но это все, что можно сделать в RT-11 по теме).

Patron
25.01.2017, 21:35
Нужно чтобы именно происходило прерывание по 24 по отключению питания, а сохранение памяти происходило в момент когда процессор переходит в режим HALT (система выполняет команду HALT).В режиме HALT комп память не портит, поэтому сохранение выполняется после снятия питания, а не после выхода в пульт.

Если включить дизассемблер - можно увидеть, что происходит. Для RT-11 выглядит примерно так:



150104 [000000] CLR R2 ; R2 :000000
150106 [000004] MOV 12.(SP), R5 ; 125420:151660 -> R5
150112 [000010] MOV -(R5), R4 ; 151656:104360 -> R4
150114 [000010] CMPB R4, #252. ; R4 : 360 -> 150116: 374
150120 [000011] BCC 150152
150122 [000011] MOV SP, R1 ; R6 :125404 -> R1

#################
ACLO - ON
#################
; 000026:000000 -> PSW
; PSW :000011 -> 125402:125424
; PC :150124 -> 125400:150112
; 000024:000026 -> PC

000026 [000000] HALT

################
HALT Trap to 020000
################

000000 [000340] JMP 004702 ; 004702 -> PC

004702 [000340] MOV #95., @#77004 ; 004704:000137 -> 077004
004710 [000340] MOV #2522., @#77006 ; 004712:004732 -> 077006
004716 [000340] CMP @#100000, #13300. ; 100000:040000 -> 004722:031764
004724 [000340] BNE 004732

004732 [000340] MOV #1874., @#77006 ; 004734:003522 -> 077006
004740 [000340] CALL 006332 ; PC :004744 -> 017772




А при восстановлении, соответственно, память считывалась обратно, а PC/PS устанавливались из @#24-26.Так было всегда - добавилось только чтение образа памяти из файла перед запуском ВМ3, который в основном режиме сам выполняет старт по вектору 24.


Стек при этом трогать не нужно - нужно просто нажать P в теории (или сделать автоматом запуск).Из кода выше видно, что в RT-11 надо нажимать G. При сбросе питания содержимое R6 у ВМ3 обнуляется. С нулём в R6 -- RT-11 через G не запустится.

form
25.01.2017, 21:46
Из кода выше видно, что в RT-11 надо нажимать G. При сбросе питания содержимое R6 у ВМ3 обнуляется. С нулём в R6 -- RT-11 через G не запустится.
В RT-11 нет способа продолжить выполнение после сбоя питания. Будет fatal останов. Запустить RT-11 после сбоя питания невозможно.

Для простоты еще раз кратко распишу порядок:

происходит сбой питания
процесор вызывает прерывание по 24 (обычное, с использованием стека, при любом приоритете CPU)
система выполняет свои действия (сохраняет регистры и прочие нужные вещи, меняет ISR вектора 24 или выставляет флаг сбоя питания, итд), затем останавливает процессор
процессор и все устройства выключаются полностью (иначе собственно и не будет условия восстановления питания)
все запускается с нуля, содержимое памяти сохранено, PC берется из 24, PS из 26, процессор стартует в таких условиях (ну или можно остановить его в ожидании команды P) - стек здесь никак не используется и потому R6 пофигу

Patron
25.01.2017, 21:53
Для простоты еще раз кратко распишу порядок:

происходит сбой питания
процесор вызывает прерывание по 24 (обычное, с использованием стека, при любом приоритете CPU)
система выполняет свои действия (сохраняет регистры и прочие нужные вещи, меняет ISR вектора 24 или выставляет флаг сбоя питания, итд), затем останавливает процессор
процессор и все устройства выключаются полностью (иначе собственно и не будет условия восстановления питания)
все запускается с нуля, содержимое памяти сохранено, PC берется из 24, PS из 26, процессор стартует в таких условиях (ну или можно остановить его в ожидании команды P) - стек здесь никак не используется и потому R6 пофигу
Именно так всё сейчас и происходит. Можно включить дизассемблер и убедиться.

form
25.01.2017, 21:56
Именно так всё сейчас и происходит.
Если бы так происходило - при сбое питания RT-11 выполнял бы fatal останов из которого потом выйти нельзя.
С RSX же номер не прошел. Попробую детально покопаться... Вот только вопрос - про booter.ini - его настройки имеют значение всегда или только для запуска? Я запускал систему с автозагрузкой с HD, в после "сбоя питания" убирал автозагрузку.

Patron
25.01.2017, 22:05
вопрос про booter.ini - его настройки имеют значение всегда или только для запуска?Booter влияет на процессор и память только при его активизации.


Я запускал систему с автозагрузкой с HD, а после "сбоя питания" убирал автозагрузку.Я тоже ( но потом для чистоты эксперимента ещё и с MY из пульта загрузился ).

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


Если бы так происходило - при сбое питания RT-11 выполнял бы fatal останов из которого потом выйти нельзя.Зависит от генерации. Комплектная RT-11 при сбое питания просто переходит по вектору 24 на адрес 26.

form
25.01.2017, 22:09
Дизассемблер навскидку не помог: в момент отжатия кнопки power он остановился где угодно, только не там где отработал ISR вектора 24. Ни одной команды HALT в логе не зафиксировано, а между тем система после сбоя питания именно командой HALT останавливается.

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


Зависит от генерации.
Не зависит. От генерации зависит только будет ли система печатать сообщение о том, что это сбой питания (причем напечатается оно после восстановления питания) или нет. Дальше же независимо от генерации действие будет одно и то же.

form
25.01.2017, 22:28
А нет, посмотрел - вроде что-то пытается восстановиться в RT-11 при наличии сообщения (и кстати там же видно, что SP ему пофигу - он его первым делом восстанавливает). Ладно, позже покопаем. Но вопрос остался открытым: я включаю disasm, наждимаю кнопку power и до HALT дело не доходит.

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

А не рассматривает ли эмулятор команду WAIT в качестве условия останова? В логе дважды останавливается (power off) именно на этой команде (источник ее скорее всего нормальный system idle).

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


А нет, посмотрел - вроде что-то пытается восстановиться
Не, не пытается - это он печатает сообщение. После - HALT и BR на него...

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

Провел совсем простой тест: программа переходит на системный уровень, выставляет приоритет 7 процессору и делает "BR .".
В этот момент отжимаю кнопку Power и вижу в дизассемблере, что именно в этом месте активность и прекратилась. То есть никакого сбоя питания при отжатии кнопки power не было.

Patron
25.01.2017, 22:28
Не зависит. От генерации зависит только будет ли система печатать сообщение о том, что это сбой питания или нет. Дальше же независимо от генерации действие будет одно и то же.Тем хуже всем нам, потому что в комплекте поставки это выглядит так:



RT-11SJ (Y) V05.04 G

.SET USR NOSWAP

.SET EXIT NOSWAP

.SET TT SCOPE

.SET SL ON

.
@152040
@24/000026
00000026/000000
@



Дизассемблер навскидку не помог: в момент отжатия кнопки power он остановился где угодно, только не там где отработал ISR вектора 24. Ни одной команды HALT в логе не зафиксировано, а между тем система после сбоя питания именно командой HALT останавливается.

Возможно, надо добавить времени в промежуток ACLO-DCLO при помощи настройки nACLO_to_DCLO_Delay_MS:



[bus.ini]
nACLO_to_DCLO_Delay_MS = 2




А не рассматривает ли эмулятор команду WAIT в качестве условия останова? В логе дважды останавливается (power off) именно на этой команде (источник ее скорее всего нормальный system idle).За те 2 мс, которые эмулятор держит питание по умолчанию - WAIT может и не дождаться своего прерывания. Промежуток между ACLO и DCLO можно настроить при помощи nACLO_to_DCLO_Delay_MS.

form
25.01.2017, 22:34
За те 2 мс, которые эмулятор держит питание по умолчанию
Уже разобрался выше. Выполнения действия по сбою питания эмулятором не обнаружено в принципе. При отжатии кнопки power эмулятор просто выключается вместо выполнения трапа по 24.

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


Выполнения действия по сбою питания эмулятором не обнаружено в принципе.
Собственно в логе же вроде явно пишется trap to?.. а "trap to 24" или как там его не обнаружен в логе также.

Patron
25.01.2017, 22:36
Собственно в логе же вроде явно пишется trap to?.. а "trap to 24" или как там его не обнаружен в логе также.При сбое питания пишется так:



#################
ACLO - ON
#################
; 000026:000000 -> PSW
; PSW :000011 -> 125402:125424
; PC :150124 -> 125400:150112
; 000024:000026 -> PC

form
25.01.2017, 22:48
Да, последний interrupt был по вектору 100. А при потере питания должен быть interrupt по 24. Именно при отключении питания, а не после того как оно появится.

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


При сбое питания пишется так
И такого в логе нету.

Эмулятор точно выполняет прерывание при отключении питания? А не после того как он потом включится (это - неправильно).

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

На всякий случай, у меня вот этот эмулятор: DVK_Emulator_17.01.17_21-08.rar - это последний?
Взял из него только pdp11.exe - этого хватит?

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


За те 2 мс, которые эмулятор держит питание
Собственно ему не нужно ждать ничего: при потере питания уже произошло (по крайней мере должно безусловно произойти) прерывание, а в ISR вектора 24 никаких WAIT нету :)

Patron
25.01.2017, 22:53
Эмулятор точно выполняет прерывание при отключении питания? А не после того как он потом включится (это - неправильно).

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

На всякий случай, у меня вот этот эмулятор: DVK_Emulator_17.01.17_21-08.rar - это последний?
Взял из него только pdp11.exe - этого хватит?Собрал такой же вариант, загрузил комплектный VM3.cfg, нажал последовательно <Log> <DisAsm> <Power> и ( после поиска в листинге размером 9 Мб ) получил:



143622 [000011] ADD #16., R1 ; 143624:000020 -> R1 :121642
143626 [000010] MOV R4, R5 ; R4 :104340 -> R5
143630 [000010] BIC #-16., R4 ; 143632:177760 -> R4 :104340
143634 [000004] BIC #-241., R5 ; 143636:177417 -> R5 :104340
143640 [000000] ASR R5 ; R5 :000340
143642 [000000] ASR R5 ; R5 :000160
143644 [000000] ASR R5 ; R5 :000070
143646 [000000] ADD PC, R5 ; R7 :143650 -> R5 :000034

#################
ACLO - ON
#################
; 000026:000000 -> PSW
; PSW :000010 -> 121640:152442
; PC :143650 -> 121636:144230
; 000024:000026 -> PC

000026 [000000] HALT


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


Собственно ему не нужно ждать ничего: при потере питания уже произошло (по крайней мере должно безусловно произойти) прерывание, а в ISR вектора 24 никаких WAIT нетуСбой питания на команде WAIT надо будет отдельно протестировать.

form
25.01.2017, 23:43
Собрал такой же вариант, загрузил комплектный VM3.cfg, нажал последовательно <Log> <DisAsm> <Power> и ( после поиска в листинге размером 9 Мб ) получил:
У меня в голом VM3.cfg тоже находится ACLO в логе, а в ранее настроенном (с добавками вышеописанными) нету. Может там еще какой параметр нужен?

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


Сбой питания на команде WAIT надо будет отдельно протестировать.
Да пока вроде причин нет: команда WAIT мне просто попалась под руку. Я со своим конфигом в принципе не обнаружил прерывания по сбою питания, разбираюсь сейчас в чем разница с VM3.cfg.

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

С VM3.cfg все работает, с моим конфигом не хочет. Для красоты даже запустил простую программку:
.TITLE TEST
.MCALL SPRA$S,STOP$S,USTP$S,QIOW$S,ASTX$S

START: SPRA$S #PWRUP
10$: STOP$S
QIOW$S #IO.WVB,#5,#1,,,,<#PUP,#PUPL,#40>
BR 10$

PWRUP:: USTP$S
ASTX$S

PUP: .ASCII <15><12>/*** POWER UP ***/<15><12>
PUPL =.-PUP

.END START
честно пишет о восстановлении питания... Будем искать - лень опять с нуля конфиг делать из VM3.cfg :)

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

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

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

Все, разобрался. Нормально сохраняет и нормально стартует (без всяких G или P - сразу).
Изменилась настройка кнопки StateName = "MainPower" (было просто Power).

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

Осталось сделать настройку (если ее еще нет) чтобы при завершении программы по крестику или сигналу (не знаю как там в виндовсе это называется) так же сохранял, тогда можно будет автозавершение/автозапуск делать с предыдущего состояния.

MiX
26.01.2017, 00:10
Booter влияет на процессор и память только при его активизации.
Приоритет Booter'а выше параметра VM3.W0_pin=1. Стартануть процессор на 173000 так и не удалось. Правильней наверное будет при активации VM3.W0_pin=1 переход на адрес 173000 а там будет загрузчик HD.

Patron
26.01.2017, 00:25
Осталось сделать настройку (если ее еще нет) чтобы при завершении программы по крестику или сигналу (не знаю как там в виндовсе это называется) так же сохранял, тогда можно будет автозавершение/автозапуск делать с предыдущего состояния.Типа, чтобы при завершении эмуляции сначала принудительно выключалось питание.

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


Правильней наверное будет при активации VM3.W0_pin=1 переход на адрес 173000 а там будет загрузчик HD.Такое сделать не получится, потому что Booter работает с любыми процессорами через стандартный API и не видит разницы между ВМ1, ВМ2 и ВМ3.

MiX
26.01.2017, 00:37
Patron, я к тому что Booter не должен делать загрузку если стоит параметр VM3.W0_pin=1.

form
27.01.2017, 15:07
Помучил powerfail - фича понравилась. Жаль KYPEBO работает еще в старом эмуляторе со старыми настройками, а то перенес бы без потери uptime в новый эмулятор :)
Ну да ладно, дождемся когда потребуют выключить тот комп... А пока запросил feqture req в E11 :)

form
09.03.2017, 10:28
Три месяца uptime эмулятора с RSX...
$ SHO HOS
Host=KYPEBO RSX-11M-PLUS V4.6 BL87
$ UPT
14:27:48 up 91 day(s), 17:23, 3 user(s), 0 batch job(s), 18 active task(s)
$

Mixa64
28.03.2017, 13:02
Переделываю HALT ПЗУ для ВМ1 под свои нужды. Для отладки пользую эмулятор в режиме 1201. В противном случае пришлось бы мучать живую РФ3, а у нее маленький ресурс по перепрограммированию. Доволен, как слон. Ай, шикарный и полезный эмулятор, Patron, спасибо! :)

MiX
30.04.2017, 17:25
Нашёл я программу тестирования ГМД-7012.
После ввода номера диапазона дорожки идет перевод строки и всё.
http://i013.radikal.ru/1704/ce/890d853cbed1.jpg (http://radikal.ru)

UPD. В диалоге надо было вводить номер начальной дорожки пробел и номер конечной дорожки. Так-же и с секторами.

hobot
30.04.2017, 20:19
MiX, через запятую 2 переменных надо указывать - программа рабочая )

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


Нашёл я программу тестирования ГМД-7012.
я просто обязан уточнить, с какого системного образа или ленты взято? )
Если образ не публиковали ранее, просьба для изучения по возможности предоставить его для
сочувствующей публики (Научного Совета).

form
07.06.2017, 11:43
>RMT KYPEBO

Connected to "KYPEBO", System type = RSX-11M-Plus
System ID: "DECnet for RSX-11M-Plus V4.6"


>HEL 1,127
Password:

RSX-11M-PLUS V4.6 BL87 [1,54] System KYPEBO
7-JUN-17 15:42 Logged on Terminal HT0: as OIS50

Good Afternoon

,;,
O(o o)O
+---ooO-----------Ooo------------------------------------------------+
| # # # W E L C O M E T O |
| # ## ## |
| #### #### #### # # ### # ### #### # # ### # # |
| # # # # # # ### # # # # # # # # # # # # |
| # # # # # # # # # # # # # # # # |
| #### #### #### ### ### # ### # ##### # # ### |
| # # # |
| # # RSX-11M-PLUS V4.6 #### |
+--------------------------------------------------------------------+

Last interactive login on Thursday, March 23, 2017 21:03:23 (HT0:)

>@LB:[1,2]SYSLOGIN.CMD
>@ <EOF>
>UPT
15:42:42 up 181 day(s), 18:37, 3 user(s), 0 batch job(s), 18 active task(s)
>

form
18.07.2017, 06:12
Чтобы не искать по всей теме, кто подскажет какие правила для образов DW действуют в эмуляторе? Размер файла, еще что...

MiX
18.07.2017, 07:19
Только фиксированный размер файла.
1) 5 013 504
2)10 027 008
3)20 152 320
4)28 549 120
5)33 554 432
6)36 986 880
7)67 108 864

Установка RSX на DW?

Patron
18.07.2017, 14:31
Только фиксированный размер файла.Ещё можно задать произвольное количество цилиндров и головок в параметрах NonStandardDrive_Tracks и NonStandardDrive_Heads - такая конфигурация добавится к набору фиксированных размеров образов и будет проверяться первой.

hobot
18.07.2017, 16:36
Patron, я что то путаю или там ещё расширение (тип образа) файла имеет значение ?

Patron
19.07.2017, 12:31
расширение (тип образа) файла имеет значение ?Да. Если у образа расширение DSK - он считается обычным образом DSK и порядок блоков на лету меняется. При чтении - в стандарт ДВК, а при записи - в стандарт DSK. При любом другом расширении образа - блоки читаются и пишутся без смещения.

form
20.07.2017, 05:51
Установка RSX на DW?
Насчет установки не знаю, а драйвер попробую. Для установки нужен код драйвера загрузки-сохранения. Он в принципе есть прошный и вроде расчитан на инициализированный слот - то есть про-специфичного в нем нет. Попробую. Так или иначе, код имеющегося драйвера можно просто взять за основу.

MiX
20.07.2017, 09:34
Ещё можно задать произвольное количество цилиндров и головок в параметрах
Об этом не написано на первой странице в описании, надо бы добавить.

form
20.07.2017, 11:50
Установка RSX на DW
Кстати навскидку в коде драйвера видно два контроллера и на каждом диск с геометрией 611x16x4

AFZ
25.07.2017, 06:06
Коллеги, плз, дайте ссылку на последнее описание "аппаратуры" HD. Вот ЗДЕСЬ (http://zx-pk.ru/threads/25552-kontroller-diskovoda-dlya-uknts-rabotayushchij-s-obrazami-na-micro-sd-karte.html?p=920937&viewfull=1#post920937) Ярослав (Jarik65535) сочиняет контроллер карточек микро-SD на системную шину УКНЦ. Когда разработка будет закончена, надеюсь, что смогу уговорить его модифицировать это дело для ДВК. Я посоветовал делать интерфейс с системой "по мотивам" HD, вот и вопрос: где взять?

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

И, кстати, Patron, form, загляните, плз, в ту тему, может что подскажете?

form
25.07.2017, 10:23
Я посоветовал делать интерфейс с системой "по мотивам" HD
Это плохая идея. Интерфейс HD расчитан на то, что как только в регистр записана команда, операция уже выполнена. Никаких прерываний нет. С реальным железом это плохо даже для RT-11SJ :)
Я предлагал в свое время сделать вариант с прерываниями, но идея заглохла - для эмулятора оно не особо нужно.