Важная информация

User Tag List

Страница 78 из 100 ПерваяПервая ... 747576777879808182 ... ПоследняяПоследняя
Показано с 771 по 780 из 991

Тема: Программирование на УКНЦ как?

  1. #771
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,167
    Благодарностей: 1969
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Conflicting SYSGEN options

    Поднимем немного тему... Уже наверное все знают что за сообщение такое - то, что вынесено в заголовок. Суть его состоит в том, что младшие 4 бита слова параметров генерации системы не совпадают с соответствующими битами параметров с которыми был собран драйвер. В некоторых случаях драйвер можно перенастроить без пересборки на новую систему - просто заменить байтик по смещению 60 драйвера, в некоторых нельзя. Попробую вкратце разобрать как сделать драйвер который можно перенастроить таким способом.

    Прежде всего драйвер должен содержать полный вектор для вызова системных подпрограмм. Причем никакие
    Код:
    .IIF EQ ERL$G  .BlkW 1
    .IIF EQ TIM$IT .BlkW 1
    (как например написано в HX драйвере) тут не помогут. Точнее помогут частично - предотвратят затирание кода драйвера при загрузке в системе которая поддерживает больше опций чем было указано драйверу при сборке. Но это все - вектор не будет совпадать с реальностью, и попытка перенастроить тот же HX под другие опции обречена на провал в системе с поддержкой расширенной памяти. Поэтому для генерации полного вектора нужно или использовать параметр FORCE=7 в макровызовах .DREND/.DRBOT, или в явном виде определить эти опции:
    Код:
    ERL$G   =       1                       ;FORCE ERROR LOGGING
    MMG$T   =       1                       ;FORCE MEMORY MANAGEMENT
    TIM$IT  =       1                       ;FORCE DEVICE TIMEOUT
    Но и этого мало. Так будет сформирован полный вектор, но вот беда: с точки зрения системы он меняется в зависимости от параметров генерации:
    Код:
    .IF NE MMG$T!<FORCE&2.>
    $RLPTR::.WORD   0
    $MPPTR::.WORD   0
    $GTBYT::.WORD   0
    $PTBYT::.WORD   0
    $PTWRD::.WORD   0
    .ENDC
    .IF NE ERL$G!<FORCE&1>
    $ELPTR::.WORD   0
    .ENDC
    .IF NE TIM$IT!<FORCE&4.>
    $TIMIT::.WORD   0
    .ENDC
    $INPTR::.WORD   0
    $FKPTR::.WORD   0
    Отсюда видно, что .DRAST и .FORK будут нормально работать в любой системе (вектор зполняется системой с конца и вниз), вызовы .TIMIO/.CTIMIO будут нормально работать в системе с поддержкой device timeout, а вот вызов сервиса регистрации ошибок @$ELPTR будет работать только в системе с поддержкой device timeout. Если такой поддержки в системе нет, то значение которое должно оказаться в $ELPTR будет записано в $TIMIT. Аналогично с вызовами для XM/ZM мониторов - в зависимости от поддержки device timeout и error logging вектор будет заполнен либо правильно либо со смещением на 1 или 2 слова для данных подпрограмм. Это нужно учитывать и патчить драйвер в момент загрузки или в момент подстройки под систему.

    В аттаче (упрощенный) пример работающего драйвера терминального порта (собран для 176500/300) на который можно выводить что-то. На ввод не работает, но реагирует на нажатие клавиш (на этом терминале) и приостанавливает/возобновляет вывод. Драйвер работает во всех мониторах RT-11. Для XM/ZM/XB/ZB драйвер должен называться UHX.SYS, для остальных UH.SYS (или UHs.SYS если в системе установлен суффикс s для драйвера). Подстраивается командой SET UH SYSGEN.
    Вложения Вложения
    • Тип файла: rar uh.rar (1.3 Кб, Просмотров: 11)
    Последний раз редактировалось form; 15.02.2016 в 21:33.
    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. Этот пользователь поблагодарил form за это полезное сообщение:
    hobot (15.02.2016)

  3. #772
    Veteran
    Регистрация
    02.03.2015
    Адрес
    г. Караганда, Казахстан
    Сообщений
    1,134
    Благодарностей: 360
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ни разу не видел систему, сгенерённую с ERRLOG'ом. В смысле, в работе не видел. Опять же, XM-ные дела - совершенно отдельный вопрос. Вот таймаут - это да, важно. Произвольно взятая система с вероятностью 0.5 может оказаться как с поддержкой таймаута, так и без нее. И именно на ней, чаще всего и возникает конфликт, вынесенный в заголовок.
    Кто мешает тебе выдумать порох непромокаемый? (К.Прутков, мысль № 133)

  4. #773
    Guru Аватар для form
    Регистрация
    27.05.2009
    Адрес
    СССР, Новосибирск
    Сообщений
    5,167
    Благодарностей: 1969
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AFZ Посмотреть сообщение
    Ни разу не видел систему, сгенерённую с ERRLOG'ом.
    Я генерил только для интереса посмотреть как работает. И даже драйвер MY с поддержкой логгинга делал. А так - тоже ни разу не видел.

    Цитата Сообщение от AFZ Посмотреть сообщение
    Опять же, XM-ные дела - совершенно отдельный вопрос.
    Обычно не делают универсальный XM/не-XM драйвер - зачем держать кучу мусора в памяти. Я лишь для примера показал как можно сделать чтобы и там и там работал.

    Цитата Сообщение от AFZ Посмотреть сообщение
    И именно на ней, чаще всего и возникает конфликт, вынесенный в заголовок.
    Фактически 100% именно этот параметр. А попытка подправить драйвер по смещению 60 приводит к затиранию кода программы в не-XM системе с поддержкой (XM всегда с поддержкой). Если же драйвер реально использует поддержку возможно падение также из-за вызова неизвестно чего в системе без поддержки.
    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. Этот пользователь поблагодарил form за это полезное сообщение:
    hobot (15.02.2016)

  6. #774
    Master Аватар для MacBuster
    Регистрация
    05.07.2010
    Адрес
    Москва
    Сообщений
    788
    Благодарностей: 147
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Прошу прощения, возможно здесь уже есть ответ на мой вопрос, но тут столько всего понаписано...

    В подобных темах страшно не хватает первого сообщения, оформленного в виде оглавления обсуждавшихся вопросов, со ссылками на начало обсуждения.

    1. Где-нибудь есть документация по организации работы с сетевым адаптером со стороны УК-НЦ?
    2. Как вообще происходит обмен данными между основной платой УК-НЦ и собственно адаптером?
    3. Как его (СА) программировать?
    4. Работающий пример с описанием того, как его опробовать в работе?
    ZX81, ZX-Spectrum 48, ZX-Spectrum +2, Pentagon 128K, Sprinter, ZX Evolution (rev. C), V6Z80P 1.1, БК-0011М-01 + SMK512, УК-НЦ x9, TI99/4A + FlashROM99, Amiga 1230M

  7. #775
    Veteran Аватар для nzeemin
    Регистрация
    20.12.2005
    Адрес
    Рязань
    Сообщений
    1,080
    Благодарностей: 1297
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    MacBuster, есть загрузчик из Сети в ПЗУ, находится по адресу 164160 -- см. листинги ПЗУ.
    http://www.emuverse.ru/wiki/%D0%A3%D...6_ROM_disasm_6

    Описание сети Micronet -- но не берусь судить насколько оно адекватно реальности:
    http://www.emuverse.ru/wiki/%D0%A3%D...D0%A6_Micronet

  8. Эти 2 пользователя(ей) поблагодарили nzeemin за это полезное сообщение:
    hobot (27.02.2016), MacBuster (27.02.2016)

  9. #776
    Guru
    Регистрация
    07.10.2007
    Адрес
    п.Пудость Гатчинского р-на Лен.обл.
    Сообщений
    2,068
    Благодарностей: 974
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Когда-то этот вопрос задавался. Ответ - http://zx-pk.ru/showthread.php?t=159...l=1#post393141.

  10. Эти 2 пользователя(ей) поблагодарили Alex_K за это полезное сообщение:
    hobot (27.02.2016), MacBuster (27.02.2016)

  11. #777
    Master Аватар для MacBuster
    Регистрация
    05.07.2010
    Адрес
    Москва
    Сообщений
    788
    Благодарностей: 147
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Мысль следующая: попробовать попасть в современную локальную сеть с УК-НЦ прямо через СА с каким-нибудь переходником, типа RS232-USB или RS232-Ethernet.

    Или вообще вытащить СА и поставить вместо него ещё какой-нибудь адаптер, но тогда точно надо разбираться как плата вычислителя обменивается данными с СА. По исходникам и описаниям пока не понял зависит ли используемый там метод обращения к СА о того установлен ли он в УК-НЦ или нет - кто и как там прерывания формирует. Надо найти и почитать упоминающийся в ссылке Alex_K МПСиС.
    ZX81, ZX-Spectrum 48, ZX-Spectrum +2, Pentagon 128K, Sprinter, ZX Evolution (rev. C), V6Z80P 1.1, БК-0011М-01 + SMK512, УК-НЦ x9, TI99/4A + FlashROM99, Amiga 1230M

  12. #778
    Master
    Регистрация
    05.03.2010
    Адрес
    Санкт-Петербург
    Сообщений
    781
    Благодарностей: 291
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от MacBuster Посмотреть сообщение
    Мысль следующая: попробовать попасть в современную локальную сеть с УК-НЦ прямо через СА с каким-нибудь переходником, типа RS232-USB или RS232-Ethernet.
    http://zx-pk.ru/showthread.php?t=15947&page=14
    http://zx-pk.ru/showthread.php?t=20753&page=8

  13. Эти 2 пользователя(ей) поблагодарили Vamos за это полезное сообщение:
    hobot (28.02.2016), MacBuster (28.02.2016)

  14. #779
    Veteran Аватар для bigral
    Регистрация
    12.07.2006
    Адрес
    Kiev/Ukraine
    Сообщений
    1,574
    Благодарностей: 293
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от MacBuster Посмотреть сообщение
    Мысль следующая: попробовать попасть в современную локальную сеть с УК-НЦ прямо через СА с каким-нибудь переходником, типа RS232-USB или RS232-Ethernet..
    Ну прикрутить прямо в корпусе HLK-RM04 модуль можно теоретически. https://www.youtube.com/watch?v=3aMpe5LZCbo

  15. Этот пользователь поблагодарил bigral за это полезное сообщение:
    MacBuster (29.02.2016)

  16. #780
    Master Аватар для MacBuster
    Регистрация
    05.07.2010
    Адрес
    Москва
    Сообщений
    788
    Благодарностей: 147
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Спасибо за подсказку, про WiFi и Bluetooth я почему-то не подумал.
    ZX81, ZX-Spectrum 48, ZX-Spectrum +2, Pentagon 128K, Sprinter, ZX Evolution (rev. C), V6Z80P 1.1, БК-0011М-01 + SMK512, УК-НЦ x9, TI99/4A + FlashROM99, Amiga 1230M

Страница 78 из 100 ПерваяПервая ... 747576777879808182 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Программирование на Эмуляторе. Возможно ли это?
    от Toxic в разделе Программирование
    Ответов: 10
    Последнее: 20.01.2008, 20:20
  2. Программирование Altera и JTAG
    от Mikka_A в разделе Unsorted
    Ответов: 7
    Последнее: 18.01.2008, 10:07
  3. Программирование и софтмейк на NES
    от Splinter в разделе Nintendo
    Ответов: 7
    Последнее: 30.06.2006, 03:31

Ваши права

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