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.

Deaccelerating The Apple IIc Plus

The Apple IIc Plus is arguably – very arguably from my experience – the best Apple II computer ever made. It’s portable, faster than the IIe, had a much higher capacity built-in drive, and since the Plus could run at 4MHz, it was faster than the strange eight or sixteen bit Apple IIGS. Recently, [Quinn] has been fascinated with the IIc Plus, and has gone so far as to build a custom gamepad and turn the IIc Plus into a laptop. Now, she’s turned her attention to the few things Apple got wrong with the Apple IIc Plus – the startup beep and defaulting to 4MHz on every boot instead of Apple II’s standard 1MHz that’s used in the Apple II, II Plus, IIe, and IIc non-Plus.

The original Apple II is surprisingly primitive. Apart from writing a loop of NOPs and counting cycles, there’s no way to keep time. There is no clock, no timer, no tick counters, and no interrupts. If you’re writing a game for the Apple II that depends on precise timing, the best you’ll be able to manage is a delay loop. This worked for a time, until the Apple IIc Plus was released with a default clock of 4MHz. It was a great idea for AppleWorks and other productivity apps, but [Quinn] is doing retrocomputing, and that means games. Booting the Apple IIc Plus into its 1MHz mode means turning it on and holding escape while resetting the computer every time. It’s very annoying, but a mod to make the IIc Plus run at 1MHz by default would turn her into one of the most accomplished currently active Apple II developers.

The process of booting into the IIc Plus’ 1MHz mode requires holding down escape while restarting the computer. This should tell you something: it’s not a hardware switch that changes speed. It’s in the ROM, and that means diving into the Technical Reference Manual, looking at the listings in the ROM monitor, and figuring out how everything works.

The IIc Plus ROM is incredibly complex – it’s 32k of hand assembled code with jump tables bouncing everywhere. After a ton of research, [Quinn] successfully reverse engineered the ‘slow down if the ESC key is pressed’ routine, allowing her to boot the machine at 1MHz by default, and 4MHz if there’s a soft reset with the option key pressed. Everything works great, and [Quinn] has the video to prove it

This isn’t [Quinn]’s first attempt at hacking the lowest levels of the Apple IIc Plus ROM. Because the IIc Plus ran at 4MHz by default, the startup beep was so very wrong. She fixed that, and with two very useful patches under her belt, she burned a few new chips with her ROM patches. In total, there’s only a few dozen bytes of hers in the new 32k ROM, but that’s enough to make her one of the top current firmware developers for the Apple II platform.

