User Tag List

Показано с 1 по 10 из 854

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

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

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

    Регистрация
    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

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

  3. #2

    Регистрация
    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 при работе вообще запрещает прерывания ) ?

  4. #3

    Регистрация
    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)

  5. #4

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

    По умолчанию

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

  6. #5

    Регистрация
    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

  7. #6

    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    3,248
    Спасибо Благодарностей отдано 
    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, то у него не будет установлен бит готовности. Как-то вот так ...

  8. #7

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

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    то у него не будет установлен бит готовности. Как-то вот так ...
    Да, это я проверял когда свой драйвер писал.
    Так, что остается просто кривой драйвер который всегда держит прерывания разрешенными. Ну или в FB можно в теории нарваться
    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)

Похожие темы

  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

Ваши права

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