Да, есть там вывод UMAP, включается установкой бита 5 в MMSR3. Хотелось бы в общем плане узнать, что это. Вроде 256-кбайтное окно при работе в 22-разрядном адресном режиме? Unibus вроде только поддерживает 18-разрядный адрес?
Там какой-то кусок I/O page вроде выделяется под маппинговые регистры, но что с ними делают я не знаю - как-то из унибусных в основном сидел на Э100-25, а когда появился СМ-2420 уже не до того было, чтобы копаться.
Можно посмотреть драйвер UM из RT-11 V5.
---------- Post added at 18:47 ---------- Previous post was at 18:41 ----------
Из серии "идиотские программы" :)
Вот что значит не выспался :)Код:.TY TEST.MAC
.MCALL .EXIT,.PRINT
.WORD MESG
START: MOV #10$,R0
JMP @#177564
10$: .PRINT
.EXIT
MESG: .ASCIZ /XA-XA-XA/
.END START
.RU TEST
XA-XA-XA
.
А как доработать что-бы "Гомерический смех" вылезал после окончания работы любой программы??? Ну типа как RS-shell со своим "ЖМИ НА КНОПКУ НЕ БОИСЬ", только просто смех и всё потом системное приглашение, потом отработка команды оператора
заупск всего чего нужно было и снова XA-XA-XA и приглашение монитора продолжать работу ??? Вот это бы очень помогло !!! )))
Думаю вот - какую бы хрень замутить из того факта, что у меня можно clock поднять до 800 прерываний в секунду :)
Первые попытки посмотреть что и как. Сильно пока не баловался.
Исходные данные:
- только что включен ДВК4
- RT-11SB V5.7, драйвера VM нет в системе
- консоль переключена на терминальный порт 176560/360 откуда я и сижу телнетом
Итак, сразу видим то, о чем так долго говорили большевики: все биты в MMR3 которые не используются на ВМ3 установлены в 1. Таким образом, если не знать предыстории и тупо смотреть на биты, констатируем:Код:.RU VDT
VDT V05.07
*172516/177717
- разрешен мапинг data space для усера
- разрешен мапинг data space для супервизора
- разрешен мапинг data space для кернела
- разрешена команда CSM
- выключен 22битный режим
- выключен UM
Все PARы заполнены чтобы адресовать нижнюю память и I/O page при включении MMU из расчета 18битной адресации.Код:*177572/000016
177574 /000000
177576 /003572
*172340/000000
172342 /000200
172344 /000400
172346 /000600
172350 /001000
172352 /001200
172354 /001400
172356 /007600
*177640/000000
177642 /000200
177644 /000400
177646 /000600
177650 /001000
177652 /001200
177654 /001400
177656 /007600
177660 /
?MON-F-Trap to 4 003572
У ВМ3 есть адресуемый PSW! Это просто праздник! :)Код:.ru vdt
VDT V05.07
*
*177776/000012
Кернелу можно читать, писать, страница расширяется вверх. О, чудо! Хоть здесь два reserved бита идут нулями ;)Код:*172300/077506
В страницу писали, опять reserved 0...
Страница в полную длину.
Cache bypass не включен ;)
ХРЯСЬ!Код:*177572/000016 1
Мы еще живы ;)Код:*177600/077406
177602 /077406
177604 /077406
Усеру все можно!
Видать не все. А и хрен с ним - лень думать.Код:*177776/000012 140000
.
От меня так просто не отстанешь! Сейчас как напечатаю буковку 'A' на своем терминале, добравшись к нему через задницу...Код:.RU VDT
VDT V05.07
*
*
*177776/030012
*172300/077506
172302 /077406
172304 /077406
172306 /077406
172310 /077506
172312 /077506
*172340/000000
172342 /000200
172344 /000400
То-то же!Код:172346 /000600 7600
*76566/000360 101
A
*172346/007600 600
*177572/000001 0
Код:*172516/177717 0
*/177717 70
*/177777 0
*/177717
*^C
.
---------- Post added at 23:01 ---------- Previous post was at 22:33 ----------
Определяется RT-11 как 11/34. Оттого и настроен видимо под 18бит -
это поди BSTRAP память мерял.
Код:.SH CONF
RT-11SB (S) V05.07
Booted from MY0:RT11SB
USR is set SWAP
EXIT is set SWAP
KMON is set NOIND
MODE is set NOSJ
TT is set NOQUIET
ERROR is set ERROR
SL is set OFF
EDIT is set KED
FORTRAN is set FORTRA
KMON nesting depth is 3
CLI is set DCL, CCL, UCL, NO UCF
PDP 11/34 Processor
256KB of memory
Extended Instruction Set (EIS)
Memory Management Unit
Multi-terminal support
SB timer support
.
---------- Post added at 23:03 ---------- Previous post was at 23:01 ----------
Хотя 11/34 не смог бы адресовать 256Kb памяти :)
И, возвращаясь к громкому утверждению насчет работы "RSX-11" при таких условиях...
Тест #1, RSX-11M при таких условиях...
Позже подумаю как вручную RSX-11S загрузить на ДВК4 и проверить в 22bit mode - в эмуляторе этого сделать не получится если только не брать какой-нибудь simh и переписывать.
Хе-хе.
Все готово к эксперименту.
Ждем вечера...
Код:RT-11SB (S) V05.07
.SET TT NOTAB,NOFORM
.R DATE
Date? 02-MAR-2012
.DIR
02-Mar-2012
SWAP .SYS 28P 07-Apr-2011 RT11SB.SYS 101P 01-Mar-2012
DW .SYS 7P 08-Mar-1990 MY .SYS 3P 19-Feb-1980
SL .SYS 17 01-Mar-2012 DIR .SAV 20P 31-Oct-1998
PIP .SAV 30P 31-Oct-1998 DUP .SAV 52P 31-Oct-1998
RESORC.SAV 35P 31-Oct-1998 MACRO .SAV 63P 24-Apr-2011
LINK .SAV 59P 31-Oct-1998 SYSMAC.SML 92P 31-Oct-1998
SYSLIB.OBJ 84P 31-Oct-1998 KED .SAV 85P 31-Oct-1998
K52 .SAV 81P 07-Apr-2011 VDT .SAV 8P 01-Mar-2012
DATE .SAV 4P 29-Feb-2012 IOSCAN.SAV 3P 18-Sep-2011
RSX11S.SYS 498 02-Mar-2012 MMUT1 .SAV 2 02-Mar-2012
STRTSB.COM 1 01-Mar-2012 SLOAD .SAV 2 02-Mar-2012
22 Files, 1275 Blocks
311 Free blocks
.RU SLOAD
LOADING 00740000
RSX11S V4.6 BL56
>
>ATL
MCR... 116750 MCRPAR 117064 203700-221677 PRI - 150. DPRI - 150.
STATUS - -CHK FXD -PMD PRV CLI
TI - CO0: IOC - 0. EFLG - 000001 000000 PS - 170017 PC - 120432
REGS 0-6 000000 050712 131574 157476 140700 000000 000766
>
Можно ещё это проверить? :)Цитата:
Сообщение от anonymous
У ВМ3 есть вывод HLTM. При входе в пультовый режим на нем выставляется активный низкий уровень. А уже поэтому уровню 1801ВП1-119 подключает по заданным адресам статическое ОЗУ и ПЗУ. Кстати на -119 поступают только старшие разряды адреса, так что предположения от том что стат.ОЗУ в HALT-режиме висит по адресам 17000-17777 вполне обосновано. Но надо смотреть схему. С помощью старших разрядов адреса процессор и указывает -119, с чем он хочет работать в HALT-режиме - с ПЗУ, стат.ОЗУ, ОЗУ платы или страницей ввода-вывода.
Там 256 kB памяти и это у меня не вызвало ничего кроме смеха. Ибо вся 22битность заключается в доступе к дополнительным 8kB памяти против 18bit :)
Я впрочем как раз этот кусочек памяти запользовал - я туда запихиваю загрузчик который потом сидя там читает из MY прямо в физическую память от 0 до 775776 образ системы, а он после загрузки сам уже расширит главный раздел до упора.
Судя по схеме МС 1201.03 там два 537РУ8 стоят для пульта... значит нет способа посмотреть значение SP в пультовом режиме?
А-а, ну в этом плане и так ясно что нету. Если память HALTа как-то и доступна, то через отдельные механизьмы, но вроде левых регистров когда сканилистраницу не наблюдали.
---------- Post added at 16:13 ---------- Previous post was at 16:11 ----------
Значения SP (их два) я так думаю все-таки можно. Речь я так понимаю идет о какой-то хрени режима HALT, а оно нам мало интересно :)
Ну главное - есть на чем проверить именно 22битный режим с участием памяти за пределами 18 бит :)
---------- Post added at 16:15 ---------- Previous post was at 16:14 ----------
Ну нам он, пультовый, вроде как погоды не делает ибо стандартный софт про все это знать не знает :)
Вечером запустим ioscan, посмотрим.
Тест всего пространства памяти тоже сделаю.
Но если там что-то появится - это будет нарушением самой работы MMU (в том числе с точки зрения описания ВМ3).
Единственно, можно еще попробовать включить этот загадочный UM бит и посмотреть что будет :)
К слову, у меня на KDJ11-BF этот бит значится как неиспользуемый, но можно менять. Это при том, что модуль используется как в QBUS так и в UNIBUS конфигурации.
Раньше мы уже обсуждали "реверсивный глюк" SJ-монитора RT-11, при котором последовательно поступающие на терминальный вход байты попадают в буфер ввода в обратном порядке, если между прерываниями процессор успевает выполнить меньше некоторого "магического" числа команд ( ~ 120 ).
Даже процессор ВМ1, имеющий среднее быстродействие 180 команд/байт казалось бы "вписывается" в это ограничение. И действительно, при эмуляции с достоверной скоростью выполнения команд - ВМ1 не имеет проблем в большинстве программ.
Но нашлась программа, которая внесла свою ложку дёгтя - это DESS.
При нажатии на любую стрелку, DESS выводит на экран кучу информации:
И вот что происходит. Когда нажаты две стрелки подряд - двойной код второго нажатия (например: '\033' 'B') приходит в тот момент, когда буфер вывода RMON заполнен и регулярно обрабатываются прерывания вывода на экран.Код:«033»HBlock=000000/00000. Adres=000006 Type=Word Edit Memory
«033»Y cSize=00112.
«033»Y4*«033»KSWAB -(R0)
«033»Y5*
Поэтому, обычное быстродействие ВМ1 в 180 команд на байт уменьшается на длину обработчика вывода и ..результат плачевен.
С вероятностью ~ 5% - двойной код нажатой клавиши попадёт во входной буфер в обратном порядке.
...
Неспроста, наверное, строка автоответа идентификации терминалов VT передаётся ими не со скоростью порта, а со скоростью кадровой развёртки 60 Гц.
А что насчёт скорости передачи многобайтовых кодов клавиш у терминалов VT..
А как обстоит с этим дело у 15ИЭ-0013 ?
Мне нетрудно перевести терминал на передачу многобайтовых кодов клавиш со скорости порта на скорость 60 CPS, но насколько это будет адекватно реальному оборудованию..
Могу померять реальный VT220. Стандартные клавиши там вроде до 4 символов шлют, а строка автоответа на ESC/Z и CSI/c - это целая поэма :)
---------- Post added at 17:29 ---------- Previous post was at 17:27 ----------
Можно еще посмотреть в системе механизм отличия ESC последовательностей от ESC с теми же символами.
Это было бы очень кстати!
Используя экранные редакторы под RT-11 на машинах не с теми терминалами, на коды клавиш которых были настроены редакторы - я имитировал многобайтовые коды клавиш при помощи клавиши <Ctrl>, так что те системы, которые я использовал - совершенно точно не отличали "родную" многобайтовую последовательность от её "ручной имитации" :)
Честно скажу, что на DECовских системах в принципе никогда не знал что такое - редактор не справился с esc последовательностью. А вот на пресловутом vi ничего со времен 2.9BSD не изменилось. Если хочешь быстро работать в нем с текстом, про стрелочки забудь и пользуюся буковками :)
Итак, как и предполагалось, миф о нерабочести RSX-11 без перелопачивания на ВМ3 развенчан. 22-битный RSX-11S отлично загрузился и работает. Это автоматически означает работоспособность RSX-11M если сделать ему нужные драйвера устройств и загрузки-сохранения.
На расплывчатой картинке видна консоль RSX-11S загруженного из под RT-11. Второй терминал торчит в мою сторону телнетом, на нем запустил RSD... Заодно проверил программку которая грузит обратно RT-11 - пашет... Пользуясь случаем, ioscan и тест MxPx команд. Проверка показала, как и написано в документации, MFPD/MTPD, MFPI/MTPI просто работают одинаково.
Осталось побороть лень и дописать драйверы.
Попробовали загрузить BRUSYS от RSX-11M-PLUS V4.6 (это RSX-11M V4.8 с программками для backup-restore-diag-format). Загрузилось.
Это уже 18битная система.
Собственно кто есть кто.
Вот он и PARH2.Код:172140-172142 КМД (MY)
172300-172316 KERNEL PDR
172340-172356 KERNEL PAR
172512 PARH2
172516 SR3
174000-174020 НЖМД (винчестер)
176560-176566 ИРПС (последовательный порт)
177514-177516 ИРПР (принтер)
177560-177566 Терминал (КЦГД)
177572-177576 SR0,SR1,SR2
177600-177616 USER PDR
177640-177656 USER PAR
177776 PSW
Джентльменский набор который использовался для баловства.
rsx11s.rar - RSX-11S V4.6, сгенеренный без каких-либо устройств кроме двух терминалов на 177560/60 и 176560/360, 22bit
rsx11s.map.txt - карта памяти от него
bootmy.mac.txt - загрузчик с MY0: - фиксится в образе RSX-11S
sload.mac.txt - загрузчик несохраненных образов RSX-11.
Особо до ума не доводил - цель была просто проверить работоспособность, а дальше куда полезнее будет направить усилия на создание нужных драйверов :)
SLOAD умеет грузить несохраненный образ RSX с MY0:, грузит всегда 124KW и никак иначе ;)
Номер блока файла берется из команды DIR/BL. Точка входа, начальный стек берутся из карты памяти RSX. Если система собрана с отладчиком (XDT), можно взять в качестве стартового адреса символ $XDT, в этом случае система стартует с отладчика и после в него можно зайти командой BRK.Код:$STACK = 776 ;Стек
;$INITL = 30140 ;$INITL - точка входа в систему
$INITL = 22612 ;$XDT - точка входа в отладчик системы
BLKN = 786. ;Начальный номер блока файла на диске
Загрузчик включает 22bit режим, переносится в адрес 760000 и грузит с диска образ в адреса 0-757776.
Программа BOOTMY делает аппаратную загрузку с MY0: из под RSX.
Собирается командами:
Можно обойтись без RSXMC.MAC, в этом случае вместоКод:>MAC BOOTMY=LB:[11,10]RSXMC/PA:1,SY:[]BOOTMY
>TKB BOOTMY/PR:5=BOOTMY
должно бытьКод:CALL $SWSTK,10$
Программа должна быть зафиксирована в образе системы с помощью VMR.Код:EMT 376
.WORD 10$
Код:>VMR
Enter filename: RSX11S
VMR>INS BOOTMY/FIX=YES
VMR>^Z
>
Подоспели фотки от загрузки BRUSYS...
Теперь уже как-то и непри(вы,ли)чно смотрится :)
Код:I/O page Map
Starting Ending
Address address
17765000 - 17765776 CPU ROM or EEPROM
17772100 Memory CSR
17772150 - 17772152
17772200 - 17772276 Supervisor I and D PDR/PAR's
17772300 - 17772376 Kernel I and D PDR/PAR's
17772516 MMR3
17773000 - 17773776 CPU ROM
17774440 - 17774456
17774500 - 17774502
17776500 - 17776536
17777514 - 17777516
17777520 - 17777524 BCSR, PCR, BCR/BDR
17777546 Clock CSR
17777560 - 17777566 Console SLU
17777572 - 17777576 MMR0,1,2
17777600 - 17777676 User I and D PDR/PAR's
17777744 - 17777752 MSER, CCR, MREG, Hit/Miss
17777766 CPU Error
17777772 PIRQ
17777776 PSW
---------- Post added 03.03.2012 at 00:17 ---------- Previous post was 02.03.2012 at 23:31 ----------
Пиши тест - у меня уже сегодня сил нет :)
Дополнительная информация по местным условиям (не особо нужна, но мало ли):
Код:BIS #100,@#177546 ;РАЗРЕШИТЬ ПРЕРЫВАНИЯ ТАЙМЕРА
BIS #6000,@#177520 ;800Hz