User Tag List

Страница 147 из 402 ПерваяПервая ... 143144145146147148149150151 ... ПоследняяПоследняя
Показано с 1,461 по 1,470 из 4576

Тема: ДВК (и всё, что с ними связано)

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Нужно, чтобы при запущенном на ДВК-1 драйвере EM.SYS команда SH CON сообщала о наличии поддержки EIS и FIS, а при выключенном - не сообщала. На мой взгляд, самое простое решение - иcправить RESORC.
    Ну так это делается без правки RESORC. Согласен?
    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. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Видимо автор исходил из того, что если система не суппортит .DSTAT - выбрать аргумент. Но во-первых его суппортят все RT-11 как минимум начиная с версии 3, во-вторых при неподдерживаемом вызове RT-11 не выставляет C.

    ---------- Post added at 17:10 ---------- Previous post was at 17:09 ----------

    Цитата Сообщение от Patron Посмотреть сообщение
    Вот что отлично работало на этом месте:
    Код:
    	EMT	342		; PIC .DSTATUS
    	BCS	O.BAD
    	MOV	AREA+4,R1
    O.GOOD:
    	TST	(PC)+
    O.BAD:	SEC
    	RETURN
    Да, это правильный код.

    ---------- Post added at 17:12 ---------- Previous post was at 17:10 ----------

    Еще упростить как я нарисовал, код подсократится на слова 3-4

    Кстати даже как написано топорно можно было сократить на слово - незачем несколько раз подряд MOV PC,Rx делать
    Хотя нет - тут не поможет - мало раз делается
    Последний раз редактировалось form; 01.03.2012 в 14:17.
    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

  4. #3

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,807
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    148
    Поблагодарили
    79 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Да, это правильный код.
    Это фрагмент из первой версии драйвера. Потом авторы совместными усилиями всё запутали.

    ---------- Post added at 13:21 ---------- Previous post was at 13:13 ----------

    Похоже, что вот этот код неправильный:
    Код:
    O.ON:
    	CALL	FINDRV
    	TST	R1			; Если драйвер уже загружен,
    	BNE	L1$			; напечатать об этом
    	MOV	@#SYSPTR, R0
    	BIS	#EIS$,CONFIG(R0)	; включить EIS
      .IF DF FPP
    	BIT	#FPP$,CONFG1(R0)	; Ошибка, если нет FPP.
    	BNE	2$
    	JSR	R0,3$
    	.ASCIZ	/?EM-F-Use FPP/
    	.EVEN
    3$:	.PRINT
    	MOV	(SP)+,R0;
    	BR	O.BAD
    При отсутствии FPP - BIS #EIS$,CONFIG не отменяется перед выходом.

  5. #4

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Это фрагмент из первой версии драйвера. Потом авторы совместными усилиями всё запутали.

    ---------- Post added at 13:21 ---------- Previous post was at 13:13 ----------

    Похоже, что вот этот код неправильный:
    Код:
    O.ON:
    	CALL	FINDRV
    	TST	R1			; Если драйвер уже загружен,
    	BNE	L1$			; напечатать об этом
    	MOV	@#SYSPTR, R0
    	BIS	#EIS$,CONFIG(R0)	; включить EIS
      .IF DF FPP
    	BIT	#FPP$,CONFG1(R0)	; Ошибка, если нет FPP.
    	BNE	2$
    	JSR	R0,3$
    	.ASCIZ	/?EM-F-Use FPP/
    	.EVEN
    3$:	.PRINT
    	MOV	(SP)+,R0;
    	BR	O.BAD
    При отсутствии FPP - BIS #EIS$,CONFIG не отменяется перед выходом.
    Я бы сказал, что устанавливать его в принципе надо перед тем как уже запустился в работу. @#SYSPTR эффективно можно заменить на @R3 в данном случае. Еще ошибка: драйвер исходит из того, что EIS в принципе не поддерживается, а если он таки поддерживается и драйвер по сути эмулировал FIS, то при выключении его конфиг покажет что поддержки нет.

    ---------- Post added at 17:29 ---------- Previous post was at 17:27 ----------

    А, не, он там что-то пытается учинить разборками с прерываниями... Даже копаться лень
    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. #5

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,807
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    148
    Поблагодарили
    79 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    драйвер исходит из того, что EIS в принципе не поддерживается, а если он таки поддерживается и драйвер по сути эмулировал FIS, то при выключении его конфиг покажет что поддержки нет.
    При выключении драйвера даётся команда MUL R0,R0 и в отбработчике Trap to 010 сбрасывается системный бит поддержки EIS.

  7. #6

    Регистрация
    18.06.2018
    Адрес
    г. Москва
    Сообщений
    8
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    8
    Поблагодарили
    4 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    EM.SYS: Это фрагмент из первой версии драйвера. Потом авторы совместными усилиями всё запутали.
    https://zx-pk.ru/threads/2348-dvk-(i...a%d6%c3%c4+182

    Трудно сказать, что было в исходной версии - у меня, к сожалению, архивов не сохранилось. Если судить по тексту, то собственно часть установки драйвера модифицировалась/правилась - стиль "не мой".

    Что же касается самого кода исполнение EIS/FIS'а, то он изначально писался для поддержки арифметики для специализированной системы ЧПУ и тестировался на стандартных DEC'овских тестах довольно тщательно. А вот обертка в драйвер была сделана "на коленке" по просьбе разработчиков NTS и потом зажила своей жизнью.
    Последний раз редактировалось Igorn; 05.09.2019 в 04:49.

  8. #7

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Хотя в любом случае, он пытается вмешаться в уже проделанную BSTRAPом работу на основе своих личных впечатлений, что неправильно.
    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. #8

    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,850
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    289
    Поблагодарили
    233 сообщений
    Mentioned
    30 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вобщем посмотрел что там со стеком делается... Там это делается из расчета, что оно в подпрограмме. Но на самом деле все в принципе упрощается - незачем по 10 раз одно и то же делать.

    Вот к примеру прототип:

    Код:
            .TITLE  EM -- EIS/FIS EMULATION DRIVER
            .IDENT  /V02.00/
    
            .MCALL  .ASSUME,.DRDEF,.DSTAT,.EXIT
            .MCALL  .PRINT,.TTYOUT
    
    ; Одновременная установка WONLY$ и RONLY$ эффективно избавляет
    ; нас от потребности заниматься онанизмом после .DRBEG.
    ; Запретить FETCH для данного драйвера - благородное дело.
    ; Если будет собираться в 5.01 и старее, можно просто закоментить
    ; DRPTR.
    
            .DRDEF  EM,377,WONLY$!RONLY$,0,0,0
            .DRPTR  FETCH=*NO*
    
            .DRSET  ON,     O.ON-O.BASE,    O.EXEC
            .DRSET  OFF,    O.OFF-O.BASE,   O.EXEC
            .DRSET  INFORM, O.INFO-O.BASE,  O.EXEC
    
    ; Эти опции у нас делают примерно одно и то же. Попутно предупреждаем
    ; пользователя, что если он указал несколько опций в строке - хрен ему.
    
    O.EXEC: TSTB    -(R5)
            BEQ     40$
            JSR     R0,10$
            .ASCII  /?EM-W-Options ignored - /<200>
            .EVEN
    
    10$:    TST     (SP)+
            .PRINT
    20$:    TSTB    -(R5)
            BEQ     30$
            .TTYOUT @R5
            BR      20$
    30$:    .PRINT  R5
    
    40$:    JSR     R1,50$
            .RAD50  /EM/
            .BLKW   4
    50$:    MOV     R1,R0
            TST     (R1)+
            MOV     R1,@SP
            ADD     PC,R3
    
    O.BASE: .DSTAT
            MOV     4(R1),R1
            BCC     10$
            RETURN
    10$:    JMP     @R3
    
    ; Точки входа ON/OFF/INFORM. Сюда попадаем с адресом
    ; загрузки драйвера в R1 (0 если не загружен, в этом случае Z установлен).
    
    O.ON:
    O.OFF:
    O.INFO:
            RETURN
    
    .ASSUME . LE 1000,MESSAGE=<;SET area overflow>
    
            .DRBEG  EM
    EMINT:
            .DREND  EM
    
            .END
    Я не стал тут рисовать точку для SYSGEN, но замечу про нее - во-первых 54 можно сразу положить в R3 из DRSET, во-вторых MMGT$ проверять не надо ибо если усер переименовал EM.SYS в EMX.SYS или наоборот, в пору усомниться в его вменяемости. Для всех остальных разборок с системой места остается дохрена. Если бы оставалось мало, можно было бы элементарно перенести эти разборки в оверлей.

    ---------- Post added at 19:29 ---------- Previous post was at 19:15 ----------

    Хотя для SYSGEN там вроде и так оффсет клался в R3...
    Последний раз редактировалось form; 01.03.2012 в 16:55.
    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

  10. #9

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,807
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    148
    Поблагодарили
    79 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я пофиксил в драйвере EM.SYS только те моменты, которые приводят к невозможности корректно выйти из прерывания. Поскольку аргументы FIS не используют методов адресации - похоже, что неправильного выполнения команд FIS на ДВК-1 вообще быть не должно.

    Проверять затирание исходных данных команд EIS крайне накладно из-за использования там методов адресации. При использовании SP в качестве регистра-приёмника в команде EIS - значение SP не изменяется.
    Вложения Вложения
    Последний раз редактировалось Patron; 01.03.2012 в 19:27.

  11. #10

    Регистрация
    11.09.2009
    Адрес
    Москва
    Сообщений
    4,807
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    148
    Поблагодарили
    79 сообщений
    Mentioned
    16 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Выпущена новая версия драйвера EM.SYS ( v1.4 ) - более дружелюбная к пользователю.

    Родные версии EM.SYS при несовпадении параметров генерации вели себя так:

    Код:
    .SET EM INFORM
    ?EM-I-v1.0 by I.Nys, 116-20-42
    Options:  EIS FIS
     
    .SET EM ON
    ?KMON-F-Invalid command
     
    .SET EM SYSGEN
     
    .SET EM ON
    ?KMON-F-Invalid command
     
    .INS EM
     
    .SET EM ON
     
    .SET EM ON
    ?EM-I-Already running

    Новая версия ведёт себя так:
    Код:
    .SET EM INFORM
    EM v1.4 by I.NYS, MX
    Options: EIS FIS
     
    .SET EM ON
    ?EM-I-Conflicting SYSGEN options
    ?EM-I-Use: SET EM SYSGEN
     
    .SET EM SYSGEN
     
    .SET EM ON
     
    .SET EM ON
    ?EM-I-Already running..
    Вложения Вложения
    Последний раз редактировалось Patron; 04.03.2012 в 16:18.

Страница 147 из 402 ПерваяПервая ... 143144145146147148149150151 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Видеорежимы и работа с ними
    от icebear в разделе Программирование
    Ответов: 23
    Последнее: 26.07.2005, 12:55
  2. Видеорежимы и работа с ними
    от icebear в разделе Несортированное железо
    Ответов: 3
    Последнее: 21.07.2005, 11:49
  3. Ответов: 0
    Последнее: 25.06.2005, 23:14

Ваши права

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