Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | Linux Joystick parport drivers v2.0 |
2 | (c) 1998-2000 Vojtech Pavlik <vojtech@ucw.cz> | |
3 | (c) 1998 Andree Borrmann <a.borrmann@tu-bs.de> | |
4 | Sponsored by SuSE | |
1da177e4 LT |
5 | ---------------------------------------------------------------------------- |
6 | ||
7 | 0. Disclaimer | |
8 | ~~~~~~~~~~~~~ | |
9 | Any information in this file is provided as-is, without any guarantee that | |
10 | it will be true. So, use it at your own risk. The possible damages that can | |
11 | happen include burning your parallel port, and/or the sticks and joystick | |
12 | and maybe even more. Like when a lightning kills you it is not our problem. | |
13 | ||
14 | 1. Intro | |
15 | ~~~~~~~~ | |
16 | The joystick parport drivers are used for joysticks and gamepads not | |
17 | originally designed for PCs and other computers Linux runs on. Because of | |
18 | that, PCs usually lack the right ports to connect these devices to. Parallel | |
19 | port, because of its ability to change single bits at will, and providing | |
20 | both output and input bits is the most suitable port on the PC for | |
21 | connecting such devices. | |
22 | ||
23 | 2. Devices supported | |
24 | ~~~~~~~~~~~~~~~~~~~~ | |
25 | Many console and 8-bit computer gamepads and joysticks are supported. The | |
26 | following subsections discuss usage of each. | |
27 | ||
28 | 2.1 NES and SNES | |
29 | ~~~~~~~~~~~~~~~~ | |
30 | The Nintendo Entertainment System and Super Nintendo Entertainment System | |
31 | gamepads are widely available, and easy to get. Also, they are quite easy to | |
32 | connect to a PC, and don't need much processing speed (108 us for NES and | |
33 | 165 us for SNES, compared to about 1000 us for PC gamepads) to communicate | |
34 | with them. | |
35 | ||
36 | All NES and SNES use the same synchronous serial protocol, clocked from | |
37 | the computer's side (and thus timing insensitive). To allow up to 5 NES | |
b157d55e RA |
38 | and/or SNES gamepads and/or SNES mice connected to the parallel port at once, |
39 | the output lines of the parallel port are shared, while one of 5 available | |
40 | input lines is assigned to each gamepad. | |
1da177e4 LT |
41 | |
42 | This protocol is handled by the gamecon.c driver, so that's the one | |
b157d55e | 43 | you'll use for NES, SNES gamepads and SNES mice. |
1da177e4 LT |
44 | |
45 | The main problem with PC parallel ports is that they don't have +5V power | |
46 | source on any of their pins. So, if you want a reliable source of power | |
47 | for your pads, use either keyboard or joystick port, and make a pass-through | |
48 | cable. You can also pull the power directly from the power supply (the red | |
49 | wire is +5V). | |
50 | ||
51 | If you want to use the parallel port only, you can take the power is from | |
52 | some data pin. For most gamepad and parport implementations only one pin is | |
53 | needed, and I'd recommend pin 9 for that, the highest data bit. On the other | |
54 | hand, if you are not planning to use anything else than NES / SNES on the | |
55 | port, anything between and including pin 4 and pin 9 will work. | |
56 | ||
57 | (pin 9) -----> Power | |
58 | ||
59 | Unfortunately, there are pads that need a lot more of power, and parallel | |
60 | ports that can't give much current through the data pins. If this is your | |
61 | case, you'll need to use diodes (as a prevention of destroying your parallel | |
62 | port), and combine the currents of two or more data bits together. | |
63 | ||
64 | Diodes | |
65 | (pin 9) ----|>|-------+------> Power | |
66 | | | |
67 | (pin 8) ----|>|-------+ | |
68 | | | |
69 | (pin 7) ----|>|-------+ | |
70 | | | |
71 | <and so on> : | |
72 | | | |
73 | (pin 4) ----|>|-------+ | |
74 | ||
75 | Ground is quite easy. On PC's parallel port the ground is on any of the | |
76 | pins from pin 18 to pin 25. So use any pin of these you like for the ground. | |
77 | ||
78 | (pin 18) -----> Ground | |
79 | ||
80 | NES and SNES pads have two input bits, Clock and Latch, which drive the | |
81 | serial transfer. These are connected to pins 2 and 3 of the parallel port, | |
82 | respectively. | |
83 | ||
84 | (pin 2) -----> Clock | |
85 | (pin 3) -----> Latch | |
86 | ||
87 | And the last thing is the NES / SNES data wire. Only that isn't shared and | |
88 | each pad needs its own data pin. The parallel port pins are: | |
89 | ||
90 | (pin 10) -----> Pad 1 data | |
91 | (pin 11) -----> Pad 2 data | |
92 | (pin 12) -----> Pad 3 data | |
93 | (pin 13) -----> Pad 4 data | |
94 | (pin 15) -----> Pad 5 data | |
95 | ||
96 | Note that pin 14 is not used, since it is not an input pin on the parallel | |
97 | port. | |
98 | ||
99 | This is everything you need on the PC's side of the connection, now on to | |
100 | the gamepads side. The NES and SNES have different connectors. Also, there | |
101 | are quite a lot of NES clones, and because Nintendo used proprietary | |
102 | connectors for their machines, the cloners couldn't and used standard D-Cannon | |
103 | connectors. Anyway, if you've got a gamepad, and it has buttons A, B, Turbo | |
104 | A, Turbo B, Select and Start, and is connected through 5 wires, then it is | |
105 | either a NES or NES clone and will work with this connection. SNES gamepads | |
106 | also use 5 wires, but have more buttons. They will work as well, of course. | |
107 | ||
b157d55e | 108 | Pinout for NES gamepads Pinout for SNES gamepads and mice |
1da177e4 LT |
109 | |
110 | +----> Power +-----------------------\ | |
111 | | 7 | o o o o | x x o | 1 | |
112 | 5 +---------+ 7 +-----------------------/ | |
113 | | x x o \ | | | | | | |
114 | | o o o o | | | | | +-> Ground | |
115 | 4 +------------+ 1 | | | +------------> Data | |
116 | | | | | | | +---------------> Latch | |
117 | | | | +-> Ground | +------------------> Clock | |
118 | | | +----> Clock +---------------------> Power | |
119 | | +-------> Latch | |
120 | +----------> Data | |
121 | ||
122 | Pinout for NES clone (db9) gamepads Pinout for NES clone (db15) gamepads | |
123 | ||
124 | +---------> Clock +-----------------> Data | |
125 | | +-------> Latch | +---> Ground | |
126 | | | +-----> Data | | | |
127 | | | | ___________________ | |
128 | _____________ 8 \ o x x x x x x o / 1 | |
129 | 5 \ x o o o x / 1 \ o x x o x x o / | |
130 | \ x o x o / 15 `~~~~~~~~~~~~~' 9 | |
131 | 9 `~~~~~~~' 6 | | | | |
132 | | | | | +----> Clock | |
133 | | +----> Power | +----------> Latch | |
134 | +--------> Ground +----------------> Power | |
135 | ||
136 | 2.2 Multisystem joysticks | |
137 | ~~~~~~~~~~~~~~~~~~~~~~~~~ | |
138 | In the era of 8-bit machines, there was something like de-facto standard | |
139 | for joystick ports. They were all digital, and all used D-Cannon 9 pin | |
140 | connectors (db9). Because of that, a single joystick could be used without | |
141 | hassle on Atari (130, 800XE, 800XL, 2600, 7200), Amiga, Commodore C64, | |
142 | Amstrad CPC, Sinclair ZX Spectrum and many other machines. That's why these | |
143 | joysticks are called "Multisystem". | |
144 | ||
145 | Now their pinout: | |
146 | ||
147 | +---------> Right | |
148 | | +-------> Left | |
149 | | | +-----> Down | |
150 | | | | +---> Up | |
151 | | | | | | |
152 | _____________ | |
153 | 5 \ x o o o o / 1 | |
154 | \ x o x o / | |
155 | 9 `~~~~~~~' 6 | |
156 | | | | |
157 | | +----> Button | |
158 | +--------> Ground | |
159 | ||
160 | However, as time passed, extensions to this standard developed, and these | |
161 | were not compatible with each other: | |
162 | ||
163 | ||
164 | Atari 130, 800/XL/XE MSX | |
165 | ||
166 | +-----------> Power | |
167 | +---------> Right | +---------> Right | |
168 | | +-------> Left | | +-------> Left | |
169 | | | +-----> Down | | | +-----> Down | |
170 | | | | +---> Up | | | | +---> Up | |
171 | | | | | | | | | | | |
172 | _____________ _____________ | |
173 | 5 \ x o o o o / 1 5 \ o o o o o / 1 | |
174 | \ x o o o / \ o o o o / | |
175 | 9 `~~~~~~~' 6 9 `~~~~~~~' 6 | |
176 | | | | | | | | | |
177 | | | +----> Button | | | +----> Button 1 | |
178 | | +------> Power | | +------> Button 2 | |
179 | +--------> Ground | +--------> Output 3 | |
180 | +----------> Ground | |
181 | ||
182 | Amstrad CPC Commodore C64 | |
183 | ||
184 | +-----------> Analog Y | |
185 | +---------> Right | +---------> Right | |
186 | | +-------> Left | | +-------> Left | |
187 | | | +-----> Down | | | +-----> Down | |
188 | | | | +---> Up | | | | +---> Up | |
189 | | | | | | | | | | | |
190 | _____________ _____________ | |
191 | 5 \ x o o o o / 1 5 \ o o o o o / 1 | |
192 | \ x o o o / \ o o o o / | |
193 | 9 `~~~~~~~' 6 9 `~~~~~~~' 6 | |
194 | | | | | | | | | |
195 | | | +----> Button 1 | | | +----> Button | |
196 | | +------> Button 2 | | +------> Power | |
197 | +--------> Ground | +--------> Ground | |
198 | +----------> Analog X | |
199 | ||
200 | Sinclair Spectrum +2A/+3 Amiga 1200 | |
201 | ||
202 | +-----------> Up +-----------> Button 3 | |
203 | | +---------> Fire | +---------> Right | |
204 | | | | | +-------> Left | |
205 | | | +-----> Ground | | | +-----> Down | |
206 | | | | | | | | +---> Up | |
207 | | | | | | | | | | |
208 | _____________ _____________ | |
209 | 5 \ o o x o x / 1 5 \ o o o o o / 1 | |
210 | \ o o o o / \ o o o o / | |
211 | 9 `~~~~~~~' 6 9 `~~~~~~~' 6 | |
212 | | | | | | | | | | |
213 | | | | +----> Right | | | +----> Button 1 | |
214 | | | +------> Left | | +------> Power | |
215 | | +--------> Ground | +--------> Ground | |
216 | +----------> Down +----------> Button 2 | |
217 | ||
218 | And there were many others. | |
219 | ||
220 | 2.2.1 Multisystem joysticks using db9.c | |
221 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
222 | For the Multisystem joysticks, and their derivatives, the db9.c driver | |
223 | was written. It allows only one joystick / gamepad per parallel port, but | |
224 | the interface is easy to build and works with almost anything. | |
225 | ||
226 | For the basic 1-button Multisystem joystick you connect its wires to the | |
227 | parallel port like this: | |
228 | ||
229 | (pin 1) -----> Power | |
230 | (pin 18) -----> Ground | |
231 | ||
232 | (pin 2) -----> Up | |
233 | (pin 3) -----> Down | |
234 | (pin 4) -----> Left | |
235 | (pin 5) -----> Right | |
236 | (pin 6) -----> Button 1 | |
237 | ||
238 | However, if the joystick is switch based (eg. clicks when you move it), | |
239 | you might or might not, depending on your parallel port, need 10 kOhm pullup | |
240 | resistors on each of the direction and button signals, like this: | |
241 | ||
242 | (pin 2) ------------+------> Up | |
243 | Resistor | | |
244 | (pin 1) --[10kOhm]--+ | |
245 | ||
246 | Try without, and if it doesn't work, add them. For TTL based joysticks / | |
247 | gamepads the pullups are not needed. | |
248 | ||
249 | For joysticks with two buttons you connect the second button to pin 7 on | |
250 | the parallel port. | |
251 | ||
252 | (pin 7) -----> Button 2 | |
253 | ||
254 | And that's it. | |
255 | ||
256 | On a side note, if you have already built a different adapter for use with | |
257 | the digital joystick driver 0.8.0.2, this is also supported by the db9.c | |
258 | driver, as device type 8. (See section 3.2) | |
259 | ||
260 | 2.2.2 Multisystem joysticks using gamecon.c | |
261 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
262 | For some people just one joystick per parallel port is not enough, and/or | |
263 | want to use them on one parallel port together with NES/SNES/PSX pads. This is | |
264 | possible using the gamecon.c. It supports up to 5 devices of the above types, | |
265 | including 1 and 2 buttons Multisystem joysticks. | |
266 | ||
267 | However, there is nothing for free. To allow more sticks to be used at | |
268 | once, you need the sticks to be purely switch based (that is non-TTL), and | |
269 | not to need power. Just a plain simple six switches inside. If your | |
270 | joystick can do more (eg. turbofire) you'll need to disable it totally first | |
271 | if you want to use gamecon.c. | |
272 | ||
273 | Also, the connection is a bit more complex. You'll need a bunch of diodes, | |
274 | and one pullup resistor. First, you connect the Directions and the button | |
25985edc | 275 | the same as for db9, however with the diodes between. |
1da177e4 LT |
276 | |
277 | Diodes | |
278 | (pin 2) -----|<|----> Up | |
279 | (pin 3) -----|<|----> Down | |
280 | (pin 4) -----|<|----> Left | |
281 | (pin 5) -----|<|----> Right | |
282 | (pin 6) -----|<|----> Button 1 | |
283 | ||
284 | For two button sticks you also connect the other button. | |
285 | ||
286 | (pin 7) -----|<|----> Button 2 | |
287 | ||
288 | And finally, you connect the Ground wire of the joystick, like done in | |
289 | this little schematic to Power and Data on the parallel port, as described | |
290 | for the NES / SNES pads in section 2.1 of this file - that is, one data pin | |
291 | for each joystick. The power source is shared. | |
292 | ||
293 | Data ------------+-----> Ground | |
294 | Resistor | | |
295 | Power --[10kOhm]--+ | |
296 | ||
297 | And that's all, here we go! | |
298 | ||
299 | 2.2.3 Multisystem joysticks using turbografx.c | |
300 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
301 | The TurboGraFX interface, designed by | |
302 | ||
303 | Steffen Schwenke <schwenke@burg-halle.de> | |
304 | ||
305 | allows up to 7 Multisystem joysticks connected to the parallel port. In | |
306 | Steffen's version, there is support for up to 5 buttons per joystick. However, | |
307 | since this doesn't work reliably on all parallel ports, the turbografx.c driver | |
308 | supports only one button per joystick. For more information on how to build the | |
309 | interface, see | |
310 | ||
311 | http://www2.burg-halle.de/~schwenke/parport.html | |
312 | ||
313 | 2.3 Sony Playstation | |
314 | ~~~~~~~~~~~~~~~~~~~~ | |
315 | ||
316 | The PSX controller is supported by the gamecon.c. Pinout of the PSX | |
317 | controller (compatible with DirectPadPro): | |
318 | ||
319 | +---------+---------+---------+ | |
320 | 9 | o o o | o o o | o o o | 1 parallel | |
321 | \________|_________|________/ port pins | |
322 | | | | | | | | |
323 | | | | | | +--------> Clock --- (4) | |
324 | | | | | +------------> Select --- (3) | |
325 | | | | +---------------> Power --- (5-9) | |
326 | | | +------------------> Ground --- (18-25) | |
327 | | +-------------------------> Command --- (2) | |
328 | +----------------------------> Data --- (one of 10,11,12,13,15) | |
329 | ||
330 | The driver supports these controllers: | |
331 | ||
332 | * Standard PSX Pad | |
333 | * NegCon PSX Pad | |
334 | * Analog PSX Pad (red mode) | |
335 | * Analog PSX Pad (green mode) | |
336 | * PSX Rumble Pad | |
337 | * PSX DDR Pad | |
338 | ||
339 | 2.4 Sega | |
340 | ~~~~~~~~ | |
341 | All the Sega controllers are more or less based on the standard 2-button | |
342 | Multisystem joystick. However, since they don't use switches and use TTL | |
343 | logic, the only driver usable with them is the db9.c driver. | |
344 | ||
345 | 2.4.1 Sega Master System | |
346 | ~~~~~~~~~~~~~~~~~~~~~~~~ | |
347 | The SMS gamepads are almost exactly the same as normal 2-button | |
348 | Multisystem joysticks. Set the driver to Multi2 mode, use the corresponding | |
349 | parallel port pins, and the following schematic: | |
350 | ||
351 | +-----------> Power | |
352 | | +---------> Right | |
353 | | | +-------> Left | |
354 | | | | +-----> Down | |
355 | | | | | +---> Up | |
356 | | | | | | | |
357 | _____________ | |
358 | 5 \ o o o o o / 1 | |
359 | \ o o x o / | |
360 | 9 `~~~~~~~' 6 | |
361 | | | | | |
362 | | | +----> Button 1 | |
363 | | +--------> Ground | |
364 | +----------> Button 2 | |
365 | ||
366 | 2.4.2 Sega Genesis aka MegaDrive | |
367 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
368 | The Sega Genesis (in Europe sold as Sega MegaDrive) pads are an extension | |
369 | to the Sega Master System pads. They use more buttons (3+1, 5+1, 6+1). Use | |
370 | the following schematic: | |
371 | ||
372 | +-----------> Power | |
373 | | +---------> Right | |
374 | | | +-------> Left | |
375 | | | | +-----> Down | |
376 | | | | | +---> Up | |
377 | | | | | | | |
378 | _____________ | |
379 | 5 \ o o o o o / 1 | |
380 | \ o o o o / | |
381 | 9 `~~~~~~~' 6 | |
382 | | | | | | |
383 | | | | +----> Button 1 | |
384 | | | +------> Select | |
385 | | +--------> Ground | |
386 | +----------> Button 2 | |
387 | ||
388 | The Select pin goes to pin 14 on the parallel port. | |
389 | ||
390 | (pin 14) -----> Select | |
391 | ||
392 | The rest is the same as for Multi2 joysticks using db9.c | |
393 | ||
394 | 2.4.3 Sega Saturn | |
395 | ~~~~~~~~~~~~~~~~~ | |
396 | Sega Saturn has eight buttons, and to transfer that, without hacks like | |
397 | Genesis 6 pads use, it needs one more select pin. Anyway, it is still | |
398 | handled by the db9.c driver. Its pinout is very different from anything | |
399 | else. Use this schematic: | |
400 | ||
401 | +-----------> Select 1 | |
402 | | +---------> Power | |
403 | | | +-------> Up | |
404 | | | | +-----> Down | |
405 | | | | | +---> Ground | |
406 | | | | | | | |
407 | _____________ | |
408 | 5 \ o o o o o / 1 | |
409 | \ o o o o / | |
410 | 9 `~~~~~~~' 6 | |
411 | | | | | | |
412 | | | | +----> Select 2 | |
413 | | | +------> Right | |
414 | | +--------> Left | |
415 | +----------> Power | |
416 | ||
417 | Select 1 is pin 14 on the parallel port, Select 2 is pin 16 on the | |
418 | parallel port. | |
419 | ||
420 | (pin 14) -----> Select 1 | |
421 | (pin 16) -----> Select 2 | |
422 | ||
423 | The other pins (Up, Down, Right, Left, Power, Ground) are the same as for | |
424 | Multi joysticks using db9.c | |
425 | ||
426 | 3. The drivers | |
427 | ~~~~~~~~~~~~~~ | |
428 | There are three drivers for the parallel port interfaces. Each, as | |
429 | described above, allows to connect a different group of joysticks and pads. | |
430 | Here are described their command lines: | |
431 | ||
432 | 3.1 gamecon.c | |
433 | ~~~~~~~~~~~~~ | |
434 | Using gamecon.c you can connect up to five devices to one parallel port. It | |
435 | uses the following kernel/module command line: | |
436 | ||
437 | gamecon.map=port,pad1,pad2,pad3,pad4,pad5 | |
438 | ||
439 | Where 'port' the number of the parport interface (eg. 0 for parport0). | |
440 | ||
441 | And 'pad1' to 'pad5' are pad types connected to different data input pins | |
442 | (10,11,12,13,15), as described in section 2.1 of this file. | |
443 | ||
444 | The types are: | |
445 | ||
446 | Type | Joystick/Pad | |
447 | -------------------- | |
448 | 0 | None | |
449 | 1 | SNES pad | |
450 | 2 | NES pad | |
451 | 4 | Multisystem 1-button joystick | |
452 | 5 | Multisystem 2-button joystick | |
453 | 6 | N64 pad | |
454 | 7 | Sony PSX controller | |
455 | 8 | Sony PSX DDR controller | |
b157d55e | 456 | 9 | SNES mouse |
1da177e4 | 457 | |
d6bc8ac9 ML |
458 | The exact type of the PSX controller type is autoprobed when used, so |
459 | hot swapping should work (but is not recommended). | |
1da177e4 LT |
460 | |
461 | Should you want to use more than one of parallel ports at once, you can use | |
462 | gamecon.map2 and gamecon.map3 as additional command line parameters for two | |
463 | more parallel ports. | |
464 | ||
465 | There are two options specific to PSX driver portion. gamecon.psx_delay sets | |
466 | the command delay when talking to the controllers. The default of 25 should | |
992caacf ML |
467 | work but you can try lowering it for better performance. If your pads don't |
468 | respond try raising it until they work. Setting the type to 8 allows the | |
1da177e4 LT |
469 | driver to be used with Dance Dance Revolution or similar games. Arrow keys are |
470 | registered as key presses instead of X and Y axes. | |
471 | ||
472 | 3.2 db9.c | |
473 | ~~~~~~~~~ | |
474 | Apart from making an interface, there is nothing difficult on using the | |
475 | db9.c driver. It uses the following kernel/module command line: | |
476 | ||
477 | db9.dev=port,type | |
478 | ||
479 | Where 'port' is the number of the parport interface (eg. 0 for parport0). | |
480 | ||
481 | Caveat here: This driver only works on bidirectional parallel ports. If | |
482 | your parallel port is recent enough, you should have no trouble with this. | |
483 | Old parallel ports may not have this feature. | |
484 | ||
485 | 'Type' is the type of joystick or pad attached: | |
486 | ||
487 | Type | Joystick/Pad | |
488 | -------------------- | |
489 | 0 | None | |
490 | 1 | Multisystem 1-button joystick | |
491 | 2 | Multisystem 2-button joystick | |
492 | 3 | Genesis pad (3+1 buttons) | |
493 | 5 | Genesis pad (5+1 buttons) | |
494 | 6 | Genesis pad (6+2 buttons) | |
495 | 7 | Saturn pad (8 buttons) | |
496 | 8 | Multisystem 1-button joystick (v0.8.0.2 pin-out) | |
497 | 9 | Two Multisystem 1-button joysticks (v0.8.0.2 pin-out) | |
498 | 10 | Amiga CD32 pad | |
499 | ||
500 | Should you want to use more than one of these joysticks/pads at once, you | |
501 | can use db9.dev2 and db9.dev3 as additional command line parameters for two | |
502 | more joysticks/pads. | |
503 | ||
504 | 3.3 turbografx.c | |
505 | ~~~~~~~~~~~~~~~~ | |
506 | The turbografx.c driver uses a very simple kernel/module command line: | |
507 | ||
508 | turbografx.map=port,js1,js2,js3,js4,js5,js6,js7 | |
509 | ||
510 | Where 'port' is the number of the parport interface (eg. 0 for parport0). | |
511 | ||
512 | 'jsX' is the number of buttons the Multisystem joysticks connected to the | |
513 | interface ports 1-7 have. For a standard multisystem joystick, this is 1. | |
514 | ||
515 | Should you want to use more than one of these interfaces at once, you can | |
516 | use turbografx.map2 and turbografx.map3 as additional command line parameters | |
517 | for two more interfaces. | |
518 | ||
519 | 3.4 PC parallel port pinout | |
520 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
521 | .----------------------------------------. | |
522 | At the PC: \ 13 12 11 10 9 8 7 6 5 4 3 2 1 / | |
523 | \ 25 24 23 22 21 20 19 18 17 16 15 14 / | |
524 | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
525 | ||
526 | Pin | Name | Description | |
527 | ~~~~~~|~~~~~~~~~|~~~~~~~~~~ | |
528 | 1 | /STROBE | Strobe | |
529 | 2-9 | D0-D7 | Data Bit 0-7 | |
530 | 10 | /ACK | Acknowledge | |
531 | 11 | BUSY | Busy | |
532 | 12 | PE | Paper End | |
533 | 13 | SELIN | Select In | |
534 | 14 | /AUTOFD | Autofeed | |
535 | 15 | /ERROR | Error | |
536 | 16 | /INIT | Initialize | |
537 | 17 | /SEL | Select | |
538 | 18-25 | GND | Signal Ground | |
539 | ||
540 | 3.5 End | |
541 | ~~~~~~~ | |
542 | That's all, folks! Have fun! |