Build Your Own Arcade Control Center FAQ
The Great Diode Debate
Geery v. Eckel - a diode discussion
Dave Dribin's opinion
ShadowKey Argument - another diode discussion
Diode problems - Brent Geery
Diode & LED fundamentals


The following discussion was captured off of Dave's Videogame Classics' MAME message board.  The topic was relevant enough that I thought it should  be captured for posterity and review.  There is a lot of debate on the use of diodes -- it seems like a simple and logical concept to me, but not everyone agrees.  The two main debators, Brent Geery and Tim Eckel, are both folks with a lot of experience in this topic.  However, they seem to be on opposite sides of this one . . .


MESSAGE 1
 
Name   : Sam
Date   : January 22, 1999 at 18:34:57
Subject: Control Panels, Ghosting and diodes (comments Brent Geery ?)

My Mame cabinet is almost complete except for one of the hardest parts, the control panel. I hacked a keyboard and mapped out the keys etc. I was told that I will have ghosting problems if I try and hook up too many buttons. Then I read comments by Brent Geery and he suggested that using a ??? inline diode would correct the ghosting problem. Great.. I went out and purchase the required diodes. However, I read elsewhere that using the diodes to correct ghosting is a fallacy. Before I attempt to create my control panel, I want to make sure that if the diodes are necessary and if they actually improve the ghosting problem.  I know the best option would be to purchase a Hangstrom decoder, but at approximately $150 Canadian, I rather avoid it. Especially after spending all the time to map out and wire up the hacked keyboard.

Any advice would be appreciated.  I would like to have the following config.

2 joysticks with 6 buttons each.
player 1 and 2 buttons
1 reset button.

Thanks in advance.

Sam

Back to the top

MESSAGE 2
 
Name   : Brent Geery
Date   : January 22, 1999 at 21:44:49
Subject: Re: Control Panels, Ghosting and diodes (comments Brent Geery ?)
Then I read comments by Brent Geery and he suggested that using an ??? inline diode would correct the ghosting problem. Great.. I went out and purchase the required diodes. However, I read elsewhere that using the diodes to correct ghosting is a fallacy.
Without diodes, RetroSTIK with up to _50_ contacts would be unworkable (Yes, even the KE-24 needs diodes in matrix mode (more than 24 contacts).)

Whomever told you diodes don't work must not have experimented to see for himself and does not seem have a grasp of why the problem occurs in the first place. Pinball machines also use diodes in the same manner and for the same reasons, I didn't invent the idea.

Ghosting and masking are no mysteries. They are simply current traveling via unintended pathways. The diodes stop this "backwards" flow of current and therefor cure the problems.

