Maybe, I'm missing something. I see that the 49 way is treated as 8 keys by an encoder. Not sure how one would go about getting the other 8 directions out of it. Anyone?
Which encoder treats it as 8 keys? My understanding is that the SJC reports it to Windows as an analog stick. Oh, I see. You're referring to URebel's page, where it says:
Otherwise, the two 49-way sticks work much the the same way. Each axis has 3 optical sensors, each with it's own pin for the joystick output. Each axis' circuit tracks which side of center the stick is located, giving a fourth output pin per axis; the total is like 8 switches per joystick.
There's no encoder there, that's just how the stick tells whatever it's hooked to which of the 49 possible positions it's in.
Here's the key to understanding that (from the same page):
A centered williams outputs no current, current, current, current, no current, current, current, current (or NC C C C NC C C C; or 01110111)
Each "current / no current" reading is the reading from 1 of the 8 "switches". Depending on which "switches" report current, you know which of the 49 possible outputs the joystick is sending. It's essentially 8-bit binary data!- which is why Robin also lists the output as 01110111. To build an interface, for your Intellivision, you would need a circuit that would:
- read the current/no current (binary) data the joystick is outputting
- decide which of the 16 available Intellivision directions that most closely corresponds to (see grid, in my earlier post above)
- encode that direction into "Intellivision format" and send it down the line to your console
Which doesn't sound outrageously difficult for someone that understands "Intellivision format" and electronic circuits. Unfortunately, I have only the most basic electronic knowlege, and don't know jack about the signals an original Intellivision controller sent, so that's as far as I can take it. Maybe one of the more electronically inclined members would be interested in circuit design?