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

Полигон-2

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

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

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

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

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

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

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


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


Ссылка


Дата регистрации на форуме:
14 сен. 2014
i8088 написал:
[q]
В качестве плана - найти DDK для NT3.51, посмотреть примеры кодов и сделать драйвер
[/q]
Но тогда придется делать драйвер для каждой оси.
Это, как минимум, NT 4.0, OS/2, Linux.
Мне видится более интересным вариант модификации MBR. Делают же это как-то вирусы?

Другие, возможные варианты:
- дополнение кода bios в ПЗУ,
- отдельное ПЗУ (например на сетевой карте).

С этим вопросом перекликается другой, очень интересный. Возможно ли создание контроллера PS/2 мыши на отдельной ISA плате?
Основная сложность в том, что реальный PS/2 контроллер не самостоятельное устройство, а "часть" контроллера клавиатуры.
Взаимодействие с ним осуществляется по тем же адресам: 60h для данных и 64h - управление и чтение статуса.
Внешний PS/2 контроллер мыши можно создать как отдельное, независимое устройство. Но в этом случае он будет иметь свои, другие адреса шины портов и требовать драйвера для каждой ОС. Для DOS и Win3.x, Win9x драйвер можно сказать готов. Достаточно внести небольшие изменения в существующий код. На остальные оси драйвера нужно будет писать с нуля.

Второй вариант - попытаться "скрестить" существующий KBC и новый контроллер PS/2. По всей видимости, понадобится дополнительная схема, которая будет отключать основной контроллер, когда необходимо взаимодействие с контроллером PS/2. Задача если и возможная, то весьма нетривиальная. Вероятно надо будет подключаться (или включаться в разрыв) ног контроллера: "Chip Select", "Host Read", "Host Write".
i8088
Advanced Member


Откуда: г. Баку, Азербайджан
Всего сообщений: 2132
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 янв. 2015
Rio444 написал:
[q]
Мне видится более интересным вариант модификации MBR. Делают же это как-то вирусы?

Другие, возможные варианты:
- дополнение кода bios в ПЗУ,
- отдельное ПЗУ (например на сетевой карте).
[/q]
Все варианты возможны, кстати модификация BIOS для Award (если достаточно размаскировать IRQ12
итп, те есть отлаженный код) довольно простая.

Надо или внедрится в POST jump table (после настройки 8259, на место dummy,онми всегда есть)
Или добавить ISA module в BIOS, с помощью CBROM (это менее надежно).
[q]
С этим вопросом перекликается другой, очень интересный. Возможно ли создание контроллера PS/2 мыши на отдельной ISA плате?
[/q]
Основная здесь сложность (если не требовать спец драйвера, те если контроллер kbd+mouse по
стандартным адресам, и также минимум доработок платы), это полностью отключить встроенный
контроллер, те сть весь функционал переложить на ISA плату.

Возможно, достаточно изъять 8042 из панели, или если он запаян, организовать посоянно RESET или
отсутствие выборки #CS для него. (8042 - не совсем 8048, он специально предназначен для работы в
составе микропроцессорных систем, есть изменения, в виде наличия A0 и CS в частности).
Если он подключен к шине данных ISA без дополнительных буферов (типа LS 245, это легко
проверить), то изымания должно быть достаточно, тк вместо встроенного быдет выбираться внешний,
а дешифратор буден на ISA плате, те ситуации когда на шине ISA окажутся два устройства по одному
адресу, не должно быть.

upd.
В оригинальной AT буфер есть, отделяющий внутреннние устройства, от устройств на ISA. Тогда правильнее контроллер по нестандартным адресам, со своим драйвером.
Rio444
Гость


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


Ссылка


Дата регистрации на форуме:
14 сен. 2014
i8088 написал:
[q]
В оригинальной AT буфер есть, отделяющий внутреннние устройства, от устройств на ISA.
[/q]
Не совсем понял, как это влияет?

i8088 написал:
[q]
Основная здесь сложность... это полностью отключить встроенныйконтроллер
[/q]
Это мне кажется совсем не сложным. Прямой и грубый вариант - откусить ногу /CS и повесить её через резистор на +5В.
Возможно, есть какие-то программные варианты.

i8088 написал:
[q]
те сть весь функционал переложить на ISA плату.
[/q]
Возможно ли это? Помимо обслуживания мыши и клавиатуры, KBC, как минимум, управляет А20 Gate и программным Reset.
Схему изучал давно, но помнится, не все сигналы выведены на ISA.
Придется бросать провода с ножек 8042, что нивелирует весь смысл затеи.
Наверное, проще оставить существующий KBC, но отключать его, когда идёт обращение к портам 60h и 64h, выделяя команды для мыши и клавиатуры. Причем очень оперативно. Наверное, с помощью ПЛИС. Так, чтобы команды, связанные с А20 Gate и Reset продолжали работать.
i8088
Advanced Member