You can test this for yourself by wireing up a set of four keys that 'ghosts' and and test it with and without diodes. (Don't forget to test diode polarity).

Finding the four keys to use is easy but hard for me to describe, but I'll try. When you rip apart your keyboard there will be the two plastic sheets that the buttons push on to make contact. These lead back to the PC board. One sheet is the ROW and the other is the COLUMN. If you labeled each trace on paper you might end up with something like the following:

_1234
A....
B....
C....

If you press any three buttons that form a "square" or "rectangular" on this chart the button at the fourth "corner" will be a ghost key. Say you press A2, B1, B2 - A1 will be the ghost. Or say A3, B1, B3 - A1 will again be a ghost key.

Masking is also cured by the diodes, BTW (It's just another symptom of the same problem.) Anyway, that should give you an idea of how to do your own testing to prove it to yourself. Just remember, ONE DIODE PER BUTTON. I have seen some trying to use one diode to several button, but that electrically bypasses the diode and effectively eliminates it!

Good luck and let us know how your testing and control panel come out.

Back to the top

MESSAGE 3
 
Name   : Sam
Date   : January 23, 1999 at 10:18:09
Subject: Re: Control Panels, Ghosting and diodes (comments Brent Geery ?)
You can test this for yourself by wireing up a set of four keys that 'ghosts' and and test it with and without diodes. (Don't forget to test diode polarity).
I guess diodes don't have a marking for polarity?
Finding the four keys to use is easy but hard for me to describe, but I'll try. When you rip apart your keyboard there will be the two plastic sheets that the buttons push on to make contact. These lead back to the PC board. One sheet is the ROW and the other is the COLUMN. If you labeled each trace on paper you might end up with something like the following:

 _1234
 A....
 B....
 C....

I'll try to make my own matix
Masking is also cured by the diodes, BTW (It's just another symptom of the same problem.) Anyway, that should give you an idea of how to do your own testing to prove it to yourself. Just remember, ONE DIODE PER BUTTON. I have seen some trying to use one diode to several button, but that electrically bypasses the diode and effectively eliminates it!
When you say 1 diode per button, do you mean 1 diode for each wire coming from each button? Which in fact mean 2 diodes per button (1 for each trace).

A few other questions.

My current setup is as follows, I have the keyboard circuit board mounted to a piece of plastic, with all leads (30) soldered (sp?) from the circuit board to a connector block.  I figured the connector block would make things easier if changes need to be made. Obviously, from the connector block to the buttons/joystick contacts is the next step.

My questions are:

1) Would it be best to use the diode on the wireing from the buttons on the control panel to the connector block or on the wiring from the connector
to the keyboard circuit board.

2) What gauge of wiring should i be using or does it really matter?

3) Would using wire connectors ----() to attatch the wiring to the connector block cause a problem?

4)Even with using diodes, what is the maximum amount of connections that each trace(?) should have? (I'm using a keytronics 3601 keyboard 15X15 matrix).

Good luck and let us know how your testing and control panel come out.
Thanks again for your time, This is a time consuming task but fun and rewarding.

Take Care
SAM


Back to the top


MESSAGE 4
 
Name   : Brent Geery
Date    : January 23, 1999 at 18:45:01
Subject: Re: Control Panels, Ghosting and diodes (comments Brent Geery ?)

In Reply to: Re: Control Panels, Ghosting and diodes (comments Brent Geery ?) posted by

Sam on January 23, 1999 at 10:18:09:

I guess diodes don't have a marking for polarity?
They have a band on one end, it's just you have to test to see what _direction_ to point the band! Towards the ROW or COLUMN pins.
When you say 1 diode per button, do you mean 1 diode for each wire coming from each button?
See the picture at the end of this message - one diode per button (i.e. switch) - not wire.
> 1) Would it be best to use the diode on the wireing from the buttons on the control panel to the connector block or on the wiring from the connector to the keyboard circuit board.
If I understand your setup, you CAN'T put the diodes between the block and the pc board. This would give you one diode per ROW/COLUMN, not one per buttons like you want. Again, see the picture and see if that makes it clearer.
> 2) What guage of wiring should i be using or does it really matter?
Does not really matter with any reasonable lengths of wire. Keep the wires as short as practical to the buttons. Make sure it's large enough wire to hold the crimp
connectors securely.
> 3) Would using wire connectors ----() to attatch the wiring to the connector block cause a problem?
I assume you are talking about like the type that are used to plug the wires to the button microswitches. Works fine.
> 4)Even with using diodes, what is the maximum amount of connections that each trace(?) should have? (im using a keytronics 3601 keyboard 15X15 matrix).
I don't know. The last hacked keyboard I used had 8 buttons on one "trace". On the KE-24 I have 13 buttons connected to one "trace". Hope that gives you a clue.

Back to the top


MESSAGE 5
 
Name   : Sam
Date   : January 22, 1999 at 22:21:57
Subject: Re: Control Panels, Ghosting and diodes (comments Brent Geery ?)

In Reply to: Re: Control Panels, Ghosting and diodes (comments Brent Geery ?) posted by

Brent Geery on January 22, 1999 at 21:44:49:

I hope your right. This will make my life much easier. Below a message i saw that contradicts what you and other are saying. I'm not one to comment on who is right or wrong. This is definately not my area of expertise. Thanks for your info.

----

The diodes just go in-line with the switch (they will only go one way, the other way will not work at all). There's a mark on most diodes that tell you which way the electrons will travel. However, this logic is flawed. The reasoning why this "trick" is supposed to work is that it reduces interference. While that may be true, interference is not the reason for the ghosting. Ghosting or shadowing happens because the keyboard encoder cannot tell which key is pressed or released because other keys on all sides in the matrix are pressed as well. Because electrons already only flow in one direction, the diodes will do nothing to fix this problem (that's all a diode does, only allow electrons to flow in one direction).

I think that this diode rumor was started by someone who was using too much cable to wire keys to a keyboard. Because there was so much cable, their system was failing. The diodes corrected this problem, but it was assumed that a different problem xisted and was corrected. Any electrical engineer could tell you that in this situation, diodes cannot resolve keyboard ghosting or shadowing (if they truly know what it is).

