Latest Uploads
Super Shap ... ration Kit

Andy_A

Platdude Spotting

Jayenkai

Nom nom nom

Jayenkai

Rainbow Trout

Pakz

King Salmon

Pakz

Snooker

Jayenkai

Back to spinal's Blog ( Created 16 September 2016 | Last Edited 26 September 2016)
Development Diary : Intellivision Controller Adapter
As some of you will know, I have just spent a few days cobbling together an adapter to use an old Matel Intellivision controller on a PC.
I know there are a couple of solutions already, but this one is mine, so there.

I decided that the simplest way would be to encode the inputs as keyboard keys, rather than a regular game controller as other people have done. This is for two reasons, one, it wont be used for anything other than playing specific emulated games and two, it has a digital 16 direction digital pad, which would make use with emulators a little trickier than it would need to be (digital to analog and back to digital is just a waste).

So, here are a couple of pics...





Final(ish) version...
No mess, no soldering, just plug into the Arduino Micro, install the code and your off!


I had hoped to internalize the adapter, but that can't happen. There is literally less than no space inside.

Here is a little techie info...

The controller uses a 9-pin interface, originally hard wired to the console, but later connected using a DB9 connector. The controller has an insane 15 buttons and 12 directions, which are read from different combinations of those wires being grounded. The '16' directions claimed are really just 12, with some of the directions combined, much like the way modern 4-way d-pads emulate 8 directions by pressing up+left for example.

I mapped the inputs to the following keys..
-->

Notice the two top side buttons are the same and the 12 directions are missing the 45 degree mapping, The only accurate way to do this was to actually send two keys for these directions, so up-right would send b+d at once.

As usual, here is the source for anyone else who want's to do this...

-->

Final version, kept the above just in case.
This one is a solderless solution (if your Arduino (or clone) already has pin headers) So you can just plug the version 1 controller straight into your Arduino and change the pin numbers to match.

-->
For my final version, I substituted GND for C2 simply because it was next to D0, and set it to OUTPUT and LOW so that it would act as Ground.


-->

Here are how the controls are mapped. Stole an image, plonked a credit along the top.


Remember, The Intellivision doesn't really have NorthEast, SouthEast, SouthWest or NorthWest, so don't bother mapping thos in your emulator, just make sure you have NorthNorthEast, NorthEastEast, SouthEastEast, SouthSouthEast etc.

To use this in the 'Nostalgia' Intellivision emulator, just replace the following section in input.cfg...
-->


The all that's left is to bung it into a plastic box and gift it to your loving girlfriend...


Latest Comments

Posted : Friday, 16 September 2016, 04:23
Jayenkai


Awesome stuff!
Crazy 12way dpad FTW!

Homepage : http://AGameAWeek.com
Posted : Saturday, 17 September 2016, 09:54
spinal


Just to show how crazy this thing is and possibly why I can't get reasonable data from the circle-pad.



That circuit is folded in half, and a lot of the connections require at lease two pins to be grounded to be valid.

Homepage : http://spinalcode.co.uk
Posted : Saturday, 17 September 2016, 14:07
Jayenkai


That looks a little insane!

Homepage : http://AGameAWeek.com
Posted : Saturday, 17 September 2016, 16:46
steve_ancell


I have a qualification in electronics and even my brain is saying "fuck this!".

Homepage : http://homepage.ntlworld.com/stephen.ancell/index.htm
Posted : Sunday, 18 September 2016, 03:02
spinal


Just updated the code to allow only one button at a time ever. This gives a far more reliable disc reading. not sure if this is how the controller is intended to be read, common sense suggests not, but just look at the circuit, ain't no common sens in there, genius though it is, it's far too nutty to catch on.

|edit|
One more update, switched the pins around a little so I could add some other bits later. Got it working much better also.

Homepage : http://spinalcode.co.uk
Posted : Saturday, 24 September 2016, 13:45
zzoom


I've done a slice of acid burning PCB creation in my time - got some electronics quals too, respect

Homepage : http://www.gpsrunner.co.uk
Posted : Sunday, 25 September 2016, 00:05
spinal


