Hagstrom Electronics has an entire suite of keyboard encoders suitable for use in arcade cabinet projects. Prices start at $45 for their entry-level model and range up to $140 for their top of the line models. Hagstrom was in the keyboard encoder business when the home arcade cabinet hobby started taking off and was quick to embrace the community with both product customizations and excellent user support. As an example, with a majority of the arcade cabinet community using MAME (see Chapter 14, "Choosing and Loading Software"), Hagstrom modified one of their encoders to better support MAME at no extra cost. All of the Hagstrom encoders referred to in this book have been used by the arcade cabinet community with good results reported. Ill introduce you to the four models they offer for keyboard port connection in this section (Hagstrom appears in the next two chapters as well). KE18 / KE18 MAME
It supports 18 direct inputs, or a 9 x 9 matrix mode of 81 inputs. This unit is not programmable, which means that your software will have to be configurable to work with the keystrokes available to the encoder. However, Hagstrom sells an arcade cabinet-friendly, customized version of the KE18 dubbed the KE18 MAME. The key mappings are the same in matrix mode, but are different in direct mode. Both sets of keystroke mappings are shown in Figure 8-12.
The KE18 can suffer from ghosting problems in matrix mode, so you need to plan your keystroke combinations carefully if you decide to use it in that mode. Obviously, there is no such problem in direct mode. The encoder includes a keyboard pass-thru port, which is a nice feature on an entry-level model. It also includes the ability to enable/disable keyboard repeat (a held down button can generate just one keystroke, or repeat keystrokes). The wiring connector on the KE18 is of the standard IDE flat ribbon cable variety. You can either use your own IDE ribbon cable, or add the optional screw-terminal board and cable header similar to that pictured in Figure 8-13. With that board, you connect the encoder to the terminal board with the cable, and then connect your wiring to the screw terminals.
The KE18 is an entry-level keyboard encoder, suitable for one- or two-player control panels. Its lack of programmability may limit its appeal to some users, but its cost and support of the native MAME command set make it a good alternative for someone considering a keyboard hack.
The LP24 is Hagstroms next step up in the keyboard encoder field (see Figure 8-14), selling for $80. It is a 24-pin, programmable encoder module capable of up to 144 inputs in matrix mode, or 23 inputs in pseudo-direct mode (see the following paragraph). Because it is programmable, you can determine exactly what keystroke is generated by any spot on the matrix. Technically, the encoder has 50 pins total in two rows of 25 pins each. Each pair of 25 pins is connected and functions like a single pin. The 25th pair is a ground pin used to erase the LP24s programming, should programming errors render it unusable. Therefore, if you take into account the paired pins and discount the mostly unused 25th pair, you end up with 24 usable input pins. Hence the name of the unit being LP24 and my reference to it having 24 pins instead of 50.
Programming the LP24 requires an operating system capable of booting into true DOS mode. A DOS window will not work. This means you cannot program this encoder on a Windows XP machine, for instance, but Windows 98 will work. If youre interested in this encoder but have Windows XP, you could use another computer to program it and then bring it to your XP machine to use. Programming is accomplished via an interactive program through the keyboard cable. Once youve booted up in DOS mode and run the programming application youre presented with a basic menu. First you select the size of your matrix. To use it in direct mode, simply assign it to use a 1 x 23 sized matrix, effectively making it a 23-input direct mode encoder. The size of the matrix cannot exceed the number of pins available on the LP24, so the maximum matrix size is 12 x 12, or 144 possible inputs. Then you fill in the keystrokes desired in the on-screen matrix grid, save the configuration to the encoder (and a backup to disk), and exit the program. Although you can save and load the configurations from disk, the programming application does not support a batch mode of operation, so you cannot automate the process. Like the KE18, the LP24 can suffer from ghosting, so you need to design your matrix carefully to avoid that.
Wiring the LP24 is similar to the KE18. However, because the LP24 has a total of 50 pins versus the KE18s 40, it will not work with an off-the-shelf IDE ribbon cable. Although the IDE ribbon cable is smaller and the pin spacing matches, the edges of the IDE ribbon cable connector will bend some of the unused pins on the LP24 if you try to use it. You can purchase a 12-inch wiring harness connector from Hagstrom to use with the LP24, or make your own with parts available at electronics stores. The encoder includes a keyboard pass-thru, and supports enabling/disabling keyboard repeat.
The added ability of the LP24 to program key configurations make this well suited for a two-player control panel. It will also work for a four-player control panel, but will need to be in matrix mode with proper attention paid to the matrix configuration to avoid ghosting issues.
The KE18 is Hagstroms entry-level keyboard encoder product (see Figure 8-11) starting at $45.