The world's most advanced arcade interface

FAQ for the AfterBurner, the Most Advanced Home Arcade Controller

What is USB HID?

USB HID stands for Universal Serial Bus Human Interface Device. It is a set of protocols defined by usb.org for connecting keyboards, mice, joysticks, and many other devices to a computer. Most HID devices operate at 1.5Mb/s and report status 100 times each second.

How do USB keyboards and PS2 keyboards differ?

A PS/2 or AT-style keyboard sends keyboard events (either key up or key down) by a slow (typically 9600 baud) serial connection. If multiple keys are pressed simultaneously, the key down events are stacked up and sent one after another.

A USB keyboard sends a list of which keys are down, either when a key changes or periodically as a "reminder". USB keyboards typically transmit at 1.5Mb/s, and have 100 slots per second to transmit in. Therefore, a USB keyboard can typically transmit multiple keys being pressed and released 50 times per second (First send a key down, then send a key up). The most common USB keyboard standard is the USB Boot keyboard. This standard specifies that the status of both shift keys, both ALT keys, both CTRL keys, and both GUI (windows or apple) keys in addition to a list of up to six other keys down be sent each time the keyboard sends information. This allows up to fourteen keys to be pressed simultaneously, provided eight of them are shift/ALT/CTRL/GUI keys.

Do USB keyboard and USB joystick events interfere?

No. The USB specification allows multiple devices to all share a common bus without interference. The AfterBurner can send up to fourteen keyboard presses up to 100 times per second on the keyboard interface, plus the location of the joystick (Up/Down/Left/Right) and joystick buttons pressed on each joystick interface 100 times per second. The interfaces are completely independent. It is possible to send fourteen keys down, plus all four joysticks in a corner, plus eight joystick buttons per joystick down. That's a total of 56 inputs simultaneously!

What's a common-ground system? What's a matrix system?

A common-ground system is a system in which each input has a separate input on an IC chip. The pin is checked by the IC to see if it is connected to ground. If it is, the switch is down. Otherwise, the switch is up. This means that a common-ground system can only detect as many keys as there are physical pins on the IC. As this is expensive to do, other systems are often used.

A Matrix system uses a set of sense wires and a set of excite wires to be able to use fewer wires to detect a large number of keys. The total number of keys detectable by a matrix system is found by multiplying the number of sense wires by the number of exite wires. In the system shown below, the sense wires are labeled 1-4, while the excite wires are labeled A-E. This gives a total of 5x4 or 20 keys that can be detected with 9 wires. On the AfterBurner, if the 35 inputs were used in a matrix of 15x16, a total of 306 inputs would be possible!

In a matrix system, the IC sends a signal down each excite wire one at a time and then looks for the signal on each sense wire. In the matrix shown below, the dot represents a key down. The only time a signal will be seen on a sense wire is when the IC sends a signal down wire C and detects it on wire 3. Therefore the IC knows that key C3 is down.

Diagram of Matrix

Unfortunately, matrix systems are subject to ghosting. Consider the following matrix with 3 keys down. When a signal is sent down excite wire B, sense wires 1 and 3 see the signal. Therefore the IC assumes that keys B1 and B3 are down. Notice, however, that when a signal is sent down exite wire C, the signal travels through sense wire 3 to exite wire B. The IC will see this signal show up on sense wire 3 as it should, but also on sense wire 1. This is a ghost key. This is usually not a problem with ordinary typing, as few people need to press many, many keys at the same time. For gaming, however, this is not the case, so a matrix system should not be used.

Diagram of Matrix with Ghosting
How do 4-way and 8-way joysticks differ?

Most arcade-style games use an 8-way, 4-way, or 2-way joystick. Both 8-way and 4-way joysticks have four switches. The main bar of the joystick passes through the body of the joystick and presses switches on the opposite edges. The four switches map to +X, -X, +Y, and -Y. A 2-way joystick has only 2 switches, and moving from side-to-side presses either +X or -X. While an 8-way joystick can have multiple switches pressed simultaneously (like +X and +Y for down and right), a 4-way joystick mechanically prevents more than one switch from being pressed at the same time. So, a 4-way joystick can be in one of five states, center, up, down, left, or right. An 8-way joystick can be in one of nine states, center, up, up-left, left, down-left, down, down-right, right, or up-right. Usually, the bottom of the joystick contains a round or square hole for an 8-way joystick but contains a diamond hole for a 4-way joystick. This not only prevents the diagonals from being selected, but changes the feel of the joystick.

Cutout in 4-way and 8-way joysticks