With that said, are you sure it's a ghosting/shadowing problem, or is it some other problem (like too much cable)? I wish that this problem was easier to explain and easier to show why diodes don't do what some claim they do. If I was with you in person, I could draw it up for you and explain how ghosting/shadowing occur.
 

---

Remember, this "trick" doesn't even do what the author claims, so I know it's at least partial BS if not complete BS. What I would try to do would be to reduce the length of wire. You will probably have a higher success with this then with any of these "voodoo electronics" tricks. To shorten the cable, you may be able to relocate the keyboard, wire directly to the encoder, wire one wire from the encoder matrix to a common point instead of sever wires for each key, etc. You also may have a higher success rate with an older keyboard because it probably has more tolerance than a newer model.

After you spend several tens of hours messing around with this, it makes the programmable keyboard encoder seem like a deal at only $80 to $100 dollars.

Tim Eckel

Back to the top

MESSAGE 6
 
Name   : Brent Geery
Date     : January 22, 1999 at 23:02:49
Subject: Re: You know Tim's message is very old don't you? (read)

In Reply to: Re: Control Panels, Ghosting and diodes (comments Brent Geery ?) posted by

Sam on January 22, 1999 at 22:21:57:

> I hope your right. This will make my life much easier.
Don't hope, go test for yourself. :)
> Below a message i saw that contrdicts what you and other are saying.:
> "However, this logic is flawed. The reasoning why this "trick" is supposed to work is that it reduces interference. While that may be true, interference is not the reason for the  gosting."
[Note: This is very old message from TIM ECKEL of Arcade@Home. I remember reading a long time ago. Maybe you should write him and ask if he still agrees with his old statement.]

No diodes work by blocking reverse current flow, not by "reducing interference". Hehe. In fact, the voltage drop induced by putting a diode inline could actually _increase_ the possibility of interference (in theory at least, none noted in the real world.)

> "Because electrons already only flow in one direction, the diodes will do nothing to fix this problem..."
Sigh, back to basic high school physics class. I won't even get into how wrong the above statement is, all I will say is this: If electrons already only flow in one direction what would be the point of inventing diodes in the first place?!
> "I know it's at least partial BS if not complete BS."
It's a big conspiracy. I work for a big diode manufacture and I make big commissions selling diodes to you guys. LOL!
> "You will probably have a higher success with this then with any of these "voodoo electronics" tricks."
Somehow I think FIRE would be "voodoo" magic to this guy. hehe. [Sorry Tim, I just had to.] He is a great programmer though.
> "After you spend several tens of hours messing around with this, it makes the programmable keyboard encoder seem like a deal at only $80 to $100 dollars.
Here Tim and I totally agree. There are many advantages to keyboard encoders, including simpler wiring, but more importantly, a higher scan rate (meaning each key is sampled more times a second) for faster response time. But a hacked keyboard works very well also, just not as good as a keyboard encoder. Either way both need diodes if used in the matrix mode. You can totally avoid the diode problem by using a keyboard encoder in the "direct" mode, but then you are limited to 18 or 24 contacts (in the case of the KE-18 and 24.)


Back to the top


MESSAGE 7
 
Name   : Tim Eckel
Date     : January 23, 1999 at 01:46:17
Subject: Re: You know Tim's message is very old don't you? (read)
 

In Reply to: Re: You know Tim's message is very old don't you? (read) posted by

Brent Geery on January 22, 1999 at 23:02:49:

I know what you're trying to do with the diodes (I've built some diode matrix switches), however, where the logic is flawed is when we think the problem is with feedback.  The problem isn't feedback, it's the inability for the matrix to determine which key is pressed or released.

This topic is so complex, let's not bore everyone here with the details. I just want to tell everyone that's reading this that it's easier, faster, and more reliable to use a programmable keyboard encoder rather than a hacked keyboard. Many keyboards don't have the power required to drive a bunch of wire and diodes all over the place either. So even if there was such a technique, it still may not work. I've heard of countless people that have tried to hack a keyboard to do wild things and after they work on it for a few months, just go out and buy the programmable encoder. In the long run, it's cheaper.

Maybe if we were in a room together with a chalk board we could talk this through.  But over this media, neither will get their point across.

Tim Eckel
Arcade@Home

Back to the top

MESSAGE 8
 
Name   : Brent Geery
Date     : January 23, 1999 at 17:16:36
Subject: Sigh... (Picture included)
 

