|*||||||||||||||||||||||||||||||*| |*| MIGL'S MOUSE MODIFIER |*| |*| by Michael Hadley |*| |*||||||||||||||||||||||||||||||*| (Reprinted from the Puget Sound Atari News, July 1990)
Let me first admit that I would rather figure out how to do some things myself than pay someone else to do them for me. Maybe it comes from being brought up in a technical (read Air Force brat) environment. I'll leave proving that conjecture to the social scientists and psychologists; I know I like doing technical stuff for myself. I did my own memory upgrade (with a minor checkout from Bud at Xanth) and installed PC Ditto II (how many of them worked the first time???) on my ST. I also built my own Hard Drive system and added two floppies (switchable and the topic for a later article) so I have been inside my 1040 ST frequently.
This being the history of the moment, I bring to the fore a way to build a sort of Mouse Master. I say "sort of" not to say it is funky or semi- functional, but rather that the real "Mouse Master" is a copyrighted product from Practical Solutions. Since I have never been inside a "Mouse Master" I can only say from conjecture that what I made is "Mouse Master"-like in its function. It allows you to switch from the mouse to a joystick without constantly unplugging either one. It also keeps you from having to lift up your keyboard to replug anything. That is one of the few features of the ST that I dislike, but I understand the mouse and joystick port placement from the "functionality" viewpoint.
Atari has the keyboard microprocessor right there in my ST and probably thought it efficient to place the ports close to the processor. Be that as it may, this Mouse Modifier project fixes that port placement "feature" and allows switching between mouse and joystick at the same time.
When I decided to fix this "feature" I had fought with the ports for a couple years and finally added "the last straw" to the pile. My current Mouse Modifier has been installed for over two years and seven moves (I got tired of moving, too!) and has never had or caused any problems. I like it a lot. It hides behind my ST and is easily switched from mouse to joystick. If I were a true mouse freak, I would probably have two different joystick ports on the joystick side to allow me to use either a control stick type (competition style) or a standard one for my three year old nephew. It is possible, using the simple trick I use here, with two switches for four ports. But enough of the B.S. and on with the article.
In case you did not know, the Atari joystick is a group of four switches each set 90 degrees apart in a single plane. To make some signal when these switches close, there is also a 5 volt line tied to one side of each of these switches. When you move the joystick in some direction, it closes one or two of these switches, sending the 5 volt signal through the switch and along any line to the Joystick port.
For example, moving the stick Up and Right closes the Up and Right switches, sending a signal along those two conductors to the Joystick port. These signals are read by the microprocessor and the appropriate commands are passed to the ST's Motorola 68000 CPU, if the programmer has done her stuff right.
In the case of the mouse, the signals are supplied by a different mechanism. The wheels against which the mouse ball rolls are each connected to a larger wheel and aligned at 90 degrees to each other. The larger wheels have a series of slots in them that interrupt the light beam from an LED (Light Emitting Diode) which is sensed by a photo diode. This pulses the beam, allowing the mouse to tell that it is being moved. The direction of movement is determined by the the timing of the pulses - as the two sensors are not evenly spaced along the edge of the wheel. This makes it possible to determine which direction the mouse is moving because the timing between the pulses varies from one direction to another.
So what is the trick, you ask? When is he going to explain the Mouse Modifier?
The trick is very simple. To switch between the mouse and the joystick in the same port, all you have to do is switch both the 5 volt line and the ground at the same time. Turn off the power to the mouse and apply power to the joystick (or the other way around) and you have the fix. Since the 5 volt line is pin 7 and the ground is pin 8, you need a DPDT (read Double Pole, Double Throw) switch to switch between the new ports. I'll describe it in more detail, though, to clarify the project. A parts list follows at the end of the article. All part numbers in the text are for JDR parts because they are shorter. Male parts have the pins showing, though they have a skirt that fits around the female part, which has holes into which the pins fit. Vaguely confusing, that!
Note that the procedures are a bit different, depending on whether you use solder-on or clamp-on connectors. I designate the steps with a label "Solder:" or "Clamp:" if the steps are distinctly different, and "Both:" if they are identical. If I seem to ramble, I am being redundant. Not everyone conceives of something in the same way. I have tried to describe the project in a way that can be easily recognized. The drawing is admittedly quasi-schematic.
Both: I used a 33 inch piece of 25 lead ribbon cable for two reasons. One was that I had some in stock and the other was that with the two plugs attached to the end, the spacing for the joystick ports under the keyboard was just right. The first step is to split the cable at one end, making a 25 lead ribbon cable into two 9 lead and one 7 lead stub. Count nine leads in from each side and split the cable (between the ninth and tenth lead) leaving a seven strand flap in the middle. One or two inches is plenty of flap. Trim if you want to, though they are unused.
Clamp: Now squeeze a one of the nine pin female IBD09S "plugs" onto each nine lead ribbon. Make sure that they are aligned the same; when you look at them from the front, both have the narrow part up (or down) so the ribbon will lay flat UNDER your keyboard.
Solder: Before soldering the connections, look closely at the plugs on the bottom of the keyboard. Note their orientation. Remember that the cable will lie flat underneath the machine. The object is to have the ribbon cable that leaves the plugs leave at a right angle and go under the machine. Mark the outer lead on each plug. In one case the outer pin will be pin 1; in the other it will be pin 5. Make that your first solder joint on the respective plug. For example, if the plug to port P0 is on the right, solder the outside lead to pin 1 on the plug. The inner-most lead of the 9 lead ribbon will be soldered to pin 5 on the plug. The joystick plug would be just the opposite, with the outer (other side of the cable, remember) lead soldered to pin 5 and the inner one soldered to pin 1. Make sure that the plugs are both oriented the same way before soldering any more leads in place. Check that the plugs leads are leaving the solder joints turning away from the bottom of the keyboard.
Now split the leads and solder them alternately to the bottom then top posts; the order from the above Mouse port example would be to start at pin 1 and solder the leads inward in the order 6, 2, 7, 3, 8, 4, 9, 5 (done).
Both: Split back the other end of the ribbon cable in the same way, but split it back about eight inches on the Mouse side of the cable. Clip off the excess on the Joystick side, so the Joystick side is 8 inches shorter. Now comes the "make sure" step. Plug a male connector into each female already attached to the cable. This is the simplest way to assure correct cable connections.
Clamp: Make a loop with the cable, making sure it does not twist, and mark the respective positions of the male plugs. Clamp the Joystick side male first. Now slide a male onto the longer Mouse side, even with the Joystick connector. Make sure the connector is oriented like the in-place connector. Clamp it into place. The tail extends about eight inches beyond this connector. Clamp the other male onto the end of the tail, making sure the orientation is the same as first Mouse connector. Clamp it in place.
Now carefully split the ribbon Mouse side ribbon cable at the first NEW Mouse port. This must happen on the long side, between the male and female, not the two males. Split the fourth and sixth leads (from the outside) about an inch back from the connector. Clip the leads close to the edge of the connector. This will isolate pins 7 and 8 from the main cable. You can also split the same leads on the ribbon between the two males, but do not clip them at this point. Leave about a half inch of ribbon unsplit close to each connector. Strip these two leads and solder a four to six inch piece of 26 or 28 gauge wire to each lead. Strip the unsoldered end of each lead, then fold these leads back along the ribbon cable.
Solder: Strip the leads for soldering. Split the Mouse side ribbon, separating the fourth and sixth leads (from the outside) about eight inches back. Fold these two leads back along the ribbon and tape them for now. Solder the male connectors on the ends of the cables now stripped. Leave them plugged into the females while you solder. Solder the cables onto the connectors as I described above, and remember to skip pins 7 and 8 as you solder across the connector. Now carefully strip the cable at the point where you are mounting the inner Mouse port, at about the same position on the cable as the Joystick connector. If you strip these carefully, you will not break the ribbon leads and can simply bend them and solder them into place without handling two separate leads for each pin. Remember to skip leads 7 and 8 on this connector as well.
Now get some scraps of wire, about 26 or 28 gauge, and solder an eight inch piece between the respective pins 7 and 8 of the male connectors; all the pins should now be connected and you should have two leads folded and taped back onto the ribbon cable.
Both: efore you go further, plug the cables into the Mouse/Joystick ports under the keyboard. Now run the cable under the machine and back to the project box. Mark the location where the Mouse port (P0) edge of the cable intersects the edge of the box. (Note that the box I specified has a metal lid. I simply screwed the lid down gently onto the cable, after making a shallow notch in the box side where the cable crosses it, clamping it in place. The cable stays flat.) This will show the male jack placement. Mark the position for the holes in the box side.
Start by cutting holes for the male plugs into the project box. I stacked the two Port P0 (a & b) ports on the right side, facing the box; the first just below the top, the other spaced a quarter-inch below the bottom edge of the top connector. Make sure you have clearance between them, mostly for ease in assembly.
You can now mount them after you drill the mounting hardware holes. Checking carefully and proceeding slowly will yield you a nicer looking project.
Now that you have the jacks mounted in the box, drill a hole in the top for the DPDT switch. Make sure it is not in a direct line with the point where the ribbon cable enters the box, but not too far away, as you will have only about four inches of leads for the connections to the switch. Go ahead and mount the switch in its hole now, so that you can easily support the stuff as you are soldering. From here on, the project requires soldering, so I make no further distinctions between the processes.
Take the leads that you taped back along the ribbon cable and solder each to one of the middle terminals on the switch. These two are the source of the 5 volt and ground for both the Mouse and Joystick. Pick one pair of leads from one of the male connectors and solder them to one end of the switch. Make sure you solder the lead to the proper side of the switch; check with an ohmeter. Pin 7 on the male must connect to pin 7 of the female. If you have any doubts, check again. Consult the diagram. You should be able to read continuity from the male to the female for each lead. Check them ALL at this point. Now flip the switch and check again. Pins 7 and 8 should be open. Solder the remaining wires from the other male connector and perform the same checks. Make sure that you have no shorts between any leads on the cable. Each lead should connect to only one pin on the connector.
If you have checked all connections and are sure it will be okay, plug the jacks in to the Mouse and Joystick ports on the ST. Now plug the mouse into one P0 port and the Joystick into the other P0 port. Boot up the computer. Below is a checklist for "debugging" the Mouse Modifier:
Check to see if the Mouse works:
___Yes, it works. Mark the current switch position as the Mouse position. Try a Joystick game. Remember to switch to the Joystick position. Go back to the top and replace Joystick for each mention of Mouse.
___No, it does not work. Check the cursor by holding down the Alternate key and using the Arrow keys.
___The Pointer moves now. Flip the switch and try the mouse. Go back to the top of the checklist.
___The Pointer does not move. WORST CASE! Turn off the machine and double check all connections. Go back to the top.
Now assemble the box, carefully tucking in all the leads. Make sure the respective Mouse and Joystick positions are marked at the switch. This should now eliminate all Mouse/Joystick replugging and the associated lift-the-computer-and-plug-in-something-different syndrome.
Reach your left arm out in front of yourself. Move your arm upward in an arc until it is above your shoulder. Bend your arm at the elbow and reach behind you until you can pat yourself on the back.
Congratulations! You have built a successful Mouse Modifier!
Below is the table of parts needed to build the Mouse Modifier. I have shown at least one source for many parts and you might find them elsewhere as well. I could not find the 9 pin Mini D ribbon connectors at Radio Shack, so try some place like Radar Electronics in Seattle or a specialized electronic outlets for them. The Rad Shak part listed here is a solder type connector. JDR Micro is a big mail order house in San Jose; they have most anything you might want but ask for a minimum $10.00 order. Their order phone is 800-538-5000.
Source Part Num. Description Quan. Cost ea.
Radio Shack 275-666 DPDT switch 2 $ 1.59 JDR Micro DP/DT DPDT switch 2 $ 1.50
JDR Micro IDB09S 9 pin Sub D Ribbon Female 2 $ 1.45 Radio Shack 276-1428 9 pin Sub D Solder Female 2 $ 1.19 JDR Micro IDB09P 9 pin Sub D Ribbon Male 3 $ 1.39 Radio Shack 276-1427 9 pin Sub D Solder Male 3 $ .99 JDR Micro RC25 25 pin Ribbon Cable (grey) 3 ft $ .38 Radio Shack 270-233 Box for project 1 $ 2.19 Nuts and bolts to hold things together .........$ .?? Pieces of 26 or 28 guage wire: 2 @ 8" .........$ .??