TOKN KB32 Speculation and Usage

TOKN KB32 SPECULATION AND USAGE

NEWS/UPDATES:

1 Aug 05 - Initial webpage release. 

DISCLAIMER:

This is not meant as an endorsement of the KB32.  The KeyWiz Eco generally costs less and runs rings around it in terms of performance.   You could realistically use a KeyWiz for a 4-player, 3-button each panel with no chance of ghosting except on the coin and start inputs (which would be stealth-shifted).

The best the KB32 can support is 4-players and two buttons each.  IMHO, the I-PAC/2 is a better choice for two-player support, since you don't have to fool with diodes or ghosting.  For 4-player support, the four extra inputs come in handy, but no more than you could do with a well-executed keyboard hack, in fact, that's a large part of the basis for the theory behind this page.

Having said that, the KB32 is significantly better than the KB16 for most applications, and since this theory is complex, I felt like I should document it.

SUMMARY/OVERVIEW:

I don't actually have a KB32, but I will assume the same thought process went into the design as the KB16. If this it true, it is about the equivalent of a keyboard hack but without blocking to stop ghosting on the admin keys. In other words, the unit can be considered a dual 8x2 matrix encoder and should have the following max configs (without resorting to diodes):

1 Joystick and 14 action buttons, with 14 admin buttons, (admin buttons will cause ghosting).
2 Joysticks and 6 action buttons each, with 12 admin buttons (admin buttons will cause ghosting).
3 Joysticks and 3 action buttons each, 1 additional non-ghosting input (Escape) and 10 admin buttons, (admin buttons will cause ghosting).
4 Joysticks and 2 action buttons each, with 8 admin buttons (admin buttons will cause ghosting) (You have enough buttons for coin and start, or other functions, but not both, however, my page on Eliminating Coin and Start Buttons could be useful here).

Assuming it is made the same as the KB16, I again recommend setting alternate inputs as your action buttons. Also, the KB32 has some advantages on admin buttons and ghosting. Admin buttons can be accidentally triggered by ghosting, but the ghosting should not "cross banks" of the encoder. Therefore, when possible, I recommend setting the really annoying buttons (TAB, Tilde, Pause, Escape, etc.) on Bank two, and the other buttons (Coin, Start) on Bank one. Wired this way, you have no possibility of a coin or start input accidentally ending your game. You may get unintended "extra" coin inputs if coin or start is pressed along with action keys, but this is a minor annoyance.   Tab, Tilde, and Pause inputs could end your game, but you are less likely to press these in the heat of gameplay.

USAGE:

I don't have an actual unit and was unable to verify the actual setup, but it should be safe to make the following assumptions based on the KB16:

Assuming the unit is built similarly to the KB16, the first, third, fifth, and seventh and remaining "odd" inputs comprise Row A of the upper Bank IDE header and the even pair of inputs comprise Row B.  The same theory would apply to the lower Bank IDE header.

KEY CONCEPTS:

EXAMPLES:

I will use the following color coding to make it easier to see what is going on. Aqua represents the Player 1 buttons.   Yellow represents the Player 2 buttons.  Green represents the Player 3 buttons.  White represents the Player 4 buttons.  Red represents the troublesome admin buttons and Pink represents the non-troublesome admin buttons.

Here are the physical connections to minimize ghosting for each scenario above.   (The encoder will need reprogramming to match these configuration)  These are only suggestions and other options are definitely possible:


Upper Bank Column 1 Column 2 Column 3 Column 4 Column 5 Column 6 Column 7 Column 8
Row A Joy 1 Up Joy 1 Left P1B1 P1B2 P1B7 P1B8 P1B9 P1B10
Row B Joy 1 Down Joy 1 Right Admin 1 Admin 2 Start 1 Start 2 Coin 1 Coin 2
Lower Bank Column 1 Column 2 Column 3 Column 4 Column 5 Column 6 Column 7 Column 8
Row A P1B3 P1B4 P1B5 P1B6 P1B11 P1B12 P1B13 P1B14
Row B Admin 3 Admin 4 Admin 5 Admin 6 Tilde Tab Pause Escape

In this configuration, pressing any two of the Upper Bank Row A Action buttons along with a Row B action button, could generate a Ghost Admin 1 or 2 or Coin or Start input, but will not exit the game.  Pressing any two of the Lower Bank Row A Action buttons along with a Row B action button, could generate a Row B ghost input, but this is unlikely to happen.

This is not a very realistic scenario, but it is a possible one.  Depending on requirements, it is entirely possible to put the joystick inputs on the lower bank to use two less troublesome admin button and provide two additional non-troublesome ones.


Upper Bank Column 1 Column 2 Column 3 Column 4 Column 5 Column 6 Column 7 Column 8
Row A P1B3 P1B4 P2B3 P2B4 P1B5 P1B6 P2B5 P2B6
Row B Admin 1 Admin 2 Admin 3 Admin 4 Start 1 Coin 1 Start 2 Coin 2
Lower Bank Column 1 Column 2 Column 3 Column 4 Column 5 Column 6 Column 7 Column 8
Row A Joy 1 Up Joy 1 Left Joy 2 Up Joy 2 Left P1B1 P1B2 P2B1 P2B2
Row B Joy 1 Down Joy 1 Right Joy 2 Down Joy 2 Right Tilde Tab Pause Escape

