User Tag List

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

Тема: Контроллер псевдодиска на SD-карте для ДВК/ УКНЦ / PDP-11 original + Ethernet

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

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

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

    По умолчанию

    Цитата Сообщение от AFZ Посмотреть сообщение
    LD строку выкладывают с адреса 522 - ведь в руководстве по макро .CHAIN
    LD для команд использует .EXIT с запуском командного файла, при этом в 510 пишет длину, в 512 и далее строки. А .CHAIN начиная с 510 принимает имя программы - так видимо LD сам себя запускает.

    Цитата Сообщение от AFZ Посмотреть сообщение
    Это ведь не догма, что область 204-377 отведена под код инсталляции, а область 400-777 - под код SET ?
    Не догма, но правила нужно соблюдать
    Если не нужна процедура инсталяции, то 200/202 лучше не трогать или забить парой RETURN.
    Если не нужны команды SET, то 400 обязан содержать 0, а все остальное можно пользовать (драйвер VS так делает - у него большая процедура инсталяции перепрыгивает через 400 и идет дальше.

    Маленький хинт: драйвер не ограничен двумя блоками для обработки команд SET.
    Можно использовать область блока #1 как оверлейный буфер и подгружать нужное (пример можно посмотреть в исходниках SL, LD и других).

    - - - Добавлено - - -

    Цитата Сообщение от AFZ Посмотреть сообщение
    1. В программе установки SET-параметров собирают командную строку и переносят ее с адреса 522 (почему не 510? С 510 по 520 - нули).
    2. Делают .CHAIN
    .CHAIN начиная с 510 должен содержать имя программы для передачи.

    - - - Добавлено - - -

    Вообще, передавать себе управление через .CHAIN необязательно.
    В принципе можно прочитать код программы в память начиная с 1000 (все реквизиты в SET хандлере мы для этого имеем, а канал 17 открыт на файле драйвера), а потом передать управление в нужное место.
    Правда если памяти совсем мало свободной - для такого маневра может не хватить места

    - - - Добавлено - - -

    Ну и еще что следует помнить - это то, что формат команды SET не ограничивается одной настройкой в команде.
    Соответственно там где подразумевается .EXIT/.CHAIN стоит делать проверку и предупреждать что часть команды будет проигнорена (пример есть в SL).
    Последний раз редактировалось form; 22.05.2020 в 20:47.
    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

    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    2,321
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    225
    Поблагодарили
    177 сообщений
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    .CHAIN начиная с 510 должен содержать имя программы для передачи.
    С 500. .RAD50 /SY LD SYS/; (после "LD" 4 пробела), а с 510 уже свободно.
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

  4. #3

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

    По умолчанию

    Цитата Сообщение от AFZ Посмотреть сообщение
    С 500. .RAD50 /SY LD SYS/
    Точно, с 500.
    Кстати еще нюанс - если используем DBLK, не забываем что драйвер не обязательно называется XX.SYS.
    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

  5. #4

    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    2,321
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    225
    Поблагодарили
    177 сообщений
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Кстати еще нюанс - если используем DBLK, не забываем что драйвер не обязательно называется XX.SYS.
    Угу. В LD для этого используют $HSUFF - фиксированное смещение 412.

    Кстати, может есть какой-либо лёгкий и быстрый способ получить у системы адрес драйвера в памяти, доступный из его SET-программы? .DSTAT, как я подозреваю, недоступен - ему ведь нужна USR, а из SET-прогарммы она недоступна, да?
    Последний раз редактировалось AFZ; 22.05.2020 в 21:21.
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

  6. #5

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

    По умолчанию

    Цитата Сообщение от AFZ Посмотреть сообщение
    .DSTAT, как я подозреваю, недоступен - ему ведь нужна USR, а из SET-прогарммы она недоступна, да?
    Доступен.
    И USR ему не нужен - он не работает с каталогами диска
    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 за это полезное сообщение:

    AFZ(22.05.2020)

  7. #6

    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    2,321
    Спасибо Благодарностей отдано 
    35
    Спасибо Благодарностей получено 
    225
    Поблагодарили
    177 сообщений
    Mentioned
    17 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от form Посмотреть сообщение
    Не догма, но правила нужно соблюдать
    Если не нужна процедура инсталяции, то 200/202 лучше не трогать или забить парой RETURN.
    Да нет, нужно и то и другое.

    Цитата Сообщение от form Посмотреть сообщение
    Если не нужны команды SET, то 400 обязан содержать 0, а все остальное можно пользовать (драйвер VS так делает - у него большая процедура инсталяции перепрыгивает через 400 и идет дальше.
    Так у меня, похоже, ситуация обратная - и я планирую если что, перепрыгнуть из области SET в хвост области инсталляции.
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

  8. #7

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

    По умолчанию

    Цитата Сообщение от AFZ Посмотреть сообщение
    Так у меня, похоже, ситуация обратная - и я планирую если что, перепрыгнуть из области SET в хвост области инсталляции.
    Можно, но в условиях когда хочется побольше кода, мне кажется, что проще временно перекрывать блок #1 загруженного для выполнения SET кода. Тогда будет целый блок кода (или больше если перекрывать не один раз).
    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 (пользователей: 0 , гостей: 2)

Похожие темы

  1. Ответов: 116
    Последнее: 20.01.2024, 17:40
  2. Ответов: 327
    Последнее: 03.12.2019, 22:49
  3. Контроллер IDE PATA для QBUS (Э-60, ДВК)
    от Жека:) в разделе Новодел
    Ответов: 4
    Последнее: 04.05.2012, 14:40

Ваши права

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