PS/2 to COM converter (Сочинил вот на днях очередную поделку.)

Все, что не подходит под определение "старого софта и железа", обсуждается здесь
Аватара пользователя
Rio444
Почётный пользователь
Сообщения: 31307
Зарегистрирован: 14.09.2014,19:11
Откуда: Ростов-на-Дону
Благодарил (а): 46 раз
Поблагодарили: 120 раз

Вклад в сообщество

Сообщение Rio444 » 17.07.2015,11:50

EJSanYo писал(а):
Честно говоря, не нашёл нигде упоминаний, что для инициализации мыши нужен DTR. Как я понял, он используется только для её питания. Были небольшие сомнения, что что-то пропустил или невнимательно читал и могут быть проблемы в Win 3.11 (Вы выше писали, что у Вас в ней мышь не инициализировалась). Но, всё ОК. DTR можно смело исключать. Соответственно, Ваша схема тоже существенно упрощается.
Электронка: Изображение копия Изображение

Аватара пользователя
EJSanYo
Advanced Member
Сообщения: 423
Зарегистрирован: 27.12.2007,23:55

Вклад в сообщество

Сообщение EJSanYo » 18.07.2015,02:17

Rio444 по имеющейся информации, как раз таки RTS и используется для питания. Более-менее внятное описание тут.
Хорошо иметь DOOM-ик в деревне!

Аватара пользователя
Rio444
Почётный пользователь
Сообщения: 31307
Зарегистрирован: 14.09.2014,19:11
Откуда: Ростов-на-Дону
Благодарил (а): 46 раз
Поблагодарили: 120 раз

Вклад в сообщество

Сообщение Rio444 » 18.07.2015,10:39

EJSanYo писал(а):
Вот читаю Вашу ссылку
RTS may be toggled negative for at least 100ms to reset the mouse. (After a cold boot, the RTS line is usually negative. This provides an automatic toggle when RTS is brought positive). When DTR is toggled the mouse should send a single byte 0x45 (ASCII 'M').
и стойкое чувство, что в последней фразе опечатка (кстати, далеко не единственная в материалах по теме). Должно быть "When RTS is toggled the mouse should send a single byte 0x45 (ASCII 'M')."
Во всех других источниках упоминается только инициализация по RTS. В известном Вам даташите на EM84520 есть фраза "When RTS input from low to high, EM84520 will send a string ID code." И никакого упоминания про DTR.
Добавлю, упоминаемая в некоем, широко растиражированном, документе, пауза 63мс - тоже фейк. Никакой паузы вообще делать не нужно.

Вот что реально было бы интересно - поднять скорость работы с мышью с 1200 бод до хотя бы 2400. В том же самом, растиражированном, источнике упоминаются скорости 1200, 2400, 4800, 9600. И реализовать в конвертере это совсем не сложно. Только где найти драйверы, которые могут работать хотя бы с 2400 бод???
В сети упоминаются только такие драйверы под линукс и прочие не DOS и не Win системы.


Электронка: Изображение копия Изображение

Гость

Сообщение Гость » 18.07.2015,15:43

Rio444 писал(а):Вот что реально было бы интересно - поднять скорость работы с мышью с 1200 бод до хотя бы 2400. В том же самом, растиражированном, источнике упоминаются скорости 1200, 2400, 4800, 9600.
Думаешь, от сего шарик в мыши будет вертеться быстрее?! Иными словами, ограничение со стороны самой мыши становится основным "узким местом".
Кстати, среди ключей драйвера gmouse есть задание скорости порта, вроде 4800 можно было задавать влёгкую. :rolleyes:

Аватара пользователя
Rio444
Почётный пользователь
Сообщения: 31307
Зарегистрирован: 14.09.2014,19:11
Откуда: Ростов-на-Дону
Благодарил (а): 46 раз
Поблагодарили: 120 раз

Вклад в сообщество

Сообщение Rio444 » 18.07.2015,17:19

Fe-Restorator писал(а):Кстати, среди ключей драйвера gmouse есть задание скорости порта, вроде 4800 можно было задавать влёгкую.
Есть задание скорости перемещения мыши, как в большинстве драйверов.
Задания скорости порта нет. По крайней мере, в этих версиях http://old-dos.ru/index.php?do=show&id= ... page=files
Электронка: Изображение копия Изображение

Аватара пользователя
EJSanYo
Advanced Member
Сообщения: 423
Зарегистрирован: 27.12.2007,23:55

Вклад в сообщество

Сообщение EJSanYo » 20.07.2015,19:00

Rio444 в других источниках, в частности, по настройке gpm в линуксах, также встречается упоминание о необходимости дёргать DTR по крайней мере для некоторых мышей. Хотя однозначности в этом вопросе нет. Для некоторых моделей смысл этого сигнала вообще как будто смена режима работы. :(
Все описания разнообразных протоколов, какие встречал, работают на 1200. Разница лишь в длине пакета и 7 или 8 бит. Так что "разогнать" интерфейс можно, похоже, разве что если пересобрать какой-нибудь ctmouse из исходников на большую скорость. С риском потерять в совместимости, конечно.
Хорошо иметь DOOM-ик в деревне!

Аватара пользователя
Rio444
Почётный пользователь
Сообщения: 31307
Зарегистрирован: 14.09.2014,19:11
Откуда: Ростов-на-Дону
Благодарил (а): 46 раз
Поблагодарили: 120 раз

Вклад в сообщество

Сообщение Rio444 » 20.07.2015,19:56

Собственно, уже разобрался. Скорости 1200, 2400, 4800, 9600 поддерживала одна из первых доступных и популярных моделей мышей, Logitech "C7" 1985 года. Она предлагалась всего за 99$ :)
Изображение
Поддержку скоростей Logitech сохранила и в следующей "серии С-9" 1989 года. В следующих моделях все скорости, кроме 1200 были отрублены. Именно эти две модели упоминаются в read.me драйверов от Logetech, как способные работать со скоростями выше 1200 бод.
О поддержке скоростей отличных от 1200 другими производителями, мне неизвестно. Скорее всего, вплоть до середины 90-х высокие скорости были не актуальны. Ограничением были мощность компьютеров и шарик мыши. Именно вносили основной вклад в инерционность мыши.

