Atari joystic has a female de9 on the end of it's cable. So the computer side needs a male de9.
bkw On Thu, Sep 25, 2025, 12:52 PM Peter Vollan <[email protected]> wrote: > I'm confused.... shouldn't it be a db9 female connector to plug the > joystick into? > > On Thu, 25 Sept 2025 at 09:21, Mike Stein <[email protected]> wrote: > >> How often are you going to need the printer port when you're using the >> joystick? >> >> Here's one approach from way back when: >> >> >*From Kim Holviala kim at holviala.com <http://holviala.com> >> *Wed Feb 23 2011 >> >> Yup, got my side project, the Atari/Commodore joystick interface for >> M100 working reliably. >> >> This is a simple passive interface only requiring two connectors, some >> cable and five diodes. Total cost is under $10 including a case for the >> Sub-D9 connector. >> >> Schematic: >> >> LPT port D9 male >> 3 PD0 ------|<------- 1 UP >> 5 PD1 ------|<------- 2 DOWN >> 7 PD2 ------|<------- 3 LEFT >> 9 PD3 ------|<------- 4 RIGHT >> 11 PD4 ------|<------- 6 BUTTON >> 21 BUSY -------------- 8 GROUND >> >> Parts: >> >> 1 2x13 pin female flat cable connector (0.1" spacing) >> 1 D9 male connector (solder type) >> 1 D9 connector case >> 6" 26-pin flat cable (or at least 4 inches) >> 5 1N4148 (or similar) >> >> I used 1N4007 for the diodes, but using something physically smaller >> like 1N4148 is easier if you want to fit everything into the D9 case. >> >> Theory of operation: >> >> We're doing it all backwards. Instead of feeding ground through joystick >> port pin 8 and reading the directions from pins 1-4 and 6, we're feeding >> signals through 1-4 and 6 and reading the result from pin 8 (which is >> connected to BUSY in LPT port). >> >> Using with 100% Basic: >> >> This works (even though it shouldn't) but isn't very reliable. We're >> fighting with the keyboard interrupt, and quite often it hits between >> our OUT and IN messing up the readings. >> >> OUT 185,254:U=INP(187) AND 4 >> OUT 185,253:D=INP(187) AND 4 >> OUT 185,251:L=INP(187) AND 4 >> OUT 185,247:R=INP(187) AND 4 >> OUT 185,239:B=INP(187) AND 4 >> >> Variables U/D/L/R and B now contain 0 if that particular direction is >> selected and 4 if the direction is not selected. >> >> Mostly Basic, but some assembly required: >> >> This version seems to be 100% reliable even though it doesn't disable >> interrupts between the assembler out and in. >> >> 10 CLS >> 20 A$=CHR$(211)+CHR$(185)+CHR$(219)+CHR$(187)+CHR$(119)+CHR$(201) >> 30 AS=PEEK(VARPTR(A$)+1)+(256*PEEK(VARPTR(A$)+2)) >> 40 U%=0:D%=0:L%=0:R%=0:B%=0 >> 50 CALL AS,254,VARPTR(U%):U%=U% AND 4 >> 60 CALL AS,253,VARPTR(D%):D%=D% AND 4 >> 70 CALL AS,251,VARPTR(L%):L%=L% AND 4 >> 80 CALL AS,247,VARPTR(R%):R%=R% AND 4 >> 90 CALL AS,239,VARPTR(B%):B%=B% AND 4 >> 100 IF U%=0 THEN PRINT " U" ELSE PRINT " *" >> 110 IF L%=0 THEN PRINT "L "; ELSE PRINT "* "; >> 120 IF R%=0 THEN PRINT "R" ELSE PRINT "*" >> 130 IF D%=0 THEN PRINT " D" ELSE PRINT " *" >> 140 IF B%=0 THEN PRINT "BTN" ELSE PRINT " * " >> 150 PRINT CHR$(11); >> 160 GOTO 50 >> >> The assembler code on line 20 is as follows (needs a bitmask in A, >> outputs joystick info to [HL]): >> >> out 185 >> in 187 >> mov m,a >> ret >> >> That's about it. Now back to the WiFi adapter... >> >> >> - Kim >> >> >> On Wed, Sep 24, 2025 at 4:57 PM Scott McDonnell < >> [email protected]> wrote: >> >>> The BCR port was attractive to me because it is a port I wouldn't be >>> using for anything else. That is really the main reason aside from the >>> interrupts. >>> >>> The idea was to use a microcontroller which would allow me to fit the >>> electronics inside the joystick body. I really only need a start bit to >>> get the CPU attention and then stream my switch states. That was the >>> idea, anyway. That is pretty much how the BCR would work, I would think. >>> Well, originally the thought was to duplicate the BCR and send keycodes >>> which could use the existing driver. But I am not sure if the arrow keys >>> would be included somehow. If so, it could potentially work with any >>> software that uses the arrow keys. >>> >>> I am surprised that I had not thought of scanning the keyboard the >>> opposite way, though. That is a clever idea. >>> >>> I did think about simply wiring into the arrow keys on the keyboard, but >>> I was trying to keep it external for community use. >>> >>> I still think the community should decide on some standard for a mod and >>> make use of the several NC wires in the BCR port. I am aware of the mod >>> to add a serial port there and that seems very useful. >>> >>> Thanks for all of the suggestions. >>> >>>
