Внимание! Это временный неофициальный архив старой версии форума Полигон Призраков, созданный сочувствующим форуму участником. Этот сайт просуществует лишь до тех пор, пока администрация Полигона не сдержит своё обещание и не откроет официальный архив по адресу old.sannata.org.

Полигон-2

Форум о старых компьютерах

Объявление форума

Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС.

Полигон-2 »   Технический флейм »   Мышиный Антиконвертер
RSS

Мышиный Антиконвертер

Самопалка на тему COM -> USB или PS/2. Тренируемся на переходниках!

<<Назад  Вперед>> Страницы: 1 * 2
Печать
 
EJSanYo
Advanced Member


Всего сообщений: 318
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
28 дек. 2007
В процессе реставрации одного своего COM мыша с забавным названием "AK-77" (именно его немного видно на фото) сделал забавное наблюдение:

При вскрытии обнаружилось, что выполнен он на основе чипа EM83701. Так вот, оказалось, что если ноги 1 и 16 чипа замкнуть перемычкой, то мышь входит в режим т.н. "динамического разрешения". Меняет свою чувствительность в зависимости от скорости перемещения. Как результат - мышь двигается гораздо быстрее и отзывчивее, в чём-то даже приближаясь к своим PS/2 сородичам! Или как минимум, гораздо лучше, чем было. Забавно, что именно об этом кричали надписи на коробке (да, у меня сохранилась родная коробка от неё), да только до моего вмешательства эта фича не была активирована. Китайцы сами поставить перемычку не догадались. Видимо, невнимательно читали даташит. :08:

Вывод: таким образом, настоящим гуртовщикам мыши настоятельно рекомендуется знать элементную базу своих манипуляторов. Как знать, может и в вашей мыши таится ещё не раскрытый потенциал!
Оффтопик: Оффтопик: Anonymous ё моё, люди, где вы умудряетесь такое доставать?! :biggrin: Я в шоке.
EJSanYo
Advanced Member


Всего сообщений: 318
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
28 дек. 2007
Обновление прошивки!
Добавил поддержку протокола PC Mouse. Теперь если после подачи питания переходник некоторое время не получает байта, идентифицирующего майкрософтовский протокол (символ "M"), он решает, что к нему подключена PC Mouse. Кроме того, прикрутил немного модифицированный бут-загрузчик, чтобы каждый раз не лезть в стол за программатором. :rolleyes:

Ряд замечаний по поводу PC Mouse
Хмм, как оказалось, все мыши под COM, что у меня есть, его поддерживают! Даже те, у которых на пузе нет соответствующего рубильника. В таких мышах чтобы активировать второй протокол надо в аккурат перед подачей питания зажать любую из кнопок. В случае моего переходника это означает "перед подачей питания на переходник". В случае прямого соединения с компом - "перед загрузкой драйвера мыши". После сброса питания мышь переходит снова в M$ режим. Так что я там ранее говорил про разнообразные "скрытые возможности" в мышах?

Впечатления от дополнительного режима
Как и ожидалось, поскольку теперь в пакете передаётся не три, а уже пять байт, причём на всё той же скорости 1200 бит/с, двигаться мышь стала более грубо и дёргано. Но за счёт "двойной" передачи координат за одну посылку, максимальное ускорение, с которым можно дёрнуть мышь, стало явно больше. Что лучше, честно говоря, затрудняюсь ответить. В играх, возможно, подобная медлительность на пользу бы не пошла. Третья кнопка активирует "прокрутку мышью" в современных браузерах и многих программах. Однако полноценное колёсико она, само собой, заменить не может.
EJSanYo
Advanced Member


