An Apple II Joystick Fix For Enjoyable Gameplay

We all remember the video games of our youth fondly, and many of us want to relive those memories and play those games again. When we get this urge, we usually turn first to emulators and ROMs. But, old console and computer games relied heavily on the system’s hardware to control the actual gameplay. Most retro consoles, like the SNES for example, rely on the hardware clock speed to control gameplay speed. This is why you’ll often experience games played on emulators as if someone is holding down the fast forward button.

The solution, of course, is to play the games on their original systems when you want a 100% accurate experience. This is what led [Chris Osborn] back to gameplay on an Apple II. However, he quickly discovered that approach had challenges of its own – specifically when it came to the joystick.

The Apple II joystick used a somewhat odd analog potentiometer design – the idea being that when you pushed the joystick far enough, it’d register as a move (probably with an eye towards smooth position-sensitive gameplay in the future). This joystick was tricky, the potentiometers needed to be adjusted, and sometimes your gameplay would be ruined when you randomly turned and ran into a pit in Lode Runner.

The solution [Chris] came up with was to connect a modern USB gamepad to a Raspberry Pi, and then set it to output the necessary signals to the Apple II. This allowed him to tune the output until the Apple II was responding to gameplay inputs consistently. With erratic nature of the original joystick eliminated, he could play games all day without risk of sudden unrequested jumps into pits.

The Apple II joystick is a weird beast, and unlike anything else of the era. This means there’s no Apple II equivalent of plugging a Sega controller into an Atari, or vice versa. If you want to play games on an Apple II the right way, you either need to find an (expensive) original Apple joystick, or build your own from scratch. [Chris] is still working on finalizing his design, but you can follow the gits for the most recent version.

26 thoughts on “An Apple II Joystick Fix For Enjoyable Gameplay

  1. It was very easy to built a joystick from scratch for the Apple ][, I made one following a drawing found on a Wireless World paper (a joystick for an analog synthesizer) using just two potentiometers and a filmroll plastic box. It had no return to center function but it was ok to play some games, mainly Choplifter.
    That said, Loderunner was much easier to play using the keyboard than using a joystick.

  2. Isn’t an Apple II joystick almost identical to the pre-USB analog PC joysticks?
    The only difference afaics are the 150kOhm vs. 100kOhm potentiometers and the connector.

  3. There’s actually nothing odd about the Apple II joystick design. The same mechanism can be found on modern controllers for video games and remote control vehicles. For the former, it’s just been miniaturized a bit.

    1. It’s nearly identical to the analog joysticks on older IBM compatibles and you can convert one of those to work on an Apple II.
      The weirdness is the II+ and II used a 16pin DIP socket for the connection.

  4. >you’ll often experience games played on emulators as if someone is holding down the fast forward button.

    (O.o) – say what? Every emulator I’ve played since the late 1990s has some sort of speed throttling.

    The A2 wasn’t really designed for a joystick. It originally had paddles since Pong/Breakout was the hot game when the A2 was on the drawing board. As mentioned above the A2 stick is one pot for X and the other for Y. Because of this it wasn’t well suited to arcade style games that used digital/on-off four way sticks ala the iconic Atari joystick. People hacked interfaces for the Atari stick and iirc there were commercial products as well. Too bad they still had to deal with the shitty A2 paddle connector which was just a DIP header with pins that folded over if you blinked. I always enjoyed picking on Apple brats who bragged their computer was awesome and pointed out the C64 had better gfx, superior sound and REAL JOYSTICKS.

    tl;dr Emulators have automatic speed throttling. A2 joysticks suck for arcade games.

    1. Games where it mattered generally had a calibration routine, so I never had trouble playing arcade-style games with mine. Plus, there was the rare game that actually used the analog position for throttle or whatnot.

      And our disks were a lot faster. 😛 😉

      1. Woz’s design for the disk interface was simply brilliant. For those of you not familiar with the A2 FDC its a tiny card that used a stupid fast discrete TTL CPU known as a state machine. Most other FDCs used expensive dedicated ICs for the same function.

        As for disk speed – I agree the A2 was faster than a stock C64/1541 but a $40 Epyx Fastload cart fixed that.

        The A2 was revolutionary when it came out but later PCs like Atari/Commodore/Tandy CoCo were far more advanced thanks to improvements in memory/video/sound ICs. If it wasn’t for the A2 the others wouldn’t exist.

  5. I remember being 12 years old and wanting a joystick so bad for my Apple ][, but they were too expensive. I ended up buying all the parts (joystick, buttons, blue plastic box and ribbon cable) from Radio Shack and building one. That was my first “electronic” design…….

  6. the original Apple II used a quad 555, a 558 for joystick input.
    You read from $C070, then count until the softswitch goes “hi” @ $C064 – $C067.

    from the monitor ROM

    * PADDLE READ ROUTINE
    * ENTER WITH PADDLE NUMBER (0-3) IN X-REG

    FB1E:AD 70 C0 PREAD LDA PTRIG ;TRIGGER PADDLES
    FB21:A0 00 LDY #0 ;INIT COUNTER
    FB23:EA NOP ;COMPENSATE FOR 1ST COUNT
    FB24:EA NOP
    FB25:BD 64 C0 PREAD2 LDA PADDL0,X ;COUNT EVERY 11 uS.
    FB28:10 04 BPL RTS2D ;BRANCH WHEN TIMED OUT
    FB2A:C8 INY ;INCREMENT COUNTER
    FB2B:D0 F8 BNE PREAD2 ;CONTINUE COUNTING
    FB2D:88 DEY ;COUNTER OVERFLOWED
    FB2E:60 RTS2D RTS ;RETURN W/VALUE 0-255

    The paddle interface REALLY put me off using multi 555’s, they interact something crazy, the octal ones being the worst.
    The “paddles” that came with the Apple II were 110k, which meant I spent an awful lot of time and CRC “fixing” them.
    I never did find a source of 110K pots to replace totally worn out ones, there were endless ways to try and get 100K pots to “work’ properly, most customers didn’t notice, but a few annoying pricks used to bitch and moan that space invaders no longer “felt right”!

    1. The Apple II’s use of the 555 timer with software was a very clever way to get cheap analog input at a time when an analog to digital chip would have added considerable cost. I used those inputs for a lot more than paddles and joysticks back in the day.

      1. one of the strangest/most clever uses was a simple security dongle.
        microsoft multiplan came with a 16 pin header that had, along with the 2 EZ hooks to do shift lock, 4 resistors on the paddle inputs to make sure you had bought the software.

  7. Analog joysticks were used on the Apple II, Tandy Color Computer, and the IBM PC. Digital joysticks were used on most other systems such as the Atari and Commodore systems.

    I think it was a failure of Atari and Commodore to not encourage the use of analog joysticks in addition to the digital ones on their systems. Their ports supported paddles so analog joysticks were possible. While many games are best with digital joysticks, some games, such as flight and racing games, would have greatly benefited from analog joysticks.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s