In this configuration, pressing any two of the Upper Bank Row A Action buttons along with a Row B action button, could generate a Ghost Admin 1 or 2 or Coin or Start input, but will not exit the game.  Pressing any two of the Lower Bank Row A Action buttons along with a Row B action button, could generate a Row B ghost input, but this is unlikely to happen.

For this scenario, I decided to move the joystick inputs to the bottom bank to free up additional non-troublesome admin buttons, although I am not sure what you would use them for.


Upper Bank Column 1 Column 2 Column 3 Column 4 Column 5 Column 6 Column 7 Column 8
Row A Joy 3 Left P1B2 P1B3 P2B2 P2B3 P3B1 P3B2 P3B3
Row B Joy 3 Right Start 1 Coin 1 Start 2 Coin 2 Admin 1 Start 3 Coin 3
Lower Bank Column 1 Column 2 Column 3 Column 4 Column 5 Column 6 Column 7 Column 8
Row A Joy 1 Up Joy 1 Left Joy 2 Up Joy 2 Left Joy 3 Up P1B1 P2B1 Escape
Row B Joy 1 Down Joy 1 Right Joy 2 Down Joy 2 Right Joy 3 Down Tilde Tab Pause

At this point, we are using almost all of the inputs, so everything is pretty fixed in how it can be set-up.  A nice feature of this set-up is that we are able to put Escape on the main row, and have it ghost with Pause, so the only way to accidentally exit would be to have Pause and another troublesome admin button pressed along with one of the P1 or P2 Button 1's.  This layout also demonstrates how I like to have the Coin and Start Buttons paired with the corresponding players action buttons b/c you are unlikely to hit these at the same time.


Upper Bank Column 1 Column 2 Column 3 Column 4 Column 5 Column 6 Column 7 Column 8
Row A Joy 1 Up Joy 1 Left Joy 2 Up Joy 2 Left P1B1 P1B2 P2B1 P2B2
Row B Joy 1 Down Joy 1 Right Joy 2 Down Joy 2 Right Start 1 Coin 1 Start 2 Coin 2
Lower Bank Column 1 Column 2 Column 3 Column 4 Column 5 Column 6 Column 7 Column 8
Row A Joy 3 Up Joy 3 Left Joy 4 Up Joy 4 Left P3B1 P3B2 P4B1 P4B2
Row B Joy 3 Down Joy 3 Right Joy 4 Down Joy 4 Right Start 3 Coin 3 Start 4 Coin 4

This is a very basic layout and uses all the inputs.   There is very little chance for ghosting, and when it occurs the worst that could happen is extra start and coin presses.  There is no way to press Pause or Escape, but for a desktop control panel, you could use the pass-thru keyboard for this.


Upper Bank Column 1 Column 2 Column 3 Column 4 Column 5 Column 6 Column 7 Column 8
Row A Joy 1 Up Joy 1 Left Joy 2 Up Joy 2 Left P1B2 P2B2 P3B2 P4B2
Row B Joy 1 Down Joy 1 Right Joy 2 Down Joy 2 Right Coin1 Coin 2 Coin 3 Coin 4
Lower Bank Column 1 Column 2 Column 3 Column 4 Column 5 Column 6 Column 7 Column 8
Row A Joy 3 Up Joy 3 Left Joy 4 Up Joy 4 Left P1B1/Start 1 P2B1/Start 2 P3B1/Start 3 P4B1/Start 4
Row B Joy 3 Down Joy 3 Right Joy 4 Down Joy 4 Right Tilde Tab Pause Escape

This is a very interesting set-up.  It requires you to configure MAME™ so that Start and Button 1 for each player use the same input, but this causes surprisingly few problems and frees up the four extra admin buttons we wanted for Pause and Escape.


Upper Bank Column 1 Column 2 Column 3 Column 4 Column 5 Column 6 Column 7 Column 8
Row A Joy 1 Up Joy 1 Left Joy 2 Up Joy 2 Left P1B2 P2B2 P2B6
P3B2
P2B3
P4B2
Row B Joy 1 Down Joy 1 Right Joy 2 Down Joy 2 Right Coin1 Coin 2 Coin 3 Coin 4
Lower Bank Column 1 Column 2 Column 3 Column 4 Column 5 Column 6 Column 7 Column 8
Row A P1B4
Joy 3 Up
P1B5
Joy 3 Left
P2B4
Joy 4 Up
P2B5
P3B3

Joy 4 Left
P1B1/Start 1 P2B1/Start 2 P1B6
P3B1/Start 3
P1B3
P4B1/Start 4
Row B Joy 3 Down Joy 3 Right Joy 4 Down Joy 4 Right Tilde Tab Pause Escape

Hope this helps some users of the KB32 !!!  As always, feel free to send me any questions/comments.

Document made with Nvu