In Reply to: Re: You know Tim's message is very old don't you? (read) posted by

Tim Eckel on January 23, 1999 at 01:46:17:

Tim, I respect what you have done to inspire people to build arcade cabinets, but I think you are doing a disservice by asserting a point that can be proven wrong in theory and practice. Why not take 5 minutes to actually experiment and see for yourself if it works or not.

> The problem isn't feedback, it's the inability for the matrix to determine which key is pressed or released.
Huh? And Tim, what then causes the matrix to not be able to determine which key is pressed or released?
> This topic is so complex, let's not bore everyone here with the details.
Please, I'm sure we are all very interested. There is nothing complex about these problems or the reasons behind them.
> So even if there was such a technique, it still may not work.
Well let's explore exactly why it DOES work, and how simple it all really is. At the bottom of this message should be a picture attached that illustrates a keyboard matrix in two versions - in schematic form (on left) and "exploded" form (on right).

A the matrix works by applying current to each ROW pins, one by one, and then detecting which COLUMNS pins are sinking this current.

So, lets say you press the three buttons indicated in the picture (A2, A4, D2) this will generate a "ghost" D4 key.

Why? Let's look at what happens: Pin A is energized, and the current is detected (actually "sunk") on pins 2 and 4. Power is then removed from pin A, and pins B and C are treated in the exact same manner (no buttons detected on these row pins.)

Pin D is where the shit hit's the fan. Pin D is now energized, and as intended and expected, is detected on pin 2. Unintended however, is the current traveling along the path shown by the red arrows, all the way to be detected on pin 4. This is how the ghost D4 key is made.

Now is you put a diode inline with each button, it stops the current and eliminates the problems. In this case, the diode inline with the B2 button is the one that actually avoids the problem.

> just go out and buy the programmable encoder.
I also agree that's a good idea, but a hacked keyboard works.

A keyboard encoder STILL needs the diodes if used in the matrix mode, BTW. I know, as RetroSTIK uses FIFTY contacts, and this would be unthinkable if it were not for the diodes inline with each and every contact.

> But over this media, neither will get their point across.
Virtually all of human knowledge is recorded in the written form, what makes you think this concept is too complex to write down? :)
Back to the top

MESSAGE 9
 
Name   : Tim
Date     : January 24, 1999 at 01:26:03
Subject: Re: Energize this!
 

In Reply to: Sigh... (Picture included) posted by

Brent Geery on January 23, 1999 at 17:16:36:

> Tim, I respect what you have done to inspire people to build arcade cabinets, but I think you are doing a disservice by asserting a point that can be proven wrong in theory and practice. Why not take 5 minutes to actually experiment and see for yourself if it works or not.
It would take far longer than 5 minutes to take apart my keyboard, map the matrix and all the keys, solder everything for a test, then return everything to it's normal state. It would probably take several hours to do this. I consider time money, and I would have already lost the $100 that the programmable encoder costs. I don't see anyone else chiming in...
> Well let's explore exactly why it DOES work, and how simple it all really is. At the bottom of this message should be a picture attached that illustrates a keyboard matrix in two versions - in schematic form (on left) and "exploded" form (on right).

> A the matrix works by applying current to each ROW pins, one by one, and then detecting which COLUMNS pins are sinking this current.

> So, lets say you press the three buttons indicated in the picture (A2, A4, D2) this will generate a "ghost" D4 key.

> Why? Let's look at what happens: Pin A is energized, and the current is detected (actually "sunk") on pins 2 and 4. Power is then removed from pin A, and pins B and C are treated in the exact same manner (no buttons detected on these row pins.)

> Pin D is where the shit hit's the fan. Pin D is now energized, and as intended and expected, is detected on pin 2. Unintended however, is the current traveling along the path shown by the red arrows, all the way to be detected on pin 4. This is how the ghost D4 key is made.

> Now is you put a diode inline with each button, it stops the current and eliminates the problems. In this case, the diode inline with the B2 button is the one that actually avoids the problem.

If all keyboard encoders work by only ever energizing one pin at a time, you are absolutely correct. Not for everyone it doesn't. Besides, many standard keyboards are too slow for a multi-button multi-user arcade game. You really need the speed of a professional
keyboard encoder (which already includes 24 unique I/O ports).

Also, what your diode solution doesn't consider is the additional resistance of having possibly 12 diodes, 24 cable runs, and 12 switches all on the same "sample". If
there's not enough current getting to the terminals, possibly NONE of the keys would work.

