I know most games don't fully use the analog nature of the Apple joystick. But at least one game does (Conan - you can either walk or run) and its not working right on my IIe with two different joysticks. Anytime I try to run right by pushing the joystick all the way, he never goes faster than walk speed. Which actually makes the first level impossible, as you have to jump a gap with a running start. I have 2 different Apple brand joysticks, and neither work right with the IIe and Conan. They do however work fine with Conan and my IIc and IIgs.
I don't know exactly how the Apple reads the joysticks, but I do understand it at a high level. It uses a timer chip to check how long it takes to charge a capacitor for each PDL input. It looks like on each PDL line there is a 100 ohm resistor in series and a bypass capacitor of .022 uF (assuming this is the one that gets timed). I know the Apple joysticks supposedly use a 150k pot on each axis. Which it seems Apple wasn't too strict on the 150k value, as you'll see below where i list the resistance end to end for each pot.
To test each joystick, I measured the pots end to end, and made sure when the joystick was fully moved to the far end, that the wiper read the max resistance. Then I hooked each one up to my 3 Apples and did a basic loop displaying the PDL 0 and 1 values. Every time I plugged in a new joystick, I adjusted to 127 +/- maybe 1-4 or so (I don't think that minor of a variance should matter too much). I then checked the min/max values of each.
|X 114k ohm||Y 114k ohm|
|X 118k ohm||Y 136k ohm|
The IIc and IIgs seem to inturpret the X axis on both joysticks very well. Joystick 1 seems to also have a questionable Y axis across all 3 computers. But its hard to say what the real world impact is. I don't know of a game off hand to test the Y axis with like I can with Conan for the X axis. I'm open to suggestions if anyone knows a real world test game to run on the Y axis.
These tables both would seem to imply there is something wrong in the IIe's handiling of PDL 0/X axis. But, if I plug in my Apple hand controller paddles, the IIe reads 0-255 on both. So at least in that case, the IIe seems fine. I did not open up my padles though to check the pot resistance. So maybe they are closer to 150k ohm end to end than the Apple joystick pots. I do find it interesting that even if it was meant to be 150k ohms, the IIc and IIgs have no problem generating a 255 reading with pots that are around 115-120k.
So here is my dilemma. Based on the joystick alone data, it would imply the IIe has an issue on the PDL 0 line. But the hand controller contradicts that, as it reads fine. If I throw the hand controller piece of data out, then either I'm looking at the 558 going bad on PDL 0 or maybe R23 or C37 going out of spec on the IIe board. I can confirm R23 is reading a solid 100 ohms (in circuit), which is dead on based on the schematic. I have a cheap little multi auto component tester (resistors/capacitors/inductors/transistors/diodes) that I was able to clip the leads on to the legs of C37. But I think it's getting confused reading it in circuit, as it identified it as a diode. But it did list the capacitance of the diode at 19.94 nF (.01994 uF). Which seems reasonable. I checked C40 on PDL1, which seems OK. It also identified it as a diode, but with a similar 19.xx nF capacitance. Which would imply maybe it is the NE558 giving me trouble. I guess I could pull the board, desolder C37 and try reading it out of circuit to confirm.
Which if I'm going through that trouble, I might as well remove the NE558 and socket it in case I need to replace that. And replace the video jack, as it seems like its no longer holding the RCA cable in very well. I have to wiggle it around sometimes to get a good picture. Which sadly, doesn't look like something with that footprint is available new from DK/Mouser. So have to track down some NOS connector of that style.
I'm open to any thoughts on best bnext steps on how to improve PDL 0/X on my Iie. As well if anyone has any ideas on how to test or what to do with PDL 1/Y on joystick 1.