Emulating An Altair 8800 On An Apple II

The Altair 8800 was, to its creators, a surprise hit. Despite looking nothing like what we would today consider to be a computer, it sold thousands of units almost immediately upon its launch, way back in 1975. A few years later, the Apple II burst onto the scene, and the home computer revolution began in earnest.

Emulating older machines on newer hardware has always been a thing, and [option8] has coded an Altair 8800 emulator for the Apple II. Of course, if you don’t have one lying around, you can run this emulator on an Apple II emulator right in your browser. Honestly, it’s emulators all the way down.

As far as emulators go, this is a particularly charming one, with the Altair’s front panel displayed in glorious color on the Apple’s 40 column screen. Replete with a full set of switches and blinking LEDs, it’s a tidy low-resolution replica of the real thing. Instructions to drive it are available, along with those for another similar emulator known as Apple80.

If that still hasn’t quenched your thirst, check out this Game Boy emulator that lives inside emacs.

Travelling The Oregon Trail With An Apple II Robot

For one reason or another, we’re going with a retro-futuristic 80s aesthetic in this case, [Mike] decided to turn an Apple IIe into a robot. If you have to ask why, you’ll never know, but this project does have some interesting things going for it. There’s a voice synthesizer, a brand spankin’ new power supply, and it rolls around on the floor thanks to Apple BASIC.

Since this is a mobile robot, there needs to be a power supply in there somewhere. The Apple II had a fantastic switching power supply, but it ran off mains voltage. To make this Apple run off a 14.8 V LiPO battery, [Mike] needed to re-engineer this power supply to give +5, +12, -5, and -12 Volts. The easiest is the positive voltage, and for that, he used a big ‘ol LM1084 linear regulator for the +5 V line. This outputs a ton of heat and probably isn’t the best solution, but it is a solution that works. The +12 line was again another linear regulator, an LM7812CV. Since this is dropping 14.8 V down to 12, the efficiency isn’t that bad, and since there’s no floppy drive it’s not pulling much current anyway. The negative voltages are a MAX764 / MAX765 inverting switching regulators. This completely replaces the original power supply in the Apple II, and is a decent reference design for anyone who wants to make a luggable Apple II laptop.

To move this thing around, the motors run on their own 11.1 V LiPO, with a bunch of Pololu gear tying everything together. The BASIC code was written on an emulator, transferred over with the Floppy Emu. Movement is controlled through the output pins on the joystick port, and there’s a text to speech module that was obviously needed and ties this project together wonderfully. You can check out the video demo of the build below.

Continue reading “Travelling The Oregon Trail With An Apple II Robot”

Apple II Megademo Is Countin’ Cycles And Takin’ Names

The demoscene is an active place to this day, with enthusiasts around the world continuing to push the envelope as far as the capabilities of machines are concerned. [Deater], along with a skilled team, produced this Apple II Megademo which won first place at Demosplash 2018.

The demo starts with an intentional tease, with an emulated C64 BASIC startup screen which splits to reveal the title card. White-on-blue text isn’t the easiest on the Apple II, due to palette limitations, but it’s necessary for the joke to work. The following scenes make heavy use of mode-switching techniques in the middle of drawing the screen. Single screens are made up of various sections in LORES, HIRES, and even text modes. The term “cycle-counting” refers to the fact that the demo is written to operate in a cycle-exact fashion. This is necessary to achieve the mode-switching effects and to make the most of the limited resources of the Apple II.

It’s a demo that, like many others, does the right things in the wrong way to achieve its impressive results, and is a worthy competition winner. [Deater] has kindly provided an FAQ and source code for those who wish to study it further.

If you’ve written a mindblowing demo yourself, be sure to notify the tips line. Video after the break.

Continue reading “Apple II Megademo Is Countin’ Cycles And Takin’ Names”

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.