Важная информация

User Tag List

Страница 1 из 28 12345 ... ПоследняяПоследняя
Показано с 1 по 10 из 279

Тема: RSX-11 на ДВК-4 и других компах с ВМ3 процессором...

  1. #1
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию RSX-11 на ДВК-4 и других компах с ВМ3 процессором...

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

    Краткая история: существует миф, что RSX-11 системы не будут работать на ВМ3 процессоре без серьезной переделки. Попытка найти вразумительный ответ почему успехом не увенчалась. Единственная, найденная в интернете информация, оказалась повторением чьих-то слов где в качестве причины нерабочести указывается полная чепуха. Возникло желание просто взять и проверить. Взяли и проверили. Результат оказался предсказуемым: RSX-11S, RSX-11M и даже RSX-11M-PLUS прекрасно работают на ДВК-4 без каких либо переделок в системе. Единственное, что требуется - это наличие соответствующих драйверов (для 11S собственно не обязательно).

    В настоящее время написан драйвер дисковода MY и модуль загрузки-сохранения для него.

    Предыдущее обсуждение вопроса и файлы по теме находятся в этой теме.
    Последнее сообщение в теме по поводу RSX-11 на ВМ3 247е.

    Последующие наработки будут выкладываться здесь.

    ---------- Post added at 03:01 ---------- Previous post was at 02:55 ----------

    Интересно, будут желающие принять участие в разработке или здесь остались одни RTшники?
    Последний раз редактировалось form; 11.03.2012 в 00:07.
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  2. Этот пользователь поблагодарил form за это полезное сообщение:

    hobot (23.03.2020)

  3. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  4. #2
    R.I.P. Аватар для hobot
    Регистрация
    30.08.2011
    Адрес
    Зеленоград
    Сообщений
    7,161
    Спасибо Благодарностей отдано 
    2,979
    Спасибо Благодарностей получено 
    370
    Поблагодарили
    309 сообщений
    Mentioned
    13 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    RSX-11S - а нет ли возможности на живой УКНЦ пощупать? Или проц не подходит и памяти мало? Что сулит переход на RSX хорошего? Что там с играми на КВАНТ4(ДВК4) под RSX? (я УКНЦ-РТ-шник "смайл")
    Архив программ для УК-НЦ, ДВК и БК.

    Ищу игру "СТРАНА МОНСТРОВ" [monstr.sav] для ДВК.

  5. #3
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от hobot Посмотреть сообщение
    RSX-11S - а нет ли возможности на живой УКНЦ пощупать? Или проц не подходит и памяти мало? Что сулит переход на RSX хорошего? Что там с играми на КВАНТ4(ДВК4) под RSX? (я УКНЦ-РТ-шник "смайл")
    Можно с помощью какой-то матери, но бессмысленно - без MMU получится весьма слабая система. А с играми - с текстовыми проблем нигде не будет, а графические под RSX были всегда заточены под конкретное железо в конкретном месте

    А насчет перехода - это уже на усмотрение.
    RT-11 можно запускать внутри RSX
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  6. #4
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Драйвер MY:

    Драйвер MY V02.00 для RSX-11M-PLUS. Добавлена проверка на зависание контроллера и возврат ошибки неготовности устройства в этом случае. Добавлена поддержка подфункции IQ.X (запрет повторов при ошибках). Слегка наведен порядок внутри.

    • MYDRV.RAR
      исходники драйвера MY и модуля SAVMY
    • MYDRVULB.RAR
      собранный векторный драйвер для RSX-11M-PLUS и SAVMY.OBJ


    Извлечение собранного драйвера и модуля SAVMY из библиотеки MYDRV.ULB:

    Код:
    >LBR MYDRV.TSK=MYDRV.ULB/EX:MYTSK
    >LBR MYDRV.STB=MYDRV.ULB/EX:MYSTB
    >LBR SAVMY.OBJ=MYDRV.ULB/EX:SAVMY
    Вставка драйвера в дистрибутив (в примере исходники лежат в каталоге [1,127] и все нужные программы установлены):

    Код:
    >CHD 11 10
    >PIP =[1,127]MYTAB.MAC,MYDRV
    >CHD 200 200
    >@SYSGEN
    
    ...
    
    >; Enter device mnemonics for any user-supplied drivers.  The driver
    >; source files must reside in [11,10] and be named ddDRV.MAC and
    >; ddTAB.MAC where dd is the device mnemonic.
    >;
    >; You may enter the mnemonics on more than one line.  When you have
    >; listed all the drivers, press RETURN when asked for the device
    >; mnemonic.
    >;
    >; The device mnemonic must not include a colon.
    >;
    >* CP9604  Enter device mnemonics for user-supplied drivers [S]: MY
    >* CP9604  Enter device mnemonics for user-supplied drivers [S]: 
    >;
    >* CP9616  Do you want the MY: driver's data base to be loadable? [Y/N D:N]: Y
    Если дальше ничего руками не трогать и собрать все как обычно, будет собран привязанный к системе драйвер MY который нельзя будет переносить в другую систему. Чтобы собрать векторный драйвер нужно отредактировать MYDRVBLD.CMD и SYSVMD.CMD созданные SYSGENом когда он спросит нужно ли это:

    Код:
    >* BE030   Do you want to pause to edit any files before
    >*         task-building? [Y/N D:N]: Y
    SYSGEN сделает паузу и даст возможность поредактировать файлы.

    В файле [200,200]MYDRVBLD.CMD меняем

    Код:
    SY:[1,54]RSX11M.STB/SS
    на

    Код:
    SY:[3,54]RSXVEC.STB/SS
    В файле [1,54]SYSVMR.CMD

    Код:
    LOA MY:
    меняем на

    Код:
    LOA MY:/VEC
    и запускаем SYSGEN дальше:

    Код:
    >UNS AT.
    Добавление модуля SAVMY:

    Код:
    >CHD 1 24
    >MAC SAVMY=LB:[1,1]EXEMC/ML,[1,127]SAVMY
    >LBR SAV/RP/-EP=[1,127]SAVMY
    >DEL SAVMY.OBJ;*
    Для пересборки SAV редактируем файл [1,24]SAVBLD.ODL.
    В строчке

    Код:
    SPCDRV: .FCTR   [1,24]SAV/LB:SAVDV1:SAVDK:SAVDP:SAVDL:SAVCM:SAVDV2
    вставляем SAVMY после SAVDL и пересобираем SAV:

    Код:
    >CHD 1 24
    >ASN NL:=MP:
    >TKB @SAVBLD
    Аналогично поступаем с BOOBLD.ODL (если ранее BOO пересобирался). Если до этого пересборки BOO не было, собираем его SYSGENом:

    Код:
    >CHD 200 200
    >@SYSGEN
    
    ...
    
    >* SU120   Do you want to do a complete SYSGEN? [Y/N D:Y]: N
    >;
    >* SU130   Do you want to continue a previous SYSGEN from
    >*         some point? [Y/N D:Y]: N
    >;
    >* SU150   Do you want to do any individual sections of SYSGEN? [Y/N D:Y]: 
    >;
    >; Any of the following sections of SYSGEN can be chosen:
    >;
    >;   A.	Choosing Executive Options
    >;   B.	Choosing Peripheral Configuration
    >;
    >;   C.	Assembling the Executive and Drivers
    >;
    >;   D.	Building the Executive and Drivers
    >;   E.	Building the Privileged Tasks
    >;   F.	Rebuilding Supplied System Tasks
    >;
    >;   G.	Creating the System Image File
    >;
    >;   H.	Adding a Device
    >;
    >; Enter the section letter(s) separated by commas.
    >;
    >* SU160   Which sections would you like to do? [S R:0.-15.]: F
    
    ...
    
    >* BN010   Do you want to rebuild any system tasks? [Y/N D:N]: Y
    
    ...
    
    >* BN020	Enter task name(s) [S]: BOO
    >* BN020	Enter task name(s) [S]: 
    
    ...
    
    >* BN050   Do you want to pause to edit any files before
    >*         task-building? [Y/N D:N]: Y
    В этом месте редактируем BOOBLD.ODL и запускаем процесс дальше командой "UNS AT.".
    Вложения Вложения
    Последний раз редактировалось form; 12.03.2012 в 00:49.
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  7. Этот пользователь поблагодарил form за это полезное сообщение:

    hobot (23.03.2020)

  8. #5
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Слегка обновленный драйвер. Мелкие косметические правки.
    Вложения Вложения
    • Тип файла: rar mydrv.rar (4.5 Кб, Просмотров: 146)
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  9. Этот пользователь поблагодарил form за это полезное сообщение:

    hobot (23.03.2020)

  10. #6
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

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

    Кстати интересен результат автоконфигурации:

    Код:
    >RED TT1:=CO:
    >ACF
    >ACO SHO
    Processor Type:  LSI-11/73          Memory Size:  124. Kw
    
    Options:
    
            Extended Instruction Set (EIS)
            Parity Memory
    
    Name    Vector     CSR      Unit    Type      Remark
    LPA      200      177514                     
    YLA      060      177560                     
    
    >
    не так уж сильно наврал - вполне терпимо
    Второй терминал не определил, но это и логично - он посажен с разрывом по адресам-векторам.

    Кто-нибудь писал драйверы винчестера для ДВК? (не обязательно для RSX)
    Миниатюры Миниатюры Нажмите на изображение для увеличения. 

