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

Полигон-2

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

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

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

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

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

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

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


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


Ссылка


Дата регистрации на форуме:
14 сен. 2014
Спасибо!
Сейчас занимаюсь новым вариантом аппаратной части.
Схема та же, но в железе чтобы было более удобно и практично. Планирую сделать полностью на SMD элементах.
Пока основная загвоздка в миниатюрном 4-пиновом SMD разъёме, с шагом ~1,25мм. Надеюсь, найдётся на радиорынке.
Но гарантий никаких. Если у кого-то есть намётки, буду рад помощи.
Желательно, чтобы размер (вместе с ответной частью) не превышал 7х6х4мм (ШхГхВ).

Также есть пожелания, чтобы это работало в NT и других осях, которые не используют DOS, и нет возможности загрузить драйвер до загрузки оси.
Для меня это не очень актуально. Но, может со временем...
Самое простое решение видится в добавлении кода в загрузчик. Но пока не вникал.

Кстати, у большинства 286-х контроллер клавиатуры уже стоит в панельке. Модификация самая простая - остаётся только подкинуть Irq12.
На 386-х примерно в каждой 4-й или 5-й материнской плате. 486-е такие мне пока не попадались.
Ekb
Advanced Member


Всего сообщений: 1628
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
15 июня 2014
Предлагаю в первом посте написать то, что достигнуто + фотки. Иначе 8 страниц - не осилю читать :(
Rio444
Гость


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


Ссылка


Дата регистрации на форуме:
14 сен. 2014
ОК, постараюсь вечером сделать.
Rio444
Гость


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


Ссылка


Дата регистрации на форуме:
14 сен. 2014
Ekb написал:
[q]
Предлагаю в первом посте написать то, что достигнуто + фотки. Иначе 8 страниц - не осилю читать
[/q]
Наконец наступил этот "вечер", добавил в первый пост.
Rio444
Гость


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


Ссылка


Дата регистрации на форуме:
14 сен. 2014
Продолжаю свой блог :)

Вчера попробовал запустить на WinNT 3.51, добавив в MBR такой код:
  MBR HEX
  0000 E98D01                 jmp near 0190  
  ....
  ....
  0190 E4A1                   in al, A1
  0192 24EF                   and al, EF
  0194 E6A1                   out A1, al
  0196 B84000                 mov ax, 0040
  0199 8ED8                   mov ds, ax
  019B 800E100004             or byte ptr [0010], 04
  01A0 31C0                   xor ax, ax
  01A2 FA                     cli
  01A3 E95DFE                 jmp near 0003  

Он затирает командой JMP первые три байта MBR (FA 31 C0),
но перед возвратом их выполняет (строчки 01A2 и 01A0).
Код работает отлично - наличие мыши добавляется в список оборудования по адресу 0040:0010h,
размаскировывается прерывание Irq12 в PIC. Но мышь не работает(((
Думаю, либо надо все эти действия производить на этапе установки Win,
либо, всё таки, WinNT 3.51 использует какие-то службы BIOS. Например, перед загрузкой, ещё в реальном режиме,
инициализирует мышь службой C2 прерывания int 15h.
Завтра поэкспериментирую с Win95. Она точно подхватывает PS/2 мышь даже будучи полностью установленной.
Rio444
Гость


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


Ссылка


Дата регистрации на форуме:
14 сен. 2014
Поигрался вчера с Win95. Предполождения подтвердились.

Если исключить (или не включать) мышь в список оборудования по адресу 0040:0010h, то при загружке Win: "Мышь не обнаружена, COM мышь можете подключить прямо сейчас".

Если не размаскировать Irq12, то вроде всё нормально, мышь обнаруживается, Win загружается, но компьютер не реагирует ни на мышь, ни на клавиатуру. Выходной буфер 8042 заполняется, а освободать его некому. Irq12 не срабатывает, int 74h не вызывается.

Если "отключить" обработку Irq12 (int 74h), то мышь вполне себе работает. Что тоже логично. Было бы глупо, если бы Win из защищенного режима вызывала обработчик реального режима. То есть Windows полностью подменяет обработчик int 74h своим.
Правда, есть одно но. Если вы перезагрузите Windows в "режиме эмуляции MS-DOS", то штатный обработчик Windows работать не будет. Он работает только в защищенном режиме. Драйверы мыши тоже работать не будут.

Если отключить обработчик int 15h служб C200...C207, то происходит ровно тоже, что и в самом первом случае: "Мышь не обнаружена, COM мышь можете подключить прямо сейчас". Причем, Windows использует при загрузке все восемь служб, начиная с C200 и заканчивая C207. Если вместо любой из них поставить заглушку, возвращающую аппаратную ошибку мыши, то результат всегда одинаков.

Возвращаясь к вопросу Win NT. Конечно выяснившиеся обстоятельства несколько затрудняют задачу. Но после MBR следуют как минимум несколько свободных, ни под что не используемых секторов (в моём случает 63 по 512кБ), так что есть, где развернуться))))
Если найдутся желающие - велкам в личку. Поделюсь всеми наработками.
Rio444
Гость


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


