User Tag List

Страница 32 из 86 ПерваяПервая ... 282930313233343536 ... ПоследняяПоследняя
Показано с 311 по 320 из 854

Тема: УКНЦ загрузка через стык С2

  1. #311

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

    По умолчанию

    Попутно заглянул в драйвер, заполнение остатка блока нулями делается драйвером, что криво и накладно. Это задача контроллера (сервера).
    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. #312

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

    По умолчанию

    Специально перенёс заполнение нулями из сервера в драйвер, чтобы протокол стал более однозначным - при запросе у сервера чтения одного байта - читается один байт, при запросе записи одного байта - пишется один байт.

  3. #313

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    Специально перенёс заполнение нулями из сервера в драйвер, чтобы протокол стал более однозначным - при запросе у сервера чтения одного байта - читается один байт, при запросе записи одного байта - пишется один байт.
    А оно так и получается в любом случае: передается столько сколько указано. Зануление конца блока - не передача данных, а документированное требование к блочным устройствам, актуальное по сей день.
    Обращаю внимание: к устройствам, не к драйверу.
    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. #314

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

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    А полноценный драйвер для УКНЦа появился уже? Всмысле чтобы функционал системы не ломал - там этого вроде не требуется
    В смысле, чтобы номер загружаемого привода принимался в R0 ?

  5. #315

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    В смысле, чтобы номер загружаемого привода принимался в R0 ?
    Всмысле чтобы .READ и .READC работали.
    В случае когда делается смешивание консоли с диском такое потребует вмешательства в систему или написание драйвера хукающегося по принципу PI. Для отдельного порта таких трудностей нет.
    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. #316

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

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Всмысле чтобы .READ и .READC работали.
    А как .READ и .READC реализованы у VM.SYS и как они работают у MX.SYS ( MX.SYS при работе вообще запрещает прерывания ) ?

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

  8. #317

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

    По умолчанию

    Цитата Сообщение от Patron Посмотреть сообщение
    А как .READ и .READC реализованы у VM.SYS и как они работают у MX.SYS ( MX.SYS при работе вообще запрещает прерывания ) ?
    VM.SYS - драйвер мгновенного действия (и то он как раз из-за этого имеет проблемы в SJ), а что касается MX - у нас полно драйверов криво писали. Но это же не повод перенимать глупости
    Ладно бы были трудности, так ведь их нет.
    А так, согласись, драйвер который ломает функционал системы - драйвером называться не имеет права

    ---------- Post added at 14:39 ---------- Previous post was at 14:25 ----------

    Наглядный пример потери функционала из-за нерабочести .READ/.READC. Это тупой тест, а я видел достаточно много программ которые выполняли реальную работу во время I/O.

    Прога тупо читает 20. блоков с SY: и пока они читаются занимается своими делами (инкрементит счетчик).

    Код:
            .TITLE  TIO -- I/O TEST
            .IDENT  /V01.00/
    
            .MCALL  .LOOKUP,.READC,.EXIT,.PRINT
    
    START:: .LOOKUP #AREA,#0,#DBLK
            BCC     20$
            .PRINT  #ERR1
    10$:    CLR     R0
            .EXIT
    
    20$:    .READC  #AREA,#0,#BUFF,#WCNT,#CRTN,#0
            BCC     30$
            .PRINT  #ERR2
            BR      10$
    
    30$:    CMP     FLAG,#1
            BCC     40$
            ADC     COUNT+2
            ADC     COUNT
            BR      30$
    
    40$:    MOV     #VALUE,R0
            MOV     COUNT,R1
            MOV     PC,R2
            CALL    $CBOMG
            MOVB    #<',>,(R0)+
            MOV     COUNT+2,R1
            MOV     PC,R2
            CALL    $CBOMG
            .PRINT  #VALUE
            BR      10$
    
    CRTN::  INC     FLAG
            RETURN
    
    COUNT:: .WORD   0,0
    
    FLAG::  .WORD   0
    
    BUFF::  .BLKW   256.*20.
    WCNT    ==      <.-BUFF>/2
    
    DBLK::  .RAD50  /SY/
            .WORD   0,0,0
    AREA::  .BLKW   7
    
    VALUE:  .ASCIZ  /XXXXXX,XXXXXX/
    
    ERR1:   .ASCIZ  /LOOKUP FAILED/
    ERR2:   .ASCIZ  /READ FAILED/
    
            .END    START
    На достаточно быстром SCSI на 11/83 имеем (время меньше секунды):

    Код:
    .RU TIO
    000000,002275
    
    .
    На УКНЦ (MZ по прерываниям [что не несет никаких проблем программам, работающим с ПП несмотря на мифы об этом]) получается 167000 с чем-то, время около секунды. А на HX примерно за пол минуты имеем ноль сделанного
    Последний раз редактировалось form; 13.01.2013 в 11:28.
    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 за это полезное сообщение:

    shattered(13.07.2020)

  9. #318

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,247
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    638
    Поблагодарили
    414 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    На УКНЦ (MZ по прерываниям [что не несет никаких проблем программам, работающим с ПП несмотря на мифы об этом])
    Небольшой оффтоп - хотелось бы поподробнее узнать про мифы насчет этого.

  10. #319

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

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Небольшой оффтоп - хотелось бы поподробнее узнать про мифы насчет этого.
    Мифы читал у Арсения на сайте - там выложена подборка каких-то статей, среди прочего была статья с исходниками драйвера MZ без прерываний и обоснование - мол поскольку работают через одну дырку, драйвер может мешать - глотает прерывания (и соответственно портит содержимое CSR или что-то в этом роде). Теоретически такое возможно например в случае запуска чтения с MZ вышеупомянутыми .READ/.READC и параллельной загрузки кода в ПП. Ну или в случае кривого драйвера (что по-видимому имело место с автором статьй) который не выключает прерывания по завершению I/O.
    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. #320

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,247
    Спасибо Благодарностей отдано 
    360
    Спасибо Благодарностей получено 
    638
    Поблагодарили
    414 сообщений
    Mentioned
    46 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Мифы читал у Арсения на сайте - там выложена подборка каких-то статей, среди прочего была статья с исходниками драйвера MZ без прерываний и обоснование - мол поскольку работают через одну дырку, драйвер может мешать - глотает прерывания (и соответственно портит содержимое CSR или что-то в этом роде). Теоретически такое возможно например в случае запуска чтения с MZ вышеупомянутыми .READ/.READC и параллельной загрузки кода в ПП. Ну или в случае кривого драйвера (что по-видимому имело место с автором статьй) который не выключает прерывания по завершению I/O.
    А-а-а-а!!!!! Теперь понял. Смысл состоит в том, что если программа через канал 2 передает блок (а это четыре байта), и в это время произойдет прерывание от драйвера MZ, и он тоже начнет что-то передавать по каналу К2, то собьется синхронизация счетчика драйвера канала 2 в системном ПЗУ ПП. Но вообще-то это невозможно, т.к. последний четвертый байт не читается из К2 со стороны ПП, пока не будет завершена операция. Т.е. если по .READ/.READC что-то запросить и сразу же попробовать работать с К2, то у него не будет установлен бит готовности. Как-то вот так ...

Страница 32 из 86 ПерваяПервая ... 282930313233343536 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Загрузка П.О. через звуковую PC.
    от Biozoom в разделе Commodore 16/64/128
    Ответов: 51
    Последнее: 06.10.2013, 11:12
  2. Загрузка УКНЦ
    от костя в разделе ДВК, УКНЦ
    Ответов: 73
    Последнее: 05.03.2011, 12:55
  3. КУПЛЮ УКНЦ Электроника МС 0511 с распаянным Стык С2.
    от falanger в разделе Барахолка (архив)
    Ответов: 5
    Последнее: 02.03.2010, 18:57
  4. Загрузка на рел Commodore 64
    от Zloy в разделе Commodore 16/64/128
    Ответов: 45
    Последнее: 27.07.2009, 12:59
  5. УКНЦ: загрузка через стык С2
    от tnt23 в разделе ДВК, УКНЦ
    Ответов: 1
    Последнее: 17.04.2009, 19:38

Ваши права

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