Lego Technic of the Past Eliminates Apple ][ with Arduino and Touchscreen

[JAC_101], the Director of Legal Evil Emeritus for LVL1 Hackerspace (don’t ask me, it’s their title system), was challenged to a hacking duel. It all started years ago. The person who is now president of LVL1, visited the space for the first time and brought with her a discarded Apple II controller for Lego bricks which had previously belonged to her father. Excited to test it, the space found that, unfortunately, LVL1’s Apple II wouldn’t boot. An argument ensued, probably some trash talking, and [JAC_101] left with the challenge: Could he build an Arduino interface for the Apple II Lego controller quicker than the hackerspace could fix its Apple II?”

Other things that belonged to people's fathers.
Other things that belonged to people’s fathers.

In the end, a concentrated force by one hacker over two years overcame the collective ADHD of many. He began by opening the interface to look inside, a completely unnecessary step since he found it was already thoroughly documented. Next he forgot about the project for a year. Then he remembered it, and built an interface for an Arduino Uno to hook to the controller and wrote a library for the interface. Realizing that sending serial commands was not in line with the original friendly intention of the device, he added a graphical display to the project; which allowed the user to control the panel with touch. In the end he won the challenge and LVL1 still doesn’t have a working Apple II. We assume some gloating occurred. Some videos of it in action after the break.

Continue reading “Lego Technic of the Past Eliminates Apple ][ with Arduino and Touchscreen”

Dealing with Fallout

In just a few short days, Fallout 4 will be released and a substantial portion of the Hackaday staff will be taking the day off. As you would expect, a lot of people with 3D printers, soldering irons, and far too much time on their hands are getting pumped for the Fallout release. Here’s a few Fallout builds we’ve found over the past few weeks:

Pip-Boys

919501417186321280The most iconic thing you’ll find in a Fallout game is the Pip-Boy, the UI for the player and a neat wrist-mounted computer (that somehow has a CRT in it, I guess) for the player’s character. Hackaday’s own [Will Sweatman] built his own Pip-Boy 3000 that’s completely functional. The build uses a 4.3 inch touch display, a 10 position rotary switch, and a bunch of 3D printed parts.

Elsewhere on Hackaday.io, [Karl] is working on a functional Pip-Boy controller for Fallout, and [cody] built one with a Raspberry Pi. Of course, if you’re super special and have two thousand dollars to blow, Bethesda released a limited-edition Pip-Boy edition of Fallout 4 that’s compatible with most cell phones.

The Not Pip-Boys

door

There’s more to Fallout than just wrist-mounted computers, and for the true aficionados, there are gigantic gear-shaped doors. [TreyHill] has a partially finished basement with a gaming room tucked behind his very own vault door. The door itself is built out of plywood and rolls along a gear rack mounted to the floor. Will it hold up to a nuclear blast? Probably not. Is it up to code? It looks cool, at least.

[Lilykill] on Thingiverse is extremely capable with a copy of solidworks and produced a bunch of 3D models from the Fallout universe that includes power armorray guns, more Pip-Boys, plasma grenades, and a Nuka-Cola truck.

Fallout 4 for the Apple II

Fallout 4 will be available for the PS4, Xbox One, and PC, leaving out a large contingent of retro gamers. Fear not, lovers of the 6502: there’s’ a version for the Apple II:

This tribute to both the Apple II and Fallout was made with the Outlaw Editor, an SDK for pseudo-3D game development on exceedingly old hardware. There’s actual ray casting happening in this tribute, and it works just the same as Wolfenstein 3D or the like.

A Game Pad For The Apple II

[Quinn Dunki] has been hard at work building a Teddy Top – an Apple IIc Plus modified for a road warrior. It has a 3.5 inch disk drive, runs at a blistering four megahertz, and has a beautiful integrated color LCD. It would be a shame to have such a great machine and no way to play games as they were intended, so [Quinn] set about building a game pad for her lovable Apple II.

The Apple II joystick port isn’t as simple as an Atari or Commodore joystick port. Where the bog-standard Atari joystick is basically just a bunch of switches connected to pins, the Apple II joystick is analog. Weird, and even weirder is the value of the pots in these joysticks: 150kΩ. Somehow or another, nobody makes pots in this value any more. Luckily the hardware in these joysticks is well documented, and shoehorning in modern components isn’t that bad.

The Apple joystick has a bit of circuitry – a 556 timer chip that reads the values of each pot and converts that into a stream of 0s and 1s for the Apple. The joystick [Quinn] found for her game pad is an analog thumb stick on a neat breakout board manufactured by Parallax. This analog joystick has 10kΩ pots in it, and that just won’t work with the 556 timer chip. However, since this is just resistors and a 556 chip, adjusting some of the values on the original schematics does the trick. [Quinn] added a few capacitors to her circuit, and everything worked beautifully.

With the electronics down, she turned her attention to the case for her Apple II road warrior enclosure. She recently picked up a 3D printer, which means she’s new to 3D printing. After spending a few hours designing a controller in 123D Design, she sent the files over to the printer. Warping happened. She tried an ABS slurry. The part was stuck to the bed. It took a few tries (purple glue sticks are awesome, [Quinn]), but she eventually got her plastic enclosure printed out, and the circuitry installed. The result is a portable computer, with a custom controller, playing Lode Runner. Can’t beat that.

Strapping an Apple II to Your Body

Now that the Apple wristwatch is on its way, some people are clamoring with excitement and anticipation. Rather than wait around for the commercial product, Instructables user [Aleator777] decided to build his own wearable Apple watch. His is a bit different though. Rather than look sleek with all kinds of modern features, he decided to build a watch based on the 37-year-old Apple II.

The most obvious thing you’ll notice about this creation is the case. It really does look like something that would have been created in the 70’s or 80’s. The rectangular shape combined with the faded beige plastic case really sells the vintage electronic look. It’s only missing wood paneling. The case also includes the old rainbow-colored Apple logo and a huge (by today’s standards) control knob on the side. The case was designed on a computer and 3D printed. The .stl files are available in the Instructable.

This watch runs on a Teensy 3.1, so it’s a bit faster than its 1977 counterpart. The screen is a 1.8″ TFT LCD display that appears to only be using the color green. This gives the vintage monochromatic look and really sells the 70’s vibe. There is also a SOMO II sound module and speaker to allow audio feedback. The watch does tell time but unfortunately does not run BASIC. The project is open source though, so if you’re up to the challenge then by all means add some more functionality.

As silly as this project is, it really helps to show how far technology has come since the Apple II. In 1977 a wristwatch like this one would have been the stuff of science fiction. In 2015 a single person can build this at their kitchen table using parts ordered from the Internet and a 3D printer. We can’t wait to see what kinds of things people will be making in another 35 years.

Continue reading “Strapping an Apple II to Your Body”

Apple ][ Disk Emulation

A while ago, [Steve] over at Big Mess ‘O Wires created a device that would emulate old Macintosh disk drives, storing all the data on an SD card. No, it’s not SCSI; the early Apples had a DB-19 connector for connecting 400 and 800kB disk drives. It’s a great piece of hardware for bootstrapping that old Mac you might have sitting around. Apple ][s, IIs, and //s use an extremely similar connector for their disk drives. A few rumors on some forums led [Steve] to experiment with some ancient bromide-stained boxes, and the results are interesting to say the least.

After pulling out an old //e and IIgs from storage, [Steve] found his Macintosh Floppy Emulator didn’t work with the Apples. This was due to the way Apples could daisy chain their disk drives. There’s an extra enable signal on the connector that either brings Drive 1 or Drive 2 into the circuit. Macs don’t care about this signal, but Apples do. Luckily the 800kB drives for the IIgs have an extra board that handles this daisy chain and drive eject circuitry.

After removing this extra board from a IIgs drive and connecting it to the Floppy Emu, everything worked beautifully. With schematics and a working circuit in hand, it’s now a piece of cake to build an adapter board for using the Macintosh Floppy Emu with Apples, or to build that circuit into a future revision of the Floppy Emulator.

Considering how much trouble [Steve] had bootstrapping these Apples without an SD card to Floppy drive emulator, we’re thinking this is great. The current way of making an Apple II useful is ADTPro, a program that uses audio to communicate with Apples over the cassette port. In case you haven’t noticed, microphone and headphone ports on laptops are inexplicably disappearing, making a hardware device like a SD card floppy emulator the best way to bring disk images to 30-year-old hardware.