Объявление форума |
Если пользуетесь личными сообщениями и получили по электронной почте оповещение о новом письме, не отвечайте, пожалуйста, почтой. Зайдите на форум и ответьте отправителю через ЛС. |
Полигон-2 » IBM PC-совместимое. До 2000 года включительно » Переделка АТ интерфейса клавиатуры в PS/2 на старых платах |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 ... .. 12 13 14 15 16 17 | Печать |
Rio444
Гость
Откуда: Ростов-на-Дону Всего сообщений: 8632 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 14 сен. 2014 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 15 октября 2017 15:40 Сообщение отредактировано: 27 января 2018 19:12
Краткое изложение последующих 8-ми страниц, включая предысторию в вольном толковании Начиная с 286-х IBM PC в составе материнской платы появился "контроллер клавиатуры" (сокращенно KBC - KeyBoard Controller). Это большая 40-ножечная микросхема, похожая на Bios, только побольше. Первоначально в качестве KBC использовался контроллер общего назначения Intel 8042 со специальной прошивкой. Позднее, когда KBC стали применяться массово, Intel стала производить 8042 уже с прошитой программой. Появилось множество уже прошитых клонов. Самые известные - Amikey, LT38C41, W83C42, Jetkey. Более подробный список на rom.by Основной функцией KBC является преобразование последовательного асинхронного интерфейса АТ клавиатуры в параллельный. Т.е. информация из клавиатуры приходит побитно по двум линиям - Data (данные) и Clock (тактирование), а процессору "предстаёт" побайтно. Причём уже в виде ASCII кодов, в порте 60h. Помимо этого, KBC "нагружен" и другими функциями. Самые важные из которых - программный Reset и управление Gate A20. Также к KBC подключены разные джамперы, которыми задаётся работа компьютера на этапе загрузки BIOS - "Color/Mono", "Turbo", "Keylock", "Объём RAM". В компьютерах IBM PS/2 к тому же самому KBC подключили "PS/2 мышь". Это потребовало смены прошивки и схемы подключения. Физически протокол PS/2 никак не отличается от АТ. Это тот же самый асинхронный последовательный интерфейс с двумя линиями - Data и Clock (плюс питание +5В и "земля"). Информация, передаваемая от мыши, конечно отличается. Ниже схемы включения контроллера клавиатуры для АТ и PS/2 режима: Что характерно, остальной части компьютера абсолютно всё равно, в каком режиме работает KBC. Взаимодействие с клавиатурой не меняется никак. Это всё тот же порт 60h для данных и порт 64h для управления и получения информации о состоянии KBC. Естественно, PS/2 мышь будет работать только в режиме PS/2 KBC. Контроллеры клавиатуры с поддержкой PS/2 режима (это Amikey-2, Holtek HT6542B, VIA VT82C42N и др.) обратно совместимы с АТ контроллерами. И сами определяют режим работы (АТ или PS/2) по схеме включения. Идея переделки состоит в том, чтобы изменить схему включения KBC с АТ на PS/2. При необходимости заменить сам контроллер, если установленный не поддерживает режим PS/2. Схема переделки: Синим цветом - то, что исходно уже есть на материнской плате. X1.1 и X1.2 - панелька под контроллер клавиатуры. Старый контроллер вытаскиваем. Вставляем новый с обвязкой. Сажаем на 36-ю ногу IRQ12 перемычкой на материнской плате. Черным цветом - то, что добавляем. Вместо инверторов 7406 используются обычные smd транзисторы типа 3904. В железе, на текущий момент: Как видно, помимо установки нового KBC и обвязки нужно соединить проводом ноги 36 KBC и D5 разъёма ISA. Это сигнал аппаратного прерывания Irq12, которым KBC сигнализирует процессору о приходе данных от мыши. Помимо аппаратной переделки необходима программная поддержка со стороны BIOS. ЧСХ поддержка PS/2 мыши существует во всех BIOS с древних времён (появления IBM PS/2), но отключена. Для Award BIOS существует отличная программа Modbin, которая понимает даже старые версии Bios. На 486-й с Award Bios модификация успешно проделана, поддержка PS/2 мыши в Bios включена, PS/2 мышь работает.))) Для редактирования старых AMI Bios существует туева куча версий программы AmiBCP. Причем под каждую версию биоса своя версия AmiBCP и никто эти версии в глаза не видел. Список версий. Поэтому возник вопрос, как добавить программную поддержку PS/2 мыши не трогая биос. Мною написан драйвер PS2SUPP rev.1.0.2, который эту поддержку добавляет. 26.01.18 добавил версию 1.0.2c, которая проверяет 3-й бит в первом байте пакета от мыши (он всегда должен быть =1), и если он не равен 1, сбрасывает мышь. Он немного больше по размерам, чем предыдущий. В памяти занимает на 16 байт больше. Достаточно запустить этот драйвер перед запуском драйвера мыши. Работает в DOS и версиях Windows - надстройках над DOS (Win 3xx, Win9x). Удобнее всего поставить запуск драйвера поддержки PS/2 мыши в autoexec.bat. К сожалению, не работает в Win NT и других осях, которые не базируются на DOS. Пока всё. Сейчас занимаюсь улучшением аппаратной части. ;============================================================ ; Начало исходного сообщения ;============================================================ Интерфейс PS/2 нужен, чтобы можно было подключать оптическую мышь. Коллеги, есть какие-то соображения по этому поводу? Можно ли это сделать? Имеет ли смысл? Как лучше делать? Может кто-то уже делал такое? Вообще, стоит ли этим заниматься? |
пользователь
Newbie
Откуда: Йошкар-Ола Всего сообщений: 56 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 4 окт. 2017 |
Поисковик выдал: http://www.phantom.sannata.ru/...mp;t=11271 После беглого ознакомления - либо конвертер протокола, либо ISA плата. |
IdeaFix |
NEW! Сообщение отправлено: 15 октября 2017 16:14
Видел на картинках плату в разъём клавиатурного BIOS, в который вставлялся собственно клавный BIOS и была гребенка для PS2 мыши |
Сейчас на форуме |
Rio444
Гость
Откуда: Ростов-на-Дону Всего сообщений: 8632 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 14 сен. 2014 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 15 октября 2017 16:18 Сообщение отредактировано: 15 октября 2017 16:19
пользователь написал: Да, видел эту тему. ISA плата - только для Bus Mouse. https://en.wikipedia.org/wiki/Bus_mouse Её сейчас сложнее найти, чем шариковую COM. Конвертер протокола PS/2 в COM даже в отдельной теме обсуждался. Работать, работает, но всё равно часть информации теряется. Это как кинопленку переписывать на видеокассету. Разные форматы, разные носители, частота кадров, цветовой охват. Хочется, так сказать, нативно. IdeaFix написал: Где? Видел на картинках плату в разъём клавиатурного BIOS, в который вставлялся собственно клавный BIOS и была гребенка для PS2 мыши |
IdeaFix |
NEW! Сообщение отправлено: 15 октября 2017 16:32
Rio444 Вот сейчас гуглю, не могу нагуглить.... т.е. это была платка небольшая, котоаря втыкалась в ДИП40 вместо клавного биоса, а на ней самой был клавный биос (тоже в дип40) и что-то еще из логики, ну и 5пин гребенка под PS/2. |
Сейчас на форуме |
IdeaFix |
NEW! Сообщение отправлено: 15 октября 2017 16:34 |
Сейчас на форуме |
Anonymous
Advanced Member
Откуда: Москва(Россия) Всего сообщений: 2537 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 22 нояб. 2011 |
IdeaFix написал: 7405 нужна была, либо 7407, в зависимости от прошивки. и что-то еще из логики |
IdeaFix |
NEW! Сообщение отправлено: 15 октября 2017 16:41
Если кто-то освоит выпуск таких штук даже на макетке - стал бы постоянным покупателем Но я так понял там есть какие-то блокирующие баги, то ли на isa надо кидать хвост какой-то, то ли еще что-то, но повторюсь, читал по диагонали. |
Сейчас на форуме |
Anonymous
Advanced Member
Откуда: Москва(Россия) Всего сообщений: 2537 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 22 нояб. 2011 |
Прерывание от ps/2-мышки на irq12 протаскивать надо. В 386 только клавиатурное разведено до 8042. |
Rio444
Гость
Откуда: Ростов-на-Дону Всего сообщений: 8632 Рейтинг пользователя: 0 Ссылка Дата регистрации на форуме: 14 сен. 2014 |
Профиль | Сообщить модератору
NEW! Сообщение отправлено: 15 октября 2017 17:05 Сообщение отредактировано: 15 октября 2017 17:08
IdeaFix, спасибо! То, что нужно. Бегло просмотрел. Как понял, главная загвоздка - поддержка биосом. Если поддерживает, то всё ОК. Если нет - нужно писать свой обработчик прерывания от мыши. Насколько понял, никто его ещё не написал. Anonymous написал: Это не сложно. IRQ12 сидит на ноге D5 разъема ISA16. Прерывание от ps/2-мышки на irq12 протаскивать надо. IdeaFix написал: В варианте на картинке получается довольно толстый "бутерброд". На моей материнке, для которой всё затеял, прямо над контроллером 8042 сидят VLB карты. Зазор миллиметров 5, не больше. Кстати, сейчас посмотрел другую плату, там контроллер под ISA платами. Их можно в принципе не ставить. Если кто-то освоит выпуск таких штук даже на макетке - стал бы постоянным покупателем Не на всех материнках контроллер стоит в панельке. Его придется выпаивать и запаивать панельку. Сколько штук Вам было бы интересно и порядок цены? Anonymous написал: Истина где-то рядом(с) 7406. IdeaFix написал:7405 нужна была, либо 7407, в зависимости от прошивки. и что-то еще из логики |
<<Назад Вперед>> | Страницы: 1 2 3 4 5 ... .. 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 тем | |