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

User Tag List

Страница 2 из 2 ПерваяПервая 12
Показано с 11 по 15 из 15

Тема: Адаптация "PENCIL-DISC" для работы с мышью (на разъёме "ПУ").

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

    По умолчанию

    Джойстик интегрирован в управление, эмуляцией клавиатуры.
    Драйвером джойстика читается только порт "0F". Этот вариант программы заточен для .02-го Вектора.
    При получении данных о положении джойстика, эти данные преобразуются в код соответствующей клавиши, и вызывается штатная подпрограмма, для помещения кода в буфер, штатными средствами.
    Для начала можно пойти тем-же путём, заменив драйвер джойстика на драйвер мыши (эмулирующий джойстик).
    И посмотреть на результат.
    Последний раз редактировалось KTSerg; 07.09.2023 в 12:59.

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

    По умолчанию

    Маловато свободного места в этой программе.
    Можно конечно попытаться рассувать драйвер мыши кусками по огрызкам свободного места.
    Но для эксперимента по перемещению курсора мышью и такого варианта достаточно. При некоторых действиях драйвер затирается и всё крашится, но представление о юзабельности мыши я получил.
    Эмуляция джойстика - не круто
    А думаю реальным джойстиком рисовать - вообще был гемор...
    К сожалению, протокол PS/2 жрёт много ресурсов (времени), и процедуры рисования далеко не скоростные... даже просто при рисовании линий уже заполняется буфер клавиатуры и курсор начинает "блуждать" по экрану со значительным запаздыванием относительно перемещений мыши.
    Подозреваю, что использование реальных приращений, а не фиксированного шага, не исправят ситуацию.

  3. #13
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,116
    Спасибо Благодарностей отдано 
    795
    Спасибо Благодарностей получено 
    658
    Поблагодарили
    403 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Может быть все-таки приделать последовательный порт с FIFO, а к нему последовательную мышку? Конвертер из PS/2 в Serial незначительное неудобство по сравнению с реализацией PS/2 битбенгом на 8080. А последовательный порт с FIFO еще много для чего может пригодиться.
    Больше игр нет

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

    По умолчанию

    Кстати, в "PENCIL-DISC" есть глюк, который попал в программу, видимо во время переделки её из ".r00" в ".rom".
    В самом начале, вызывается подпрограмма, расположенная по адресу 1A8Ah, но в прерывании ячейки с адресами 1A8Ah и 1A8Bh используются для хранения переменных. И соответственно их значение искажается. При перезапуске программы (сбросом), вызывается эта подпрограмма, но выполняются уже другие инструкции.

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

    По умолчанию

    По поводу затрат времени на получение от мыши данных по протоколу ps/2.
    Раньше считал на пальцах, по частотам, но не был уверен в результате.
    Сейчас глянул осциллогафом.
    В протоколе 5 байт: запрос данных; ответ от мыши, что запрос получен; кнопки; X; Y.
    По времени ~6мс ! И это только сам протокол обмена, без учета времени на обработку и преобразование полученных данных.
    Если добавить ещё и байт на получение данных колеса прокрутки, будет ~7мс.
    Итого из 20мс между прерываниями, 6мс отгрызает мышка... программе остается довольно мало.
    Да и сам протокол (только подпрограммы записи/чтения) примерно 270 Байт.
    Последний раз редактировалось KTSerg; 08.09.2023 в 18:11.

  6. Этот пользователь поблагодарил KTSerg за это полезное сообщение:

    Improver (09.09.2023)

Страница 2 из 2 ПерваяПервая 12

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

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

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

Похожие темы

  1. Ответов: 17
    Последнее: 26.12.2015, 23:22
  2. Ответов: 51
    Последнее: 23.03.2015, 10:45
  3. Ответов: 51
    Последнее: 11.08.2014, 10:40
  4. Ответов: 0
    Последнее: 15.08.2010, 14:38

Ваши права

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