Название:	IMG_3747.jpg 
Просмотров:	406 
Размер:	31.0 Кб 
ID:	33946   Нажмите на изображение для увеличения. 

Название:	IMG_3752.jpg 
Просмотров:	390 
Размер:	38.0 Кб 
ID:	33947   Нажмите на изображение для увеличения. 

Название:	IMG_3755.jpg 
Просмотров:	418 
Размер:	31.0 Кб 
ID:	33948   Нажмите на изображение для увеличения. 

Название:	IMG_3759.jpg 
Просмотров:	399 
Размер:	39.2 Кб 
ID:	33949  
    Последний раз редактировалось form; 15.03.2012 в 08:08.
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  11. #7
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вот что я нашёл:

    Код:
    ;************************************************************
    ;*  вариант драйвера Винчестера СМ 5508, А.Саньков          *
    ;*  использован в качестве системного с 14 июля 1990 г.     *
    ;*  последняя коррекция 26 июля 1990, при MMG$T = 1 работает*
    ;************************************************************
    
    	.LIST	ME
    	.NLIST	BIN
    	.NLIST	SEQ
    	.LIST	TTM
    	.NLIST	CND
    	.MCALL	.DRDEF,.assume
    	.DRDEF	DW,53,<VARSZ$+FILST$+SPFUN$>,22777,174000,300
    	DWDS=DW$CSR
    	SYSPTR	= 54
    	P1EXT	= 432
    	.SBTTL	SET OPTIONS
    	.DRSET	RETRY,662.,O.RTRY,NUM
    	.DRSET	WRITE,1,O.WRIT,NO
    	.DRSET	WCHECK,1,O.WCHK,NO
    	.DRSET	NCIL,712.,o.cil,NUM
    o.cil:	cmp	r0,r3
    	bgt	o.bad
    	mov	r0,maxcil
    	beq	o.bad
    	ash	#6,r0
    	mov	r0,maxblk
    	mov	r0,.636
    	mov	r0,54
    	sub	#16.,r0
    	mov	r0,.1250
    	br	o.good
    O.RTRY:
    	CMP	R0,R3
    	BHI	O.BAD
    	MOV	R0,$RETRY
    	BNE	O.GOOD
    	BR	O.BAD
    O.WRIT:
    	NOP
    	TST	(PC)+
    	SEC
    	ROL	#0
    .456=.-2
    	BIC	#177776,.456
    .466:
    	MOVB	R1,R0
    	CMP	R0,R3
    	BHI	O.BAD
    	MOV	R0,-(SP)
    	ADD	PC,R0
    	ADD	#<NOWRIT-.>,R0
    	MOVB	.456,@R0
    	JSR	PC,.600
    	MOV	(SP)+,R0
    	BCS	O.GOOD
    	CMP	@#54,R1
    	BHI	.534
    	MOV	#100000,346(R1)
    .534:
    	ADD	#6,R1
    	ADD	R0,R1
    	MOVB	.456,@R1
    O.GOOD:
    	TST	(PC)+
    O.BAD:	SEC
    	RTS	PC
    O.WCHK:
    	BR	.566
    	.WORD	0
    	CLR	DWWCHK
    	BR	.574
    .566:
    	MOV	#177777,DWWCHK
    .574:
    	CLC
    	RTS	PC
    .600:
    	MOV	PC,R0
    	ADD	#<DWNAME-.>,R0
    	MOV	PC,-(SP)
    	ADD	#<.630-.>,@SP
    	EMT	342		;.DSTAT	R0,@SP
    	BCS	O.BAD
    	MOV	.634,R1
    	BEQ	O.BAD
    	BR	O.GOOD
    
    .630:	.WORD	DWSTS
    .632:	.WORD	<DWEND-DWSTRT>
    .634:	.WORD	0
    .636:	.WORD	DWDSIZE
    DWNAME:	.RAD50	"DW "
    	.assume	. lt 1000
    
    	.SBTTL	DRIVER ENTRY
    	.DRBEG	DW
    	BR	.1020
    NOWRIT:	.WORD	0		;[NO]WRITE
    $RETRY:	.WORD	10
    MAXBLK:	.WORD	9792.
    .1250:	.WORD	9727.
    MAXCIL:	.WORD	153.
    .1020:
    .IF NE MMG$T
    	ASR	#1
    	BCC	DWENT
    	MOV	@#SYSPTR,R5
    	MOV	P1EXT(R5),(PC)+
    $P1EXT:	.WORD	0
    DWENT:
    .ENDC
    	MOV	DWCQE,R5
    	MOV	#DW$CSR,R4
    	TST	.1224
    	BEQ	.1052
    	MOV	#10,20(R4)	;нач. установка
    	MOV	#177777,.1224	;флаг нач.установки
    .1052:
    	MOV	#1000.,R1
    .1056:	MOV	#100000,R3
    .1062:	TST	20(R4)
    	BPL	.1076		;свободен
    .1070:	SOB	R3,.1062
    .1072:	SOB	R1,.1056	;эмуляция тайм-аута(.IF B TIM$IT...)
    	BR	.1216		;облом...
    .1076:
    .1136:
    	MOV	$RETRY,RETRY	;иниц. счетчика повторов
    	CLR	.1230
    	CLR	.1232		;призн.= чтение
    	CLR	.1234
    	MOV	@R5,R3		; Q$BLKN
    	MOVB	Q$UNIT(R5),R0
    	BIC	#177770,R0
    	BNE	.1212		;только DW0 - ошибка
    	MOVB	Q$FUNC(R5),R0
    	ADD	#5,R0
    	CMP	R0,#6
    	BLO	.1256
    .1212:	JMP	.2664		;ошибка
    .1216:	JMP	.2664
    DWWCHK:	.WORD	0		;флаг WCHECK
    .1224:	.WORD	177777
    RETRY:	.WORD	0
    .1230:	.WORD	0		;0 или -1
    .1232:	.WORD	0		;призн.чтения(+)-записи(-)-возвр(0)?
    .1234:	.WORD	0
    WCNT:	.WORD	0
    .1240:	.WORD	0		;# цил.
    .1242:	.WORD	0		;# поверхн.
    .1244:	.WORD	0		;# сектора
    .1254:	.WORD	0
    .1256:
    	ASL	R0
    	ADD	PC,R0
    	ADD	#<.1270-.>,R0
    	ADD	@R0,PC		;переход по коду функции
    
    .1270:	.WORD	.1770-.1270	;возвр.длину-20(для табл.замещения ?)
    
    .1272:	.WORD	.2664-.1270	;включ.чтения и возврат
    	.WORD	.2664-.1270
    
    .1276:	.WORD	.1304-.1270
    .1300:	.WORD	.1304-.1270
    
    .1302:	.WORD	.1310-.1270	;запись(?)
    
    .1304:	MOV	SP,(PC)+	;(SP)=?
    .1306:	.WORD	0		;....?
    
    .1310:	BIT	#1,Q$BUFF(R5)
    	BNE	.1616		;нечетный адрес буфера
    	MOV	#1,.1232	;признак = чтение (?)
    	TST	Q$WCNT(R5)
    	BMI	DW$WRT
    	BNE	DW$READ
    	JMP	DWEXIT
    DW$WRT:
    	BIT	#20000,16(R4)
    	BNE	.1612		;ошибка записи
    	ASL	#0
    	BCS	.1366
    	TST	NOWRIT
    	BNE	.1616		;установлено set dw nowrite
    .1366:
    	MOV	#20000,.1234
    	MOV	#100000,.1232	;запись
    	NEG	Q$WCNT(R5)	;запись,исп-я как еще один флаг
    DW$READ:
    	MOV	R3,R1		;q$blkn
    	TST	.1306		;призн.рабоы с уменьш.длиной
    	BEQ	.1426
    	CMP	R3,MAXBLK
    	BCC	.1616
    	BR	.1436
    .1426:
    	CMP	R3,.1250	;использование таблицы замещения ?
    	BCC	.1616
    	INC	R1
    .1436:
    	BIC	#-20,R1		;# сектора
    	ASR	R3
    	ASR	R3
    	ASR	R3
    	ASR	R3
    	MOV	R3,R2
    	BIC	#177774,R2
    	ASR	R3
    	ASR	R3
    	BIC	#176000,R3
    	CMP	R3,MAXCIL
    .1472:
    	BCC	.1616
    	MOV	R3,.1240	;тек. # цилиндра
    	MOV	R2,.1242	;тек. # поверхности
    	MOV	R1,.1244	;тек. # сектора
    .1512:
    	MOV	.1240,12(R4)
    	MOV	.1242,14(R4)
    	MOV	.1244,6(R4)
    	TST	.1232		;чтение/запись
    	BMI	.1552
    	MOV	#40,16(R4)	;чтение сектора
    	BR	.1576
    .1552:
    	BIC	#1,.1232
    	MOV	#60,16(R4)	;запись сектора
    	JSR	R0,.2002
    	MOV	(R2)+,@R4
    	MOV	R5,@R4
    .1576:
    	CLR	.1306
    	BIS	#100,@#174020	;запрерить прерывание
    	RTS	PC
    .1612:
    	JMP	.2664
    .1616:
    	JMP	.2664
    
    .1622:	BIT	#20000,16(R4)	;ссылка на эту точку отсутствует ?!
    	BNE	.1612		;ошибка записи
    	MOV	#20000,.1234
    	CMP	Q$WCNT(R5),#20
    	BCS	.1616
    	MOV	#20,Q$WCNT(R5)
    	BIT	#1,Q$BUFF(R5)
    	BNE	.1616		;нечетн. адр буфера
    	MOV	R3,R2
    	BIC	#177770,R2
    	CMP	R2,#4
    	BHIS	.1616		;# поверхности > 3
    	ASR	R3
    	ASR	R3
    	ASR	R3
    	CMP	R3,MAXCIL
    	BHIS	.1616
    	MOV	R3,.1240
    	MOV	R2,.1242
    .1726:
    	MOV	.1240,12(R4)	;# цилиндра
    	MOV	.1242,14(R4)	;# поверхн.
    	MOV	#120,16(R4)	;форматирование !!!
    .1750:
    	JSR	R0,.2002
    	MOV	(R2)+,@R4
    	MOV	R5,@R4
    	BIS	#100,@#174020
    	RTS	PC
    .IF EQ MMG$T
    .1770:	MOV	.1250,@Q$BUFF(R5)
    .IFF
    .1770:	MOV	R4,-(SP)
    	MOV	.1250,-(SP)
    	MOV	R5,R4
    	CALL	@$PTWRD
    	MOV	(SP)+,R4
    .ENDC
    	JMP	DWEXIT
    .2002:
    	MOV	R5,-(SP)
    	MOV	R4,-(SP)
    	MOV	(R0)+,.2126
    	MOV	(R0)+,.2150
    	MOV	R4,R3
    	ADD	#20,R3
    	ADD	#10,R4
    	MOV	Q$BUFF(R5),R2
    	MOV	Q$WCNT(R5),R1
    	BEQ	.2132
    	MOV	R1,WCNT
    	CMP	R1,#400
    	BLOS	.2060
    	MOV	#400,R1
    .2060:
    	TST	.1232
    	BPL	.2074
    	ASL	#100000
    	BCS	.2100
    .2074:
    	SUB	R1,WCNT
    .2100:
    .IF NE MMG$T
    	MOV	Q$PAR(R5),PARVAL
    	JSR	R0,@$P1EXT
    	.WORD	PARVAL-.
    .IFF
    	MOV	R2,.1254
    	TST	.1232
    	BPL	.2120
    	ASL	#100000
    	BCS	.2126
    .2120:	ADD	#1000,.1254
    .ENDC
    .2126:	HALT			;сюда пишется команда см. .2002
    .2130:	SOB	R1,.2126
    .IF NE MMG$T
    PARVAL:	.WORD	0
    	TST	.1232
    	BPL	1$
    	ASL	#100000
    	BCS	2$
    1$:	ADD	#<256./32.>,PARVAL
    2$:
    .ENDC
    .2132:
    	MOV	@R3,R5
    	BMI	.2154
    	ASR	R5
    	BCS	.2154
    	ASLB	R5
    	BPL	.2132
    .2146:	CLR	R5
    .2150:	.WORD	0		;сюда пишется команда, см .2002
    	BR	.2132
    .2154:
    	TSTB	@R3
    	BPL	.2162
    	BR	.2154
    .2162:
    	MOV	(SP)+,R4
    	MOV	(SP)+,R5
    	RTS	R0
    .2170:
    	MOV	R4,R2
    	ADD	#20,R2
    	MOV	R4,R3
    	ADD	#10,R3
    .2204:
    	MOV	@R2,R1
    	ASR	R1
    	BCS	.2222
    	ASLB	R1
    	BPL	.2204
    	MOV	@R3,R1
    	BR	.2204
    .2222:
    	TSTB	@R2
    	BPL	.2230
    .2226:	.WORD	0
    .2230:	RTS	PC
    
    .2232:	JMP	.2664
    
    .2236:	JMP	DWEXIT
    
    	.DRAST	DW,4
    
    .2252:	BIC	#100,@#174020	; запрет прерывания
    	.FORK	DWFBLK		; 2720
    .2266:	MOV	DWCQE,R5
    	MOV	#DW$CSR,R4
    	TST	20(R4)
    	BMI	.2232		;занято
    	BIT	.1234,16(R4)	;ошибка|запр.дан.|...(не совсем корректно)
    	BNE	.2232
    	BIT	#400,16(R4)	;ошибка
    	BNE	.2452
    	TST	.1230
    	BNE	.2562
    				; IF ERR$L
    	MOV	.1232,R0
    	BEQ	.2236
    	BPL	.2370
    	TST	DWWCHK
    	BEQ	.2402
    	ASR	R0
    	BCC	.2362
    	JSR	PC,.2170
    .2356:
    	BR	.2402
    .2362:
    	INC	.1232
    	BR	.2624
    .2370:
    	BMI	.2402
    	JSR	R0,.2002
    	MOV	@R4,(R2)+	;эти команды вставляются вместо
    	MOV	@R4,R5		;HALTов
    .2402:
    	MOV	WCNT,6(R5)
    	BEQ	.2236
    .IF NE MMG$T
    	MOV	PARVAL,Q$PAR(R5)
    .IFF
    	MOV	.1254,4(R5)
    .ENDC
    	TST	.1232
    	BPL	.2434
    	ASL	#100000
    	BCS	.2436
    .2434:
    	INC	@R5
    .2436:
    	MOV	@R5,R3
    	MOV	$RETRY,RETRY
    	JMP	DW$READ
    .2452:
    	TST	.1230
    	BNE	.2664
    	BIT	#3000,4(R4)
    	BNE	.2664
    	TSTB	20(R4)
    	BPL	.2502
    	JSR	PC,.2170
    .2502:
    	BIT	#10000,4(R4)
    	BEQ	.2562
    	MOV	16(R4),R3
    	BIT	#20000,R3
    	BNE	.2664
    	BIC	#127777,R3
    	CMP	#50000,R3
    	BNE	.2664
    	MOV	#-1,.1230
    	MOV	#20,16(R4)
    	BIS	#100,@#174020
    	RTS	PC
    .2562:
    	DEC	RETRY
    	BEQ	.2664
    	CLR	.1230
    	TST	.1232
    	BEQ	.2620
    	BPL	.2614
    	BIT	#1,.1232
    	BNE	.2624
    .2614:
    	JMP	.1512
    .2620:
    	JMP	.1726
    .2624:
    	MOV	.1240,12(R4)
    	MOV	.1242,14(R4)
    	MOV	.1244,6(R4)
    	MOV	#40,16(R4)	;чтение, без обнуления эл.очереди
    	BIS	#100,@#174020
    	RTS	PC
    .2664:
    	BIS	#1,@Q$CSW(R5)
    	CLR	.1306
    DWEXIT:
    	CLR	.1224
    	.DRFIN	DW
    DWFBLK:	.BLKW	5
    	.SBTTL	BOOTSTRAP DRIVER
    	.DRBOT	DW,BOOT1,READ
    	. = DWBOOT+40
    BOOT1:
    	JMP	@#BOOT-DWBOOT
    	. = DWBOOT+210
    READ:	MOV	#DW$CSR,R4
    	MOV	#23,.3162
    .3160:
    	DEC	(PC)+
    .3162:	.WORD	23
    	BEQ	.3326			;облом...
    	MOV	#10,20(R4)		;INIT
    	MOV	#1750,R3
    .3200:
    	MOV	#100000,R5
    .3204:
    	TST	20(R4)
    	BPL	.3220			;готов(нет занятости)
    	SOB	R5,.3204
    	SOB	R3,.3200
    	BR	.3326			;облом...
    .3220:
    	MOV	R0,-(SP)
    	MOV	R1,-(SP)
    .3224:
    	MOV	@SP,R1
    	CMP	R1,#400
    	BLOS	.3240
    	MOV	#400,R1
    .3240:
    	SUB	R1,@SP
    	MOV	2(SP),R0
    	INC	2(SP)
    	MOV	R0,R5
    	INC	R5
    	BIC	#177760,R5
    	MOV	R5,6(R4)
    	ASR	R0
    	ASR	R0
    	ASR	R0
    	ASR	R0
    	MOV	R0,R5
    	BIC	#177774,R5
    	MOV	R5,14(R4)
    	ASR	R0
    	ASR	R0
    	BIC	#177000,R0
    .3326:
    	JMP	@#BIOERR-DWBOOT
    .3332:
    	MOV	R0,12(R4)
    	MOV	#40,16(R4)
    	MOV	R4,R0
    	ADD	#20,R0
    	MOV	R4,R5
    	ADD	#10,R5
    .3360:
    	TST	@R0
    	BMI	.3360
    .3364:	MOV	#1000,R3
    .3370:	SOB	R3,.
    	BIT	#400,16(R4)
    	BEQ	.3414
    	ADD	R1,@SP
    	MOV	(SP)+,R1
    	MOV	(SP)+,R0
    	DEC	R0
    	BR	.3160
    .3414:
    	MOV	#23,.3162
    .3422:
    	TSTB	@R0
    	BPL	.3422
    .3426:	MOV	@R5,(R2)+
    .3430:	SOB	R1,.3422
    .3432:
    	BIT	#1,@R0
    	BNE	.3450
    	TSTB	@R0
    	BPL	.3432
    	TST	@R5
    	BR	.3432
    .3450:
    	TST	@SP
    	BNE	.3224
    	CMP	(SP)+,(SP)+
    	CLC
    	RTS	PC
    	. = DWBOOT+574
    BOOT:	MOV	#10000,SP
    	MOV	#2,R0
    	MOV	#<4*400>,R1
    	MOV	#1000,R2
    	JSR	PC,READ
    	MOV	#READ-DWBOOT,@#B$READ
    	MOV	#B$DNAM,@#B$DEVN
    	CLR	@#B$DEVU
    	JMP	@#B$BOOT
    	.DREND	DW
    	.SBTTL	INSTALL CHECK
    .ASECT
    .=200
    	NOP
    1$:	MOV	#DW$CSR,R0
    	TST	20(R0)
    	BMI	1$
    	CMP	#401,0(R0)
    	BNE	2$
    	TST	(PC)+
    2$:	SEC
    	RTS	PC
    	.END
    
    .SBTTL	I/O QUEUE ELEMENT FORMAT
    DSECT	GLOBAL=YES
    	DS	Q.LINK,1,GLOBAL=NO
    	DS	Q.CSW
    	DS	Q.BLKN
    	DS	Q.FUNC,1 BYTE
    	DS	Q.JNUM,0 BYTES
    	DS	Q.UNIT,1 BYTE
    	DS	Q.BUFF
    	DS	Q.WCNT
    	DS	Q.COMP
    .IF NE	MMG$T
    	DS	Q.PAR
    	DS	Q.FREE,2
    .ENDC
    QESIZE	= ..TEMP
    QWDSIZ	= QESIZE/2

  12. #8
    Guru
    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,208
    Спасибо Благодарностей отдано 
    345
    Спасибо Благодарностей получено 
    606
    Поблагодарили
    398 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Кто-нибудь писал драйверы винчестера для ДВК? (не обязательно для RSX)
    Так вроде контроллер MFM-винчестера, применяемый в ДВК, аналогичен контроллеру, который используется в Э-85/PRO. Драйвер уже есть, начиная с RT-11 V05.01.

  13. #9
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,823
    Спасибо Благодарностей отдано 
    8
    Спасибо Благодарностей получено 
    281
    Поблагодарили
    227 сообщений
    Mentioned
    29 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Так вроде контроллер MFM-винчестера, применяемый в ДВК, аналогичен контроллеру, который используется в Э-85/PRO. Драйвер уже есть, начиная с RT-11 V05.01.
    Вот это и интересно насколько он аналогичный - надо будет с прошным драйвером попробовать на ДВК почитать.

    ---------- Post added at 02:48 ---------- Previous post was at 02:47 ----------

    Собственно и так ясно, что полностью аналогичным быть не может, но по системе команд - вполне может совпадать
    PDP-11/83, Электроника МС0511 (УК-НЦ), DECserver 90M
    Q-Bus: H9278-A, DLV11-J, DZQ11, DHV11, DELQA-M, LPV11, CQD-420/TM, DRV11
    PMI: KDJ11-BF, MSV11-JE
    VT220, CM7209

  14. #10
    Guru
    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,777
    Спасибо Благодарностей отдано 
    2
    Спасибо Благодарностей получено 
    122
    Поблагодарили
    61 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Вот это и интересно насколько он аналогичный
    Я без проблем подключал винчестер от ДВК-4 к Э-85.

Страница 1 из 28 12345 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 537
    Последнее: 23.01.2024, 20:06
  2. Раскажем о других
    от VNN_KCS в разделе Люди
    Ответов: 10
    Последнее: 27.11.2011, 19:35
  3. Ответов: 26
    Последнее: 10.05.2011, 10:45
  4. Для ААА и других ценителей.
    от Destr в разделе Разный софт
    Ответов: 12
    Последнее: 11.05.2009, 07:30

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •