__________________________________________
HARD
KEMPSTON MOUSE INTERFACE...
(c) Bit/XXL
__________________________________________
Здравствуйте, товарищи!!! В данный мо-
мент вы начинаете читать (вне)очередное
описание мыша а-ля KEMPSTON, и ежели ваша
рука невольно потянулась к чему-нибудь тя-
жёлому, то рекомендую пролистать эту эпо-
пею и, не теряя времени, приступить к пои-
ску знакомых буковок в следующей статье...
Итак, приступимс:
Это интерфейс для мышки с колесом, ко-
торая рулится в этом номере DonNews, но в
силу некоторых особенностей оболочки (от-
мазался я так:) пока не совсем круто. Но
поскольку помирать мне рановато, прогресса
в колесоподдержке не избежать. Хотя в
газете оно вобщем-то и не особо нужно(в
каком-нибудь файлере, например, толку от
него будет куда больше), но надо же на
чём-то испытывать...
Координата колеса висит в старших 4-х би-
тах порта кнопок. Следствие-> некоторые
проги не определяют сей приблуд. Точнее,
не определяли первый его экземпляр, соб-
ранный мною почти год назад. За это время
моя мысль всё-таки дошла до того, чтобы
подать на 1-ю ногу счётчика ИЕ11 сигналец
RES и избавиться от этой заморочки. Текст
определялки мыши и джойстика из Don-News19
в формате XAS (42sm), правильно определяю-
щие наличие мыша (при любом положении ко-
леса) и учитывающей конфликтное подключе-
ние (если у кого-то до сих пор руки не до-
шли подключить всё как положено) погребён
в приложении. Так же в приложении вы може-
те откопать и драйвер колеса, и шедевр под
названием "TestMous", созданный для нужд
проверки описуемого чуда техники.
Схема счетного каскада x или y (одинаковы)
┌───┬──┬──┐ ┌───┬──┬──┐
┌─5┤PI │CT│DO│ │DI │BD│DO│
│ ├───┤ │ │ │ │ │ │
a─┬─│15┤CLK│ │ 0├6──────────2┤0 │ │ 0├╖
│ │ ├───┤ │ 1├11─────────3┤1 │ │ 1├╢
b─┼┬│10┤U/D│ │ 2├14─────────4┤2 │ │ 2├╢
│││ ├───┤ │ 3├2──────────5┤3 │ │ 3├╢
││├─9┤ R │ ├──┤ ┌───────6┤4 │ │ 4├╢
││├─1┤ S │ │ P├7─┐│┌──────7┤5 │ │ 5├╢
││┴ └───┴──┴──┘ │││┌─────8┤6 │ │ 6├╢
││┌───────────────┘│││┌────9┤7 │ │ 7├╢
│││ ┌───┬──┬──┐ ││││ ├───┤ │ │║
││└─5┤PI │CT│DO│ ││││ │OE&│ │ │║
││ ├───┤ │ │ ││││ │ │ │ │║
└┼─15┤CLK│ │ 0├6──┘│││+5<─1┤0 │ │ │║
│ ├───┤ │ 1├11──┘││┌──19o1 │ │ │║
└─10┤U/D│ │ 2├14───┘││ └───┴──┴──┘║
├───┤ │ 3├2─────┘│ НОГИ 18-11 ║
┌─9┤ R │ ├──┤ │ ШИНА ДАННЫХ═══╝
├─1┤ S │ │ P├7─ │ D0-D7
┴ └───┴──┴──┘ │
└─СИГНАЛ
SELECT X/Y PORT
(X/YCS)
Схема дешифрации портов KEMPSTON
┌──┬───┬──┐
│DI│DC/│DO│
A10─1┤1 │DMX│ 0├15─ ПОРТ ДЖОЙСТИКА
A8──2┤2 │ │ 1├14─
A7──3┤3 │ │ 2├13─
├──┤ │ 3├12─
│& │ │ 4├11─ ПОРТ КНОПОК,BCS
RD──4oE1│ │ 5├10─
┌───5oE2│ │ 6├9── ПОРТ КООРДИНАТЫ X,XCS
│A0─6┤E3│ │ 7├7── ПОРТ КООРДИНАТЫ Y,YCS
│ └──┴───┴──┘
└────────────────┐
┌──┬──┬──┐ │
A5─1┤OE│BD│ │ │
├──┤ │DO├3─┘
OIRQ─2oDI│ │ │
└──┴──┴──┘
Схема порта кнопок и счетный каскад ролика
┌───┬──┬──┐
КНОПКИ МЫШИ─┐ │DI │BD│DO│
│ │ │ │ │
├──RB─2┤0 │ │ 0├18─D0
┌───┬──┬──┐ ├──LB─3┤1 │ │ 1├17─D1
┌─5┤PI │CT│DO│ └──MB─4┤2 │ │ 2├16─D2
│ ├───┤ │ │ +5<─5┤3 │ │ 3├15─D3
ra─│15┤CLK│ │ 0├6───────6┤4 │ │ 4├14─D4
│ ├───┤ │ 1├11──────7┤5 │ │ 5├13─D5
rb─│10┤U/D│ │ 2├14──────8┤6 │ │ 6├12─D6
│ ├───┤ │ 3├2───────9┤7 │ │ 7├11─D7
├┴─9┤ R │ ├──┤ ├───┤ │ │
┌─1┤ S │ │ p├7─ │OE&│ │ │
│ └───┴──┴──┘ │ │ │ │
│ RESET +5<─1┤0 │ │ │
└───────────────┐BCS─19o1 │ │ │
│ └───┴──┴──┘
┌──┬──┬──┐ │
+5v<─4┤OE│BD│ │ │┌──┐
_____ │ │ │DO├6─┴┤R1├┤
RESET─5oDI│ │ │ └──┘
└──┴──┴──┘
a,b-фазы с оптопар
ra,rb-то же с оптопары ролика
адреса А0-А15
OIRQ-D85/6 (на Пентагоне)
CT-(1)561/(1)564 ИЕ11 или CD4516AE/AK
BD-1533/1531AП6 или SN74ALS(F)245
BD на один канал - 1533ЛП8/SN74ALS(F)125
DC/DMX-1533/1531ИД7(SN74ALS(F)138)
R1- 10 кОм (левая/правая кнопки):
стандарт их расположения мне не известен.
У меня все как на схеме, и почти все про-
ги, которыми я пользуюсь, рассчитаны на
такое положение кнопок. В современном соф-
те есть возможность поменять местами функ-
ции кнопок или стоит автоопределение (в
основном в журналах). Особо хитрые (?) мо-
гут замутить аппаратный обмен кнопок -
удобно (наверно) енто делать на крысах с
переключателем на дне (у меня его нет).
Саму мышу (Genius NetScroll+) я сделал на
1533ТЛ2.
Схема переделки pc-шной Serial Mouse
┌─────┐ ┌─────┐ D1
─┬─ │ X │ │ Y │ ┌───┐
│ └┬─┬─┬┘ └┬─┬─┬┘┌────────1┤ T o2──Xa
─┴─ │ v │ │ v ├─┘ ├───┤
\X/ │ │ ├───┼──────────3┤ T o4──Xb
─┬─ │ ├───┼───┼─────┐ ├───┤
│ ├───┼───┼───┼───┐ └────5┤ T o6──Ya
│ ┌─┘ ┌─┘ ┌─┘ │ │ ├───┤
─┴─ │ │ │ ┌─┘ └──────9┤ T o8──Yb
\Y/ │ │ │ │┌─────┐ ├───┤
─┬─ │ │ │ ││WHEEL│┌───11┤ T o10─Ra
┌┴┐ │ │ │ │└┬─┬─┬┘│ ├───┤
│R│ │ │ │ │ │ v ├─┘┌──13┤ T o12─Rb
│8│ │ │ │ │ ├───┼──┘ └───┘
└┬┘ │ │ │ │ └─┐ └─┐
│ ┌┴┐ ┌┴┐ ┌┴┐ ┌┴┐ ┌┴┐ ┌┴┐
─┴─ │R│ │R│ │R│ │R│ │R│ │R│
\R/ │2│ │3│ │4│ │5│ │6│ │7│
─┬─ └┬┘ └┬┘ └┬┘ └┬┘ └┬┘ └┬┘
│ └───┴───┴───┴───┴───┴┤
v +5
D1- 1533 ТЛ2
R2...5 по 3,3 кОм *
R6,7 - по 10 кОм *
R8 - 150 ом
* Не исключено, что придется подбирать.
Для не 1533 серии ТЛ'ки номиналы резюков
другие.
--=*>ТЕОРИЯ ПО ОПТИМИЗАЦИИ СХЕМЫ<*=--
Можно избавиться от ЛП8'ой, если найти
корпус а ля 1533АП14(SN74ALS465). Тогда
вместо сигнала с лп'хи на ид7'ю кидаем А5,
а на 1'е копыта буферов кидаем OIRQ. Но
если Вы захотите использовать джоистик, то
придется замешать 15'е копыто ид7 с OIRQ
или собрать и кемпстон вместо АП3 на АП14.
Единственная проблема со всей этой мутью-
АП14 не так то просто найти. У нас, в Рос-
тове-на-Дону, еe на радиорынке нет. Поша-
рившись в internet я еe без проблем на-
шел, и стоит онa всего навсего чирик (без
учета пересылки, цена на 10'е декабря
2002г.).
Но хочу заметить, что с АП14 я не извра-
щался и может быть так, что они отдадут
душу в виде характерного вонючего дымка,
как это происходит с 1533АП5. С АП5 я про-
парился долго, т. к. лень мне было посмот-
реть мощность в справочнике, а посмотрел я
ADVENTURER 11 и долго плевался, поглядывая
на кучку горелых микросхем. Потом собрал
всё на АП6 и просидел весь день за ЧВ.