Re-enacting TRON On The Apple IIgs

TRON is a science fiction classic, hitting cinemas in the midst of the burgeoning home computer era. It’s the film that created the famous light cycle, which spawned many video game recreations in the following years. Many years ago now, [Daniel] decided to flex his programming muscles by coding a version of the game for the Apple IIgs, with accidentally excellent results.

In the film, the characters find an escape from the light cycle game by forcing another player to crash into the walls of the play area. The resulting explosion left a hole, allowing the players to exit the light cycle game and explore the rest of the computer. Amusingly, due to a coding oversight, [Daniel] had created exactly this same flaw in his own code.

[Daniel]’s game differed from the original in that players were provided with missiles to destroy enemy trails. However, these missiles did not discriminate, and due to the simplicity of the code, were able to destroy the boundary on the play area. This was discovered when the computer player tried to escape an otherwise impossible situation. Upon blowing a hole in the arena wall, the computer player proceeded to drive off the screen – into invalid memory. This led to the computer crashing in short order, due to the unprotected memory space of the Apple II platform.

It’s a case of code imitating art – and completely by accident. The game managed to replicate the light cycle escape from the film entirely due to the unexpected behaviour of the simple missile code. [Daniel] steps through the code and how the bug happened, and covers the underlying principle behind the resulting crashes. It’s an entertaining tale of the risks of coding at low level; something we don’t always run into with today’s modern interpreted languages.

Thirsty for more tales of hacking the Apple II? How about going back in time to fix a 37 year old bug?

Displaying Bitmaps On The Apple II

The Apple II was the popular darling that truly kicked off the ascention of the company that would later bring you darlings such as the iMac, iPod, and iPhone. The brainchild of the legendary Steve Wozniak, it was a low-cost home computer that made use of some interesting compromises to create video output with the bare minimum components. This can make it difficult if you want to output full-bitmap graphics on the Apple II – but it is certainly possible.

[cybernesto] set about completing this task, and released VBMP on GitHub. Programmed in assembly, it builds upon the work of democoder Arnaud Cocquière to display bitmap images on the vintage 6502-powered machine. Capable of displaying monochrome images in 560 x 192 or sixteen colors in 140 x 192, it loads slowly but does get the job done.

We’ve seen similar development underway elsewhere, too – on this vintage satellite tracker project. [Keplermatic] reports that their code runs at a similar speed to the VBMP loader, despite doing several things differently. It’s also available over at GitHub, for your reading pleasure.

If you’re looking to achieve something similar with your vintage hardware, it’s worth a look. Having the source available makes integrating it into further projects a snap. Learning to program these older machines can be challenging, but that’s half the fun – and when you build something awesome, be sure to drop it on the tips line.

Apple II FPGA

[Stephen Edwards] had some time one Christmas. So he took a DE2 FPGA board and using VHDL built a pretty faithful reproduction of an Apple II+ computer. He took advantage of VHDL modules for the 6502 CPU and PS/2 keyboard, and focused more on the video hardware and disk emulation.

According to [Stephen], you can think of the Apple II as a video display that happens to have a computer in it. The master clock is a multiple of the color burst frequency, and the timing was all geared around video generation. [Stephen’s] implementation mimics the timing, although using more modern FPGA-appropriate methods.

Continue reading “Apple II FPGA”

A Full Speed, Portable Apple //e

A while back, [Jorj] caught wind of a Hackaday post from December. It was a handheld Apple IIe, emulated on an ATMega1284p. An impressive feat, no doubt, but it’s all wrong. This ATapple only has 12k of RAM and only runs at 70% of the correct speed. The ATapple is impressive, but [Jorj] knew he could do better. He set out to create the ultimate portable Apple IIe. By all accounts, he succeeded.

This project and its inspiration have a few things in common. They’re both assembled on perfboard, using tiny tact switches for the keyboard. The display is a standard TFT display easily sourced from eBay, Amazon, or Aliexpress. There’s a speaker for terribad Apple II audio on both, and gigantic 5 1/4″ floppies have been shrunk down to the size of an SD card. That’s where the similarities end.

[Jorj] knew he needed horsepower for this build, so he turned to the most powerful microcontroller development board he had on his workbench: the Teensy 3.6. This is a 180 MHz ARM Cortex M4 running a full-speed Apple IIe emulator. Writing a simple 6502 emulator is straightforward, but Apple IIe emulation also requires an MMU. the complete emulator is available in [Jorj]’s repo, and passes all the tests for 6502 functionality.

The project runs all Apple II software with ease, but we’re really struck by how simple the entire circuit is. Aside from the Teensy, there really isn’t much to this build. It’s an off-the-shelf display, a dead simple keyboard matrix, and a little bit of miscellaneous circuitry. It’s simple enough to be built on a piece of perfboard, and we hope simple enough for someone to clone the circuit and share the PCBs.

