Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » IBM PC-совместимое. До 2000 года включительно » Переделка АТ интерфейса клавиатуры в PS/2 на старых платах |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 6 * 7 8 9 10 .. 12 13 14 15 16 17 | Печать |
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. Как различные ОС к такому отнесутся - ничего обещать не могу. |
Rio444
Гость
Откуда: Ростов-на-Дону Всего сообщений: 8632 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 14 сен. 2014 |
pahan, спасибо за наводку. Почитаю. Может можно как-то попроще? Или есть готовый код для таймера? |
pahan
Advanced Member
Откуда: Химки, М.О. Всего сообщений: 1070 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 13 мар. 2015 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 1 ноября 2017 15:41 Сообщение отредактировано: 1 ноября 2017 15:44
Сам с ним не развлекался, а примеры кода есть здесь: http://wiki.osdev.org/Programmable_Interval_Timer Там хорошая простыня |
i8088
Advanced Member
Откуда: г. Баку, Азербайджан Всего сообщений: 2132 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 30 янв. 2015 |
Я бы только посоветовал использовать инструкции не выше 286, чтобы можно было использовать эту разработку на 286 платах. В кодах BIOS-ов небольше задержки часто делаются просто loop цилами, но понятно, что такая задержка зависит от частоты и поколения CPU. Работу с таймером с только 16-bit инструкциями можно подсмотреть в коде Atmel программатора для AT89 (прилагаю AT89.ZIP, файл XTIMER.ASM) PS. Я бы использовал MASM (или другой DOS assembler), чтобы можно было вести разработку на 286 машине. Прикрепленный файл (AT89.ZIP, 0 байт, скачан: 17 раз) |
justontime
Full Member
Откуда: СПб Всего сообщений: 236 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 10 сен. 2016 |
Rio444 написал: Думаю, это самое реальное из всего возможного (подпрограмма задержки из BIOS PC/XT): как реализовать задержку 15мкс?
Извините за формат - тегов CODE что-то не вижу на форуме... Думаю, канал 0 DMA - единственное, что на старых компьютерах может более-менее надежно выдавать подобные интервалы, причем крайне маловероятно, чтобы кто-то решил его перепрограммировать (хотя такие примеры тоже знаю). Перепрограммировать 8253 категорически не рекомендую - несовместимость с чем-нибудь практически гарантирована... |
Tronix
Advanced Member
Откуда: Москва Всего сообщений: 1749 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 15 янв. 2008 |
Оффтопик: Оффтопик: justontime Оооо, вы только что подали мне идею, как все-таки попробовать Трайдент запустить. Нужно рефреш в BIOS увеличить до пары секунд, или сколько память потянет и попробовать стартануть. Если дело в ALE, то может успеть Video BIOS стартануть. РУ7 у меня держала данные до 5 секунд, помнится, без рефреша. |
Кай
Гость
Divine Assassin Откуда: извне (from beyond) Всего сообщений: 13709 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 8 авг. 2010 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 1 ноября 2017 21:13 Сообщение отредактировано: 1 ноября 2017 21:17 {code} Извините за формат - тегов CODE что-то не вижу на форуме...
{/code} Соотв. фигурные скобки меняем на квадратные. |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 6 * 7 8 9 10 .. 12 13 14 15 16 17 | Печать |
Полигон-2 » IBM PC-совместимое. До 2000 года включительно » Переделка АТ интерфейса клавиатуры в PS/2 на старых платах |
0 посетителей просмотрели эту тему за последние 15 минут |
В том числе: 0 гостей, 0 скрытых пользователей |
Последние | |
[Москва] LIQUID-Акция. Сливаются разъемы CF МС7004 и 7004А на AT и XT Пайка термотрубок Проммать s478 PEAK 715VL2-HT ( Full-Size SBC) Подскажите по 386 материке по джамперам. |
Самые активные 5 тем | |