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

User Tag List

Страница 12 из 50 ПерваяПервая ... 8910111213141516 ... ПоследняяПоследняя
Показано с 111 по 120 из 491

Тема: Вектор-06Ц: Операционные системы

  1. #111
    Veteran
    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,657
    Спасибо Благодарностей отдано 
    218
    Спасибо Благодарностей получено 
    301
    Поблагодарили
    212 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    PPC, спасибо. Нагуглил упомянутый pdf-ник.
    Что-то там была ещё какая-то заморочка, что какие-то ДОС-овские программы сами этим пользовались...

  2. #112
    Activist Аватар для PPC
    Регистрация
    01.03.2011
    Адрес
    Stamford
    Сообщений
    335
    Спасибо Благодарностей отдано 
    46
    Спасибо Благодарностей получено 
    42
    Поблагодарили
    18 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    Что-то там была ещё какая-то заморочка, что какие-то ДОС-овские программы сами этим пользовались...
    Ну, вообще, если совсем по-чесноку, то любая прога, которая хочет работать с памятью и претендует называться CP/M-совместимой, обязана начинать своё исполнение с выяснения, сколько этой памяти есть в наличии. Вот, скажем, релокируемый отладчик SID (или DDT) перед тем, как переместиться в старшие адреса, где он работает, читает значение слова по адресу 6 чтобы выяснить, куда перемещаться.

    А вот 99% "нативных" Векторовских програм игнорируют среду исполнения и прибивают при запуске BIOS, будучи запущены из МикроДОС. А ведь могли бы определять, что запущены из операционной системы и сохранять его для того, чтобы назад вернуться по окончании программы. Я всегда стараюсь по возможности такой код в прогу вставить.

    Кстати, отвечая на ваш вопрос, про relocation table чуть выше в этой ветке: да, все примерно так и делают: либо - битовая таблица, где каждый корректируемый адрес представлен одним, скажем, единичным битом, а остальные адреса - нулевыми, либо - заголовок со словами смещениями в тело программы, где надо править. Первый подход, использует SID, L80 при линковки REL файлов. Второй подход - линкер пакета BDS C (ясно, что линковка это не исполнение программы, но разница в общем невеликая: до динамического редактирования связей - один шаг всего).
    Кстати, у меня где-то есть забавный документ, объясняющий как с помощью пальца и палки автоматизировать создание таблиц релокации (там вроде речь про M80/L80, но подойдёт любой ассемблер с макросами и модульной линковкой).

  3. #113
    Veteran
    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,657
    Спасибо Благодарностей отдано 
    218
    Спасибо Благодарностей получено 
    301
    Поблагодарили
    212 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от PPC Посмотреть сообщение
    ...
    Кстати, отвечая на ваш вопрос, про relocation table чуть выше в этой ветке: да, все примерно так и делают: либо - битовая таблица, где каждый корректируемый адрес представлен одним, скажем, единичным битом, а остальные адреса - нулевыми,...
    Вот до битовой таблицы я не додумался, когда в 90-ых драйвер мыши писал...
    Но там настройщик, загрузчик и сам драйвер занимают чуть больше 1КБ, а сам драйвер от 130 до 160 Байт. Можно было не экономить...
    Нашел у себя в архиве исходник одной из версий настройщика/загрузчика драйвера мыши, и пару вариантов готового (собранного) драйвера. Но это тестовые варианты, т.к. настроены на "ПУ", а родная мышь была на адресах D5h и D6h, тоже тестовый (работающий с адреса 100) исходник есть.
    Вот и пытаюсь в них разобраться, т.к. комментариев в коде практически не делал А умные люди говорили: не ленись, делай комменты...

  4. #114
    Guru Аватар для tnt23
    Регистрация
    28.03.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,634
    Спасибо Благодарностей отдано 
    396
    Спасибо Благодарностей получено 
    78
    Поблагодарили
    63 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    KTSerg, а поделитесь исходником?

  5. #115
    Veteran
    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,657
    Спасибо Благодарностей отдано 
    218
    Спасибо Благодарностей получено 
    301
    Поблагодарили
    212 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от tnt23 Посмотреть сообщение
    KTSerg, а поделитесь исходником?
    В принципе не жалко. Было бы чем делиться. Рабочая дискета с последними рабочими версиями драйвера утеряна. Остались только не понятные, пробные, разрозненные исходники, которые даже друг к другу не подходят.
    Да и Мышь у меня специфическая, с контроллером внутри. Её фото и название я на этом форуме кидал в другой ветке.

    Драйвер мыши не работал (в привычном понимании) в чистом ДикроДосе,т.к. в командной строке сильно не поелозишь. Мышка работала в текстовых редакторах работающих под МикроДосом.
    При запуске установщика драйвера, запрашивалось коды нажатия каких клавиш генерировать при нажатии кнопок мыши и перемещениях. Введённые коды сохранялись в драйвер и он устанавливался в верхушку свободной памяти. При перемещениях мыши, драйвер подкидывал прямо в буфер МикроДоса коды, как будто были нажаты соответствующие клавиши. По этой причине драйвер работал ещё и с определёнными версиями МикроДоса.
    Вот кусок кода установщика драйвера:
    DB ' APRaprапрАПР"Мышь"',0DH,0AH,0AH
    DB ' Программирование:',0DH,0AH,0AH
    DB ' "Мышь" "Клавиатура"',0DH,0AH,0AH,00H
    INF: DB ' Вверх ',00H
    DB 0DH,0AH,' Вправо ',00H
    DB 0DH,0AH,' Вниз ',00H
    DB 0DH,0AH,' Влево ',00H
    DB 0DH,0AH,' Левая кн. ',00H
    DB 0DH,0AH,' Правая кн. ',00H
    INF2: DB 0AH,0AH,' Вы согасны? (Д/Н) ',00H
    INF3: DB 0AH,0AH,0DH,' Повторить? (Д/Н) ',00H
    INFF1: DB '"F1"',00H
    INFF2: DB '"F2"',00H
    INFF3: DB '"F3"',00H
    INFF4: DB '"F4"',00H
    INFTAB: DB '"Таб"',00H
    INFR: DB '"Пробел"',00H
    INFPS: DB '"Пс"',00H
    INFZB: DB '"Зб"',00H
    INFWK: DB '"Вк"',00H
    INFSTR: DB '"Стр"',00H
    INFAR2: DB '"Ар2"',00H
    INFLE: DB '"Кур. влево"',00H
    INFPR: DB '"Кур. вправо"',00H
    INFWE: DB '"Кур. вверх"',00H
    INFNI: DB '"Кур. вниз"',00H
    INFUS: DB '^'
    INFUS1: DB 24H,00H
    А вот такой текст есть в собранном в один файл установщике драйвера.
    q ne zna` takoj DOS. izwinite.

  6. #116
    Guru Аватар для tnt23
    Регистрация
    28.03.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,634
    Спасибо Благодарностей отдано 
    396
    Спасибо Благодарностей получено 
    78
    Поблагодарили
    63 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    KTSerg, ясно. Я думал, это драйвер обычной COM-портовой мыши.

  7. #117
    Veteran
    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,657
    Спасибо Благодарностей отдано 
    218
    Спасибо Благодарностей получено 
    301
    Поблагодарили
    212 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от tnt23 Посмотреть сообщение
    KTSerg, ясно. Я думал, это драйвер обычной COM-портовой мыши.
    А смысл цеплять к Вектору СОМ-портовую мышь? Она слишком наглая, ей "до лампочки" приняли от неё инфу о перемещениях или нет... для неё контроллер нужен, аппаратные прерывания, и скорость...

    Покопался в ps/2, комп может инициировать отправку данных в клаву или мышь, но синхрой занимается не комп (в отличии от протокола i2c), и нигде не говорится о возможности "притормозить" зажимая синхру...

    Значит опять нужен контроллер посредник...
    Последний раз редактировалось KTSerg; 07.03.2019 в 21:11.

  8. #118
    Guru Аватар для tnt23
    Регистрация
    28.03.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,634
    Спасибо Благодарностей отдано 
    396
    Спасибо Благодарностей получено 
    78
    Поблагодарили
    63 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    А смысл цеплять к Вектору СОМ-портовую мышь?
    (краснея) да я не совсем к Вектору, а вовсе даже к Океану-240, у него RS-232 честный есть с прерываниями.

  9. #119
    Veteran
    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,657
    Спасибо Благодарностей отдано 
    218
    Спасибо Благодарностей получено 
    301
    Поблагодарили
    212 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от tnt23 Посмотреть сообщение
    (краснея) да я не совсем к Вектору, а вовсе даже к Океану-240, у него RS-232 честный есть с прерываниями.
    И при таких-то "плюшках" нет софта?

  10. #120
    Guru Аватар для tnt23
    Регистрация
    28.03.2006
    Адрес
    Санкт-Петербург
    Сообщений
    2,634
    Спасибо Благодарностей отдано 
    396
    Спасибо Благодарностей получено 
    78
    Поблагодарили
    63 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    И при таких-то "плюшках" нет софта?
    Может, и был, но до наших дней почти ничего не дошло.

Страница 12 из 50 ПерваяПервая ... 8910111213141516 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 213
    Последнее: 13.06.2022, 14:02
  2. Ответов: 4
    Последнее: 20.08.2007, 16:14
  3. Организация plug-in'нной системы
    от CityAceE в разделе Программирование
    Ответов: 9
    Последнее: 20.09.2005, 12:45
  4. Описание системы команд - давайте централизуем ;)
    от Alex/AT в разделе Программирование
    Ответов: 42
    Последнее: 09.07.2005, 22:34
  5. Инициализация системы
    от breeze в разделе Программирование
    Ответов: 13
    Последнее: 24.03.2005, 10:03

Ваши права

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