joystick / serial matrix switch

  • Thread starter Thread starter moijk
  • Start date Start date
  • Replies Replies 7
  • Views Views 1685

moijk

Licence to fish
AmiBayer
Joined
Nov 30, 2009
Posts
2,410
Country
Norway
Region
Grimstad
Is there such a thing? If not, any idea how to create one? ;) I have a number of machines connected and plugging in and out joysticks is a bit of a hassle despite the fact I usually just use one or two of the machines.

(I'm not expecting schematics, mostly entertaining the idea)
 
Last edited:
What is basically needed is a n x m block matrix (n inputs to m outputs) with each block being e.g. 5x5 (assuming 4 directions and a single firebutton, GND and +5v being common to all and thus not part of the matrix).


The Amiga keyboard e.g. is a 6 (rows) x 15 (columns) matrix so it reduces to a 1 x 3 (6/5 x 15/5) such block matrix.
So, assume one wires input up, down, left, right, fire to rows 0,1,2,3 and 4 respectively (row 5 unused)
And output1 up, down, left, right, fire to columns 0,1,2,3,4 respectively
and output2 up, down, left, right, fire to columns 5,6,7,8,9 respectively
and output3 up, down, left, right, fire to columns 10,11,12,13,14 respectively


then to map the input to output2 one would have to depress 5 keys:
The one at the intersection of row0 and column5, or "/" on numpad
The one at the intersection of row1 and column6, or "8"
The one at the intersection of row2 and column7, or "U"
The one at the intersection of row3 and column8, or "H"
The one at the intersection of row4 and column9, or "B"


(for complete example matrix info see http://amigadev.elowar.com/read/ADCD_2.1/Hardware_Manual_guide/node017A.html)


Now of course noone would be crazy enough to make such a cumbersome switcher out of a real keyboard, but it fully demonstrates the idea.
All's needed is re-implementing the matrix as desired and installing a 5-pole single-throw rocker switch to the "useful" intersections.
 
Last edited:
I was under the impression he just wanted to share a few joysticks with a few different machines, in which case 2 DB9 switchboxes *should* suffice. (ie: 1 box could share 1 joystick to 4 machines, or vice-versa, or 2 boxes could share 4 joysticks to 4 machines...assuming of course the were all 'compatible' (ie: Atari compatible)
 
He isn't exactly clear about what he needs, indeed.
But since he used the term "matrix switch" I assume he wants to arbitrarily map inputs to outputs.
And yes, pinout definition is of course expected to be identical on all ports.

In your example, with 2 of such 1-to-4 boxes you can't arbitrarily distribute 4 joysticks to 4 machines.
You can e.g. cascade the boxes to make a 'composite' 1-to-7 box
If you connect 4 joysticks to one box and 4 machines to the other box to produce a sequential 4-1-4 configuration, then it works OK as long as you don't simultaneously need 2 or more joystick-machine mappings.

But if you simultaneously need joystick1-machine4 and joystick2-machine1 and joystick3-machine2 and joystick4-machine3 active mappings, then you need a true 4x4 matrix configuration as described in my previous post.
 
ah yes, i see what you are saying, in terms of being able to use all 4 joysticks with any of the 4 machines at one time.

my example was of course, if you wanted to share 4 joysticks with 4 different machines to be used individually (ie: different joystick available for different games on every machine without having to swap them every time) which is what I assumed him to be wanting to do.
 
It doesn’t make sense to matrix scan joysticks because there are so many switch combinations that are held down together.
(all of the diagonals for example, and possible together with either fire button). Keyboards have specific allowances for shift keys, etc.

A bilateral switch could easily be used to switch say, one joystick between multiple computers. The way I’d go anyway.
There’s also nothing serial about a keyboard matrix in it’s interface to it’s controller.
Bits are pulled and read one bit at a time, but rows and columns are parallel ports.
 
Last edited:
Back
Top Bottom