home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 625.lha / mouse-switcher / mouse-switcher.doc next >
Text File  |  1991-12-31  |  4KB  |  60 lines

  1.    Have you ever gotten tired of yanking out your mouse to plug in a 
  2. joystick, then removing it & plugging your mouse back, later plugging the 
  3. joystick back in and so forth?  One day it occured to me that there should
  4. be an easy way to have both the mouse and joystick plugged in at the same
  5. time with a way to activate the device you want to use. I have seen small
  6. switch boxes that require you to turn a switch to select the device you want
  7. to use, but that too seemed like a pain. Wouldn't it be nice to just press
  8. the joystick fire button and *presto* have the joystick work? Or press the
  9. mouse button and have it respond instead of the joystick? Well wait no 
  10. longer!  With the simple circuit diagram included with this file, you can
  11. build your own automatic mouse port switcher, with only a few common parts.
  12.  
  13.     This project should also work on most Atari style 9-pin joystick
  14. interfaces, including Amiga's, C64's, C128's, Atari ST's etc. It is good
  15. for 2 player "take-turns" programs where each player has their own 
  16. "favorite" joystick. It will work with auto fire joysticks as well as
  17. trackballs and mice.
  18.  
  19.     The circuit itself is designed around a 74LS157 Quad 1 of 2 data 
  20. selector, with a 74LS00 two input NAND gate wired up as an S-R latch. Since
  21. the amiga X & Y mouse inputs internally go through the same data selector
  22. I.C., there are no compatibility problems with adding another data selector
  23. of your own. The only signals that are driven by the mouse are the  X & Y
  24. quadrature signals, which coincide with the joysticks Up/Down & Left/Right
  25. signals. So basically all you have to do is select between those four 
  26. signals, and wire everything else up in parallel.  The data selector I.C.
  27. is used to do the switching, while the S-R latch is connected to each ports'
  28. fire (or left mouse) button. When one ports fire button is pressed, the
  29. latch changes state to either high or low (depending on the port), and 
  30. sends a signal to the select pin on the data selector I.C.. This causes the
  31. one set of inputs to become active and the other set inactive. The condition
  32. will persist until the S-R latch changes state.  The fire (or left mouse)
  33. buttons are logically OR'd together with unused nand gate sections and 
  34. buffered with a diode to be active only when low. 
  35.  
  36. Any construction techniques can be used. I put the circuit on a small piece
  37. of perf board in a box with the two male DB-9's, and had a short length of
  38. 9 conductor cable run to the female DB-9 which plugged into the Amiga.
  39. As always, be careful when wiring up the circuit. There is little chance
  40. of damaging your computer, but prolonged short circuits can harm it or the
  41. mouse-switcher. Good Luck!
  42.  
  43.     There may be a minor incompatibility with certain commercial auto-fire
  44. joysticks. Some depend on the computer's pull up resistors to power the
  45. autofire circuit. If you are experiencing problems like this, use 4.7K
  46. resistors wired from each of the four switched inputs on the two input ports
  47. to the +5 volt supply. This will duplicate the type of port on the computer.
  48.  
  49. Optional LED indicators: You can wire two LEDs to the circuit as shown to
  50. indicate the currently selected port. If you use small, efficient LEDs, the
  51. gates should have no problem powering them. If your LEDs draw too much 
  52. current you may need to buffer them.  If you need further help, hunt
  53. down your local solder slinger. I'm sure they'll be happy to help (with the
  54. appropriate bribes of course :-) .
  55.  
  56. This text file and picture can be redistributed as long as the credits
  57. remain intact. 
  58.     -Mark Spankus
  59.     (Mark @ Shorty.CS.wisc.edu)
  60.