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.

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?