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

Полигон-2

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

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

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

Полигон-2 »   IBM PC-совместимое. До 2000 года включительно »   Переделка АТ интерфейса клавиатуры в PS/2 на старых платах
RSS

Переделка АТ интерфейса клавиатуры в PS/2 на старых платах

Уровня 386-х, 486-х, чтобы можно было подключить PS/2 мышь.

<<Назад  Вперед>> Страницы: 1 2 3 4 5 ... .. 12 13 14 15 16 17
Печать
 
Rio444
Гость


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


Ссылка


Дата регистрации на форуме:
14 сен. 2014
Краткое изложение последующих 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
Гость

Ссылка

Видел на картинках плату в разъём клавиатурного BIOS, в который вставлялся собственно клавный BIOS и была гребенка для PS2 мыши
Сейчас на форуме
Rio444
Гость


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


Ссылка


Дата регистрации на форуме:
14 сен. 2014
пользователь написал:
[q]
[/q]
Да, видел эту тему. ISA плата - только для Bus Mouse. https://en.wikipedia.org/wiki/Bus_mouse
Её сейчас сложнее найти, чем шариковую COM.
Конвертер протокола PS/2 в COM даже в отдельной теме обсуждался.
Работать, работает, но всё равно часть информации теряется. Это как кинопленку переписывать на видеокассету. Разные форматы, разные носители, частота кадров, цветовой охват.
Хочется, так сказать, нативно.

IdeaFix написал:
[q]
Видел на картинках плату в разъём клавиатурного BIOS, в который вставлялся собственно клавный BIOS и была гребенка для PS2 мыши
[/q]
Где?
IdeaFix
Гость

Ссылка

Rio444
Вот сейчас гуглю, не могу нагуглить.... т.е. это была платка небольшая, котоаря втыкалась в ДИП40 вместо клавного биоса, а на ней самой был клавный биос (тоже в дип40) и что-то еще из логики, ну и 5пин гребенка под PS/2.
Сейчас на форуме
IdeaFix
Гость

Ссылка

Во!


http://www.vogons.org/viewtopi...p;start=60

Но я по диагонали читал, может это и совсем не то...
Сейчас на форуме
Anonymous
Advanced Member


Откуда: Москва(Россия)
Всего сообщений: 2537
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
22 нояб. 2011
IdeaFix написал:
[q]
и что-то еще из логики
[/q]
7405 нужна была, либо 7407, в зависимости от прошивки.
IdeaFix
Гость

Ссылка

Если кто-то освоит выпуск таких штук даже на макетке - стал бы постоянным покупателем :)

Но я так понял там есть какие-то блокирующие баги, то ли на isa надо кидать хвост какой-то, то ли еще что-то, но повторюсь, читал по диагонали.
Сейчас на форуме
Anonymous
Advanced Member


Откуда: Москва(Россия)
Всего сообщений: 2537
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
22 нояб. 2011
Прерывание от ps/2-мышки на irq12 протаскивать надо. В 386 только клавиатурное разведено до 8042.
Rio444
Гость


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


Ссылка


Дата регистрации на форуме:
14 сен. 2014
IdeaFix, спасибо! То, что нужно.
Бегло просмотрел. Как понял, главная загвоздка - поддержка биосом. Если поддерживает, то всё ОК. Если нет - нужно писать свой обработчик прерывания от мыши. Насколько понял, никто его ещё не написал.

Anonymous написал:
[q]
Прерывание от ps/2-мышки на irq12 протаскивать надо.
[/q]
Это не сложно. IRQ12 сидит на ноге D5 разъема ISA16.

IdeaFix написал:
[q]
Если кто-то освоит выпуск таких штук даже на макетке - стал бы постоянным покупателем
[/q]
В варианте на картинке получается довольно толстый "бутерброд". На моей материнке, для которой всё затеял, прямо над контроллером 8042 сидят VLB карты. Зазор миллиметров 5, не больше. Кстати, сейчас посмотрел другую плату, там контроллер под ISA платами. Их можно в принципе не ставить.
Не на всех материнках контроллер стоит в панельке. Его придется выпаивать и запаивать панельку.
Сколько штук Вам было бы интересно и порядок цены?

Anonymous написал:
[q]
IdeaFix написал:
[q]
и что-то еще из логики
[/q]
7405 нужна была, либо 7407, в зависимости от прошивки.
[/q]
Истина где-то рядом(с) 7406.
<<Назад  Вперед>> Страницы: 1 2 3 4 5 ... .. 12 13 14 15 16 17
Печать
Полигон-2 »   IBM PC-совместимое. До 2000 года включительно »   Переделка АТ интерфейса клавиатуры в PS/2 на старых платах
RSS

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

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

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