Currently working on a solderless(kindof) version, using a cheaper AVR. Expect an update an a day or two.

Homepage : http://spinalcode.co.uk
Posted : Sunday, 25 September 2016, 01:57
Jayenkai


Anything that doesn't burn my fingers is good, in my opinion

Good luck!

Homepage : http://AGameAWeek.com
Posted : Sunday, 25 September 2016, 03:28
spinal


Bah, it's looking impossible with the cheapo adruino nano rip-offs I got. They apparently wont let you use the usb port for anything.

Homepage : http://spinalcode.co.uk
Posted : Sunday, 25 September 2016, 03:32
Jayenkai


Awww.. How come?

Homepage : http://AGameAWeek.com
Posted : Sunday, 25 September 2016, 03:51
spinal


Because they act exactly like arduino nano's, which use the usb as a serial com port only with no way (apparently) to override that.

Homepage : http://spinalcode.co.uk
Posted : Sunday, 25 September 2016, 03:55
Jayenkai


Huh... How odd.
I'd've thought a USB Port was a USB Port. Guess not :/

Homepage : http://AGameAWeek.com
Posted : Sunday, 25 September 2016, 04:42
spinal


It would explain why they were so cheap also.
Not sure what I can do with them now, completely useless fro this project...

Homepage : http://spinalcode.co.uk
Posted : Sunday, 25 September 2016, 11:33
spinal


Final update, added the code for the solderless version, basically reordered the inputs to be in the same pin order as the controller, added the ability to use a digital pin as GND, so you can more easily define which pins are being used, oh, and one last photo.

Homepage : http://spinalcode.co.uk
-=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- (c) WidthPadding Industries 1987 732|0 -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=- -=+=-
Latest Posts
Steve's Car Buying Disaster
steve_ancell Wed 14:32
New Pound Coin
Jayenkai Tue 14:45
Homefries
steve_ancell Tue 01:47
Jeremy Bloody Kyle
steve_ancell Mon 09:45
GamerBlock
Jayenkai Mon 09:06
Laptop Aaargh...
Jayenkai Mon 07:06
Changing Thumbnail Sizes
Jayenkai Mon 05:27
Technology on Planes
therevillsgames Sat 17:00
London Car/Stab Incident
steve_ancell Sat 12:10
A New Korg Gadget!
Jayenkai Sat 04:53
More

Latest Items
Dev-Diary : Sensitive - Arduboy!
Jayenkai Thu 05:03
Link : Super Shapes Exploration Kit
Andy_A Tue 16:56
Snippet : Skylines
steve_ancell Tue 14:25
Blog : My Arduino experience.
steve_ancell Fri 13:45
Showcase : Infinitron
rychan Tue 03:02
Dev-Diary : PS2 to N64 Adapter
spinal Sun 10:49
Link : Vector Tutorials/Help page.
Pakz Thu 23:00
Blog : mini project
spinal Sun 10:13
Showcase : Blockman Returns
Jayenkai Fri 03:04
Snippet : Wall Tracing on Random Maps (rpg)
rskgames Wed 22:48
Snippet : Path Following
Pakz Mon 16:25
Snippet : Flowers (Jan 2017)
Kuron Thu 01:13
Showcase : Clusters of Hex
therevillsgames Mon 15:01
Article : Maths 101 - Episode 1: Basic Trigonometry
shroom_monk Sun 14:07
Article : Maths 101 - Episode 5: Line Intersection
shroom_monk Sun 14:02
More

Who's Online
Jayenkai
Thu, at 12:25
spinal
Thu, at 12:20
Andy_A
Thu, at 09:58
rychan
Thu, at 09:56
Pakz
Thu, at 07:52
rockford
Thu, at 07:45
steve_ancell
Thu, at 03:36
rskgames
Thu, at 03:09
Evil Roy Ferguson
Wed, at 19:54
9572AD
Wed, at 17:27
Link to this page
Site : Jayenkai 2006-Infinity | MudChat's origins, BBCode's former life, Image Scaler.