Пока желания делать прошивку под драйверы Logitech лично у меня нет :) ИМХО проблем с совместимостью будет больше, чем пользы.
Электронка: Изображение копия Изображение

Ekb
Advanced Member
Сообщения: 2708
Зарегистрирован: 15.06.2014,11:31
Поблагодарили: 6 раз

Вклад в сообщество

Сообщение Ekb » 21.07.2015,03:24

А что даст 2400 или 9600 бод ? Курсор мышки будет более точнее позиционировать промежуточные "точки" данных ?

Просто играя мышкой на оптической мышке (купил у EJSanYo контроллер - все работает отлично, за это ему благодарен) - не заметил как "тормозит" мыша связанные с 1200 бодом.

Возможно, что 1200 бод связанно из-за ограничении графики 320х200 или 640х480 (комфортная графика для 286-386-раннего486). Абсолютно маленькое рабочее поле, по сравнению с Windows XP c 1366х720 или 1920х1440.

Играя в Wolf3D, заметно, что достаточно точно нацеливаю и выстреливаю.

Хотя понятно, что хочется 2400 и более бод. Но в SysInfo (от Norton) заметно как падает производительность CPU bench, когда крутишь мышкой. Будет ли хуже, если вместо 1200 на 9600 ? Упадет ли еще больше CPU bench ?

Аватара пользователя
Rio444
Почётный пользователь
Сообщения: 31307
Зарегистрирован: 14.09.2014,19:11
Откуда: Ростов-на-Дону
Благодарил (а): 46 раз
Поблагодарили: 120 раз

Вклад в сообщество

Сообщение Rio444 » 21.07.2015,11:15

Ekb писал(а):А что даст 2400 или 9600 бод ? Курсор мышки будет более точнее позиционировать промежуточные "точки" данных ?
Уменьшится задержка между изменением состояния мыши и реакцией компьютера на это изменение.
Особенно заметно, когда мышка неподвижна и начинается резкое движение. Курсор мыши начинает перемещаться не сразу, а через едва уловимое мгновение. Причём, например, в NC я задержку вообще не ощущаю. А в старинной советской игрушке Lines (они же "шарики"), эта задержка ощутима. Она чувствуется на уровне спинного мозга. Нет ощущения жёсткой связи между мышкой и курсором. Как будто пользуешься указкой, а эта указка не жёсткая, а из резины или ивового прутика. Конец указки немного запаздывает за движениями руки.
Ekb писал(а):Хотя понятно, что хочется 2400 и более бод. Но в SysInfo (от Norton) заметно как падает производительность CPU bench, когда крутишь мышкой. Будет ли хуже, если вместо 1200 на 9600 ? Упадет ли еще больше CPU bench ?
Правда Ваша. Скорее всего производительность упадёт. В том числе, по этой причине решил на заморачиваться с бОльшими скоростями.

Электронка: Изображение копия Изображение

Аватара пользователя
EJSanYo
Advanced Member
Сообщения: 423
Зарегистрирован: 27.12.2007,23:55

Вклад в сообщество

Сообщение EJSanYo » 22.07.2015,00:36

Ekb да, разница, полагаю, была бы заметна разве что в вендах. Ну может в линуксах под гуями. В досе с его крохотными по нынешним меркам разрешениями экрана, оно как-то...

Кстати, "гуртовщикам мыши" на заметку: наткнулся тут на неплохой даташит мышиного чипа Serial+PS/2 http://www.pa0qy.nl/pdf/MTA41300.pdf (Да, оказывается Microchip их тоже выпускали!) С подробным описанием протоколов и типовыми схемами включения. В которых производитель, судя по всему, пользует DTR в качестве дополнительного источника питания, не более.
Хорошо иметь DOOM-ик в деревне!

Аватара пользователя
EJSanYo
Advanced Member
Сообщения: 423
Зарегистрирован: 27.12.2007,23:55

Вклад в сообщество

Сообщение EJSanYo » 28.07.2015,15:44

Rio444 забавное наблюдение в тему сказанного выше. Читаем даташит на MTA41300 и видим:
3.1.14 SET RESOLUTION CODE: E8H, XXH
This command has no effect and only exists to ensure
compatibility.
...........
3.1.15 SET SCALING CODE: E7H
This command has no effect on resolution and only
exists to ensure compatibility.

3.1.16 RESET SCALING CODE: E6H
This command has no effect on resolution and only
exists to ensure compatibility.
Да, как видите, разработчики мышиных чипов начали халявить задолго до того, как "оптика" стала мейнстримом. :08:
Хорошо иметь DOOM-ик в деревне!

Ответить