Editing
Atari interface
From Deskthority Wiki
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{TODO photo|more=true}} [[Atari]]'s video game console ''Atari 2600'', released in 1977, introduced a input-device peripheral port that became the de-facto standard on 8-bit and later 16-bit home-computer as well as on some game-consoles up until the mid-1990s. The port interface has been used primarily for digital [[joystick]]s/game controllers but also with different signalling for [[numeric keypad]]s, [[trackball]]s and [[mouse|mice]], [[#Paddles|paddles]], [[Joystick#Analogue|analogue joysticks]], [[light pen]]s and various other types of controllers as well as non-input devices. Some alphanumeric keyboards were made but are very rare. ==Connector== The connector is a 9-pin D-subminiature (DE-9<ref group="footnote">The DE-9 is ''very'' often incorrectly labelled as DB-9 or DB9, even within the electronics industry. The letter after 'D' actually signifies the size of the connector. An actual DB-9 port would be as wide as a DB-25 serial port but have only nine pins. The DE-9 shares size with DE-15 (known for VGA)</ref>), male socket on the host and female plug on the device's cord. Many hosts have the ports flush with the panel and quite close together, without any threaded nuts. Most device plugs are therefore narrower than standard DE-9 to be able to fit them. Many hosts ports have the "shield" made of non-conductive plastic. Beware that not all input devices with a DE-9 connector actually use Atari-compatible pinout and/or signals. A peripheral may work in the ports of one system, but not work or even damage another system. Read more in the ''[[#Partially compatible|Partially compatible]]'' and ''[[#Incompatible|Incompatible]]'' sections below. ==Pin-out== {|class="wikitable" ! ! Pin 1 ! Pin 2 ! Pin 3 ! Pin 4 ! Pin 5 ! Pin 6 ! Pin 7 ! Pin 8 ! Pin 9 |- !colspan=10|[[#Digital joysticks and gamepads|Digital joysticks and gamepads]] |- ! [[#Atari_joysticks|Atari 2600]] | Up | Down | Left | Right | | Button | ('''+5V''') | Ground | |- ! [[#Atari_joysticks|Booster grip]] | | | | | '''Trigger''' | | '''+5V''' | | '''Thumb''' |- ! [[#Atari_joysticks|Atari 7800]] | Up | Down | Left | Right | /'''Right button''' | 2600 button/'''Common''' | ('''+5V''') | Ground | /'''Left button''' |- ! [[#C64GS joystick|C64GS]] | Up | Down | Left | Right | | Button | '''+5V''' | Ground | '''Button 2''' |- ! [[#ZX Spectrum|Kempston Interface]] | Up | Down | Left | Right | (Button 3) | Button | ('''+5V''') | Ground | (Button 2) |- ! [[#Commodore joysticks|Amiga]] | Up | Down | Left | Right | (Button 3) | Button | ('''+5V''') | Ground | (Button 2) |- ! [[#Amiga_CD32_gamepad|Amiga CD32]] | Up | Down | Left | Right | ''Select'' | Red(Button)/''Clock'' | '''+5V''' | Ground | Blue/'''Serial''' |- ! [[#SAM Coupé|SAM Coupé]] | Up | Down | Left | Right | 0v | Button | '''+5V''' | ''Common'' | ''Com 2'' |- !colspan=10|Analogue controller |- ! Atari [[#Paddles|paddles]] | | | Left Button | Right Button | '''Right Pot''' | | '''+5V''' | Ground | '''Left Pot''' |- ! Commodore [[#Paddles|paddle]] | | | Left button | Right Button | '''Pot Y''' | | '''+5V''' | Ground | '''Pot X''' |- ! Amiga analogue joystick | (Button 3) | | Button 1 | Button 2 | '''Pot X''' | | '''+5V''' | Ground | '''Pot Y''' |- !colspan=10|[[#Mice and trackballs|Mice and trackballs]] |- ! Atari Trak-Ball | X direction / Up | X motion / Down | Y direction / Left | Y motion / Right | | Button | '''+5V''' | Ground | |- <!-- Not sure if this is correct/Findecanor... ! Atari 2600 [[#Steering wheels|Driving Controller]] | X direction | X motion | | | | Button | ('''+5V''') | Ground | |- --> ! Atari ST mouse | X1 | X0 | Y0 | Y1 | (Middle button) | Left button | '''+5V''' | Ground | Right button |- ! Amiga mouse | Y0 | X0 | Y1 | X1 | (Middle button) or (Wheel/Middle button) | Left button | '''+5V''' | Ground | Right button |- ! Amstrad/Sinclair PC mouse | X0 | X1 | Y0 | Y1 | (Spare) | Left button | '''+5V''' | Ground | Right button |- !colspan=10|[[#Light pens and light guns|Light pens and light guns]] |- ! Atari | Pressure/Trigger | | | | | Light sensor | '''+5V''' | Ground | |- ! Magnum lightphaser | | | | | '''Trigger''' | Light sensor | '''+5V''' | Ground | |- ! Stack light rifle | | | Trigger | | | Light sensor | '''+5V''' | Ground | |- ! Gun stick | | Hit | | | | Trigger | '''+5V''' | Ground | |- ! Amiga | | | | | Pressure/Trigger | Light sensor | '''+5V''' | Ground | |- !colspan=10|[[#Keypads|Keypads]] |- ! [[#Atari 2600 keypads|Atari 2600]] | ''Row 1'' | ''Row 2'' | ''Row 3'' | ''Row 4'' | Column 1 | Column 3 | | Ground | Column 2 |- ! [[#Atari CX85 Numerical Keypad|Atari CX85]] | Bit 0 | Bit 1 | Bit 2 | Bit 3 | ''Bit 4'' | Press | '''+5V''' | Ground | |- ! [[#Cardco Cardkey|Cardkey]], [[#Rushware keypad|Rushware]] | Bit 0 | Bit 1 | Bit 2 | Bit 3 | | Press | '''+5V''' | Ground | |- ! [[#ColecoVision joystick|ColecoVision]] | Up/Bit 0 | Down/Bit 2 | Left/Bit 3 | Right/Bit 1 | ''Keypad strobe'' | Left/Right button | (Spinner 1) | ''Joystick strobe'' | (Spinner 2) |- !colspan=10|[[#Partially compatible|Partially compatible]] |- ! [[#Amstrad CPC|Amstrad CPC]] | Up | Down | Left | Right | (Spare) | Button 2 | Button 1 | ''Common (row 9)'' | ''Com 2 (row 6)'' |- ! [[#J-PC|J-PC]] | Up | Down | Left | Right | ('''+5V''') | A | B | ''Out'' | Ground |- ! [[#Sega 8-bit|Sega 8-bit]] | Up | Down | Left | Right | ('''+5V''') | Button 1 | (Light sensor) | Ground | Button 2 |- ! [[#Sega 16-bit|Sega 16-bit]] | Up | Down | GND/Left | GND/Right | '''+5V''' | A/B | ''Select'' | Ground | Start/C |} Most lines are active when shorted to a ground line (or strobe). Atari-compatible hosts should have a pull-up resistor on each such line. Input lines that can be active high are marked in bold. <!-- Because overlining, which otherwise is the convention in electronics looked cluttered ... Use otherwise template:overline --> Outputs are marked in italics. Entries within parenthesis above are optional but supported by host hardware. The state of the device's switches is often read directly over the wire. Video games were often running main loops synchronised to the video beam, so switches were polled at most 60 times per second — 16.7 ms interval, which is longer than what most switches are rated for [[contact bounce]]. Hosts could not sense which type of device was connected to a port and software was most often hard-coded for a specific class of devices. In the cases where software could support different classes of devices, the user had to tell the software manually. ==Digital joysticks and gamepads== [[File:Tac-2.jpg|200px|thumb|right|The '''Suncom TAC-2''' (''Totally Accurate Controller mk 2'') is still popular with retro gamers]] Different systems have implemented the standard, sometimes with different extensions for more buttons or other capabilities. The [[Joystick#Digital|joysticks]] have eight directions and one button, often named "Fire" or "Trigger". The directions up, down, left and right have individual pins, with diagonals as combinations of up+left, up+right, down+left and down+right respectively. ===Atari joysticks=== [[Atari]]'s joystick standard was introduced with the ''Atari VCS'' (''Atari 2600'' after 1982) and was then used on Atari 8-bit computers (''400'', [[Atari 800|800]], ''1200'', ''XL'', ''XE'') and the [[Atari ST]] line (including ''TT'' and ''Falcon''). Most games consoles and home computers had two ports but the Atari 400 and [[Atari 800|800]] had four. Many third-party joysticks for this pinout do have more than one button, but only for convenience — they are all wired to the same line. Joysticks with [[Autofire|repeat-fire]] were supposed to use the +5V line for power but some are instead powered by the host's pull-up current on the button's pin.<ref name="jakadapterpullup">[http://kair.us/projects/jakadapter/index.html Jakadapter]. Section "Hardware", third paragraph. Dated 2018-10-20. Retrieved 2018-12-02</ref> Atari released a ''Booster grip'' accessory for the 2600 with a passthrough for the joystick. It added a thumb button and a trigger; each on a POT line, shorting it to +5V when pressed and thus read as a [[#Paddles|paddle]]. The Atari 7800 console has joysticks with two trigger buttons but the console is backwards-compatible, containing also Atari 2600 hardware. Each new trigger button is wired between the 2600's trigger pin ''and'' a POT line with pull-down resistors to ground. This setup means that the buttons are two different buttons in 7800 mode but have the same function in Atari 2600 mode. <ref name="atariage7800">AtariAge [http://atariage.com/7800/faq/index.html?SystemID=7800#cat2_9 7800 FAQ]. Retrieved 2017-03-30.</ref> ===Commodore joysticks=== The [[Commodore VIC-20]] has one "Control port". The [[Commodore 64]] and ''128'' have two. All support Atari-standard joysticks and could technically also support the additional buttons on the "Booster Grip". The Commodore 64/128 use the same I/O ports for joysticks as for the [[keyboard matrix]], but not having them part of it. Therefore, most single-player games support a joystick only in port 2, so that joystick and keyboard would not interfere with one-another. Many games use the [[Space bar]] for additional input and strobing only for that key. Port 1's button is wired to the Space bar's column which means that pressing the button on a joystick in that port does in these games effectively press Space. Many two-button joystick mods for the C64 have taken advantage of this. ==== Power Play ==== The rare ''Commodore 64 Power Play'' Edition, sold only in Germany in 1990 came with a ''Power Pad''<ref>Retroport.de—[http://www.retroport.de/C64_Power_Play.html Commodore C64C Power Play Edition (1990)]. Retrieved 2018-06-07</ref> — a clone of a NES gamepad with two buttons. A version of the gamepad has also been spotted with two additional buttons. On that, one of the Fire buttons was Fire, and the other Up. (Up was often used for Jump in games for Atari joysticks) ==== C64GS joystick ==== The doomed ''Commodore 64 Games System'' was essentially a [[Commodore 64]]C without a keyboard. To compensate for the loss of keys, the joystick got a secondary fire function which shorted +5V to pin 9 (POTX), like the Thumb button on Atari's ''Booster Grip''. (Note that on the Commodore Amiga, the same pin was read as secondary fire but low instead of high.) The bundled ''Cheetah Annihilator'' joystick had a secondary fire button but unfortunately it broke easily and a replacement that supported secondary fire was practically nonexistent. ==== Amiga ==== Every [[Commodore Amiga|Amiga]] computer has two "Controller ports" which are usually labelled "Mouse" and "Joystick" respectively. The fire button and the mouse's left button use the same input, allowing either to work as the other when only button press is required.<ref name="elowaradcd"/> Some Amiga-specific joysticks have a secondary Fire button, which worked like the right mouse buttons. These came about because of the popularity of using [[#Sega|Sega]] gamepads on the Amiga, where a button triggers that pin. ==== Amiga CD32 gamepad ==== The Amiga CD32 games console is based on regular Amiga hardware with two controller ports. The gamepad has a [[D-pad]] and seven buttons: Blue, Red, Yellow, Green, Right Front, Left Front and Pause. It would of course work in other Amigas given software support. Games not specifically made for the CD32 game-pad (such as ports) would leave pin 5 high which makes Red work as Fire, and Blue as the second button. When pin 5 is low, the button state could be read serially on pin 9 from a 74LS165N shift register using pin 6 as a clock. The register is reset by setting pin 5 high again. <ref name="gerdkautzmanncd32">[http://gerdkautzmann.de/cd32gamepad/cd32gamepad.html CD32 Gamepad A100 re-engineered documentation]. Retrieved 2015-08-16.</ref> ===ZX Spectrum=== The original Sinclair ZX Spectrum did not originally come with a joystick port so most games used the keyboard. The standard was to use 5-8 on the numeric row as [[cursor keys]]. A two-port expansion card called ''ZX Interface 2'' was released by Sinclair but not before the single-port ''Kempston Joystick Interface'' expansion card from ''Kempston Micro Electronics'' had established itself on the market. The ZX Interface 2 mapped joysticks to keyboard keys on the numeric row — but to different keys than the cursor standard. Other cards exist that map to either, to both or to both ''and'' the older keyboard standard. The ZX Interface 2 does not connect the +5V line, so joysticks with turbo/auto-fire do not work. <ref name="fruitcake">Sinclair ZX Resource Centre — [http://www.fruitcake.plus.com/Sinclair/Interface2/Interface/Interface2_Introduction.htm ZX Interface 2]. Retrieved 2018-05-24</ref> The Kempston does not only connect the +5V line, it also allows lines 9 and 5 to be read as buttons.<ref name="yarekkempston">8bit Projects for Everyone—[https://8bit.yarek.pl/hardware/zx.joystick/index-de.html Kempston Joystick]. Dated 2002-10-12. Retrieved 2018-05-24</ref> The Spectrum +2 and later (the [[Amstrad]] era) did come with 2 DE-9 joystick ports that were used like the ZX Interface 2's ports by programs — but the pinout is different from the Atari standard. ===SAM Coupé=== The SAM Coupé 8-bit computer has a single joystick port that connects one Atari-compatible joystick, or two with an adaptor. Both inputs and the strobe lines are shared with the [[keyboard matrix]], with each joystick's inputs producing keycodes that already exist on the keyboard. Each common line on the connector strobes each joystick in turn. An adaptor would need diodes to avoid joysticks from clashing. Because the hardware is "temperamental", it is recommended to use germanium diodes with a low voltage drop, or to use a tristate buffer for each joystick. <ref name="worldofsam">WorldOfSam.org—[https://www.worldofsam.org/products/keyboard-and-joystick-port Keyboard and Joystick port]. Dated 2018-05-16. Retrieved 2019-10-05</ref>. ===Multi-port adaptors=== Numerous adaptors have been made from digital joysticks and gamepads to [[Parallel port|DB-25 parallel ports]]. A typical adaptor or ''Multi Joystick Extender'' connects two (additional) joysticks. This did require specific software support in multiplayer games for the Amiga and Atari ST.<ref name="amigamje">[http://old.pinouts.ru/InputCables/Amiga4Joysticks_pinout.shtml Amiga 4 joysticks adapter pinout]. Retrieved 2014-10-04</ref> A ''MultiJoy'' adaptor for the Atari 8-bit computers can connect up to 16 (or more often 8) joysticks on the original joystick ports. Older games that supported three or four players only on the first generation of Atari 8-bit machines have been modified to work with these. A demultiplexer chip is used to select which joystick's ground line to strobe. The joystick number is output on port 2's direction lines and the selected joystick is read on port 1. <ref name="multijoy8">Atari 8bit.net—[https://atari8bit.net/multijoy8/ Multijoy8]. Retrieved 2020-04-23</ref> ==Paddles== A paddle is a controller with a turnable knob that has stops. The name comes from what they were initially ''used'' for: for moving a table tennis paddle on the screen in the game ''Pong''. There were usually two Paddle controllers on a Y-cable to the same port. Each paddle's knob is on a rotary potentiometer, connected to +5V at the right end and with the wiper connected to the pot line. Turning the knob right decreases the ''resistance''. Note that ground is not connected: there is only a capacitor against ground for smoothing the signal. The potentiometer does not alter the voltage but the ''current'' on the pin. On original hardware, paddles were read relatively slowly by first letting the paddle charge a capacitor and then measuring the discharge time. Modern adaptors that use an analog-to-digital converter connect the paddle as part of a voltage divider. Paddles for the Commodore machines have the Atari pinout but the potentiometers are 470 kohm instead of 1 Mohm. This means that Atari paddles are usable on Commodore machines (only with less range) but not the other way around.<ref name="derogeepaddles">Projects of Jan Derogee — [https://home.kpn.nl/bderogee1980/projects/paddle/paddle.html C64 Paddles]. Retrieved 2018-05-23</ref> The paddle interface was used also for pointing devices for the Commodore 64 and for analogue joysticks for the Commodore 64 and the Amiga.<ref name="elowaradcd">AmigaOS 3.5 Developer Docs — Amiga Hardware Reference Manual: Interface hardware: [http://amigadev.elowar.com/read/ADCD_2.1/Hardware_Manual_guide/node017D.html Controller Port Interface]. Retrieved 2018-04-18.</ref> ==Keyboards== ===Atari 7800 keyboard=== A QWERTY keyboard had been announced for the Atari 7800 video games console when it was launched in 1984 but the keyboard was never released. The keyboard was the same as in the [[Atari 800#600/800XL|600/800XL]] but with a special [[Keyboard controller|controller]], and connected via port 2.<ref name="atarimuseum7800kb">Atari Museum—[http://www.atarimuseum.com/videogames/consoles/7800/7800keyboard.html The Atari 7800 PRO System Computer Keyboard]. Retrieved 2018-11-16</ref>. ==Keypads== ===Atari 2600 keypads=== Atari released several keypads for the Atari 2600 that all worked the same way. They were supported by some Atari's 8-bit computer software as numeric keypads, albeit using telephone layout (1,2,3 at top, * and # keys) instead of calculator layout (1,2,3 at bottom and decimal point). All use calculator-style buttons. The switches are exposed as a 3×4 [[Keyboard matrix|matrix]] using the direction, trigger and pot lines. This worked on Atari machines because some pins could be configured as output in software.<ref name="atari400hwm1">[http://www.atarimania.com/documents/atari-400-800-hardware-manual.pdf Atari 400/800 Hardware Manual], Dated 1982. Retrieved from [www.atarimania.com AtariMania] on 2018-04-24</ref> * The CX21 ''Keyboard Controller'' has the digits, and * and # symbols printed on a label. They were sold in pairs and can be slotted together. * The ''Basic Programming'' controllers were a pair sold with a very primitive BASIC programming cartridge. The hardware is the same as the Keyboard Controllers but with different printed labels. The program uses four layers that are toggled between by pressing a button on the left controller. * The ''Video Touch Pad'' uses a paper overlay over unlabelled rectangular buttons. Different paper overlays were supposed to be distributed with different games, but only one game is known. * The ''Kid's Controller'' (for games from the Children's Television Workshop) uses larger circular, numbered buttons and different larger overlays than the Video Touch Pad. The idea of having a numeric keypad with overlays was reused later for the Atari Jaguar gamepad. ===Atari CX85 Numerical Keypad=== The ''Atari CX85 Numerical Keypad'' has 17 proper keys in a calculator layout and a different protocol from Atari 2600 keypads. Instead of exposing a matrix, it produces a [[scancode]] on the direction and pot lines. <ref>http://www.atarimania.com/documents/Atari_CX85_Numerical_Keypad_Technical_Reference_Notes.pdf Atari CX85 Numerical Keypad Technical References Notes]. Retrieved from [www.atarimania.com AtariMania]</ref> ===Cardco Cardkey=== The Cardkey is a 16-key keyboard that produces a scancode + "button" press. The C64 driver also supports the CX85. The scancodes for the numeric keys are the values printed on those keys. Each key is set up only with diodes to the input lines which means that there is only 1-key [[rollover]] and two keys at once would produce the wrong scancode.<ref>Post by '''buzbard''' in the lemon64.com forum—[http://www.lemon64.com/forum/viewtopic.php?p=530434#530434 Numerical keypad from Commmodore calculator?] on 2012-09-12. Retrived 2018-06-11</ref> ===Rushware keypad=== Produces the same scancodes as Cardco Cardkey but activates differently.<ref>C64 Wiki—[https://www.c64-wiki.com/wiki/Rushware_keypad Rushware keypad]. Last edited 2016-12-05. Retrieved 2018-06-12</ref> ===Coplin keypad=== Nicholas Coplin has designed and published free schematics for a numeric keypad as well as a driver for the Commodore 64. Keys produce the same codes as corresponding joystick directions, allowing the keypad to be used as cursor keys in programs that were made for joysticks. This includes also diagonals, so e.g. key 8 + key 4 = key 7. Keys 0 and 5 produce opposing directions at once and Enter is wired to Fire. <ref>64HDD—[http://www.64hdd.com/projects/c64-proj3.html#keypad Numeric Keypad] by Nicholas Coplin.</ref> ===ColecoVision controllers=== The ColecoVision games console and Coleco Adam computer supported Atari joysticks (without autofire) but came with extended controllers that had not only a joystick but two buttons and a 3×4 numeric keypad all in one. Instead of one ground line they had two strobe lines: the pin 8 for the Joystick in Atari-compatible fashion, and pin 5 activating the second button and keypad providing a [[scancode]] instead of a direction. The ''Super Action Controller'' has also two additional buttons wired as part of the keypad and a horizontal [[spinner]] producing a quadrature code.<ref name="">Programming Ponderings—[http://mheironimus.blogspot.se/2015/12/ultimate-classic-game-console-joystick.html Ultimate Classic Game Console Joystick to USB Adapter]. Dated 2015-12-28. Retrieved 2018-04-24</ref> ==Mice and trackballs== Typical ball-mice and trackballs have [[opto-mechanical sensor]]s for the X and Y axes, each producing two pulse trains that are 90 degrees out of phase with one-another. (The same as a 2-bit Gray code, also called "quadrature encoding") ===8-bit machines=== It was problematic for an 8-bit machine with no dedicated hardware to read quadrature code fast enough and still have time for other processing. Atari's ''Trak-Ball'' controllers for the Atari 2600 converted the quadrature code into either joystick input or into direction and motion pulses.<ref>AtariMania — [http://www.atarimania.com/documents/Atari-CX22-Trakball-Field-Service-Manual.pdf Atari CX22 Trakball Field Service Manual]. Rev 01. Nov 1983. Retrieved 2018-06-05.</ref> The latter signalling meant that a missed reading would only cause failing to move one (or more) steps instead of moving in the wrong direction. Mice and trackballs for Atari's 8-bit home computers used the same type of signalling. [[File:Amiga Mouse.jpg|thumb|175px|right|First iteration of Commodore Amiga mouse, styled the same as the mice for the Commodore 64]] Commodore's own mice either emulated a joystick or used potentiometers (like [[#Paddles|paddles]]) that wrapped around. Mice for J-PC machines have instead internal logic for reading the encoders, with the obvious drawback that they were more expensive. The mouse presents X and Y byte-counters as nybbles on pins 1-4 in alternating order, but the other pins follow the J-PC pinout which does not work with the Atari-standard without an adaptor. The ''NEOS Mouse'' for the Commodore 64 was in essence a J-PC mouse, with the pinout changed to work with the Commodore 64. <ref>C64 Wiki—[https://www.c64-wiki.com/wiki/NEOS_Mouse NEOS Mouse]. Dated 2017-05-09. Retrieved 2018-06-07</ref> <!-- TODO: Smartmouse. 1351-compatible according to manual, but no programming guide --> <!-- TODO: Micromys --> ===Atari ST and Amiga=== Mice for both the [[Commodore Amiga|Amiga]] and [[Atari ST]] are [[Bus mouse|Bus mice]] which produce quadrature signals and buttons to different pins. Some third-party mice have support for both systems, selected via a switch that only changes which pins the quadrature signals go to. The left mouse button is wired the same as a joystick's Fire button and the other button(s)s also short to ground. On the Amiga, signals are interpreted by circuitry in its custom chipset and there is hardware support for a mouse in each port. A second Amiga mouse can be used only in some two-player games, however. On the Atari, one mouse can be plugged into a dedicated mouse/joystick port on the keyboard, which is interpreted by the keyboard's microcontroller. A curious detail is that the Atari ST's right mouse-button is wired to and read as the other port's Fire button. Amigas typically have two-button mice. Commodore made a three-button mouse only for the Amiga 3000UX that ran Amiga [[UNIX]] but many third-party Amiga mice also came with middle-button. In the late 1990s, there appeared third-party Amiga mice with [[scroll wheel]]s, using varying current on the POTX line (pin 5) for input which required a special driver. The third button is represented in a new way.<ref name="micromysv3">Micromys.de—[http://micromys.de/Amiga_devel.htm Micromys support page - Amiga mouse mode with wheel support]. Dated 2000. Retrieved 2019-03-24</ref> The Amiga's operating system provides (when booted into Workbench) also [[mouse keys]] as combinations together with the [[Amiga key]]s. ===PC bus mouse=== When Atari and Commodore started offering [[IBM Personal Computer|IBM]]-compatible PCs with built-in mouse support, they reused their mice and ports from the Atari ST and Amiga respectively as [[Bus mouse|bus mice]]. Atari's "STM1" mouse got relabelled as "PCM1" for use with Atari PCs.<ref name="ataripcnetpc3">AtariPC.net—[http://www.ataripc.net/pc3-8088/ PC3 8088]. Retrieved 2019-03-24</ref>. The Atari PC's mouse ports support a third (middle) mouse button <ref name="ataripcom">Atari PC Owner's manual [http://www.ataripc.net/files/documents/archives/ownersmanual/Atari%20PC%20Owners%20Manual%20-%20English.pdf Scan on ataripc.net]. Page 65. Dated 1987. Retrieved 2019-03-24</ref>, whereas the Atari ST does not. Amiga-compatible mouse ports were standard (on the motherboard) on the Commodore PC10-III and PC20-III.<ref>Ancient Electronics blog—[https://ancientelectronics.wordpress.com/2015/06/17/commodore-colt-commodore-pc10-iii-pc20-iii/ Commodore Colt (Commodore PC10-III, PC20-III)</ref> Amstrad PC-1512<ref name="amstradpc1512">[http://www.seasip.info/AmstradXT/1512tech/section1.html Amstrad PC1512 Technical Reference Manual]. Copy on John Elliott's homepage, retrieved 2019-03-29</ref>, PC-1640<ref name="amstradpc1640">[http://www.seasip.info/AmstradXT/1640tech/section1.html AMSTRAD PC1640 TECHNICAL MANUAL]. Copy on John Elliott's homepage, retrieved 2019-03-29</ref> and Sinclair PC-200<ref name="sinclairpc200">The Vintage Computer Club Malta—[https://web.computersmuseum.com/collection/sinclair/sinclair-pc-200/ SINCLAIR PC 200]. Retrieved 2019-03-26</ref> (made by Amstrad) got a dedicated 9-pin port for a [[bus mouse]]. They use almost the Atari ST pinout except that the horizontal axis is flipped. A curious detail is that the two mouse buttons' lines were fed to the keyboard and reported by it as key codes. {{-}} ==Steering wheels== The ''Driving Controller'' accessory for the Atari 2600 looks similar to [[#Paddles|Atari paddles]] but the knob can be turned around without any stops. It uses a 16-stop rotary encoder but produces pulse trains on pins 1 and 2. <ref name="a7800driving">Atari7800.org: Scanned manual page [http://www.atari7800.org/schematics/drivingschematic.jpg Driving Controller Check]. Retrieved 2018-06-05</ref> Steering wheel controllers for the Amiga were supposed to also use the same pulse-train signalling as mice. ==Light pens and light guns== Atari 2600, 7800 and 8-bit computers and Commodore's C64 and Amiga support [[light pen]]s and [[light gun]]s through a line in one port connected to the video chip. A light pen has a pressure-switch at the tip to tell the host when to read the screen position where as a light gun used a finger-operated trigger for the same purpose. The light sensor shared the same pin as a joystick's button, so the pressure had to use a different pin and that differed a bit between devices. Light pens and light guns for the Atari 8-bit computers grounded pin 1 (up) <ref>Atari HQ: [http://www.atarihq.com/atcomp/xegs.html ATARI XEGS INFORMATION].</ref> For the Commodore 64, most light pens also used pin 1 <ref name="c64wikilightpen">C64 Wiki — [https://www.c64-wiki.com/wiki/Light_pen Light pen]. Dated 2017-05-26. Retrieved 2018-05-24</ref> but the most popular light guns shorted pin 5 (POTY) to +5V.<ref>Projects of Jan Derogee—[http://home.kpn.nl/bderogee1980/projects/lightgun/Magnum_light_phaser.html C64 Lightguns/Magnum light phaser ( and compatible models )]. Retrieved 2018-06-11</ref> Stack's ''light rifle'' grounded pin 3 (left)<ref>Projects of Jan Derogee—[http://home.kpn.nl/bderogee1980/projects/lightgun/StackLightRifle.html C64 Lightguns/Stack light rifle]. Retrieved 2018-06-11</ref>. Devices for the Amiga were supposed to use pin 5<ref name="elowaradcd"/>. <!-- TODO: Check if Datel light pen and Inkwell Light Pen comply to these...--> Sega ''lightphasers'' had a different pinout but could be used with an adaptor or mod.<ref>64HDD—[http://www.64hdd.com/projects/c64-proj3.html#lightgun Commodore™ C64 Hardware Projects: Light gun]. Nicholas Coplin.</ref> The ''Gun stick'' light gun for the C64 instead worked like the light gun on the Nintendo Entertainment System: when the trigger was pressed, the screen would turn black except for a white field for ''one'' valid target at a time.<ref>Projects of Jan Derogee—[http://home.kpn.nl/bderogee1980/projects/lightgun/Gun_stick.html C64 Lightguns/Gun stick]. Retrived 2018-06-11</ref> ==Tablets== ===KoalaPad=== The KoalaPad is a 4¼"×4¼" resistive [[graphics tablet]] with a stylus, but can also be activated with a finger. It produces input like a paddle, with the X and Y axes mapped to X and Y potentiometers and left and right buttons mapped to left and right paddle buttons. When the stylus is not pressing against the surface then the potentiometer reading is at maximum. The valid pot interval is than 0..255, which is even that smaller than the screen resolution. There were different versions for Atari 8-bit and Commodore 8-bit, each package containing a cartridge containing the painting program Koala Painter. It was also available for many other computer platforms with other interfaces. ===Chalk Board PowerPad=== The ''Chalk Board PowerPad'' was a pressure-sensitive [[graphics tablet]] for the Commodore 64, intended to be used with fingers, with different overlays for different applications. Overlays often had a hexagonal grid of buttons, but it could also be used freehand. It communicated via serial communication using pins 1 through 4 (Data, Clear, Clock, Sense). The manual for its ''Programming Kit''<ref>Archive.org—[https://archive.org/details/power-pad-programming-kit-chalk-board-inc/ Chalk Board Inc's Power Pad Programming Kit manual] (1983) by Chalk Board Inc. Added 2021-01-04. Retrieved 2021-04-25</ref> explains its workings and contains source code examples of how to ''bit-bang'' the port in BASIC. ==Partially compatible== Input devices with DE-9 plugs that may work with ''some'' Atari-compliant hosts but are unsafe to use with others, or vice versa. ===Amstrad=== The [[Amstrad]] CPC computers has one or two "User ports" for two-button Amstrad joysticks. Amstrad PC-1512<ref name="amstradpc1512"/> and PC-1640<ref name="amstradpc1640"/> had a single Amstrad "Joystick" port on the keyboard. The joystick port/s are actually part of the computer's [[keyboard matrix]] and are strobed by the keyboard controller. Many games used Button 2 as primary fire, so they supported Atari-standard one-button joysticks. If Button 1 was needed, its function was often also on a keyboard key. The opposite however: using an Amstrad joystick in a Atari-compliant port (such as the Amstrad/Sinclair PC [[#PC bus mouse|mouse port]]) could damage the system because pressing Button 1 would short the +5V line to Ground. The CPC supported up to two joysticks on the same port, using pass-through or an adaptor using diodes to avoid [[ghosting]]. The first joystick had its ground line strobed on pin 8, and the second on pin 9 — each being a separate column in the keyboard matrix. CPC+/GX4000 had two ports through wiring ''almost'' like such an adaptor except that diodes were missing for the fire buttons, thus introducing conflicts between joysticks. The two-port machines also lacked the "spare" line and were incompatible with some older peripherals, especially those that had been using pins as outputs. <ref name="cpcwiki">CPCWiki — [http://www.cpcwiki.eu/index.php/Connector:Digital_joystick Connector:Digital joystick]. Dated 2013-02-08. Retrieved 2018-05-24</ref> Amstrad PC's did not support a second joystick, and Sinclair PC-200 had an IBM-compatible [[Game port]] instead<ref name="sinclairpc200"/>. ===J-PC=== The ''J-PC'' standard was used by primarily Japanese systems such as ''MSX'' (multiple manufacturers), [[FM Towns]] and the [[Sharp X68000]] and on expansion cards for Japanese PC systems. The "Out" strobe on pin 8 is used by the host to access special features on certain controllers, such as MSX-compatible mice. Most games will keep pin 8 grounded, which will allow Atari-compatible joysticks to be used. The gamepad for the ''FM Towns Marty'' had also Run and Select buttons, implemented as Left and Right, and Up and Down respectively.<ref>GameSX—[https://gamesx.com/controldata/fmtownsjoy.htm FM Towns/Marty joystick pinout. Retrieved 2018-06-14</ref> Mice and trackballs for J-PC machines had logic in them instead of requiring logic in the host, and therefore a different interface. An Amiga or Atari-compatible mouse must never be connected to a J-PC system, as pressing the right mouse button would short +5V to Ground. See also: * [[SpectraVideo SV328]] — a MSX computer with two J-PC ports. ===Sega=== ====Sega 8-bit==== Sega's various 8-bit consoles have mostly the same hardware, albeit upgraded in later models and with small differences between models for Japan and for other markets. The first SG-1000 came with two [[joystick]]s. The SG-1000 Mark-II and SG-1000 Mark-III had gamepads, each with a detachable joystick nub on the [[d-pad]]. The Sega Master System came with gamepads without joystick nubs. The standard controllers are passive devices containing switches and no electronics, so they should be safe to use with Atari-compliant host sockets.{{citation needed}} <!-- I have only seen images of one side of the circuit board. Not sure if something hid on the other side./Findecanor --> The second button are supported by many Amiga games, and by the Kempston interface for the [[#ZX Spectrum|ZX Spectrum]] but not by Atari systems. Active controllers draw power from pin 5 instead of pin 7. Pin 7 was used by light-guns. Paddles for the SG-1000 Mark III/Master System contain an A/D converter and presents the reading in 8 bits divided into nybbles on lines 1-4, with pin 9 to indicate high/low nybble. On the Master System outside Japan, the pinout was slightly different so the host first selected high/low nybble on pin 7.<ref>Raphaël Assénat—[http://www.raphnet.net/electronique/sms_paddle/index_en.php DIY SMS/MarkIII paddle controller]. Dated 2016-10-15. Retrieved 2018-06-11</ref> ====Sega 16-bit==== The Sega 16-bit Sega Mega Drive/Genesis is mostly backwards-compatible with the 8-bit machines, and its controller port is the same, except that the controllers use special protocols over existing pins for more buttons. Sega 16-bit gamepads draw power on pin 5, using pin 7 instead to select between groups of inputs on the other pins.<ref name="megadrive">Pinouts.ru—[http://pinouts.ru/Game/genesiscontroller_pinout.shtml Sega Genesis Joystick controller pinout]. Retrieved 2014-10-04</ref> This works with many Atari-compatible hosts that keep pin 5 high at all times, using it as input for paddles or as a button input with a pull-up resistor. However, unlike the Atari standard which has pull-up resistors on each input line on the host side, Sega 16-bit systems have them in the controller. This means that lines are high when not active, and this could damage some hardware. For instance, the [[Commodore 64]] and 128 computers reuse the same physical lines for ports and the [[keyboard matrix]], which could lead to excess current into the I/O chip (CIA #1) if a key is pressed while a Sega gamepad is plugged in. The host could however be protected with a simple adaptor with diodes on the input pins. <ref name="cw5">Doug Cotton, Mark Fellows: Hard Tips, Building a Sega 'Game Pad' Adapter. [https://www.scribd.com/document/8945979/Commodore-World-Issue-05 Commodore World, Volume 1, Issue 05 (at Scribd)]. Retrieved 2018-05-24.</ref> Sega 16-bit gamepads should be safe for use on most Amiga computers, where buttons B and C work as Fire/Left mouse and Secondary fire/Right mouse. However, if a game tries to talk to a Sega 16-bit gamepad as a [[#Amiga CD32 gamepad|Amiga CD32 gamepad]], power would be intermittent and in this case, an adaptor would be needed. A small number of Amiga games (Hired Guns, Flashback, ADoom...) are able to talk Sega's 3-button or even 6-button protocol but those require a modified gamepad or special adaptor that ''crosses'' pins 5 and 7. Some guides recommend also using diodes and putting a 470ohm resistor in-between pins 5 and 7 for extra protection.{{citation needed}} The three-button controller for the Sega Mega Drive/Genesis uses a 74157 selector to change between two sets of inputs. Setting the "Select" pin high selects Left/Right/B/C, while setting it low selects GND/GND/A/Start. Because Left and Right are opposing directions and ''should'' not be active at once, the host should be able to detect the controller as having three buttons.<ref group="footnote">There are third-party Sega controller where the [[D-pad]] lacks a central pivot, thus allowing opposite directional inputs to be active at once...</ref> The normal state for a Sega host is to have the select pin high, and to pulse it low for a short time during each video frame period when it polls the inputs. <ref name="megadrive6">Charlie Rosenberg's home page— [http://www.cs.cmu.edu/~chuck/infopg/segasix.txt Sega Six Button Controller Hardware Info]. Dated 1996-09-09. Retrieved 2017-11-17</ref> Sega's six-button controller for the Mega Drive/Genesis has a microcontroller instead of a selector chip. A game supporting a six-button controller pulses the Select line low at least four times per video frame in quick intervals. During the third pulse, lines 1 through 4 all read low and during the fourth pulse, lines 1 through 4 all read high, but in-between those two pulses they read the values of Z, Y, X and the mode switch respectively. Within that special period, pins 6 and 9 always read high. For six-button reporting to kick in, the pulses must be short enough with a long enough interval until the next time. There is also a mode-switch for disabling six-button behaviour in the controller for older games that use different timing for the select-line. <ref name="md6bpade">Ein Terakawa. [http://applause.elfmimi.jp/md6bpad-e.html Interface Protocol of SEGA MegaDrive's 6-Button-Controller]. Retrieved 2017-11-17. </ref> <ref name="megadrive6"/> Other Sega 16-bit peripherals that used the DE-9 ports included a keyboard, keypad, mice, light guns and multiplayer adaptors. A keyboard was made to be used with Internet multiplayer services from XBAND (US) and Teclado Mega Net (Brazil). It was connected to port #2.<ref name="segaretroxbandkb">Sega Retro—[https://segaretro.org/XB%E2%88%80ND_Keyboard XB∀ND Keyboard]. Version from 2017-07-22 04:32. Retrieved 2018-11-16</ref>. The ports did not have any serial hardware, so the protocol was probably [https://en.wikipedia.org/wiki/Bit_banging "bit-banged"] by the CPU. ==Related== Other ports than DE-9 with compatible signals: === Commodore 116 joystick === The unusual ''Commodore 116'' line, including the [[Commodore Plus/4|Plus/4]] and [[Commodore 16]] had two mini-DIN ports instead of the standard DE-9 ports. Those were electrically compatible to the Atari standard and joysticks could be used with a simple adaptor. It has though been reported that the interface chip inside those computers could be damaged by joysticks with auto-fire capability. <ref name="kookytechc16">Youtube: Dan Wood - kookytech.net [https://www.youtube.com/watch?v=pxSIgcjgMNs Commodore 16 and Games Review]. Watched 2016-08-07</ref> === Atari Extended Joystick Ports === [[File:Atari ste-extended joystick ports.jpg|300px|thumb|right]] The Atari ''ST<sup>e</sup>'' and ''Falcon'' computers have also two DE-15 ''Extended Joystick Ports''. Each of these ports could with a Y-cable connect two DE-9 joysticks.<ref name="infocoach_ejb">[http://info-coach.fr/atari/hardware/interfaces.php Atari ST Interfaces and Connectors]</ref> === Atari Jaguar === The ''Atari Jaguar'''s game controllers also have DE-15 connectors but with its own pin-out exposing a [[Matrix|button matrix]]. These could be used with 15-pin ports on the ST<sup>e</sup> and Falcon albeit with a different pinout than intended for these ports. The Jaguar controller's directions and one button are on the same matrix column which allows adaptors to DE-9 ports to be constructed with simple wiring. <ref name="gamesx_ejb">gamesx.com: [http://www.gamesx.com/controldata/ejp_faq.htm The Atari Enhanced Joystick Ports FAQ]. Version 0.90, 1996-09-24. Retrieved 2016-05-07</ref> == Incompatible == ===Different pinout=== DE-9 connectors with different pinout, but are signal-compatible with a passive [[adaptor]] (may or may not require diodes). ====Spectrum +2==== Sinclair Spectrum +2 and later ([[Amstrad]] era) have two joystick ports. They are accessed by programs in the same manner as the [[#ZX_Spectrum|ZX Interface 2]] but the pinout is no longer Atari-compatible but specific to this line of computers. Some joysticks (especially sold in the UK) have a split cable with two plugs: one ''black'' that is Atari-compatible, and one ''gray'' for Sinclair. ====TI-99==== The [[Texas Instruments TI-99/4A]] has a different pinout on its DE-9 port. It supports supports two digital joysticks by strobing different ground lines (like [[#Amstrad CPC|Amstrad CPC]]). An adaptor should have diodes to avoid interference.<ref name="compute39"> Compute! Issue 39 - August 1983. Gary Cook: [https://www.atarimagazines.com/compute/issue39/HOW_TO_BUILD_YOUR_OWN_TI-99_4A_JOYSTICK_ADAPTER.php How To Build Your Own TI-99/4A Joystick Adapter]. Retrieved from [https://www.atarimagazines.com www.AtariMagazines.com] on 2018-04-24</ref> ====Vectrex==== A Vectrex controller has an [[Joystick#Analogue|analogue joystick]] and four buttons. Each of the analogue stick's potentiometers has its ends connected to -5V and +5V and uses different resistor values than Atari, plus a slightly different pinout. <ref>Computer Nerd Kev—[http://www.computernerdkev.heliohost.org/vecadapt/Vectrex_service_manual.pdf Vectrex Service Manual] (archived). Retrieved 2018-06-12</ref> Nonetheless, adaptors both to the Atari standard<ref>Computer Nerd Kev— [http://www.computernerdkev.heliohost.org/vec2600/vec2600.htm Vectrex Controller to Atari 2600 Adapter]. Kevin Koster 2015. Retrieved 2018-06-12</ref> and from digital Atari and Sega controllers have been made. <!-- ====Fairchild Channel F System II==== The controller had a joystick that could not only be pushed in a plane but also pushed (like a button), pulled and twisted left and right. ====Magnavox Odyssey²==== Later models had detachable DE-9 controllers. --> ===Different signalling=== Incompatible, that would require an active [[converter]] to connect: * [[Serial interface|Serial mice]] for the IBM PC, with RS-232 signalling. * Some ''Intellivision'' consoles have a DE-9 plugs for each of its controllers. The joystick has 16 directions, there are three buttons and a keypad — each producing a [[scancode]] shorted to ground (pin 5). Buttons and directions don't interfere though. An adaptor from an Atari joystick would require some logic and perhaps external power.<ref>Jay's Video Game Page ([http://arcarc.xmission.com/ ARCade ARChive])—[http://arcarc.xmission.com/Web%20Archives/Deathskull%20%28May-2006%29/games/tech/intvcont.html Intellivision Controller Pinouts]. Dated 1998-06-28. Retrieved 2018-06-11</ref>. The ''Intellivision Flashback'' console also has DE-9 connectors but the pinout is different.{{citation needed}} * Gamepads for the ''3DO'' console. They used serial communication for up to eight controllers daisy-chained from the same host port. Each also had a headphone jack with stereo sound.<ref>Archive.org—[http://web.archive.org/web/20031210153930/http://lillith.sk.tsukuba.ac.jp/~kashima/games/3do_tr.pdf 3DO Transmitter for SST2X] Circuit schema by H.Kashima. Snapshot from 2003-12-10.</ref><ref>Youtube—[https://youtu.be/zYEePs_Gv0M Classic Game Room - PANASONIC 3DO Controller Review]. Published 2011-06-27. Watched 2018-06-07</ref> * Several clones of the Nintendo Famicom — "Famiclones" used DE-9 ports with Nintendo's serial protocol. ===Different gender=== Other uses of 9-pin d-subminiature but different signals and different gender from the Atari standard: * Analogue joysticks and paddles for the [[Apple IIGS]]. * [[Silicon Graphics|SGI]] mouse 021-0004-002 used a serial protocol.<ref>Image in ad on sekeimon.com—[http://www.sekaimon.com/gb/23160/Mice%2C+Trackballs+%26+Touchpads/173343458279/ 021-0004-002 - SGI MOUSE 9-PIN D-SUB]. Retrieved 2018-06-12</ref><ref>Hardware Book—[http://www.hardwarebook.info/SGI_Mouse_(Model_021-0004-002)_Connector SGI Mouse (Model 021-0004-002) Connector]</ref> ==Adaptors to USB== Active adaptors (''protocol converters'') have also been part of keyboard-adaptors for e.g. the [[Commodore Amiga#Keyboard adapters#|Commodore Amiga]] and [[Commodore 64#Conversion to USB|Commodore 64]]. For mouse adaptors to/from Commodore Amiga, Atari ST and PCs, see also [[Bus mouse#Adaptors|Bus Mouse]]. ===Open source/hardware=== * [http://www.grandideastudio.com/stelladaptor-2600/ Stelladaptor]. Designed especially for the Atari 2600 emulator [https://stella-emu.github.io/ Stella]. Once manufactured by [http://www.atariage.com/ AtariAge], then discontinued and opened up. Handles joystick as analogue USB joystick. Input from paddles and driving controller are in a special format that Stella treats differently if from a "Stelladaptor". Based on the PIC16C745. * Simon Inns' [https://www.waitingforfriday.com/?p=508 Atari joystick USB adapter]. Schematics and source code for two-port joystick-only adaptor are under the Creative Commons license. Uses the PIC18F2550 µcontroller. * MatthewH's [https://www.instructables.com/id/Classic-Joystick-to-USB-Adaptor/ Classic Joystick to USB Keyboard Adaptor]. Arduino "sketch" for the Arduino Leonardo. ([[:Category:ATmega32u4|ATmega32u4]]) * Kair.us [http://kair.us/projects/jakadapter/index.html Jakadapter]. Supports two joysticks, paddles and Sega gamepads. Based on the PIC18F24K50. ===For sale and Open Source=== * Retronic Design [https://www.retronicdesign.com/en/specifications/ Universal DB9 to USB joystick adapter module]. Using the ATMEL ATMEGA 328p. Different firmware for different classes of peripherals. * Raphnet [https://www.raphnet.net/electronique/atari_usb/index_en.php Atari/SMS/Genesis joystick/controller/multi-tap to USB adapter] Primarily for Sega Mega Drive/Genesis, but supports also Atari-compatible joysticks. ===Commercial=== * [http://2600-daptor.com/ 2600-daptor]. Four generations with different capabilities. Latest supports a large number of devices, with DIP switches or auto-detect if holding down first button when connecting. * Retro-Bit Atari 2600 to USB adapter. Connects two joysticks. * RetroUSB [https://www.retrousb.com/product_info.php?cPath=21&products_id=70 USB Atari RetroPort]. Joysticks only. ==Footnotes== <references group="footnote"/> ==External links== * [http://wiki.icomp.de/wiki/DB9-Joystick DB9-Joystick] on Individual Computers' Product information Wiki. * [https://en.wikipedia.org/wiki/Atari_joystick_port Atari joystick port] on Wikipedia. * [https://nerdlypleasures.blogspot.com/2013/01/the-industry-standard-atari-style.html The Industry Standard Atari-Style Joystick] on the ''Nerdly Pleasures'' blog. * [https://www.c64-wiki.com/wiki/Control_Port Control Port] on the C64 Wiki. * [https://segaretro.org/ SegaRetro.org] — A wiki on the Sega consoles and their peripherals, several of which used semi-compatible interfaces. ==References== <references /> [[Category:Pointing device protocols and interfaces]] [[Category:Keyboard protocols and interfaces]] [[Category:Game controller protocols and interfaces]]
Summary:
Please note that all contributions to Deskthority Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Project:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Templates used on this page:
Template:-
(
edit
)
Template:Citation needed
(
edit
)
Template:Dbanner
(
edit
)
Template:TODO photo
(
edit
)
Navigation menu
Page actions
Page
Discussion
Read
Edit
Edit source
History
Page actions
Page
Discussion
More
Tools
Personal tools
Not logged in
Talk
Contributions
Create account
Log in
Navigation
Main page
Deskthority forum
Support Deskthority
Search
Main categories
Guides
Keyboards
Keyboard switches
Keycaps
Keyboard modding
Pointing devices
Brands & companies
Group buys
Other topics
Wiki info & links
Recent changes
Random page
All pages
Deskthority wiki help
MediaWiki help
Tools
What links here
Related changes
Special pages
Page information