1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Пожалуйста, внимательно прочитайте правила раздела.
  3. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

Переходник для мыши с PS/2 на COM

Тема в разделе "Hard & Soft", создана пользователем Nil, 9 янв 2015.

  1. Nil Любимый цвет — голубой

    Nil

    Регистрация:
    30 апр 2007
    Сообщения:
    1.974
    Просили выделить обсуждение переходника для мыши в новую тему. Я не хотел особо ничего писать, потому что я уже достаточно много на эту тему написал в своей курсовой работе (её и прикладываю, прошу только особо не наглеть и не пересдавать, то бишь copyright ©). ближе к середине должно начать читаться легче, добавил шуток и упростил слог.

    Основная проблема сейчас — очень низкая скорость передачи по COM порту. в моём устройстве она ещё медленее из-за раздвоения стопового бита. В теории, можно попробовать разогнать порт, но тут уж всё от драйвера зависит. У меня пока нет желания экспериментировать, но если ещё кому интересно — пишите, посмотрю.
     

    Вложения:

    AxXxB, tuliss, Tigoro и ещё 1-му нравится это.
  2. easy_john

    easy_john

    Регистрация:
    14 мар 2008
    Сообщения:
    1.708
    Мне кажется, что разгонять драйвер плохая идея с низкой совместимостью под единственный дос-драйвер (который работает не на всех пц), без поддержки винды и т.п.
    Лучше делать апроксимацию перемещений и посылать на ком среднее значение, как это делалось в контроллере мышы для амиги
    ( https://web.archive.org/web/20011005191156/http://www.cd-rw.f2s.com/ps2m/index_ru.html )
     
    AxXxB и Bato-San нравится это.
  3. Nil Любимый цвет — голубой

    Nil

    Регистрация:
    30 апр 2007
    Сообщения:
    1.974
    easy_john, Не совсем понятно про аппроксимацию, что именно надо делать. Сейчас работа устроена следующим образом: есть буфер принятых сообщений и буфер отправляемых сообщений. Приём и передача из буферов работает в прерываниях. Основная программа берёт сообщения из буфера приёма и смотрит, было-ли изменение координат или ещё и кнопки были нажаты.Если последнее, то создаётся пакет для передачи (он создаётся и просто когда буфер передачи пустеет). Если только перемещение, то новые координаты запоминаются, но не отсылаются, чтобы сберечь пропускную способность.
    PS/2 мышь можно настроить на различную чувствительность и разрешение, но при параметрах чуть выше минимальных она просто забивает весь буфер сообщениями и их приходится выбрасывать.
    Был ещё один вариант — найти COM мышку, драйвер которой работает с COM портом на другой скорости. Вроде был какой-то, но там мышь не очень — всего две кнопки.
     
    Последнее редактирование: 10 янв 2015
  4. easy_john

    easy_john

    Регистрация:
    14 мар 2008
    Сообщения:
    1.708
    Ну, ты же знаешь, какие перемещения были за это время? Если мышка в период между опросом по кому сделала три шага +50, +15, -10 по оси X, то передай, что она переместилась на +55 в ком.
    У тебя же есть две частоты, наружу на мышку, внутрь на ком, отношение между ними стабильное, сколько пакетов надо просуммировать для превращения первого во второе известно.
     
    AxXxB и Bato-San нравится это.
  5. Nil Любимый цвет — голубой

    Nil

    Регистрация:
    30 апр 2007
    Сообщения:
    1.974
    easy_john, Во первых, так и делается, но там гораздо больше нюансов. Во вторых, передача сообщений и на COM, и от мыши должна идти только тогда, когда есть что передавать, то есть сообщения шлются всегда об изменении, нельзя слать пустые пакеты. Поэтому нет постоянного отношения частот. Кроме того, формат пакетов разный — в PS/2 используется несколько видов разрешения и масштабирования, например, координаты, отправляемые от мыши могут быть в логарифмическом масштабе (если, конечно, послать на мышь соответствующую команду).
    Ещё раз говорю, нет ПРОСТОГО способа решения проблемы, я уже думал над этим.
     
  6. tuliss

    tuliss

    Регистрация:
    24 фев 2014
    Сообщения:
    5.975
    Ну по сути нам и нужен просто транслятор, все остальные параметры убрать до стандартных значений com мыши. Разве так нельзя сделать ? Все свести к неким стандартным значениям com мышей ?
     
  7. AxXxB неадекват

    AxXxB

    Legacy

    Регистрация:
    13 ноя 2006
    Сообщения:
    1.663
    http://www.programmersclub.ru/Исследование-протокола-ps2-для-мышки/:
     
  8. Nil Любимый цвет — голубой

    Nil

    Регистрация:
    30 апр 2007
    Сообщения:
    1.974
    AxXxB, Я знаю про этот режим, но как он может помочь? Правильный ответ — не может.
    Если честно, я вообще не понимаю, о чём идёт разговор? Да, переходник работает, да, при минимальных настройках его не заливает сообщениями, он не теряет пакеты, да, он не точный, почти как любая COM мышь и играть в шутеры с ним мучение. И лучше без изменения программной части не сделать, но это два жалких драйвера, их можно за один день оба и сделать, если бы была такая цель. Пока её нет, потому как лично мне этот переходник не нужен, я играю на более новом компьютере (PIII). Если кому-то действительно нужно, я готов оказать содействие, но пока никто не написал, что он лично в таком переходнике заинтересован.
     
  9. easy_john

    easy_john

    Регистрация:
    14 мар 2008
    Сообщения:
    1.708
    Два жалких драйвера - это тупиковый путь ограниченной совместимости.
    Например, у меня есть машина, на которой досовый cutemouse не работает - вешает намертво.
    Надо делать универсальное решение.
    Заинтересованных много. Открой проект, выложи код в гугле/гитхабе, выложи трафарет плат - дальше кто умеет сам доделает.
     
  10. Nil Любимый цвет — голубой

    Nil

    Регистрация:
    30 апр 2007
    Сообщения:
    1.974
    Если реплики делать то плату наверно надо довести сначала до ума тогда. И заменить дорогой PIC18 на более дешевый PIC16, но надо будет ещё выбрать, какой брать — нужно хотя-бы 2, а лучше больше страниц памяти, а то два буфера сообщений в одном окне 256 байт будет трудно уместить. В общем, не знаю, может, на вогонсах не хуже вариант платы, сначала сравнить надо. Разводку улучшать есть куда, но это не очень важно, хуже, что ряд посадочных мест надо перерисовать — после сверления почти вся медь с них убивается, но это работа минут на пять. Возможно, ещё MAX232 надо заменить на более дешевую штуку, с ростом доллара он один рублей 300 стоит.
     
    Последнее редактирование: 12 янв 2015
  11. tuliss

    tuliss

    Регистрация:
    24 фев 2014
    Сообщения:
    5.975
    Я то же об этом подумал, но прикинул и понял, что больше геморроя.
    Ну а на тему цены
    http://ru.aliexpress.com/item/10-MAX232CSE-MAX232-16-16PIN/2019118522.html?s=p

    10 шт 141,47 .

    Ну а на тему пиков, я вот лично хочу начать изучение с stm32, посмотрел разницу в наших магазинах,оно где то в районе 30 рублей. Только вот с stm32 можно больше вещей сделать (хотя оно конечно тут и нафиг не надо возможно.)
     
    Nil нравится это.
  12. Nil Любимый цвет — голубой

    Nil

    Регистрация:
    30 апр 2007
    Сообщения:
    1.974
    tuliss, Да, последнее время я тоже на Aliexpress покупаю, но я знаю, что там есть поддельные чипы. В принципе, в курсовой работе есть описание схемы подробное, так что если решишь сделать, то можешь посмотреть, как у меня сделано.
     
  13. tuliss

    tuliss

    Регистрация:
    24 фев 2014
    Сообщения:
    5.975
    Подделка есть,это правда есть рейтинг у продавца. Да и сама max232 не особо сложная микросхема, что бы ее криво подделать.

    Я заказал себе stm32 для изучения, жду когда прийдет, а пока набираюсь пассивных знаний. Надо было мне схемотехнику изучать :)

    ---------- Сообщение добавлено в 03:01 ---------- Предыдущее сообщение размещено в 03:00 ----------

    Можно сделать default который будет эмулировать обычную мышь или переключателем для использования драйвера.
    Хотя конечно надо сделать хотя бы минимальное :)

    ---------- Сообщение добавлено в 03:05 ---------- Предыдущее сообщение размещено в 03:01 ----------

    Ну и какой может быть шутер с xt до 80486 ? ну хорошо, возьмем сюда еще часть pentium дальше уже есть ps/2. У меня только один quake 1 да chazm.
     
  14. AxXxB неадекват

    AxXxB

    Legacy

    Регистрация:
    13 ноя 2006
    Сообщения:
    1.663
    Это позволит немного повысить разрешение при той же скорости COM-порта, что у тебя сейчас. Мышка будет сама суммировать координаты и помнить значения о кнопках, пока предыдущий пакет отправляется по COM. Тогда даже FIFO не нужен.

    Кроме этого, можно еще сделать вместо FIFO 2 16-разрядных счетчика (или 3, если поддерживается колесико) + байт для кнопок. В этих счетчиках и накапливать координаты с мышки, пока COM занят, а в байте для кнопок в это время помнить значения для кнопок (устанавливать бит, если нажата соотв. кнопка). Когда COM освобождается, пихать туда min(255, <значение_cчетчика>) и декрементировать на эту величину счетчик, отправлять также значения кнопок и обнулять байт для кнопок. Главное во всем этом - подобрать частоту "опроса" мышки в режиме REMOTE и ее разрешение/частоту дискретизации так, чтобы не было движения курсора по "инерции" после остановки самой мыши.
     
  15. Grue13 Ocelote.12

    Grue13

    Регистрация:
    26 апр 2006
    Сообщения:
    10.691
    Doom, Heretic, Hexen, Duke Nukem 3D, Blood, Shadow Warrior
     
  16. tuliss

    tuliss

    Регистрация:
    24 фев 2014
    Сообщения:
    5.975
    им всем хватит стандартной com мыши. Кому нужна более точная мышь кроме q1 ?
    Да и в q1 как то умудрялись играть на com мышах.
     
  17. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    "точные мыши" и "высокие скорости" появились вместе с CounterStrike, а точнее с любителями читерить по хитрому и называть себя "киберспортсменами". Тем, кто не занят снайперским пиксельхантингом - это нафиг не надо. Да и компьютер под это дело нужен уже помощнее реально, чем P1 даже. В ку1, кстати по умолчанию играется без мыши. :D

    А вообще есть же переходники с USB на COM, что уже более актуально даже.

    Кроме того не вижу смысла трогать драйверы чего бы то ни было в винде, учитывая, что скорость порта выставляется собственно без всяких усилий, а скорость мыши остаётся такой, как была, а драйверу и вообще на это плевать скажем в течении 1000ms после чего он жрёт очередной пакет на той скорости с которой это принимает порт.
     
  18. tuliss

    tuliss

    Регистрация:
    24 фев 2014
    Сообщения:
    5.975
    Нам тут в обратную сторону надо. В старых машинах как бы usb нет.
     
  19. Bato-San Чеширский волк-киборг

    Bato-San

    Регистрация:
    24 июн 2010
    Сообщения:
    14.136
    tuliss, ты не понял. мышь USB в компорт втыкается через переходник.
     
  20. tuliss

    tuliss

    Регистрация:
    24 фев 2014
    Сообщения:
    5.975
    Можно пример такого переходника ? Желательно, что бы его можно было купить.
     
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление