Kemston mouse
ZXNet эхоконференция «real.speccy»
От Alexander Fisun → Кому All 10.11.2001
Может поговорим о Kemston mouse
Киньте в меня схемкой сабжа пожалуйста, что бы можно было подключить PC mouse.
Очень надо. Буду очень признателен. Спасибо.
До следующего контакта All !
И как это понимать ?.. Clint Eastwood
От Kirill Frolov → Кому All 13.11.2001
10 Nov 01 19:52, Alexander Fisun wrote to All:
AF> Киньте в меня схемкой сабжа пожалуйста, что бы можно было подключить
AF> PC mouse. Очень надо. Буду очень признателен. Спасибо.
ПЦ-мауса лучше переделать в чиста-спектрумовского, иначе дёргаться будет на
экране.
=== Cut ===
─ Эмулятоpщики тусуются (2:5030/827.2) ─────────────────────────── ZX.SPECTRUM
─
Msg : 1963 of 2000
From : Wlad Sorokin 2:5020/6664.14 22 Feb 00
To : All 24 Feb 00
Subj : Mouse on ZX
────────────────────────────────────────────────────────────────────────────────
Big Hello All , %^& &&^# !!!!!
Пролетела тут как-то схема Kempston mouse interface из ZX format-a,
и вспомниля, как когда-то,года два назад,
подключал мышь от AMIGA к своему пентагону,и подумал,что надо бы
опять соорудить чего-нибудь подобное,тем более,что софта под
мышь сейчас намного больше,да и спек с мышой посолиднее бы
смотрелся... :)
Тут же возникла проблема-откуда взять амижную мышь,(от "поиска"
сейчас найти проблема,да и с виду она не очень...)
как водится,мыши поблизости не оказалось,кроме активной,
а ломать ее мне не светило :)
Hу и решил я ее подключить...
И вот что получилось-всего 3-4 микросхемы,нормальная скорость перемещения
(в отличии от многих пассивных мышек),полная совместимость с Kempston,
(за исключением отсутствия средней кнопки)....
К сожалению схема использует сигнал WAIT процессора,хотя держит его недолго,
и только во время чтения из порта...
Hиже дана схема и прошивка к микроконроллеру PIC16c620,(osc=hs wdt=off )
хотя она прекрасно уживется и в 16c84,16F83,16c622 etc,единственное,
что все они должны быть на рабочую частоту больше 10 мгц...
кстати,на данный момент у меня 561ла9 не установлена...
561лп5 я надыбал в самом пентагоне,на видеовыходе (она там как инвертор)
а для проверки я набирал-
10 PLOT IN 64479,IN 65503:GO TO 10
прикольно! (если за верх-низ предел экрана не заехать)
если вместо определенных линий след едет в непонятном направлении-
проблема в тактовой частоте (отдельный кварц поможет)
и еще,на шине данных спектрума стоят сопротивления 10к на 5в,так внутри
контроллера они тоже стоят! отсюда вывод...(выдрать можно)
и eще, 14 мгц с платы-необходимо пропустить
через ОТДЕЛЬHЫЙ инвертор либо повесить доп.кварц на 15-16 ноги PIC-a
( с этих ножек еще придется на массу два конденсатора на 10-30 пф постaвить)
кстати при таком решении можно убрать "родной" кварц с платы...
ps. прошивка написана под 14 мгц,но нормально работает и на 14,31818 мгц
(благо таких кварцев навалом на дохлых 286-386 )
сигнал Wait иногда надо пропускать через диод (плюсом на 24н.Z80)
PPS. This is a beta release !
=== Cut ===
System bus
.
║
║-A10─────────────────────────┐
║-A8─────────────────────────┐│
║─RESET──────────┐ ■+5v ││ ■+5v
║ 4│ │14 ││ │
║ ┌───┬┴─┴┬───┐ ││ │
║-D0───────6│Rb0│CPU│Ra0│18──┘│ │
║-D1──────-7│Rb1│IC1│Ra1│19───┘ │
║-D2──────-8│Rb2│ │Ra2│1──────────┼─────┐
║-D3──────-9│Rb3│ │Ra3│2─────┐ │ │ From mouse
║-D4──────10│Rb4│pic│Ra4│3───┐ │ ├────┐│//_
║-D5──────11│Rb5│16c├───┤ │ │ ( o o o│o o )
║-D6──────12│Rb6│620│xt.│15 │ │ \ o o│o o /
║-D7──────13│Rb7│ │xt.│16─┐│ │ │
║ └───┴─┬─┴───┘ ││ │ ─┴─
║ 5│ ││ │
║ _ ─┴─ ││ │
║─14mHz───|_о───────────────┘│ │
║ ┌───┐ │ │
║-Wait─11─┤=1 ├12────────────■─┼─────────┐
║ │IC4├13──────────────┘ │
║ └───┘ │
║ ┌───┐ ┌───┐ ┌───┐ │
║-A5────1─┤ 1 │9┌───3─┤ & │6┌─11─┤ 1 │10 │
║-IORQ──2─┤ o─┘┌──4─┤ o─┴─12─┤ o───┘
║-RD────8─┤IC2│ │┌─5─┤IC3│ ┌─13─┤IC2│
║ └───┘ ││ └───┘ │ └───┘
║-A15────────────┘│┌────────┘
║-A12─────────────┘│
║ ┌───┐ │
║-A0────1─┤ & │9 │ IC1-PIC16c620/20p
║-A1────2─┤ o────┘ IC2-561ле10
║-A2───-8─┤IC3│ IC3-561ла9
║ └───┘ IC4-555лп5
║
║ Copyright '2000 Wlad Sorokin
║ Spacesoft Hackers Group
║ Last edition 22.02.2000 22:21 pm
=== Cut ===
:100000000330620007301628A700030EA8003B301B
:1000100081000B1105190310051D0314A50CA40B79
:100020008B17280E8300A70E270E08009F00F730BD
:100030006500FF306600A00085158B018B1620300F
:1000400084003D20250EFC38033AA0003D20250801
:10005000A6003D2026080F39A61A31286720A107DF
:1000600033286620A10225080F39A51A3A286720EF
:10007000A30221286620A30721285420AA01A90B46
:100080008A1BAA0B8A1B21285420051D3F280930F2
:10009000A4007030810064008B1754208B1B4D2806
:1000A0005420051950280800051E080005080339CA
:1000B00084070008860000016600FF308511051ADC
:1000C0005F28660085158401841608000F3A8A01AE
:1000D0008207003401340134023402340234033420
:1000E0000334043404340534053406340734083446
:0200F0000934D1
:084000007F007F007F007F00BC
:02400E00FF3F72
:02FFFE002006DB
:00000001FF
=== Cut ===
Good Bye !!! Gооd luck !!! See Ya !!!
[ZX] [.Sandra.] [Intel Must Die] [Comoderator of NETMAIL] [Megasex] [Punks ND]
... фрекну или выложу на холд инфу,факу,или доку по сабжу,эхотажно,мыльте...
-+- FidoNet Explorer 3.0
+ Origin: Угнали ??? Hе надо было ставить CLIFFORD !!! (2:5020/6664.14)
─ Жэлезо на спектpуме (500:812/1.507) ─────────────────────────── HARDWARE.ZX
─
Msg : 583 of 584
From : Eugene Stahov 500:3432/90 21 Aug 00
To : All 22 Aug 00
Subj : Маленькая доработка схемы контроллера мыши на AT89C2051 (MSC-51)
───────────────────────────────────────────────────────────────────────────────
Hello All.
=== Cut ===
================== kmsps2 .t =================================
PS/2 -> Kempston Mouse Adapter v1.03
(c) 1999-2000 Studio STALL
Версия для микроконтроллеров AT89C1051/AT89C2051 (MSC-51)
(+) Изменена схема сброса - RC заменена на DD1D - теперь схема
сбрасывается по общему сбросу (раньше только при включении)
===============================================================
DD1A DD1B DD1C DD2A
1┌───┐ 4┌───┐ 9┌───┐ 1┌───┐
A7 ──────┤& 0───┬──┤& 0──────┤& 0──────┤1 ├──┐
A6 ──────┤ │3 └──┤ │6 ┌──┤ │8 ┌──┤ │3 │
2└───┘ 5└───┘ │10└───┘ │ 2└───┘ │
A4 ─────────────────────────┘ │ │
A5 ────────────────────────────────────┘ DD2C │
┌─────────────────────────────┘
DD2D │ 4┌───┐ DD2B 9┌───┐
12┌───┐ └──┤1 ├────────┬──────┤1 ├───|<|── /WAIT
/RD ─────┤1 ├────────┤ │6 │ ┌───┤ │8
/IORQ ───┤ │11 5└───┘ │ │ 10└───┘
13└───┘ │ │ DD2C
/CS │ │
┌──/RES ┌───────────────────────┴──│─┐
│ DD1D │ ┌───────────────────────┘ │
│13┌───┐ │ │ C1 10uF + │ +5V
├──┤& 0──┐│ │ ┌────│────────────────┤
└──┤ │11││ │ 1┌───┬─────┬───┐20│ │1┌───┬────┬───┐20
12└───┘ └│──│───┤RES│ A │VCC├──┘ └─0 OC│ RG │VCC├─┘
MDAT───────│──│───┤P30│ T │P17├─────────┤ I7│ │O7 ├─────D7
│ └───┤P31│ 8 │P16├─────────┤ I6│ │O6 ├─────D6
│ ─┤X2 │ 9 │P15├─────────┤ I5│ │O5 ├─────D5
14MHZ ─────│──────┤X1 │ C │P14├─────────┤ I4│ │O4 ├─────D4
└──────┤P32│ 2 │P13├─────────┤ I3│ │O3 ├─────D3
MCLK──────────────┤P33│ 0 │P12├─────────┤ I2│ │O2 ├─────D2
A10───────────────┤P34│ 5 │P11├───┬─────┤ I1│ │O1 ├─────D1
A8────────────────┤P35│ 1 │P10├───│┬────┤ I0│ │O0 ├─────D0
┌────┤GND│ │P37├─ ││ ┌──┤GND│IR33│ C ├── +5V
│ 10└───┴─────┴───┘11 ││ │10└───┴────┴───┘11
─┴─ DD3 ││─┴─ DD4
┌─┘└─┐
┌┴┐ ┌┴┐
R1,2 │ │ │ │
1K └┬┘ └┬┘
└────┴──+5V
Расположение контактов в PS/2
┌──┐ ┌──┐
N/C 6 ──── ┌┘* └─┘ *└┐ ─── 5 MCLK
+5V 4 ──── │* *│ ─── 3 GND
N/C 2 ──── └─┐* *┌─┘ ─── 1 MDAT
└─────┘
Вид на розетку со стороны контактов (не со стороны пайки)
Микросхемы:
DD1 1533ЛА3
DD2 1533ЛЛ1
DD3 AT89C2051
DD4 1533ИР33 (АHАЛОГ ИР22, HО БОЛЕЕ УДОБHАЯ ЦОКОЛЕВКА), можно и АП6, только с
учётом цоколёвки
Схема рассчитана на подключение к компьютеру, не имеющему конфликтов по порту
#DF. Eсли конфликт все же есть, либо есть порт #FF, то необходимо собрать схему
управления /IORQGE
Kaк реализован интерфейс с компьютером?
В состоянии ожидания линия P31=0, поэтому при обращении процессора к порту DF
будет выдан /WAIT. После того, как нужная координата выдается, /WAIT
отпускается переводом P31->1. После завершения Z80 цикла IOR P31->0.
О назначении резисторов R1,2: Линии P10 и P11 не имеют внутренних подтягивающих
резисторов.
Дешифрация довольно жесткая: задействованы A7,А6,А5,А4,А10,А8
Данная схема поддерживает только 2-x-кнопочных мышей (у меня была только
такая), у 3-х-кнопочных средня кнопка не используется.
При включении, если не было ни одного перемещения мыши, а также, если мышь не
подключена к разъему, из портов будет прочитано :
#fadf (64223) = 255 - buttons
#fbdf (64479) = 40 - x
#ffdf (65503) = 41
Предупреждение: Данная версия прошивки не допускает подключения мыши при
включенном компьютере.
Прошивка версии 2.0 будет допускать:
1. Подключение мыши в "горячем" состоянии
В данной версии контроллер "увидит" мышь по сбросу
2. Возможность переключения левой и правой кнопки, как из программы, так и
кнопками самой мыши.
3. Возможность идентификации данной схемы (порт #FEDF)
4. Поддержка трехкнопочных (и более) мышей.
================== PS2DRV.HEX =====================
:1000000002002630B51730B40B85059000D2B1C27E
:10001000B1D2213285049000D2B1C2B13285239091
:1000200000D2B1C2B13275A80175880175B80174EA
:1000300028F50404F505E4F520F521F522C2B17593
:1000400023FFC221D2AF3021FDD2B374F475F00882
:10005000C2B020B3FD1392B030B3FDD5F0F413A2BB
:10006000D0B320B3FD92B030B3FD20B3FDD2B03099
:10007000B3FD20B3FD30B3FDD2AF1200800200A665
:10008000D2B0D2B320B3FD30B3FD75F00820B3FD7C
:10009000A2B01330B3FDD5F0F420B3FD30B3FD2092
:1000A000B3FD30B3FD227820D2AF1180F608B8231B
:1000B000F9E5022521F502F504E5032522F503F50E
:1000C00005A200B39219A201B3921880D9A2E1331C
:0E00D00092E2A2E33392E4A2E53392E6C42268
:00000001FF
======== [ Пилите, Шура, пилите ... ] =========================
Планируется переход на микроконтроллер AT90C1200 (AVR)
- длительность /wait сократится в 12 раз
микроконтроллер по цоколевке совпадает с АТ89С2051, за исклю-
чением сигнала RESET - в AT90C1200 он /RESET, т.е. надо будет
исключить DD1D
Eugene Stahov
Пн 21 Авг 2000 18:42:29
=== Cut ===
Eugene
-+- Hа деревню, дедушке, а.я 3.0.1
+ Origin: Studio STALL (500:3432/90)
=== Cut ===
От Yuri Potapov → Кому All 15.11.2001
2Модератор: Прощу прощение за личную переписку, просто мыло не
проходит
кинуть сабж не могу, поскольку твой адрес отсутствует на на нашем 1ом узле,
сегодня мне всё адресованное тебе пришло назад
[El Capitan Trueno] Юриk aka Jerri / Alien Factory /I \
[No RAR allowed] [SoHm] [Концептуальный Минимализм] \ZX/