An encoder is a specialized device that interprets presses and movements by your arcade controls and passes them along to be used by a computer. They can interpret keyboard, mouse, or gamepad commands, depending on the type and capability of the encoder. They depend on an external switch, such as a Pushbutton to register commands.
Basically, you can think about an encoder as a bridge between the buttons (joysticks, tackballs, spinners, etc.) on your control panel and the computer on which the emulator runs. For example, suppose that you press the "Player 1 Start" button on your control panel. When you do, a signal is sent down some wires running from the button to a particular input on the encoder. Now, the encoder has been set up so that whenever it receives a signal in that particular input, it then sends a signal to the computer (via either a PS/2 or USB cable) that is identical to the signal sent by a regular keybaord when you press the "1" key. So, to the computer your "Player 1 Start" button looks just like a "1" key on a keyboard. In our particular example this is good, because the emulator on your computer was waiting for you to press the "1" key to start your particular game.
Encoders are available from several vendors including:
- Hagstrom Electronics
- ThrustVector Controls
- Ultimate Arcade Controls (Ultimarc)
It is worth noting that some controls from specific vendors may not require a separate encoder to function. For example, the Apache Blackhawk Spinner comes with a built in encoder for the spinner so that you can just plug it directly into your USB port. It is also worth noting that some controls from specific vendors, in addition to not requiring a separate encoder to function, may be able to act as an encoder for other controls. For example, the Utramarc Ultrastik 360 joystick can act as an encoder for up to 8 buttons.
There are five types of encoders presently available: