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
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
я уже писал, эта версия самая стабильная,Скрытый текст
а 5.08 случайно попалась в комплекте
эмулятора ДВК ) То есть везде до этого 5.09 - чисто визуально, она зачем-то микро паузу
такую берёт перед каждой операцией - когда долго пользуешся это заметным становится,
то есть вот она быстренько вывела каталог по запросу и ключам и "микро-пауза",
финальную информацию по устройству - и вот во время этой "микро-паузы" вполне может
и трапнуться и повиснуть или просто вылететь в @@@СТОП@@@. Но это я понимаю
малонаучный подход. Будем собирать статистику, делать скрины и фиксировать глюки.
Если наберётся за год инфа сделаю тему отдельную ) Для себя я то выхожу из ситуации,
просто для "посторонних" и "вновь прибывших" - это лишний повод сказать про "виснет от каждого чиха"
про УК-НЦ и про нестабильность в целом ПО. В общем легко лечится заменой (откатом) на 5.08 версию,
она так-же всё с датами современными дружит.[свернуть]
Дело не в стабильности - стабильные все в своих системах. Просто в 5.3 DIR точно не использовал всяких вызовов .GF* которых нету в ранних версиях RT-11 (включая ранние v5). Ну и по размеру он поменьше будет, а это тоже часто важно, особенно если в системе куча драйверов от советских умельцев которые понятия не имели о правилах написания таковых
В общем же случае правило одно: использовать родные программы от системы.
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
form, среди прочих материалов опубликованных Хранительницей, нашёлся дистрибутив QQ - монитора.
Особенности этого "гибридного" монитора коротко описаны авторами, многократно обсуждались на форуме
временно я разместил этот образ в разделе УК-НЦ, где позднее будут размещены все
предоставленные Хранительницей образы дискет.
http://archive.pdp-11.org.ru/ukdwk_a..._RT11QQ_DISTR/
Этот вариант ОС RT-11 показал уникальную стабильность при использовании с любыми программами (разных лет),
на УК-НЦ и ДВК (различных модификаций). Мне попадались образы чисто под MY драйвер и конечно
большинство под УК-НЦшный MZ. Единственный минус - отсутствие поддержки современных дат.
Я открыл файл KMOV01.MAC, похоже именно тут даты или я ошибаюсь?
Листинг
Код:.SBTTL KMOV01.MAC .SBTTL DATE OVERLAY .IF EQ BF .IF NE LOAD$$ OVCMD LOAD CALLR LOADO .ENDC OVCMD OL1 CALLR OL1O .ENDC .IF NE CLOS$$ OVCMD CLOSE CALLR CLOSEO .ENDC .IF NE DATE$$ OVCMD DATE .ENABL LSB ADDR TMRLST,R3 MOV R3,R0 MOV R3,-(R0) TST -(R0) EMT 375 ADDR MONTHS,R4 MOV @#SYSPTR,R0 TSTB @R5 BEQ 6$ CMPB @R5,#SPACE BEQ 1$ INC R5 1$: CLR R1 JSR R3,NUMK .BYTE 0.,31.-0. SWAB R1 ASR R1 ASR R1 ASR R1 INC R5 MOV R5,R3 2$: ADD #2000,R1 TSTB 1(R4) BEQ 10$ MOV R3,R5 MOV R4,R2 CMP (R4)+,(R4)+ 3$: MOVB (R2)+,-(SP) BICB #40,@SP MOVB -(R5),-(SP) BICB #40,@SP CMPB (SP)+,(SP)+ BNE 2$ 4$: CMP R2,R4 BLOS 3$ JSR R3,NUMK .BYTE 72.,99.-72. TSTB @R5 BNE 10$ ADDR TMRLST,R0 MOV #-1,@R0 MOV R1,-(R0) MOV R0,SDTM+2-<TMRLST-2>(R0) ADD #SDTM-<TMRLST-2>,R0 .SDTTM RETURN ; OUTPUT DATE FROM MONITOR 6$: MOV $DATE-$RMON(R0),R2 BEQ 10$ 7$: MOV @SP,R0 MOV R2,-(SP) BIC #^C<37>,@SP ASR R2 ASR R2 ASR R2 ASR R2 ASR R2 BNE 7$ CALL R10ONF DEC @SP ASL @SP ASL @SP ADD (SP)+,R4 MOV #5,R2 8$: .TTYOUT (R4)+ DEC R2 BNE 8$ TST (SP)+ MOV (SP)+,R0 ADD #72.,R0 JMP R10OUT ;#### ;#### CALL R10OUT ;####K0CRLF: ;#### OJMP KCRLF 10$: .IF EQ CONT$N KMEROR <Invalid or no date> .IFF KMEROR <Invalid or no date>,,WARN$ .ENDC NUMK: OJSR PC,DECNUM MOVB (R3)+,R2 SUB R2,@SP BLE 10$ MOVB (R3)+,R2 CMP @SP,R2 BGT 10$ ADD (SP)+,R1 RTS R3 .DSABL LSB .ENDC .IF NE TIME$$ .SBTTL TIME OVCMD TIME .ENABL LSB OTIME: MOV @#SYSPTR,R0 ADD #CONFIG-$RMON,R0 BIT #CLK50$,@R0 BEQ 1$ MOVB #50.,9$ MOVB #50.,CLKFRQ 1$: ADDR TMRLST,R3 MOV R3,R0 MOV R3,-(R0) TST -(R0) EMT 375 TSTB @R5 BEQ 8$ CMPB @R5,#SPACE BEQ 2$ INC R5 2$: CMP (R3)+,(R3)+ CLR R1 CLR -(SP) 3$: OJSR PC,DECNUM MOVB (R3)+,R4 CMP R4,@SP BLOS 12$ CMPB @R5,(R3)+ BEQ 4$ TSTB @R5 BNE 12$ INC R5 4$: ADD (SP)+,@SP ADC R1 MOVB @R3,R4 BEQ 6$ MOV R1,R2 MOV @SP,R0 5$: DEC R4 BEQ 3$ ADD R0,@SP ADC R1 ADD R2,R1 BR 5$ 6$: MOV @#SYSPTR,R0 .IF NE BF!TIME$R SUB TMRLST+2,@SP SBC R1 SUB TMRLST,R1 ADD (SP)+,$TIME+2-$RMON(R0) ADC R1 ADD R1,$TIME-$RMON(R0) K0RTS: RETURN .IFF OINTOF 7$ MOV (SP)+,$TIME+2-$RMON(R0) MOV R1,$TIME-$RMON(R0) MOV @SP,-(SP) CLR 2(SP) 7$: RTI .ENDC 8$: MOV (R3)+,R1 MOV (R3)+,R2 JSR R4,DIVIDE 9$: .WORD 60. MOV R5,R0 MOV #3,R3 10$: MOV R0,-(SP) JSR R4,DIVIDE .WORD 60. DEC R3 BNE 10$ 11$: CALL R10OUT MOV (SP)+,R2 BMI 14$ .TTYOUT #': MOV R2,R0 BR 11$ 12$: .IF EQ CONT$N KMEROR <Invalid time> .IFF KMEROR <Invalid time>,,WARN$ .ENDC 14$: RETURN .DSABL LSB .ENDC .IF NE TIME$$!DATE$$ .SBTTL DECIMAL OUTPUT AND CONVERSION .ENABL LSB R10ONF: R10OUT: SWAB R0 1$: ADD #173001,R0 BPL 1$ ADD #'0+<10.*400-1>,R0 .TTYOUT SWAB R0 2$: ADD #'0,R0 .TTYOUT RETURN .DSABL LSB DIVIDE: CLR R0 MOV #31.,R5 1$: ASL R2 ROL R1 ROL R0 CMP R0,@R4 BLO 2$ SUB @R4,R0 INC R2 2$: DEC R5 BPL 1$ TST (R4)+ RTS R4 SDTM: .BYTE 0,..SDTM .WORD 0 .NLIST BEX ..MNTH == . MONTHS: .ASCIZ "-Jan-Feb-Mar-Apr-May-Jun-Jul-Aug-Sep-Oct-Nov-Dec-" .LIST BEX .BYTE 0,..GTIM .WORD 0 TMRLST: .WORD 0,0 .BYTE 24.,':,60.,':,60.,'. CLKFRQ: .BYTE 60.,377,0 .EVEN .ENDC .IF NE CLOS$$ .SBTTL CLOSE CLOSEO: TSTB @R5 BNE 12$ CLR R2 CLR R4 1$: MOV @#SYSPTR,R3 ADD #$CSW-$RMON,R3 MOV (PC)+,R5 .CLOSE 0 2$: MOV @R3,R0 BPL 6$ BIC #^C<76>,R0 ADD @#SYSPTR,R0 ADD #$PNAME-$RMON,R0 OINST MOV @R0,INPFN,,* TST R2 BNE 4$ OADDR DEVSTS,SP EMT 342 BCS 11$ TST 4(R0) BNE 3$ MOV 2(R0),R0 CMP R0,R4 BLOS 3$ MOV R0,R4 3$: BR 6$ 4$: MOV R0,-(SP) TST R4 BEQ 5$ .SERR MOV @SP,R0 .FETCH R4 BCS 10$ .HERR 5$: .IF EQ BF CLRB C.DEVQ(R3) .ENDC MOV R5,@PC HALT BCS 13$ MOV (SP)+,R0 .RELEASE 6$: INC R5 ADD #12,R3 CMP R5,(PC)+ .CLOSE 20 BLO 2$ TST R2 BNE 8$ MOV R4,R0 BEQ 7$ OINST MOV SP,@.EXTFL,,* OJSR PC,GETBLK BCC 7$ SUB R0,@SP 7$: OINST CLR @.EXTFL,,* MOV SP,R2 BR 1$ 8$: TST R4 BEQ 9$ OINST MOV SP,@.EXTFL,,* OJSR PC,PUTBLK BCC 9$ ADD R0,@SP 9$: OINST CLR @.EXTFL,,* .IF NE BF .SRESET .IFF OJSR PC,RSTSRS .ENDC RETURN 10$: OJSR PC,PUTBLK TSTB @#ERRBYT BPL 11$ OJMP BADFET 11$: OJMP BADHAN 12$: OJMP BADCOM 13$: KMEROR <File created; protected file already exists>,,WARN$ .ENDC .IF NE BF OVERLAY OVCMD OL1 CALLR OL1O OVCMD LOAD .ENDC .SBTTL LOAD .IF NE LOAD$$ SYNTAX LOAD PROMPT $DEVICE REQBLNK END SWITS LOAD ENDNO NOS ENDS LOADO: .IFTF .ENABL LSB .IFT ITBLE 0 OJSR PC,INITIT MOV R5,R2 MOV R5,R3 5$: MOVB -(R2),-(R3) BEQ OLOAD CMPB #<SPACE>,@R2 BNE 5$ TSTB (R3)+ BR 5$ OLOAD: OADDR DEVSTS,R2 OJSR PC,GETNAM OJSR PC,OPTCOL .ENDC OL1O: CALL MAPIT1 CLR FTEMP .IF NE BF .IF EQ SYT$K CLR R3 CMPB #<'=>,@R5 BNE 20$ BICB #40,-(R5) CMPB #<'B>,@R5 BEQ 10$ CMPB #<'F>,@R5 BNE IMSG3 TST (R3)+ 10$: INC R3 DEC R5 .IFF MOV #<-1>,R3 CMPB #<'=>,@R5 BNE 20$ MOV R2,-(SP) CALL CKLJN1 BNE 15$ DEC R5 MOV R5,R4 CLRB @R3 KMRTMG <No such job ->,,<BCKASZ> 15$: MOV (SP)+,R2 .ENDC .ENDC 20$: MOV @R2,-(SP) OINST MOV @R2,INPFN,,* .DSTAT R2,R2 BCS IMSG1 TST 4(R2) BNE 50$ MOV (SP)+,@R2 MOV 2(R2),R0 MOV R2,-(SP) MOV R3,-(SP) MOV SP,@<.EXTFL-OVLY>-<.+4-OVLYST>(PC) OJSR PC,GETBLK MOV (SP)+,R3 BCC 25$ SUB R0,R5 SUB R0,2(SP) SUB R0,@SP 25$: .SERR MOV @SP,R0 .FETCH R4 BCS IMSG0 .HERR MOV R4,FTEMP CLR -(SP) MOV (R4)+,R2 BPL 40$ ASL R2 ADD R2,R4 MOV (R4)+,R2 BPL 35$ MOV (R4)+,@SP MOV @#SYSPTR,R2 CALL @GETVEC-$RMON(R2) BCS IMSG0X 30$: MOV (R4)+,R2 35$: ADD @SP,R2 40$: BLE 45$ MOV R4,-(SP) MOV #1,R4 MOV @#SYSPTR,R0 ADD #LOWMAP-$RMON,R0 OJSR PC,SETBT2 MOV (SP)+,R4 CMP (R4)+,(R4)+ BR 30$ 45$: TST (SP)+ MOV (SP)+,R2 BR 20$ IMSG3: OJMP BADCOM IMSG0X: TST (SP)+ MOV FTEMP,R4 IMSG0: OJSR PC,PUTBLK TSTB @#ERRBYT BPL IMSG1 OJMP BADFET IMSG1: OJMP BADHAN 50$: .IF NE BF CLR R1 OINST MOV .$ENTR,R0,* 55$: CMP 4(R2),(R0)+ BNE 60$ MOV @SP,R4 MOV R1,-(SP) OINST ADD .$PNAM,@SP,* SUB @(SP)+,R4 BEQ 65$ SUB #<^R 0>,R4 CMP R4,#7 BLOS 65$ 60$: TST (R1)+ CMP R1,#$SLOT*2 BLO 55$ MOV FTEMP,R4 BEQ IMSG3 OJSR PC,PUTBLK BR IMSG3 65$: MOV @#SYSPTR,R0 CMP R1,SYINDX-$RMON(R0) BNE 70$ TST R3 .IF NE SYT$K BMI 70$ .IFF BEQ 70$ .ENDC CMPB SYUNIT+1-$RMON(R0),R4 BEQ IMSG1 70$: .IF NE SYT$K INC R3 .ENDC BIT #FILST$!SPECL$,@R2 BEQ 75$ MOV #17,FTEMP CLC ROR R4 BCC ESRCH ASL R3 ASL R3 ASL R3 ASL R3 COMB FTEMP BR ESRCH 75$: TST R3 BEQ ESRCH .IF EQ SYT$K DEC R3 BEQ 80$ MOV #^B<0010001000100010>,R3 80$: ADD #^B<0001000100010001>,R3 .IFF MOV R3,R0 SWAB R0 BIS R0,R3 MOV R3,R0 ASL R3 ASL R3 ASL R3 ASL R3 BIS R0,R3 .ENDC ESRCH: CLR R1 OINST MOV .$ENTR,R0,* 85$: CMP 4(R2),(R0)+ BNE 100$ MOV R1,-(SP) OINST ADD .$OWNE,R1,* BIT #FILST$!SPECL$,@R2 BEQ 90$ ADD R4,R1 BICB FTEMP,@R1 BISB R3,@R1 BR 95$ 90$: MOV R3,(R1)+ MOV R3,@R1 95$: MOV (SP)+,R1 100$: CMP (R1)+,(R1)+ CMP R1,#$SLOT*4 BLO 85$ .ENDC TST (SP)+ CLR @<.EXTFL-OVLY>-<.+4-OVLYST>(PC) .IF NE LOAD$$ CMPB @R5,#<COMMA> BEQ 105$ .ENDC TSTB @R5 BNE IMSG3 RETURN .IF NE LOAD$$ 105$: CALLR OLOAD .ENDC .DSABL LSB FTEMP: .WORD 0 MAPIT1: MOV #$SLOT+3,R3 OINST MOV .$UNAM,R1,* 1$: DEC R3 BEQ 2$ CMP @R2,(R1)+ BNE 1$ MOV $UNAM1-$UNAM2-2(R1),@R2 2$: RETURN .IF NE SYT$K .ENABL LSB CKLJN1: MOV R5,(PC)+ R5STA1: .WORD 0 ADDR NBUFF1+6,R0 CLR -(R0) CLR -(R0) CLR -(R0) MOV R0,-(SP) MOV #6,R1 TSTB -(R5) BNE 10$ OJMP BADCOM 5$: TSTB -(R5) BEQ 15$ CMPB #COMMA,@R5 BEQ 15$ 10$: MOVB @R5,(R0)+ DEC R1 BNE 5$ DEC R5 MOV R5,R3 15$: MOV (SP)+,R0 MOV R5,-(SP) MOV @#SYSPTR,R5 ADD #$IMPUR-$RMON,R5 MOV R5,(PC)+ IMSTA1: .WORD 0 CLR R4 CALL FNDJOB-$IMPUR(R5) BEQ 20$ MOV R5,R4 SUB IMSTA1,R5 MOV R5,R3 BR 25$ 20$: MOV R5STA1,@SP 25$: MOV (SP)+,R5 TST R4 RETURN NBUFF1: .BLKW 3 .DSABL LSB .ENDC[свернуть]
Вопрос к товарищу form и всем желающим прокомментировать этот исторический момент,
может быть "малой кровью" добавим поддержку дат и какие-то ещё необходимые в связи с этим
правки? Я смог бы "возможно" сам но не настолько я понимаю исходник, что бы без шпаргалок\
подсказок и наводок что то там шуршить. Я вижу там константу 72. - так понимаю это её нужно
править в первую очередь, но вот например где уст. 2 циферки под год и как их на 4 поправить?
Что ещё нужно сделать.
В архиве есть текущий рабочий образ для УК-НЦ.
http://archive.pdp-11.org.ru/ukdwk_a.../RT11A1_qqfix/
- - - Добавлено - - -
Да! Этот монитор конечно актуален только в рамках темы УК-НЦ и ДВК !!! То есть для отечественных машинок только !!!
Это оверлеи команд, в частности команды DATE.
Ну методика добавки известна - никто не мешает
В общем случае, нужно поправить:
- KMON (KMOVLY.MAC) на предмет приема команд с расширенными датами
- RMON (RMON.MAC [5.6 и новее] или RMONSJ/RMONFB.MAC) на предмет обработки переключения даты (sysgen опция date rollover)
- RMON макровызовы .SDTTM и .SFxxx
1972 - это минимальный год который RT-11 позволяет обозначить. Год меньше 1972 в RT-11 представить невозможно. В целом же при доработке KMON нужно различать двузначные и четырехзначные даты и поступать соответственно. Как уже писал, алгоритм Mentec в этом случае позволяет вводить годы 72-99 (для 1972-1999) и 1972-2099 (год 2099 - это предел для RT-11). Мой вариант (который реализовал в RT-11 V5.3) также позволял вводить годы 00-71 (2000-2071).
Ну и добавлю, что попытка просто поправить KMOVLY.MAC для RT-11 старее 5.2 провалилась - после правки оверлеи не влезали в рамки сегмента. Нужно заниматься перераспределением команд по оверлеям.
Последний раз редактировалось form; 16.11.2016 в 18:20.
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
для меня сложновато, если честно. Дистрибутив QQ-монитора какое-то время по ссылке выше будет
доступен, а позднее все образы Хранительницы я к архиву прилеплю.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)