> A keyboard encoder STILL needs the diodes if used in the matrix mode, BTW. I know, as RetroSTIK uses FIFTY contacts, and this would be unthinkable if it were not for the diodes inline with each and every contact.
The Hagstrom Electronics KE24 can be used with 24 buttons without adding any diodes. Just plug a SCSI ribbon cable into it and connect your buttons/joystick on the other end. But you didn't write it down, you drew a picture. Hence my reference to the chalkboard. I didn't realize that you could attach pictures to these messages (actually, I still don't see where you can do it).

In any case, the safe, easy, fast way is still to use the Hagstrom Electronics KE24. Do you think I really want to try and explain this to everyone who writes me?
Remember, a lot of them don't even know what a diode is nor how to use a soldering iron. Besides, the resistance issue still bothers me, and I couldn't say with any
certainty that their keyboard encoder would work. Finally, programmability and macro capability are very important to many people.

Is anyone besides us even reading this???

Tim Eckel

Back to the top

MESSAGE 10
 
Name   : Brent Geery
Date     : January 24, 1999 at 21:25:05
Subject: Re: Energize this!
 

In Reply to: Re: Energize this! posted by

Tim on January 24, 1999 at 01:26:03:

> If all keyboard encoders work by only ever energizing one pin at a time, you are absolutely correct.
The great majority do, but I have read a few are more complex in scanning (Never seen any of these myself). Heck, the KE-24 in matrix mode (vs the direct mode you use it in) scans the matrix in this simple manner.
> Besides, many standard keyboards are too slow for a multi-button multi-user arcade game. You really need the speed of a professional keyboard encoder (which already includes 24 unique I/O ports).
Correct, in direct mode, you have 24 contacts available with very little lag and no ghosting problems. But of course if you need 25+ you are back to the same boat. I can tell you diodes work fine with the KE-24 in matrix mode with at least 5 feet of ribbon cable in between. BTW, anyone getting the KE-24 get the "fast" version just in case you plan on using the matrix mode sometime in the future (it's the same price).
> Also, what your diode solution doesn't consider is the additional resistance of having possibly 12 diodes, 24 cable runs, and 12 switches all on the same "sample". If there's not enough current getting to the terminals, possibly NONE of the keys would work.
Who says I have not considered it? The diodes are not connected together in series, they are parallel. Pressing one button does not make the power travel through all 12 diodes. Current only goes through any particular diode when the associated button is pressed. Diodes don't eat current, they eat voltage. As each button has to go through one diode each, the voltage drop in the same no matter how many buttons are connected.

As far as resistance, the cheap $5 keyboards that I hack for friends don't even connect the mylar sheets to the PC board via a socket/plug, but simply have a pressure contact! Plus, the traces on the mylar have a high resistance. This is a much higher resistance contact then me adding soldered wires to the microswitches along with a single diode.

As I already brought up in another message, I have used up to 8 diodes on one "trace" on a hacked keyboard, and I use up to 13 on one "pin" on the KE-24 in matrix mode. Neither show any problems.

> The Hagstrom Electronics KE24 can be used with 24 buttons without adding any diodes. Just plug a SCSI ribbon cable into it and connect your buttons/joystick on the other end.
Correct, if you only need 24 contacts or less, but they go quickly for me, and I needed more. 8-)
> But you didn't write it down, you drew a picture. Hence my reference to the chalkboard. I didn't realize that you could attach pictures to these messages (actually, I still don't see where you can do it).
Hehe. Just forget to enter your name when your posting a message... you'll see. :)
> In any case, the safe, easy, fast way is still to use the Hagstrom Electronics KE24.
No arguments there. I love the KE-24. But some just can't or won't afford it and have more time then money (guess I have allot of cheap friends!).
> Do you think I really want to try and explain this to everyone who writes me? Remember, a lot of them don't even know what a diode is nor how to use a soldering iron.
Agreed. They better be willing to fork over $100 or learn some new skills or buy pre made (Like RetroSTIK.) :P
> Is anyone besides us even reading this???
At least a few....
Back to the top

MESSAGE 11
 
Name   : Dany
Date     : January 24, 1999 at 14:49:35
Subject: Re: Energize this!
 

In Reply to: Re: Energize this! posted by

Tim on January 24, 1999 at 01:26:03:

Well here is my 2 cents worth. After going through 4 different types of keyboards, and buying all diodes for all of them (and yes, I do know the difference between the anode and cathode of a diode;-\ ) it simply didn't work for me. Not to take tim's side but after the last attempt of trying to build the keyboard hack, he convinced me not too.

I think it's too much of a hassle. I tried, diodes, shorter wires, one common ground, picked out best buttons out of matrix etc... Maybe eventually it would've come up to something but WAY too much time was lost. My M.A.M.E. cabinet has half the time of construction in the joystick portion of it just because of this hack. The only thing that I kept from the keyboard hack is the insert coin, 1 player and 2 players (buttons 1,2,3 and the keyboard splitter.

Had I known that this would've been so much hassle, I never would've gone that way. Right now I'm using an el-cheapo gamepad as the brains of my joystick (8 way plus 4 buttons) and it suits me as I play the games I like with no problem. The only drawback is the fact that I can't play head to head with somebody else.

Back to the top

MESSAGE 12
 
Name   : Brent Geery
Date     : January 24, 1999 at 20:21:41
Subject: Re: Energize this!
 

In Reply to: Re: Energize this! posted by

Dany on January 24, 1999 at 14:49:35:

> After going through 4 different types of keyboards, and buying all diodes for all of them ... it simply didn't work for me.  Not to take tim's side but after the last attempt of trying to build the keyboard hack, he convinced me not too.
What do you mean exactly by "didn't work"? Also, what type of diode did you use? I'd be interested in reading more detail in exactly how this was wired and how you went about it. The problems may have been in the keyboards, but with 4 different brands failing to work, I would tend to lean toward wrong wiring, diodes, or excessive wire length.

I've used nearly a dozen brands of hacked keyboards for friends units because they couldn't justify the cost of a KE-24, and none have failed to work.

> (and yes, I do know the difference between the anode and cathode of a diode;-\ )
I'll let you in on a secret -- I just point the banded side in the proper direction after testing. I don't have a clue what side is the anode or cathode. :P
> The only thing that I kept from the keyboard hack is the insert coin, 1 player and 2 players (buttons 1,2,3 and the keyboard splitter.
So the hack DOES work? You say you "kept" it for 3 button functions.

BTW, I never have tried the homebrew keyboard splitter. How does that work for you?

> Right now I'm using an el-cheapo gamepad as the brains of my joystick (8 way plus 4 buttons)
I'm glad you found something that works for you (at least partially), but I never recommend anything that plugs into the joystick port. But again, I'm glad your happy.

I think everyone agrees that a keyboard encoder is superior, but many will completely avoid building a unit simply because of the KE-24's cost. A hacked keyboard is an acceptable alternative in these cases (trading time and hassle for lack of funds.)

My current favorite keyboard to hack are sold out here in So. Cal. at the local Fry's. The ones I buy are on sale every other week for $5. They are so cheap, the mylar sheets connect to the pc board via a pressure contact instead of a socket/plug I have seen on most better keyboards. The contact points on the pc board have this coating (carbon ?) that must be scraped off to get to the bare metal trace that can be soldered to. Even these cheap keyboards work.

The only difficult part about using a hacked keyboard is tracing the traces on the mylar sheets. As I tend to use the same keyboard many times, I only have to do this step once and that save allot of effort.

If you can afford a KE-24 I have always supported the purchase of one. If however, you can't afford a KE-24 and you won't be building a controller for yourself because of that, get a cheap keyboard and some diodes and get that unit built. You will still have a nice unit, missing some of the features that can be had later by rewiring when you can afford the KE-24. Most of the units that I build for friends that use a hacked keyboard are built for a total price of less then $50. This is a very low end "start" unit that offers the basics (it's like a V-stick with more buttons) that generally uses used buttons and joysticks, and instead of formica, is painted. KE-24's are very nice (I would use nothing else on my own units) but hacked keyboards have a place.

If you ever want to try and hack a keyboard that's known to work fine, I'll buy one of my Fry's $5 suckers and send you just the guts (mylar, pc board, cord) for the
keyboard cost plus shipping ($3-$5).

I'm very curious about the details of your failed experiments using a hacked keyboards. Maybe we can discover what the exact problem was.

Back to the top

MESSAGE 13
 
Name   : Dany
Date     : January 26, 1999 at 19:11:25
Subject: Re: Energize this!
 

In Reply to: Re: Energize this! posted by

Brent Geery on January 24, 1999 at 20:21:41:

> What do you mean exactly by "didn't work"? Also, what type of diode did you use? I'd be interested in reading more detail in exactly how this was wired and how you went about it. The problems may have been in the keyboards, but with 4 different brands failing to work, I would tend to lean toward wrong wiring, diodes, or excessive wire length.
Exactly like I said, Didin't work. I used 1n914 diodes and had one in series with all the switches. Still had ghost problems. Yes but 3 buttons doesn't give me any grief.
> BTW, I never have tried the homebrew keyboard splitter. How does that work for you?
It works ok but there is a mistake in his schematics. The din plug on the pc side is a male plug and not a female one. Makes a big difference when we are talking about pluging it in and reversing the 5 volts and the ground.
> I'm very curious about the details of your failed experiments using a hacked keyboards. Maybe we can discover what the exact problem was.
I even had an old 286 at/xt keyboard as the last one. I had everything connected with the diodes and still wouldn't work properly. for instance, using the keyboard display program, (the one that shows you which button is pressed) it would give me wrong inputs. It was alright if I did one movement at a time but if I tried both joysticks at the time , it would go crazy. Once connected to MAME, I'd play a game and all of a sudden, the joystick would send a combination of keys that would trigger stuff like "Suspend Mode" . Now that's spooky. Ghosts I tell ya. Ghosts.
Back to the top

MESSAGE 14
Name   : saint
Date     : January 24, 1999 at 12:03:45
Subject: Re: Energize this!
 

In Reply to: Re: Energize this! posted by

Tim on January 24, 1999 at 01:26:03:

Actually I'm reading it :)
 

--- saint

Back to the top


MESSAGE 15
 
Name   : Erik
Date     : January 24, 1999 at 00:02:56
Subject: plz repost picture... tnx

<<< No text >>>


Back to the top


MESSAGE 16
 
Name   : Brent Geery
Date     : January 24, 1999 at 19:22:47
Subject: Picture is still in message - if get direct at www.retrostik.com/matrix.gif (nt)

<<< NO TEXT >>>


Back to the top



MESSAGE 17
 
Name   : Mot
Date     : January 22, 1999 at 19:05:24
Subject: Re: Control Panels, Ghosting and diodes (comments Brent Geery ?)
 

In Reply to: Control Panels, Ghosting and diodes (comments Brent Geery ?) posted by

Sam on January 22, 1999 at 18:34:57:

I can not get a ghost key from any keyboard I try to do it on. That being said, you still have to watch out for key masking. Pressing 4 or more keys and it will not be able to know about the 5 th. Diodes will help! Also when choosing keys, try to use keys that are not on the same row and columns as each other.

See also:

http://195.185.158.36/tricks.htm#SUPERDUPERARCADEJOYSTICKCONSOLE
http://www.arcadecontrols.speedhost.com/arcade.htm


Back to the top


 
Check out Dave Dribin's web page on this issue.  It has a *great* explanation of what the problem is and why it happens.  He recommends the use of diodes. :)


 
Jay's Virtual Arcade has another captured message thread discussing keyboard ghosting (aka shadow-keys) and diode use.  It's a good read, but I'll spoil the punchline ... use diodes :)  Thanks to Jack for the link!


 
Watch those diodes!  Brent Geery of Retrostik fame sent me a message about a problem he encountered with keyboard hacks.  Every time he tried to play PacMan, his controls refused to respond.  Plugging in a keyboard worked fine.  It had him stumped until he noticed the keyboard LEDs on his hacked encoder blinked when the game started.  Curious, he unsoldered the LEDs - and the controls refused to work with any games.  Next he jumpered across the LED spots with solder, and everything including PacMan worked again.  Brent's conclusion:

LED's are diodes, and the voltage drop of the LEDs combined with the diode I used inline with the buttons lowered the voltage to a point that the keyboard encoder could no longer detect the key inputs.  Bypassing these LEDs avoids the additional voltage drop of a second third or even fourth diode (the LEDs) inline with each button and cures the problem. Thanks Brent!


 
Understanding all the above information is a lot easier with a good understanding of what diodes do.  Here are a couple of good sites to go to for basic information on diodes and LEDs.  Both of them start into diodes about 1/2 way down the page.
 
Iguana Labs - Basic Electronic Components
Electronics 2000 - Basics of Electronics (Deep into theory, very good)


 
Milo sent in this tidbit, when he was hacking a Zenith Data Systems keyboard, the matrix used diodes.


 
 

-- Home --