Откуда: г. Баку, Азербайджан
Всего сообщений: 2132
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 янв. 2015
Rio444 написал:
[q]
Не совсем понял, как это влияет?
[/q]
Даже если отключить контроллер KBC, буфер двунаправленный может быть будет
выбран при обращении к портам KBC, и будет передавать логические единицы на ISA.


Rio444 написал:
[q]
Помимо обслуживания мыши и клавиатуры, KBC, как минимум, управляет А20 Gate и программным Reset.
[/q]
Черт, я совсем забыл за это! Тогда да, полная замена KBC без проводов от ISA платы невозможна.


Rio444 написал:
[q]
Наверное, проще оставить существующий KBC, но отключать его, когда идёт обращение к портам 60h и 64h, выделяя команды для мыши и клавиатуры. Причем очень оперативно. Наверное, с помощью ПЛИС. Так, чтобы команды, связанные с А20 Gate и Reset продолжали работать.
[/q]
По моему это несколько громоздко и не очень надежно, опять таки не на всех платах 8042 в явном виде...

Мне все же кажется, правильнее делать платы по нестандартным адресам, со своим
драйвером, специально для мыши, это будет пригодно и для плат, где нет "настоящего" 8042.
Rio444
Гость


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


Ссылка


Дата регистрации на форуме:
14 сен. 2014
i8088 вот тут ещё одна мысль появилась.
Что если использовать плату, которая ОС будет видна как упомянутая выше "Bus Mouse"?
А фактически это будет переходник с "Bus Mouse" на PS/2 мышь.
В википедии пишут, что Bus Mouse выпускалась до ~2000 года. Все старые ОС должны её знать.
Остаётся это проверить и найти документацию на протоколы Bus Mouse.
i8088
Advanced Member


Откуда: г. Баку, Азербайджан
Всего сообщений: 2132
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 янв. 2015
Я тут почитал - ISA плата по стандартным адресам не будет работать,
тк чтение по адресам 0h -0ffh (при наличии устройства) не распрстраняется на шины расширения.


Rio444 написал:
[q]
Что если использовать плату, которая ОС будет видна как упомянутая выше "Bus Mouse"?
А фактически это будет переходник с "Bus Mouse" на PS/2 мышь.
[/q]
Насколько помню, Bus Mouse это просто несколько линий портов ввода-вывода, и запрос прерывания. В принципе возможно, только
такая мышь не может программироваться (если только в обработчике
OS это не имитируется возможностью изменения скорости итп), те это похоже на переход с клавиатуры AT
на XT Протоколы надо будет изучить очень тщательно, для написания
программы ля MK.

Только по скорости - не будет ли ситуации как с COM->PS2.
ISA конечно быстрее COM, но протокол BUS Mouse не вносет ли ограничения?
Rio444
Гость


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


Ссылка


Дата регистрации на форуме:
14 сен. 2014
i8088 написал:
[q]
Только по скорости - не будет ли ситуации как с COM->PS2.ISA конечно быстрее COM, но протокол BUS Mouse не вносет ли ограничения?
[/q]
Есть такие опасения.
Rio444
Гость


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


Ссылка


Дата регистрации на форуме:
14 сен. 2014
Win95 после запуска драйвера подхватила PS/2 мышь легко и непринужденно, причем ещё на этапе установки.
Rio444
Гость


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


Ссылка


Дата регистрации на форуме:
14 сен. 2014
Проверил на AMD 5x86-133@160.
Для 286 пришлось перекомпилировать. По умолчанию NASM компилирует под 386.
Проверил на 286-16. В том числе, в детурбированном режиме (производительность примерно 286-10).
В памяти занимает 1,1кб.
PS2SUPP rev.1.0.2
Надеюсь скачавшие используют по прямому назначению))))
i8088
Advanced Member


Откуда: г. Баку, Азербайджан
Всего сообщений: 2132
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
30 янв. 2015
Поздравляю с написанием полезной программы!!

Осталось еще, что доделать, вопросы нерешенные итп?
<<Назад  Вперед>> Страницы: 1 2 3 4 5 ... 10 11 12 13 14 * 15 16 17
Печать
Полигон-2 »   IBM PC-совместимое. До 2000 года включительно »   Переделка АТ интерфейса клавиатуры в PS/2 на старых платах
RSS

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

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

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