home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #18 / NN_1992_18.iso / spool / comp / sys / dec / micro / 476 < prev    next >
Encoding:
Text File  |  1992-08-15  |  2.2 KB  |  52 lines

  1. Newsgroups: comp.sys.dec.micro
  2. Path: sparky!uunet!math.fu-berlin.de!news.th-darmstadt.de!news
  3. From: KNIRSCH@linac.ikp.physik.th-darmstadt.de (MARTIN KNIRSCH)
  4. Subject: RE: Mouse Interface
  5. Sender: news@news.th-darmstadt.de (The Usenet-News System)
  6. Message-ID: <1992Aug15.140856.17204@news.th-darmstadt.de>
  7. Date: Sat, 15 Aug 1992 14:08:56 GMT
  8. X-News-Reader: VMS NEWS 1.21
  9. Nntp-Posting-Host: lin400.ikp.physik.th-darmstadt.de
  10. Organization: Technical University Darmstadt, FRG (Nuclear Physics Institute)
  11. Lines: 39
  12.  
  13. Mouse Interface
  14. -1- A adapter from eight pin mouse connector to RS232 should be
  15.     avaiable in any electronic store.
  16. -2- My mouse (Z-NIX Microsoft compatrible) uses the following
  17.     RS232 pins : TXD(2), RXD(3), DTR(20), SGND(7) and RTS(4)
  18. -3- Programming (on a Rainbow) is as follows :
  19.     Set up Communication Control Block
  20.     (Microsoft standard is 7 Bit, no Parity, 1200 Boud)
  21.     
  22.     MOV AH,44H
  23.     MOV    AL,FUNCTION CODE
  24.     MOV    BX,HANDLE        ; USE HANDLE 3 FOR COMM1
  25.     MOV    DX,OFFSET CCB        ; ADDRESS OF COMMUNICATION CONTROL BLOCK
  26.     INT    21H
  27.    
  28.     Lot's of function codes for programming the RS232 are avaiable 
  29.     (Consult a DOD manual). 
  30.     First disable receiver interrupts, then clear DTR and RTS.
  31.     Program CCB to Microsoft Mouse Protocol as listyed above.
  32.     Enable receiver interrupts and set DTR and RTS.
  33.     The Mouse sends back three data bytes :
  34.   
  35.                    Bit #  7  6  5  4  3  2  1  0
  36.     Byte0 :               X  1  L  R  Y7 Y6 X7 X6
  37.     Byte1 :               X  0  X5 X4 X3 X2 X1 X0
  38.     Byte2 :               X  0  Y5 Y4 Y3 Y2 Y1 Y0
  39.  
  40.     Data ranges are -128 to + 127  (Don't forget the 2'nds Complement
  41.                                     for negative values)
  42.  
  43.     Mouse Data is written into a circular buffer. When DTR and RTS
  44.     are set for the first time, the mouse sends a "M" identifying
  45.     itself. If you receive the "M" most work is done. Reading 
  46.     mouse data then is don by first testing Bit 6 of Byte 0, the sync Bit.
  47.     (Bit 5 and 4 indicate pressed mouse buttons.) When Byte 0 is identified
  48.     generate the X and Y databytes. They are representing the distance the
  49.     mouse was moved since the last movement measured in mickeys (1/200 inch
  50.     or 1/400 inch). 
  51.     Hope that helps a little.               Martin
  52.