Hackaday Links Column Banner

Hackaday Links: February 12, 2017

Taking small LCD screens, a tiny computer running Linux, and a 3D printed enclosure to build miniature versions of old computers is a thing now. Here’s [Cupcakus]’s tiny little Apple II, complete with Oregon Trail. This Apple II is running on a C.H.I.P., uses a 3s lithium battery from a drone, and works with a Bluetooth keyboard and joystick. Yes, the power button on the monitor works.

At Hackaday, we get a lot of emails from people asking the most important question ever: “how do you become a hardware hacker?” [Tex Projects] lays it all out on the line. All you need to do is to buy five of something every time you need one. Need some header pins? Buy five. A sensor? five. Come to the realization that anything you build could be bought for less money.

Are we still doing low-poly Pokemon? [davedarko] has an idea for the Sci-Fi contest we’re running. He’s going to give children seizures. He’s refreshing a project of mine by putting lights, blinkies, and noisy things in a 3D printed Porygon, the original 3D printed Pokemon. Porygon was the subject of that one episode of the Pokemon cartoon that sent 635 Japanese children to the hospital. The episode was banned in America, but it was actually Pikachu that caused the flashing lights.

‘Member Clickspring? He’s the guy who made a fantastic mechanical clock using nothing except a few bits of brass, a blowtorch, a tiny mill and lathe, and a lot of patience. Now he’s building the Antikythera mechanism. The Antikythera mechanism is a 2000-year-old device designed to calculate the phases of the moon, the motion of the planets, and other local astronomical phenomena. This is going to be a masterpiece, and will eventually end up in a museum, so be sure to subscribe to his YouTube channel.

Hackaday Links: January 22, 2017

What is a 1971 Ford Torino worth? It depends, but even a 2-door in terrible condition should fetch about $7 or $8k. What is a 1971 Ford Torino covered in 3D printed crap worth? $5500. This is the first ‘3D printed car’ on an auction block. It looks terrible and saying ‘Klaatu Varada Nikto’ unlocks the doors.

Old Apple IIs had a DB19 connector for external floppy drives. Some old macs, pre-PowerPC at least, also had a DB19 connector for external floppy drives. These drives are incompatible with each other for reasons. [Dandu] has a few old macs and one old Apple II 3.5″ external floppy drive. This drive can be hacked so it works with a Mac Classic. The hack is simply disconnecting one of the boards in the drive, and it only reads 400 and 800kB disks, but it does work.

The US Army is working on a hoverbike. Actually, it’s not a hoverbike, because it doesn’t have a saddle or a seat, but it could carry 300 pounds at 60 mph. That’s 136,000 grams at 135 meters per second for the rest of the world out there. This ‘hoverbike’ will be used for very quick resupply, and hopefully a futuristic form of jousting.

Over the past few months, we’ve seen a few new microcontrollers built around the RISC-V core. The first is the HiFive1, a RISC-V on an Arduino-shaped board. The Open-V is another RISC-V based microcontroller, and now it too supports the Arduino IDE. That may not seem like much, but trust me: setting up the HiFive1 toolchain takes at least half an hour.

The NAMM show has been going on for the last few days, which means new electronic musical gear, effects pedals, and drum machines. This is cool, but somewhat outside our editorial prerogative. This isn’t. It’s a recording studio using a Rasberry Pi. Tracktion is working on a high-quality digital audio input and output add-on for the Pi 3. This is really cool, and you only need to look back at MPCs and gigantic Akai samplers from 15 years ago to see why.

Hey LA peeps. Sparklecon is next weekend. What’s Sparklecon? The 23B hackerspace pulls out the grill, someone brings a gigantic Tesla coil, we play hammer Jenga, and a bunch of dorks dork around. Go to Sparklecon! Superliminal advertising! Anyone up for a trip to the Northrop ham meetup next Saturday?

Fixing Bugs In A 37 Year Old Apple II Game

Emulators are a great way to reminisce about games and software from yesteryear. [Jorj Bauer] found himself doing just that back in 2002, when they decided to boot up Three Mile Island for the Apple II. It played well enough, but for some reason, crashed instantly if you happened to press the ‘7’ key. This was a problem — the game takes hours to play, and ‘7’ is the key for saving and restoring your progress. In 2002, [Jorj] was content to put up with this. But finally, enough was enough – [Jorj] set out to fix the bug in Three Mile Island once and for all.

The project is written up in three parts — the history of how [Jorj] came to play Three Mile Island and learn about Apple IIs in the first place, the problem with the game, and finally the approach to finding a solution. After first discovering the problem, [Jorj] searched online to see if it was just a bad disk image causing the problem. But every copy they found was the same. There was nothing left for it to be but problem in the binary.

Continue reading “Fixing Bugs In A 37 Year Old Apple II Game”