Попробуй вот это https://yadi.sk/d/KgsyWdk-oKUyz
Попробуй вот это https://yadi.sk/d/KgsyWdk-oKUyz
Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Andrey_Ak WEB: www.tis.kz ICQ: 345-005-908 Mail: admin@tis.kz Fido: 2:5083/1 Radio: UN7GKQ
Собрал все драйвера и исходники DW которые
нашел у себя в архивах тут: http://www.tis.kz/forum/topic.php?forum=28&topic=7
Наиболее интересны эти:Код:DW1 .SYS 4 02-Feb-1990 Из образа DW_System54.DSK из Эмулятора ДВК Тип системы 0 DW2 .SYS 7 08-Mar-1990 Рождевственин v.05.08 из образа RT11A_UT.DSK от тов. Grand Тип системы 0 DW3 .SYS 4 27-Dec-1988 Из образа FODOS300.DSK от тов. Grand Тип системы 4 DW4 .SYS 4P 27-Jul-1990 Из образа 01.dsk из архива kaldyh-1.rar от тов. KALDYH Тип системы 4 DW5 .MAC 19 04-Sep-1991 Из образа 02.dsk из архива kaldyh-1.rar от тов. KALDYH DW6 .MAC 43 07-Feb-1991 Из образа 08.dsk из архива kaldyh-1.rar от тов. KALDYH DW7 .SYS 5 11-Feb-1987 Из образа 10.dsk из архива kaldyh-1.rar от тов. KALDYH Тип системы 0 DW8 .MAC 31 11-Feb-1987 Из образа 12.dsk из архива kaldyh-1.rar от тов. KALDYH DW9 .SYS 4 21-May-1992 Из образа 13.dsk из архива kaldyh-1.rar от тов. KALDYH Тип системы 4 DWDWK .MAC 20P 27-Jul-1990 Из образа 03.dsk из архива kaldyh-3.rar от тов. KALDYH DW10 .MAC 19 04-Sep-1991 Из образа 06.dsk из архива kaldyh-3.rar от тов. KALDYH DW11 .SYS 4P 27-Jul-1990 Из образа 07.dsk из архива kaldyh-3.rar от тов. KALDYH Тип системы 4 DWDWK .MA 20P 27-Jul-1990 Из образа 09.dsk из архива kaldyh-3.rar от тов. KALDYH DW12 .SYS 4P 12-Jan-1991 Из образа 03.dsk из архива kaldyh-4.rar от тов. KALDYH Тип системы 4 DW13 .SYS 4P 12-Jan-1991 Из образа 07.dsk из архива kaldyh-4.rar от тов. KALDYH Тип системы 4 DW14 .SYS 4 27-Dec-1988 Из образа 15.dsk из архива kaldyh-4.rar от тов. KALDYH Тип системы 0 DW15 .SYS 4P 12-Jan-1991 Из образа 12.dsk из архива kaldyh-5.rar от тов. KALDYH Тип системы 4 DW16 .MAC 19 04-Sep-1991 Из образа 13.dsk из архива kaldyh-5.rar от тов. KALDYH DW17 .SYS 5 11-Feb-1987 Из образа 06.dsk из архива kaldyh-6.rar от тов. KALDYH Тип системы 0 DW18 .MAC 31 11-Feb-1987 Из образа 08.dsk из архива kaldyh-6.rar от тов. KALDYH DW19 .MAC 19 04-Sep-1991 Из образа 09.dsk из архива kaldyh-6.rar от тов. KALDYH DW20 .MAC 43 07-Feb-1991 Из образа 11.dsk из архива kaldyh-6.rar от тов. KALDYH
Судя по названию исходника, и в исходнике русские комментарии..Код:DWDWK .MAC 20P 27-Jul-1990 DW11 .SYS 4P 27-Jul-1990
Может это и есть исходник драйвера от ДВК? А не от Прошника...
Посмотрите все это...
Вот архив:
http://tis.kz/progs/dvk/DW-ALL.rar
Текст исходника драйвера:
Код:;************************************************************ ;* вариант драйвера Винчестера СМ 5508, А.Саньков * ;* использован в качестве системного с 14 июля 1990 г. * ;* последняя коррекция 26 июля 1990, при MMG$T = 1 работает* ;************************************************************ .LIST ME .NLIST BIN .NLIST SEQ .LIST TTM .NLIST CND .MCALL .DRDEF .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 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 " .SBTTL DRIVER ENTRY .DRBEG DW BR .1020 NOWRIT: .WORD 0 ;[NO]WRITE $RETRY: .WORD 10 .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: ASL #100000 BCC .1136 ;параметры уже установлены BIT #400,20(R4) BNE .1136 ;медленный поиск, 5 М MOV #306.,MAXCIL ;установка параметров для MOV #19584.,MAXBLK ;10 М диска MOV #19519.,.1250 ;Длина при замещении(?).BAD .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 ;# сектора MAXBLK: .WORD 9792. .1250: .WORD 9727. MAXCIL: .WORD 153. .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 #177000,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 BIT #400,20(R4) BNE 37$ ;медленный поиск, 5 М MOV #306.,MAXCB ;установка параметров для 10 М 37$: CMP R0,#231 MAXCB = .-2 BCS .3332 .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[свернуть]
- - - Добавлено - - -
Хорошо, скачал.. Вечером попробую на нем отформатировать..
Andrey_Ak WEB: www.tis.kz ICQ: 345-005-908 Mail: admin@tis.kz Fido: 2:5083/1 Radio: UN7GKQ
Andrey_Ak WEB: www.tis.kz ICQ: 345-005-908 Mail: admin@tis.kz Fido: 2:5083/1 Radio: UN7GKQ
Зато у нее для этих программ очень мало памяти.
Собственно, сочинить драйвер для RT-11 - ничего военного, достаточно помнить руководство "программирование внешних устройств" от RT-11, иметь полное руководство по программированию контроллера (две-три странички в описании контроллера) и знать асм. Только вот с большими дисками облом: контроллер не поддерживает диски более 64М. А драйвер, обслуживающий такие диски уже есть, зачем напрягаться?
Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)
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
Invalid directory - это не физический сбой. Значит, по крайней мере, форматирует оно правильно. А вот пишет не туда, или читает не то, что надо. Контроллер с другими винтами работает нормально? И шлейф тоже.
Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)
Andrey_Ak WEB: www.tis.kz ICQ: 345-005-908 Mail: admin@tis.kz Fido: 2:5083/1 Radio: UN7GKQ
А попробуй сделать DESS DW: там же есть проограмма DESS?
Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)