Kemston mouse
ZXNet echo conference «real.speccy»
From Alexander Fisun → To All 10 November 2001
Maybe we can talk about the Kemston mouse
Please throw me the circuit diagram of the subject so that I can connect a PC mouse.
It’s very necessary. I would be very grateful. Thank you.
Until next contact All!
And how do you understand this?.. Clint Eastwood
From Kirill Frolov → To All 13 November 2001
10 Nov 01 19:52, Alexander Fisun wrote to All:
AF> Please throw the circuit diagram at me so that I can connect
AF> PC mouse. It's very necessary. I would be very grateful. Thank you.
It’s better to convert the PC mouse into a pure Spectrum one, otherwise the screen will twitch.
=== Cut ===
─ Emulator people hang out (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 it would have looked more impressive with a mouse... :)
The problem immediately arose - where to get the Amiga mouse from (from the "search"
now it's a problem to find, and it doesn't look very good...)
as usual, there was no mouse nearby, except for the active one,
and I didn't have the chance to break it :)
Well, I decided to connect it...
And that's what happened - that's all3-4 microcircuits, normal movement speed
(unlike many passive mice), full compatibility with Kempston,
(except for the absence of the middle button)....
Unfortunately, the circuit uses the WAIT signal of the processor, although it does not hold it for long,
and only while reading from the port...
Below is the circuit and firmware for the PIC16c620 microcontroller, (osc=hs wdt=off )
although it will get along perfectly with 16c84,16F83,16c622 etc, the only thing
is that all of them should be at an operating frequency greater than 10 MHz...
by the way, at the moment I don’t have 561L9 installed...
561LP5 I found in the Pentagon itself, on the video output (it’s there as inverter)
and to check I typed -
10 PLOT IN 64479,IN 65503:GO TO 10
cool! (if you don’t go beyond the top-bottom limit of the screen)
if instead of certain lines the trace goes in an unclear direction -
the problem is in the clock frequency (a separate quartz will help)
and also, on the Spectrum data bus there are resistances of 10k to 5V, so inside
the controller they are also located! hence the conclusion...(you can tear it out)
and also, 14 MHz from the board needs to be passed
through a SEPARATE inverter or hang additional quartz on the 15-16 legs of PIC-a
(from these legs you will also have to put two 10-30 pf capacitors to ground)
by the way, with this solution you can remove the “native” quartz from boards...
ps. The firmware is written for 14 MHz, but it works fine at 14.31818 MHz
(fortunately suchquartz in bulk on dead 286-386 )
The Wait signal sometimes needs to be passed through a diode (plus on 24N.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───|_o───────────────┘│ │
║ ┌───┐ │ │
║-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)
─ Iron on Spectrum (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 : Small modification of the mouse controller circuit on AT89C2051 (MSC-51)
───────────── ───────────────────────── ───────────────────────── ────────────────
Hello All.
=== Cut ===
=== kmsps2 .t ===================================
PS/2 -> Kempston Mouse Adapter v1.03
(c) 1999-2000 Studio STALL
Version for microcontrollers AT89C1051/AT89C2051 (MSC-51)
(+) Changed reset circuit - RC has been replaced by DD1D - now the circuit
is reset by a general reset (previously only when turned on)
===========================================================================
DD1A DD1B DD1C 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
Contact arrangement in PS/2
┌──┐ ┌──┐
N/C 6 ──── ┌┘* └─┘ *└┐ ─── 5 MCLK
+5V 4 ──── │* *│ ─── 3 GND
N/C 2 ──── └─┐* *┌─┘ ─── 1 MDAT
└─────┘
View of the socket from the contact side (not from the solder side)
Microcircuits:
DD1 1533LA3
DD2 1533LL1
DD3 AT89C2051
DD4 1533IR33 (ANALOGUE of IR22, BUT MORE CONVENIENT PINOUT), AP6 is also possible, only taking into account the pinout
The circuit is designed for connection to a computer that has no conflicts on port
#DF. If there is still a conflict, or there is a #FF port, then it is necessary to assemble a
control circuit /IORQGE
How is the interface with the computer implemented?
In the standby state, line P31=0, so when the processor accesses the DF
port, /WAIT will be issued. After the required coordinate is issued, /WAIT
is released by transferring P31->1. After completion of the Z80 cycle IOR P31->0.
About the purpose of resistors R1,2: Lines P10 and P11 do not have internal pull-up
resistors.
Decoding is quite tough: A7, A6, A5, A4, A10, A8 are involved
This circuit only supports 2-button mice (I only had
this one), 3-button middle button is not used.
When turned on, if there was no mouse movement, and also if the mouseis not
connected to the connector, the following will be read from the ports:
#fadf (64223) = 255 - buttons
#fbdf (64479) = 40 - x
#ffdf (65503) = 41
Warning: This firmware version does not allow connecting a mouse when
the computer is turned on.
Firmware version 2.0 will allow:
1. Connecting a mouse in a “hot” state
In this version, the controller will “see” the mouse after reset
2. Ability to switch left and right buttons, both from the program and
buttons of the mouse itself.
3. Ability to identify this circuit (#FEDF port)
4. Support for three-button (or more) mice.
================ PS2DRV.HEX =====================
:1000000002002630B51730B40B85059000D2B1C27E
:10001000B1D2213 285049000D2B1C2B13285239091
:1000200000D2B1C2B13275A80175880175B80174EA
:100030002 8F50404F505E4F520F521F522C2B17593
:1000400023FFC221D2AF3021FDD2B374F475F00882
:10 005000C2B020B3FD1392B030B3FDD5F0F413A2BB
:10006000D0B320B3FD92B030B3FD20B3FDD2B03099< br>:10007000B3FD20B3FD30B3FDD2AF1200800200A665
:10008000D2B0D2B320B3FD30B3FD75F00820 B3FD7C
:10009000A2B01330B3FDD5F0F420B3FD30B3FD2092
:1000A000B3FD30B3FD227820D2AF11 80F608B8231B
:1000B000F9E5022521F502F504E5032522F503F50E
:1000C00005A200B39219A20 1B3921880D9A2E1331C
:0E00D00092E2A2E33392E4A2E53392E6C42268
:00000001FF
======== [Naw, Shura, saw...]======================================
It is planned to switch to the AT90C1200 microcontroller (AVR)
- the duration of /wait will be reduced by 12 times
the microcontroller pinout matches the AT89C2051, with the exception of the RESET signal - in the AT90C1200 it is /RESET, i.e. it will be necessary to
exclude DD1D
Eugene Stahov
Mon 21 Aug 2000 18:42:29
=== Cut ===
Eugene
-+- To the village, grandfather, PO 3.0.1
+ Origin: Studio STALL (500:3432/90)
=== Cut ===
From Yuri Potapov → To All 15 November 2001
2Moderator: I apologize for the personal correspondence, the soap just doesn’t work
I can’t post the subject, because your address is not on our 1st node,
today I received everything addressed to you back
[El Capitan Trueno] Yurik aka Jerri / Alien Factory /I \
[No RAR allowed] [SoHm] [Conceptual Minimalism] \ZX/