Jump to content
IGNORED

Explain the numeric keypad pinout to me


S1500

Recommended Posts

Tell it like it is to me like a 5 year old.

 

I"m looking at the pinouts for the CV controller. The joystick + buttons make sense easily. Simple switches.

 

But how the heck does the numeric keypad pinouts work? I'm not familiar with "hi" and "lo" in relation to this. The 4-bit encoding for pins makes sense, but um...

Link to comment
Share on other sites

It's a seemingly complicated system, large reason being to remain compatible with 2600 controller so it can be used with that addon module.

 

Hi/lo is important to know, just think of it as the console outputting 1 or 0, generally +5 Volts or GND on a particular pin.

 

Depending on what a couple of pins have outputted will change what parts of the controller can be read. From what I can gather, software has to "scan" the buttons by writing out the relevant values to the port then reading one of the button registers.

It's an "efficient" way of doing it in sorts but the CV keypads will get "ghosting" ie - if 2 or more buttons are held it can give false registration of another button actually being pressed.

 

http://arcarc.xmission.com/Web%20Archives/Deathskull%20%28May-2006%29/games/tech/cvcont.html

Probably way better explanations around but that summarizes it.

 

Note normal Atari 2600 controllers are slightly different. Pin 8 always GND. Pin 7 at the console supplies +5V (used mainly by paddles). Pins 5 & 7 are paddle inputs.

It's normal for newer systems that use Atari type plugs that one or more of those assignments can change to provide extra functions.

e.g. Amiga CD32, Sega, Coleco.

Link to comment
Share on other sites

All you'd need is ability to change the output on those pins that can be hi/lo and to read the inputs.

So anything modern day that deals in 0/5V logic levels and has sufficient IO should be able to handle it.

Something that operates on lower voltage might work also - depends if any ICs are used in the controller in question and what voltages they can operate on.

 

Did Coleco support paddles given that those pins have different assignments to the 2600?

 

Paddles simply use potentiometers to return the +5 Volts supplied on pin 7 on the 2600 to the relevant input pins as a reduced voltage which you could route to an A->D convertor.

Edited by Rybags
Link to comment
Share on other sites

The normal buttons on a Coleco Vision controller are wired up exactly like an Atari 2600 controller. That gets you Up, Down, Left, Right, and Fire (and I think also the quadrature encoded signals for the spinner as well, two of those). The Aim and keypad matrix are scanned separately and have to be done so at different intervals from the normal buttons. As mentioned, there are two connections on the controller pinout that are important here: one is the normal ground that you have on the Atari 2600, and then a second ground used for scanning the keypad and aim buttons. So, when you want to scan the normal direction stuff, you output a low signal on the "ground" connection for the 2600 stuff, and high on the other connection for the keypad matrix. When you want to scan the keypad matrix, you swap these low/high.

 

The roller controller plugs into both ports so effectively you use the spinner encoder outputs on one controller for the X-axis and the other for the Y-axis. I forget how the additional 2 "action" buttons on the super action controller are decoded.

  • Like 1
Link to comment
Share on other sites

 

Did Coleco support paddles given that those pins have different assignments to the 2600?

 

 

No, Coleco didn't have any DACs or "paddle" inputs on the joystick ports, but I think if you wanted to do this on the CV you could wire a circuit up externally in the controller itself to do this.

 

On both the IBM PC and the Atari 2600, they didn't actually use DACs. Instead, they would either discharge or precharge a capacitor, and then measure the time delay it took to register a digital 0 or 1 when charging or discharging the cap (based on the input of the potentiometer in the paddle controller this would decrease or increase the time delay). But as it was, Coleco didn't do anything like this on their official controllers... all of the spinny controllers were quadrature encoded.

Edited by Geoff Oltmans
Link to comment
Share on other sites

  • 2 months later...

i have just seen this, i am about 90% there with creating an Arduino sketch that when running will read all of the buttons of the Colecovision controller and display there representing value back to the serial window,

 

this is for a much larger project i have in mind which is to create a device to be able to just plug in a Atari Jaguar joypad and it converts it to a Colecovision pin out for you saving any kind of wiring needed

 

is this the kind of thing that is being discussed here? it sounds as if it could be

 

if this is of use i could post the program here after i finish the coleco joypad reading code?

Edited by omf
  • Like 1
Link to comment
Share on other sites

That's the one thing that tripped me up a bit. If I'm reading this right, you have to alternate back and forth between reading the d-pad and the keypad.

 

I haven't touched my Arduino setup in a while. 99% of my time has been spent getting a DB-9 connector plug properly wired up to the Arduino without flakey connections. I haven't even touched the programming aspect yet.

 

But I shall, when I'm not playing Dead island.

 

Goal: to be able to read in a Colecovision controller(all the buttons) with an Arduino.

Link to comment
Share on other sites

Some enhancements need to be made however, it will only read one button at a time, I need to add extra code that outputs values for ul ur dl dr on the joystick, as the way the joypad set out it can handle this also the buttons on each mode are independant so up right and fire can be pressed together for example, the number pad cannot read more than one press at a time if you do press more than one button it will return a different number than what your pressing, this is a problem with how the keypad works

 

This will be my next task, probably going to be the ASCII average value to return we will see

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...