For many 8-bit computing veterans, the original Prince of Persia game was our first exposure to fluid life-like animation on screen. This groundbreaking technical achievement earned the game’s place in nostalgia and history. Ars Technica invited its original creator [Jordan Mechner] to sit in front of a camera and talk through many technical and game design challenges he had to solve. (Video embedded below. Bonus: correct pronunciation of Karateka directly from the creator’s mouth.)
Enjoy the journey back in time as [Jordan] broke down the convoluted process behind Prince of Persia‘s rotoscope animation. Starting with VCR footage, to film negatives, to tracing out with black markers and white correction fluid to generate a high contrast reference suitable for the (then) state-of-the-art digitizer. But generating those frames was just the beginning! They consumed majority of an Apple II’s memory, thus fighting memory constraints was a persistent headache. Fortunately for us, that limitation also motivated memorable elements such as our “Shadow Man” alter ego.
This Prince of Persia feature is the latest episode of Ars Technica’s “War Stories” series, inviting people behind notable games to talk about their work behind the scenes. The creators of Myst put a lot of effort into minimizing the impact of CD-ROM seek times, an entirely theoretical endeavour as they had no CD burner for verification. The creators of Crash Bandicoot paged in game content from CD in 64kb chunks as a player progressed, allowing creation of levels too large to fit in a PlayStation’s memory all at once. Read over these and other short synopsis of episodes so far or go straight to their YouTube playlist.
If this talk of wrangling bits with 6502 assembly code has whet your appetite for more, the source code for Prince of Persia is available for digging into. Don’t worry if you have long since lost track of your Apple II (or never had one) as the code can run in an emulator.
Continue reading “Ingenious Hacks That Brought The Original Prince Of Persia To Life”
What’s more fun than porting an old game released for an old system such as the Apple IIgs to its 10-year-older predecessor, the Apple II from 1977? Cue [Deater]’s port of the classic video game ‘Another World‘ to the original Apple II. As was fairly obvious from the onset, the main challenges were with the amount of RAM, as well as with the offered graphics resolutions.
Whereas the Apple II could address up to 48 kB of RAM, the 16-bit Apple IIgs with 65C816 processor could be upgraded to a maximum of 8 MB. The graphics modes offered by the latter also allowed ‘Another World’ to run at a highly playable 320×200, whereas the ported version is currently limited to the ‘low resolution’ mode at 40×48 pixels.
The game itself still needs a lot of work to add missing parts and fix bugs, but considering that it has been implemented in 6502 assembler from scratch, using just the gameplay of the IIgs version as reference, it’s most definitely an achievement which would have earned [Deater] a lot of respect back in the late ’80s as well.
Feel free to check out the Github page for this project, grab a floppy disk image from the project page and get playing. Don’t forget to check out the gameplay video linked after the break as well.
Continue reading “Another World On The Apple II”
We spend a lot of time in our community discussing the many home computers from the 8-bit era, while almost completely ignoring their industrial equivalents. While today a designer of a machine is more likely than not to reach for a microcontroller, four decades ago they would have used a single-board computer which might have shared a lot of silicon with the one you used to play Pac Man.
[Epooch] recently came into possession of a CMS 9619A Advanced Single Board Microcomputer, a rather unique Programmable Logic Controller intended for industrial applications. It’s powered by a Motorola 6809 CPU and features the usual array of peripheral chips. To unlock its secrets he reached not for an array of tools from 2019 but for a venerable Apple ][e microcomputer.
In this type of 8-bit machine the various peripherals are enabled through address decoding logic that toggles their chip select line when a particular I/O address is called. Sometimes this task is performed by a set of 74 or similar logic chips, but in the case of the CMS 9619A it falls upon a Programmable Array Logic (PAL). These chips, which could be thought of as a simple precursor to today’s FPGAs, were ideal for creating custom decoding logic.
As you might expect though, a PAL is an opaque device, so to deduce the address map it was necessary to reverse engineer it using the Apple ][‘s printer card and a bit of BASIC code. It then remained to do some ROM disassembly work and wire up the serial ports, before some ROM patching with the Apple ][ as an EPROM programmer to finally access the machine’s debugger.
The 6809 is famous as the brains of Radio Shack’s CoCo and the Dragon computers, but this isn’t the first time we’ve seen it in an SBC.
Vintage parts may be documented, but that doesn’t mean they’re particularly useful or accessible. If the phrase “eyestrain from unsearchable, badly-scanned PDF datasheets” makes your lower eyelid twitch in sympathy, read on.
While [Bald Engineer] was researching how he might make a portable Apple II, he was delighted to find that the vintage components he needed to examine were documented. However, he became frustrated with the seemingly endless number of poor quality PDF scans and the inability to search effectively. He decided to re-create the entire Apple IIgs schematic in KiCad, and in the process the Bit Preserve project was born. The goal is to act as a safe haven for modern and editable versions of vintage electronic schematics. The GitHub repository can be found here.
[Bald Engineer] talks a bit about his Apple II project, as well as the ideas behind the Bit Preserve project in his KiCon 2019 talk “Preserving History with KiCad”. KiCon was wild, and we have loads of photos of the projects and details so be sure to check it out.
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.
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”
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”