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”

Portal Ported To The Apple II

[deater] readily admits they’re a little behind on what’s new in gaming – only having just gotten around to Valve’s 2007 release of Portal. It’s a popular game, but [deater] didn’t want anyone to miss out on the fun – so set about porting Portal to the Apple II.

The port uses the “hires” mode of the Apple II for the flashy graphics that were state of the art around 1980 or so. It’s not a copy of the full game – only the first and last levels, combined with Jonathan Coulton’s now-classic ending theme, Still Alive. As is to be expected, it’s not a wild, fast paced gaming experience, but a cool use of BASIC to put together a fun tribute to a popular franchise.

It’s a little different to the original – portals can be placed anywhere, for example – but it rings true to the original. Source code and a disk image is provided, so you can try it for yourself – even in this online emulator.

We’re looking forward to the sequel so we can use the post title “Portal 2 Ported To The Apple II, Too”, but until then, check out [deater]’s Apple II web server, also in Applesoft BASIC. Video after the break.

Continue reading “Portal Ported To The Apple II”

Portable Apple II On An AVR

The Apple II was one of the first home computers. Designed by Steve “Woz” Wozniak, it used the MOS technologies 6502 processor, an 8-bit processor running at about 1 MHz. [Maxstaunch] wrote his bachelor thesis about emulating the 6502 in software on an AVR1284 and came up with a handheld prototype Apple II with screen and keyboard.

pic_15
Prototype on veroboard

Originally, [maxstrauch] wanted to build an NES, which uses the same 6502 processor, but he calculated the NES’s Picture Processing Unit would be too complicated for the AVR, so he started on emulating the Apple II instead. It’s not quite there – it can only reference 12K of memory instead of the 64K on the original, so hi-res graphic mode, and therefore, many games, won’t work, but lo-res mode works as well as BASIC (both Integer BASIC and Applesoft BASIC.)

[Maxstrauch] details the 6502 in his thesis and, in a separate document, he gives an overview of the project. A third document has the schematic he used to build his emulator. His thesis goes into great detail about the 6502 and how he maps it to the AVR microcontroller. The build itself is pretty impressive, too. Done on veroboard, the build has a display, keyboard and a small speaker as well as a micro SD card for reading and storing data. For more 6502 projects, check out the Dis-Integrated 6502 and also, this guide to building a homebrew 6502.

Continue reading “Portable Apple II On An AVR”

Apple II Web Server Written In BASIC

The Apple II was the machine that many say launched Apple as a company. As with many popular computers of the 1980s, the Apple II maintains a steady following to this day who continue to develop new hardware and software to keep the platform alive.

[deater] had scored an Uthernet II Ethernet interface for his Apple IIe, based off the venerable W5100 chipset. He decided to have some fun and wrote a webserver for the Apple II in BASIC. The program sets up the Ethernet card with a series of PEEKs and POKEs, and then listens out for incoming packets before responding with the requisite data loaded from floppy disk.

The server can deal with HTML, text, and even JPEG and PNG images. It’s even compliant with RFC 2324. It does suffer from some limitations however — the disk format used can only hold 140 kB, it can only serve an 8kB file at a time, and due to using a lot of string manipulation in the code, is painstakingly slow.

Before you get too excited, the machine is running on a local network only, so you can’t check it out from here. However, [deater] has kindly released the source code if you wish to run it for yourself.

If you’re thirsty for more 8-bit action, check out this Apple II playing animated GIFs.