The PC recognizes a serial mouse if it gets a "M" character after raising DTR. The following will be clearer if viewed with a fixed pitch font... ;=========================================================================== = ; Mouse protocol data format: ; ; Serial data parameters: ; 1200bps, 7 databits, 1 stop-bit ; ; Data packet format: ; Data packet is 3 byte packet. It is sent to the computer ; every time mouse state changes (mouse moves or keys are ; pressed/released). ; ; D7 D6 D5 D4 D3 D2 D1 D0 ; ;1. X 1 LB RB Y7 Y6 X7 X6 ;2. X 0 X5 X4 X3 X2 X1 X0 ;3. X 0 Y5 Y4 Y3 Y2 Y1 Y0 ; ; The byte marked with 1. is sent first, then the others. The bit D6 ; in the first byte is used for synchronizing the software to mouse packets ; if it goes out of sync. ; ; LB is the state of the left button (1 means pressed down) ; RB is the state of the right button (1 means pressed down) ; X7-X0 movement in X direction since last packet (signed byte) ; Y7-Y0 movement in Y direction since last packet (signed byte) ; ;Graphical description how the data is contained in the packet ; 1st byte 2nd byte 3rd byte ; ================ =============== ================ ; - 1 ? ? Y Y X X - 0 X X X X X X - 0 Y Y Y Y Y Y ; ================ =============== ================ ; | | \ / \ / \---------/ \---------/ ; | | | | | | ; | | | \----\ | | ; | | \--------|-------|--------\ | ; | | / \ /---------\ / \ /---------\ ; | | ================ ================= ; | | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ; Left Button --/ | ================ ================= ;Right Button ----/ X increment Y increment Sending at 8 data bits will also work fine. Bob Ammerman RAm Systems -- http://www.piclist.com hint: The list server can filter out subtopics (like ads or off topics) for you. See http://www.piclist.com/#topics