Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » IBM PC-совместимое. До 2000 года включительно » Переделка АТ интерфейса клавиатуры в PS/2 на старых платах |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 * 6 7 8 9 .. 12 13 14 15 16 17 | Печать |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
hyperborean спасибо! Теперь более-менее понятно. |
Ekb
Advanced Member
Всего сообщений: 1628 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 15 июня 2014 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 16 октября 2017 21:17 Сообщение отредактировано: 16 октября 2017 21:58
Rio444 написал: Включил XT, снова подергал мышку в VC... ощущения абсолютно прозрачное, как и на основном 4-х ядерном компе. В разных программах (преимущественно в играх под DOS; в NC и Windows это менее заметно), путём: К слову, даже на основном компе с графикой 1280x720 - тоже курсор перепрыгивает через 10-20 пикселей, при быстром движении по кругу. Это заметно на глаз. Конвертор, точно также перепрыгивает несколько символов в VC. Это проблема низкого разрешения самой мышки (300dpi?) Если человеку не знать, что перед ним находится, то возникает ощущения, что это обычный эмулятор XT под 4-х ядерном. Другими словами, конвертор абсолютно прозрачен. Стартует мгновенно и застопаривается мгновенно. Полная синхронизация мышечной реакции и глазной обратной связи. Т.е. ты знаешь, что курсор остановится "вот в этом месте". Рисовать "МонаЛизу с истеричной улыбкой" не пробовал. Лень Нашел под XT игрушку с высоким разрешением.. да-да, это Warlords с 640x200, мыша там изначально не удобная, как и на COM-вских... Железная привычка играть на клавиатуре и использовать hot-key.. Но мыша там обязательна, чтобы попасть в кнопки "ok". Нашел еще SimCity, да-да, на XT тоже работает. Графика 640x350. Построил городок и обнаружил неудобства в том что "большая клетка" может промахнуться в другую сторону (строишь дорогу и пошла вверх на 1 клетку, а я хотел по горизонтали, на картинке видно этот "квадратный курсор"). Игрушка сама по себе не удобна, из-за отсутствия привычной формы "курсора мыши". Покупал за 300 руб. Забыл шариковую мышку как страшный сон Из минусов: 1) ужасный хвост для внешнего питания 5v, как в Flash-DOM-овских хвостов с 5 вольтом. Сам блок микроскопический, а этот хвост болтает как гремучая змея.. 2) Требуется ISA плата с COM-портом. С другой стороны, нет конфликтов на програмном уровне, Все программы думают что это стандартная COM-мыша. Полностью аутентичный COM-протокол. Из плюсов: 1) "а что такое шариковая мышь?" |
Rio444
Гость
Откуда: Ростов-на-Дону Всего сообщений: 8632 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 14 сен. 2014 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 16 октября 2017 22:28 Сообщение отредактировано: 2 декабря 2017 13:24
Ekb написал: На XT естественно ничего заметно не будет. Включил XT... Речь о 386, 486-х. 640х480 и выше. Я не уверен, что на 286-й что-то будет видно. P.S. Если это конвертер EJSanYo, то у его алгоритма проблема не с отзывчивостью, а с плавностью перемещения. Невозможно плавно менять скорость. Также попробуйте плавно, равномерно двигать курсором горизонтально, вертикально, под углом 45 градусов. |
Ekb
Advanced Member
Всего сообщений: 1628 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 15 июня 2014 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 17 октября 2017 1:27 Сообщение отредактировано: 17 октября 2017 9:05
Rio444 написал: Если речь идет "ускорения" то это ответственность несет драйвер мыши, управляется из командной строки. К слову, с этим проблем тоже не наблюдаю. Невозможно плавно менять скорость. Я так понимаю, что нужно проверять в 3D-шутере, подобия Descent - где нужно быстро и точно наводить на цель. Для таких случаев, у меня 486 на плате 4dps, у него и так есть PS/2 Кстати, рекомендую в Wolf3D играть только на конвертере, идеально работает и быстрый захват на цель. А не клавиатурой. Играл на быстром 286-25мгц. Rio444 написал: Откуда эти сведения? думаю паника преувеличена у его алгоритма проблема не с отзывчивостью, а с плавностью перемещения.... Подвигал... Также попробуйте плавно, равномерно двигать курсором горизонтально, вертикально, под углом 45 градусов. |
Rio444
Гость
Откуда: Ростов-на-Дону Всего сообщений: 8632 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 14 сен. 2014 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 17 октября 2017 6:56 Сообщение отредактировано: 17 октября 2017 9:03
Ekb написал: Из анализа исходного кода прошивки. Rio444 написал:Откуда эти сведения? думаю паника преувеличена у его алгоритма проблема не с отзывчивостью, а с плавностью перемещения.... В зависимости от установленного в конвертере масштаба скорости мыши, либо теряется часть пакетов, приходящих от мыши. Либо наоборот приходят уже устаревшие данные. Основная проблема протокола для COM мыши - низкая частота передачи данных. Всего 1200 бод/9 бит/3 байта = 44,(4) раза в секунду. Если пакет с данными приходит непосредственно от мыши, с задержкой 1000/44,(4) = 22,5 миллисекунд. Мизерный процент людей могут заметить такую задержку. Не зря считается, что fps с играх не должен опускаться ниже 30. Если мышь PS/2 подключена через конвертер, то задержка увеличивается в 2-3 раза. То есть будет 22,5*2 = 45мс или 22,5*3 = 67,5мс. Что соответсвует частоте 22,2 и 14,81Гц. Что уже очень заметно. Задержка связана с тем, что пока в COM порт передаётся очередной пакет данных, из PS/2 уже приходят новые данные. Они не передадутся в COM, пока в COM не уйдет текущий пакет. Задержка может быть разной потому что частоты передачи данных у PS/2 и COM мыши не совпадают. У PS/2 - 100 раз в секунду. У COM, как писал выше - 44,(4) раза. Поэтому задержка зависит от того, на кокой момент пакета передачи данных в COM приходится получение данных из PS/2. Если пакет данных в COM (почти) передан, но новый ещё не начался - задержка 45мс. Если только начался - то 67,5мс. Чтобы уменьшить задержку, можно передавать в COM только последний пакет, полученный из PS/2. При этом часть данных теряется. Теряются ранее полученные пакеты. Это будет ощущаться в незавномерном движении курсора, если очень медленно двигать мышью. Либо, если двигать ею равномерно вертикально, она будет слегка "скакать" влево-вправо. Если горизонтально - то вверх-вниз. Такой алгоритм реализован у EJSanYo при минимальном масштабе скорости. При других масштабах в компьютер приходит "свет угасших звёзд", т.е. неактуальные данные. Конечно понятнее было бы это всё отобразить на графиках. Если Вам действительно интересно, можете сами это сделать. Если Вы хотите доказать, что всё работает нормально и Вас всё устраивает, даже спорить не буду))) Ekb написал: Я довольно однозначно написал про курсор. Я так понимаю, что нужно проверять в 3D-шутере, подобия Descent - где нужно быстро и точно наводить на цель.Для таких случаев, у меня 486 на плате 4dps, у него и так есть PS/2 |
Ekb
Advanced Member
Всего сообщений: 1628 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 15 июня 2014 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 17 октября 2017 8:54 Сообщение отредактировано: 17 октября 2017 9:15
Rio444 написал: Вполне возможно. У COM-овских протоколов ограничено до Из анализа исходного кода прошивки. Часть пакетов от мыши PS/2 теряется и не доходит по порта COM. Могу только заверить, что "скачет в другую сторону" не замечал за последние 2 года (я изредка включал XT). Поэтому паника слегка преувеличена Но никто-ж не запрещает изобретать новое. В любом случае, аутентичность теряется в обеих случаях (конвертор или новый 8042 c ISA-платой). P.S. Интересно потом сравнить в лоб: конвертор или New8042. И где эта разница обнаружится. |
Rio444
Гость
Откуда: Ростов-на-Дону Всего сообщений: 8632 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 14 сен. 2014 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 17 октября 2017 8:56 Сообщение отредактировано: 17 октября 2017 11:14
Ekb написал: Дописал сообщение выше. Там подробнее. Предыдущее сообщение получилось несколько сумбурным. Есть неточности. Задержка в конвертере PS/2 -> COM, не в 2-3 раза, а в примерно 1,1-2,3 раза. |
Rio444
Гость
Откуда: Ростов-на-Дону Всего сообщений: 8632 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 14 сен. 2014 |
Ekb написал: Хорошая шариковая COM мышь на хорошем коврике более точно передаёт движения, чем оптическая через конвертер. Могу только заверить, что "скачет в другую сторону" не замечал за последние 2 года (я изредка включал XT). Поэтому паника слегка преувеличена Хотя, возможно, долю погрешности вносит сама оптическая мышь. Как-нибудь попробую с другой. "New8042" будет работать точно так же, как обычный PS/2 порт на любой материнской плате. Никаких задержек или преобразований не добавляется. Про "скачет" возможно я неточно выразился. Появляется дискретность движений. То есть, вместо того, чтобы перемещаться плавно, попиксельно, курсор может на мгновение остановиться, потом "перепрыгнуть" сразу на два пикселя. Это заметно только если очень медленно двигать мышью. Либо не настолько медленно, но почти вертикально или почти горизонтально. При быстрых резких перемещениях что-то заметить очень сложно. В каких-то программах это более заметно, в каких-то менее. Видимо сами программы вносят какую-то задержку на обработку входящих данных о перемещении мыши. И по-разному их обрабатывают. В теме о конвертере я писал, что наиболее заметны артефакты в игре "Цветные линии" (Lines). В Norton Commander заметить что-то практически невозможно. В Windows95 на уровне ощущений чувствуется небольшая рассинхронизация движения руки и курсора на экране. С оптической мышью, подключенной в PS/2 ощущения рассинхронизации не возникает. |
Rio444
Гость
Откуда: Ростов-на-Дону Всего сообщений: 8632 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 14 сен. 2014 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 1 ноября 2017 14:14 Сообщение отредактировано: 1 ноября 2017 14:15
Аппаратная часть проверена и отлично работает. Проверял на 486-й материнке с биос Award 4.50PG. В программной части оказалось достаточно подправить родной биос модбином, включить "PS/2 mouse support" enable. Оказалось, что ещё одна 486-я и все мои 386-е имеют AMI Bios. Каждая версия AMI Bios правится своей версией Amibcp: BCP14.EXE (for core BIOS 07/07/91)Источник Никто эти версии в глаза не видел. Если у кого есть, шлите! Сейчас работаю на TSR программой, которая будет выполнять все функции биос, связанные с работой PS/2 мыши. Кто знает ассемблер, и, особенно, NASM, нужны ваши подсказки. В частности, как реализовать задержку 15мкс? Сделал через функцию 86h прерывания int 15h. В некоторых источниках пишут, что эта функция нормально работает, если задержка от 1000мкс. Но не понятно, что будет, если длительность меньше. Как я предполагаю, просто реальная задержка будет больше заданной. Что скажете? |
pahan
Advanced Member
Откуда: Химки, М.О. Всего сообщений: 1070 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 13 мар. 2015 |
не позволяет реализовать задержку меньше 976 мкс, если речь про это: В некоторых источниках пишут, что эта функция http://vitaly_filatov.tripod.com/ng/asm/asm_026.13.html Надо разбираться как она внутри работает, чтобы проверить это. что будет, если длительность меньше Ровно не получится, но вряд ли вам наносекунды будут принципиальны В частности, как реализовать задержку 15мкс? Самому запрограммировать таймер 8254 на нужную частоту прерываний и ловить IRQ0 https://en.wikibooks.org/wiki/...rval_Timer Нужный делитель - 18. Как различные ОС к такому отнесутся - ничего обещать не могу. |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 * 6 7 8 9 .. 12 13 14 15 16 17 | Печать |
Полигон-2 » IBM PC-совместимое. До 2000 года включительно » Переделка АТ интерфейса клавиатуры в PS/2 на старых платах |
1 посетитель просмотрел эту тему за последние 15 минут |
В том числе: 1 гость, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |