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
Последний раз редактировалось hobot; 26.02.2012 в 16:03.
А уживаться и не надо, надо им пользоваться как инструментом
Я в принципе все дискеты для УКНЦ (или если правильнее, вообще все дискеты и все диски кроме HDD для УКНЦ) готовил в E11.
---------- Post added at 18:46 ---------- Previous post was at 18:43 ----------
На картинке видна распечатка драйвера для системы без поддержки device timeout. Проблема отсутствует по определению.
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
А я к нему так никогда и не смог привыкнуть несмотря на то, что он пытается сделать вид, что работает в RSX
Возможно по той причине, что сначала всегда был PUD под рукой (который почти 1:1 RSXовский DUP), а в армии было проще написать свой редактор с нуля чем найти что-то еще
---------- Post added at 19:03 ---------- Previous post was at 18:57 ----------
А этот из образа даже этого не пробует - фи
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
Размещение рекламы на форуме способствует его дальнейшему развитию
Когда я делал первый вариант RT-11 для первого варианта БК-0011 (когда у БК-0011 ещё не было вообще ни одной операционки) - то впервые загрузив на БК созданный для неё системный диск - обнаружил, что там нет экранного редактора, но зато есть BASIC.SAV и немедленно написал экранный редактор на Бэйсике.
Код:1 PRINT "Экранный редактор для БК-0011. Версия 1.0 <1988>" 2 PRINT \ GO TO 8 3 GO TO 1150 6 R7%=1% \ RETURN 7 R7%=0% \ RETURN 8 PUT(3%,-18812%) \ C1$=CHR$(26%) \ C2$=CHR$(27%) \ C3$=CHR$(25%) \ C4$=CHR$(8%) 9 G$=CHR$(7%) \ G%=1% \ X%=G%+Z1% \ Z%=1% \ Y%=Z% \ Z2%=Z1%+64% \ M$=CHR$(13%) 10 DIM A$(255%) \ K$=CHR$(11%) \ S$=CHR$(12%) \ H$=CHR$(18%) \ I$=CHR$(10%) \ I1$=CHR$(30%) 11 C$="QZ TBEN"+C1$+C2$+C3$+C4$+CHR$(22) \ N1%=80% \ N2%=20% \ N%=N1% \ E$=CHR$(5%) 12 U$=CHR$(0%) \ FOR J%=0% TO N1% \ P$=P$+U$ \ A$(J%)=E$ \ NEXT J% 14 R$=CHR$(14%) \ R1$=CHR$(15%) \ T$=CHR$(9%) 18 A%=TTYSET(255%,250%) 20 F$=" файл " \ PRINT "Входной ";F$; \ INPUT F1$ 30 IF F1$="" THEN D%=1% 40 PRINT "Выходной";F$; \ INPUT F2$ \ IF F2$="" THEN F2$=F1$ 50 IF D%=0% THEN OPEN F1$ AS FILE 1% 60 OPEN F2$ FOR OUTPUT AS FILE 2% FILESIZE -1% 80 GET(36%,J9%) \ PUT(4096%,36%) \ PRINT CHR$(2%); 84 A%=SYS(7%,0%) 90 GOSUB 3000 100 GOSUB 1500 102 E%=0% \ K%=0% \ V%=0% 110 A$=CHR$(A%) \ IF A%>31% THEN IF A%<127% THEN GOSUB 3635 \ GO TO 800 120 IF A%=127% THEN GOSUB 3640 \ GO TO 800 130 ON A% GOSUB 10000,3700,3,3680,3,3,3,3400,3,5000,3,3,3,6,7,3,3,2950,6000,3,3720,3600,3618,3,3300,3100,3200,3,3,3,3 150 ON K%+1% GO TO 800,840 800 A$(ASC(SEG$(P$,Z%,Z%)))=L$ 840 GO TO 100 1000 L$="" \ IF D%=1% THEN E%=1% \ RETURN 1002 IF END #1% THEN GOSUB 1150 \ RETURN 1004 LINPUT #1%:L1$ \ IF POS(L1$,T$,1%)<>0% THEN 1008 1006 IF R%=0% THEN IF POS(L1$,R$,1%)=POS(L1$,R1$,1%) THEN L$=L1$ \ RETURN 1008 T1=0 1010 FOR J%=1% TO LEN(L1$) \ A%=ASC(SEG$(L1$,J%,J%)) \ IF A%=14% THEN R%=1% \ GO TO 1100 1020 IF A%=15% THEN R%=0% \ GO TO 1100 1022 T2%=0% 1024 IF A%=9 THEN A%=32 \ T2%=1% 1030 L$=L$+CHR$(A%+128%*R%) 1040 T1=T1+1 1050 IF T2%=1% THEN IF INT(T1/8)<>T1/8 THEN 1030 1100 NEXT J% \ RETURN 1150 PRINT G$; \ K%=1% \ E%=1% \ RETURN 1200 PRINT \ PRINT I1$; \ I%=1% 1210 FOR J%=I% TO LEN(L$) \ IF J%>Z1% THEN IF J%<Z2% THEN PRINT SEG$(L$,J%,J%); 1212 NEXT J% \ PRINT K$ \ RETURN 1300 PRINT H$; \ FOR J%=2% TO Y% \ PRINT I$; \ NEXT J% 1310 FOR J%=2% TO X% \ PRINT C3$; \ NEXT J% \ RETURN 1500 A%=SYS(1%) \ IF A%=13% THEN A%=SYS(1%) 1510 RETURN 1550 X%=G%-Z1% \ IF Z1%>=G% THEN X%=1% \ V2%=1% 1552 IF G%-Z1%>Z2% THEN X%=64% \ V1%=1% 1554 RETURN 2000 IF N%<1% THEN 1150 2010 P%=POS(P$,U$,1%) \ GOSUB 2200 \ A$(M%)=L$ \ N%=N%-1% \ GO TO 2600 2200 FOR M%=1% TO 251% \ IF A$(M%)=E$ THEN RETURN 2202 NEXT M% \ RETURN 2400 A$(ASC(SEG$(P$,P%,P%)))=E$ \ P$=SEG$(P$,1%,P%-1%)+SEG$(P$,P%+1%,N1%)+U$ \ N%=N%+1% \ RETURN 2500 IF N%<1% THEN 1150 2510 P$=SEG$(P$,1%,P%-1%)+CHR$(M%)+SEG$(P$,P%,N1%) \ N%=N%-1% \ RETURN 2600 GOSUB 2400 \ GOSUB 2500 \ RETURN 2700 FOR J%=1% TO LEN(L$) \ A%=ASC(SEG$(L$,J%,J%)) \ R1%=0% \ IF A%>128% THEN R1%=1% \ A%=A%-128% 2710 IF R1%<>R2% THEN PRINT #2%:CHR$(15%-R1%); \ R2%=R1% 2720 PRINT #2%:CHR$(A%); \ NEXT J% \ PRINT #2% \ RETURN 2800 I%=Z%-1% 2802 P%=1% 2810 FOR J1%=1 TO I% \ M%=ASC(SEG$(P$,1%,1%)) \ L$=A$(M%) \ GOSUB 2700 \ A$(M%)=E$ \ GOSUB 2400 \ Z%=Z%-1 2820 NEXT J1% \ RETURN 2900 I%=N%-N2% \ FOR J1%=1% TO I% \ E%=0% \ GOSUB 1000 \ GOSUB 2000 \ IF E%<>0% THEN F%=1% \ RETURN 2910 NEXT J1% \ RETURN 2950 PRINT S$; \ V%=1% 2951 I3%=Z%-Y% \ I4%=27% \ I%=N1%-N%+2% \ IF I4%>I% THEN I4%=I% 2952 FOR J1%=V% TO I4% \ I1%=I3%+J1% \ L$=A$(ASC(SEG$(P$,I1%,I1%))) \ GOSUB 1200 \ NEXT J1% \ GOSUB 1300 \ GO TO 4000 3000 GOSUB 2800 \ IF F%=0% THEN GOSUB 2900 3006 Y%=Z% \ GOSUB 2950 \ IF N1%-N%=0% THEN L$="" \ GOSUB 2000 3010 GO TO 3350 3100 Y%=Y%-1% \ IF Y%=0% THEN Y%=1% \ V%=1% 3110 Z%=Z%-1% \ IF Z%=0% THEN Z%=1% \ GOSUB 1150 \ RETURN 3114 GOSUB 4000 3116 PRINT I1$; 3120 IF V%=1% THEN GOSUB 1200 \ PRINT C1$; \ IF S%>=G% THEN 1310 3121 IF S%<G% THEN X%=1% \ PRINT M$; \ GO TO 3354 3130 RETURN 3200 I%=N1%-N% 3210 Z%=Z%+1% \ IF Z%>I% THEN Z%=I% \ GOSUB 1150 \ RETURN 3212 Y%=Y%+1% \ IF Y%=28% THEN Y%=27% \ V%=1% 3214 GOSUB 4000 3220 PRINT I$; \ GO TO 3120 3300 G%=G%+1% \ IF G%>S% THEN 3352 3306 IF G%=Z1%+1% THEN V2%=0% \ RETURN 3308 IF V2%=1% THEN RETURN 3310 V1%=0% \ X%=X%+1% \ IF X%>Z2% THEN X%=Z2% \ V1%=1% \ RETURN 3320 PRINT C3$; \ RETURN 3330 RETURN 3350 G%=1% \ X%=1% \ PRINT M$; \ IF Z1%>0% THEN V2%=1% 3351 RETURN 3352 IF Z%=N1%-N% THEN GOSUB 3121 \ GO TO 1150 3353 GOSUB 3350 \ GO TO 3200 3354 G%=S% \ V2%=0% \ I%=64%-X% \ I1%=S%-X%-Z1% \ V1%=1% \ IF I%>I1% THEN I%=I1% \ V1%=0% \ IF I1%<0% THEN V2%=1% \ RETURN 3355 X%=X%+I% \ FOR J%=1% TO I% \ PRINT C3$; \ NEXT J% \ RETURN 3356 GOSUB 3100 \ IF E%=0% THEN 3354 3360 RETURN 3400 G%=G%-1% \ IF G%=0% THEN G%=1% \ GO TO 3356 3406 IF G%-Z1%=Z2% THEN V1%=0% \ RETURN 3408 IF V1%=1% THEN RETURN 3410 V2%=0% \ X%=X%-1% \ IF X%=0% THEN X%=1% \ V2%=1% \ RETURN 3422 PRINT C4$; \ RETURN 3500 PUT(J9%,36%) \ V1%=0% \ V2%=0% 3504 PRINT H$;K$;"Зона "; \ PUT(19%,-18812%) \ LINPUT Y$ \ PUT(3%,-18812%) 3510 Z1%=VAL(Y$) \ Z2%=Z1%+64% \ GOSUB 1550 \ K%=1% \ PUT(4096%,36%) \ I%=SYS(7%,0%) \ GO TO 2950 3600 L$=SEG$(L$,1,G%-1%)+SEG$(L$,G%+1,S%) \ S%=S%-1% 3610 I%=G% \ GOSUB 1210 3612 PRINT C1$; \ GO TO 1310 3618 A$=" " 3620 L$=SEG$(L$,1,G%-1%)+A$+SEG$(L$,G%,S%) \ S%=S%+1% \ GO TO 3610 3635 IF R7%=1% THEN A$=CHR$(A%+128%) 3638 GOSUB 3620 \ GO TO 3300 3640 GOSUB 3400 \ GO TO 3600 3660 L1$=SEG$(L$,G%,S%) \ L$=SEG$(L$,1%,G%-1%) \ PRINT K$; \ U%=2% 3664 S%=S%-LEN(L1$) \ RETURN 3680 IF Z%=N1%-N% THEN 1150 3682 L1$=L$ \ U%=1% \ P%=Z% \ GOSUB 2400 3684 GOSUB 4000 \ GOSUB 3121 \ V%=Y% \ GO TO 2951 3700 GOSUB 2200 \ A$(M%)="" 3710 P%=Z% \ GOSUB 2500 \ GO TO 3684 3720 L1$=SEG$(L$,1%,G%-1%) \ L$=SEG$(L$,G%,S%) \ U%=3% \ GOSUB 3664 \ GOSUB 3350 \ GOSUB 1200 \ GO TO 3612 3800 ON U%+1% GO TO 1150,3830,3810,3810 3810 L$=SEG$(L$,1%,G%-1%)+L1$+SEG$(L$,G%,S%) \ I%=G% \ GOSUB 1210 \ S%=S%+LEN(L1$) \ IF U%=2% THEN 3612 3820 G%=G%+LEN(L1$) \ GOSUB 1550 \ GO TO 3612 3830 GOSUB 2200 \ A$(M%)=L1$ \ L$=L1$ \ GO TO 3710 4000 L$=A$(ASC(SEG$(P$,Z%,Z%))) \ S%=LEN(L$)+1% \ RETURN 5000 IF Z%=N1%-N% THEN L$="" \ GOSUB 2000 \ GO TO 3200 5010 GOSUB 3200 \ GO TO 3700 6000 GOSUB 1500 \ IF A%=19% THEN RETURN 6008 IF A%>96% THEN A%=A%-32% 6010 FOR J%=1% TO LEN(C$) 6014 IF A%=ASC(SEG$(C$,J%,J%)) THEN ON J% GO TO 10000,3500,3800,6040,6100,6200,3000,6300,6320,3354,3350,3660 6020 NEXT J% \ GO TO 1150 6040 Z%=1% \ Y%=Z% \ GOSUB 2950 \ GO TO 3121 6100 Z%=N1%-N% \ Y%=27% \ GOSUB 2950 \ GO TO 3121 6200 I%=N1%-N% \ IF D%=1% THEN 6208 6202 IF END #1% THEN IF A$(ASC(SEG$(P$,I%,I%)))="" THEN I%=I%-1% 6208 GOSUB 2802 \ IF D%=1% THEN 6230 6210 IF END #1% THEN 6230 6220 LINPUT #1%:L1$ \ PRINT #2%:L1$ \ GO TO 6210 6230 CLOSE \ GO TO 10000 6300 K1%=1% 6304 FOR J2%=1% TO 10% \ ON K1% GOSUB 3100,3200 \ IF E%=1% THEN RETURN 6310 NEXT J2% \ RETURN 6320 K1%=2% \ GO TO 6304 10000 PUT(J9%,36%) \ PUT(19%,-18812%) \ PRINT S$; \ STOP
Последний раз редактировалось Patron; 03.01.2013 в 01:36.
В MS-DOS программа EDIT в реале ничто иное как врапер, запускающий их басиц в режиме редактирования
Правда там программ на басице для этого не используется
---------- Post added at 19:15 ---------- Previous post was at 19:10 ----------
Кстати, на случай если не видел, я тут давеча выкладывал полный дистриб BASIC-11 и BASIC-PLUS для RT-11
Последний раз редактировалось form; 26.02.2012 в 16:14.
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
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
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)