Всего сообщений: 318
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
28 дек. 2007
Почти месяц уже пытался перевести наконец алгоритм PS/2 функции на "аппаратную основу". Т.е. заменить программные задержки на работу по прерываниям таймера, что значительно разгрузило бы ядро контроллера. И...о б-же мой! :mad: И хоть тов. dtvims как бы уже предупреждал, всё равно, я даже предположить не мог, насколько же индивидуальны и придирчивы до мелочей PS/2 контроллеры на различных матерях. Если им при инициализации мыши хоть что-то не понравилось, они тупо затыкаются и сообщают, что мыши нет. Даже ни разу не пытаясь перезапустить. При том, что отладка интерфейса крайне затруднена из-за изолированности интерфейса от основной системы компьютра. Драйвер мыши просто получает от контроллера признак, есть мышь, или нет. В этом плане у меня особо выделилась интеловская DH55TC с "комбинированным" портом PS/2. В который она при работе периодически шлёт какую-то полную чушь, типа импульсов DATA=0, при этом не меняя состояние CLK. При определённых настройках времянки импульсов мыши эта мать вообще наглухо зависает на старте! :eek: Пока не оторвёшь переходник. Но при этом любая "живая" PS/2 мышь работает чётко и на любой материнке. ЧЯДНТ, в конце концов?
EJSanYo
Advanced Member


Всего сообщений: 318
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
28 дек. 2007
Небольшое обновление прошивки!
Так что пока доделал хотя бы "программную" реализацию алгоритма. А то совсем затихло у меня как-то всё. И хоть кое-что до сих пор остаётся неясным, v.0.9 теперь чётко определяется и работает на всех моих материнских платах. На той самой DH55TC в том числе. Справедливости ради отмечу, что те немногие проекты эмуляции PS/2 периферии, что удалось найти в Интернетах, были все также сделаны на программых задержках. И даже прошивка для контроллеров Cypress, на которых работают одни из лучших мышей с PS/2, похоже, также работает чисто с программным опросом (характерная процедура mouse_poll(), вызываемая в основном цикле прошивки).
Fe-Restorator
Гость

Ссылка

EJSanYo, может быть, аппаратные прерывания попадают не в такт с передачей данных в PS2... Чуть торопятся или опаздывают, попадая на 3/4 такта шины PS2... И отрегулировать сие трудно, ибо сами задержки имеют переменную длину, по времени...
или рассинхрон берётся оттого, что прерывание контроллером обрабатывается быстрее, чем завершится такт PS2 шины...

Экскузьми, глубоко не рыл сию тему.
Сейчас на форуме
Rio444
Гость


Откуда: Ростов-на-Дону
Всего сообщений: 8632
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
14 сен. 2014
EJSanYo, большое спасибо, что занимаетесь этим вопросом! Думаю, не я один слежу за темой. Пока сих пор глубоко не копал, поэтому комментировать нечего. Только пытаюсь понять Ваши идеи :)
EJSanYo
Advanced Member


Всего сообщений: 318
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
28 дек. 2007
Обновление прошивки! Периодически продолжаю возвращаться к теме своих переходников и вопросам функционирования PS/2 в частности. Всё-таки удалось отчасти перевести эмуляцию этого интерфейса на аппаратную поддержку. Теперь периодическая проверка того факта, что комп хочет что-то сказать мыше, выполняется периодически по прерываниям таймера, независимо от основного цикла программы. Потенциально это должно давать меньший риск "зависания" переходника и вообще более стабильную работу. Пока что все материнки, с которыми производил тестирование, приняли нововведение благосклонно.
Прошивка v.0.9.6 beta, выложил в шапку топика.
EJSanYo
Advanced Member


Всего сообщений: 318
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
28 дек. 2007
Перезалито на ЯДиск. Вдруг ещё пригодится.
<<Назад  Вперед>> Страницы: 1 * 2
Печать
Полигон-2 »   Технический флейм »   Мышиный Антиконвертер
RSS

1 посетитель просмотрел эту тему за последние 15 минут
В том числе: 1 гость, 0 скрытых пользователей

Последние RSS
[Москва] LIQUID-Акция. Сливаются разъемы CF
МС7004 и 7004А на AT и XT
Пайка термотрубок
Проммать s478 PEAK 715VL2-HT ( Full-Size SBC)
Подскажите по 386 материке по джамперам.

Самые активные 5 тем RSS