Ссылка


Дата регистрации на форуме:
14 сен. 2014
Переделал на SMD компонентах, полностью по приведенной выше схеме.
Залил эпоксидным клеем.
Толщина текстолита - 0,5мм.
Высота устройства в панельке на 1,5мм больше по сравнению с обычной микросхемой.
В принципе, можно уложиться в 1,0мм. Слишком много налил эпоксидки на шлейф.
Форма для заливки получается довольно сложной. Из-за того, что с наружной стороны ножки должны быть слегка оголены. А SMD элементы надо наоборот залить потолще.
Идально залить не получилось, поэтому после заливки пришлось дополнительно обработал "напильником". Из-за этого поверхность заливки не везде глянцевая.
Заодно доработал драйвер (ссылка в первом посте). Раньше при переходе из одной программы в другую изредка терялась последовательность чередования байтов в пакете от мыши. Курсор начинал "метаться" по экрану. С новой версией такой эффект поймать не удалось.







XPOHOMETP
Advanced Member


Всего сообщений: 752
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
13 мая 2015
Rio444 написал:
[q]
Залил эпоксидным клеем.Залил эпоксидным клеем.Залил эпоксидным клеем.
[/q]
А с какой целью заливали то? Сопутствующие темы про эпоксидку читал...
Если шлейф отходящий зафиксировать - так его отдельно приклеить можно.
Если схему заизолировать - лак и кисточка в руки :)
Не в плане надежности Вашей схемы, но любое покрытие ремонтопригодность снижает :frown:
Rio444
Гость


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


Ссылка


Дата регистрации на форуме:
14 сен. 2014
XPOHOMETP написал:
[q]
А с какой целью заливали то?
[/q]
Для прочности. Если "поставил и забыл", думаю достаточно лаком покрыть.
У меня сейчас один экземпляр такой. Пока не сделаю несколько, буду перетыкать из платы в плату этот.
Там есть очень ненадежные с механической точки зрения места:
- 20, 38, 39, 40* ноги припаяны к дорожкам на краю платы, т.е. пропаян стык 90 градусов между ножкой и платой. Много припоя туда нельзя, будет мешать заходить ножкам в панельку;
- 38 и 39 ноги "фиктивные", согнуты буквой "Г" и приклеены на суперклей к тыльной стороне платы.
Вот за эти элементы опасения.
Шлейф приклеен к плате суперклеем до заливки эпоксидкой.

*первая нога - со стороны шлейфа.
XPOHOMETP
Advanced Member


Всего сообщений: 752
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
13 мая 2015
Rio444 написал:
[q]
Там есть очень ненадежные с механической точки зрения места
[/q]
Классическая эпоксидка конечно добавит толщины для прочности, но сама по себе она тоже вещь весьма хрупкая.
Был какой-то вариант для ремонта обуви, типа лопнувшие подошвы клеить.
Сам не пробовал, потому марку не подскажу, но от знакомых положительные отзывы слышал.
Клей именно на эпоксидной основне имелся ввиду...

Rio444 написал:
[q]
20, 38, 39, 40* ноги припаяны к дорожкам на краю платы,
[/q]
Это в любом случае штучное изделие.
Намотайте на ножку тонкий проводок, его и на плату заведите (а потом всё вместе пропаять).
Ну а в текущей ситуации ИМХО вопрос не в припое, а насколько крепко дорожка к плате держится.
Если при пайке не перегревать, то не оторвутся они. Вы же не советском гетинаксе делаете...
<<Назад  Вперед>> Страницы: 1 2 3 4 5 ... 11 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