All of my Atari type joysticks have a male plug on the end, and all of the
classic systems I have have a female plug to receive it.

On Fri, 26 Sept 2025 at 06:52, Brian White <[email protected]> wrote:

> 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.
>>>>
>>>>

Reply via email to