User Tag List

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

Тема: Софт для УКНЦ

Древовидный режим

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

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

    По умолчанию

    Цитата Сообщение от Alex_K Посмотреть сообщение
    Спасибо за информацию. Тогда такой инфы у меня не было, собственно сделал как мог. Пришлось еще додумывать, как узнать реальное имя устройства у логического. Сидел в DESS-е, копался в памяти, но вроде правильно понял. А на точку проверять не совсем корректно, были у нас в Союзе всякие патченные системы, где точка заменялась на приглашение в виде имени текущего диска, лучше проверять на MOV R5,R5.
    А лучше это дело (тип промптера) впихнуть в SL.
    Собственно на точку можно не проверять. Если не ошибаюсь, MOV R5,R5 только в одном месте делается - именно том самом. Остальные подсказки вроде идут через .GTLIN, а это уже будет R4,R4. Надо будет посмотреть на досуге.

    А что до SL, то исходники есть от 5.7

    ---------- Post added at 14:45 ---------- Previous post was at 14:35 ----------

    А узнавание логического устройства - тут да, не просто.
    По сути единственный метод (кроме использования LOOKUP/CSTAT) - получение адреса $PNAME, скан его вверх до -1 и на основе этого вычисление длины таблиц $UNAM1 и $UNAM2.

    Что-то вроде этого:

    Код:
            MOV     @#$SYPTR,R5             ;R5 -> RTDATA
            ADD     $PNPTR(R5),R5           ;R5 -> $PNAME
            MOV     R5,R4                   ;R4 -> $PNAME
    10$:    CMP     #-1,(R4)+               ;SEARCH FOR END OF $ENTRY
            BNE     10$                     ;
            TST     -(R4)                   ;R4 -> $PNAME + <$SLOT*2>
            SUB     R5,R4                   ;R4 -> <$SLOT*2>
            ADD     #8.,R4                  ;R4 -> COMBINED TABLE SIZE
            ASR     R4                      ;R4 -> $UNAM(1,2) SIZE
    Теперь отняв от R5 R4 один раз - получаем таблицу $UNAM2 (логические имена), а отняв от него еще рз R4 получаем $UNAM1 (физические имена). Причем сканить надо всю таблицу с начала и до первого совпадения - записей для DK к примеру может быть две

    В V5.6/5.7 (может и 5.5) правда есть смещение от рмона с длиной таблицы, но на старых не сработает.

    И еще нюансик: в 5.6/5.7 в таблице имен физическое имя будет всегда коротким если система умеет 64 унита на устройство (D00, D01 итд вместо DU0, DU1). Если критично - нужно будет проверять поддержку и использовать расширенную таблицу.
    Последний раз редактировалось form; 29.11.2011 в 11:50.
    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. Эмулятор УКНЦ - UKNCBTL
    от nzeemin в разделе Эмуляторы отечественных компьютеров
    Ответов: 1114
    Последнее: 08.01.2025, 01:15
  2. Восстанавливаем УКНЦ
    от felix в разделе ДВК, УКНЦ
    Ответов: 735
    Последнее: 22.12.2024, 21:55
  3. Как проверить УКНЦ и КМД ? Help
    от Andrey_Ak в разделе ДВК, УКНЦ
    Ответов: 37
    Последнее: 23.07.2020, 15:50
  4. Проблема с УКНЦ
    от dk_spb в разделе ДВК, УКНЦ
    Ответов: 8
    Последнее: 10.01.2010, 23:04
  5. Дискетки от УКНЦ
    от ZXSlaver в разделе ДВК, УКНЦ
    Ответов: 12
    Последнее: 15.11.2009, 17:25

Ваши права

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