With regard to Mark Bellis' recent request, all the mice I have ever seen for the BBC B and Master series were user port jobs. It is possible however to connect a serial mouse to the RS423 port and, by altering the 5pin BBC plug a little, you can fool the mouse into thinking it is connected to a 9pin PC.
The next challenge is to work out what the numbers it sends do. That is where I am stuck - the hardware was the easy part!
I have isolated the button status byte so I can at least tell which buttons are pressed, and the remaining four bytes of the packet of five either toggle between 00 for still of 01 or FF in hex.
The 5-byte packet is thus:
1. Button status (low 3 bits=buttons) 2. X1 3. Y1 4. X2 5. Y2The adaptor plug you'll need to make, as most serial mice come with 9pin sockets on, is:
Pin1 -> CONNECT TO PIN 4 Pin2 -> (A) DATA IN Pin3 -> (B) DATA OUT Pin4 -> CONNECT TO PIN 8 Pin5 -> (C) GND Pin6 -> NC Pin7 -> (D) RTS Pin8 -> (E) CTS Pin9 -> NCI hope this is right as I can never remember which way round the plug is printed on page 504 of the User Guide.
I'm sorry I didn't have time to draw a fancy diagram but I have sent you the BASIC software to read it. Perhaps machine code would allow us to see some bytes that BASIC is too slow to read. The Acorn RISC PC returned values other than 00,01,FF, which is why I question BASIC.
Let me know how you get on. If you need a cheap experimental mouse to work as a guinea pig, try CCL Computers. They accept "Switch" over the phone and the brand new serial mouse I am experimenting on cost £3.30 + VAT + P&P from them.
U.MOUSEY Utility
- Plug serial mouse into RS423 port.
- Run the program.
- Move the mouse to initialise the display.
- Puzzle about how on earth to write a mouse driver.
- Click a few buttons on the mouse and watch the bits toggling on the top of the screen.
- Write the software and submit it to EUG!
Happy computing!
Robert Sprowson
Now this is interesting. I just hope that some EUG readers will try this out and send in their results for all to read.
Gus Donnachaidh, EUG #27