Reconstructing Data From A Corrupt Apple ][ Floppy Disk

Back in 1990 [Benjamin Zotto] wrote – while in elementary school – a dog racing game called Wonderland 2. The BASIC source code and images for the game were stored on a single ProDOS formatted, soft-sectored 5.25″ floppy disk. Fast-forward thirty years to today and [Benjamin] found to his dismay that ProDOS could no longer read the floppy, giving an I/O error. Not deterred, he set about to recover the data, as documented in this Twitter thread.

Applesauce visualization of the patterns on the corrupted disk, with soft-sectoring spiral arms.

The gist of the story is that the floppy disk’s surface could still be scanned with help from the aptly named Applesauce Floppy Drive Controller, which got the following visualization of the magnetic patterns on the disk surface:

This data could then be analyzed sector by sector, with the bad sectors and the cause for ProDOS flaking out with its reading attempts here marked in red.

Checking the data recovered so far confirmed that it was a ProDOS disk. It also confirmed that the sector containing the directory listing was shot. This required diving into the technical reference manual for ProDOS and its filesystem to figure out how to reconstruct the directory layout. This required figuring out the offsets and sizes of the files, assisted by knowing what was likely on the disk, and having some bits and pieces of the original volume listing still intact. This allowed for the directory volume to be rebuilt, one byte at a time.

Sectors on the disk, with bad sectors in red.

At the end of that arduous and highly educational journey success waited, and [Benjamin] was once again able to relive his memories of 1990s BASIC and hand-drawn bitmap graphics.

Apple II Prints Off The Breaking News

These days, we’re alerted to the rise of Bitcoin and the fall of nations via little buzzes from the smartphones in our pocket. Go back fifty years or so and it was all a bit more romantic, with noisy teletype machines delivering hot tips straight to the newsroom for broadcast to the wider public. [Joshua Coleman] wanted a bit of that old fashioned charm, so set up a news printer at home with his old Apple II.

The Apple II in this case isn’t directly connected to the Internet. Instead, it talks to a modern Macintosh, acting as a serial terminal. The Macintosh then connects to a modern BBS that delivers news headlines over Telnet. The Apple II then routes the headlines as they come in to a beautiful Epson LQ-500 dot matrix printer, replete with vintage tractor feed paper. [Joshua] takes the time to highlight just what hardware is required, as well as how to set up the Apple II to redirect the serial output to the printer so the news automatically prints as it comes in.

It’s a fun and noisy way to stay up to date, and you can be sure that if you hear the printer really start going for it, you might want to switch on the TV for more information on just what’s going wrong at the present minute. Old computers may not have the grunt to really hang with the modern net, but they can make a charming interface for it; this SE/30 does a great job with Spotify, as an example. Video after the break.

Continue reading “Apple II Prints Off The Breaking News”

Access An 8-bit Atari Through Twitter

Building a retro computer, or even restoring one, is a great way to understand a lot of the fundamentals of computing. That can take a long time and a lot of energy, though. Luckily, there is a Twitter bot out there that can let you experience an old 8-bit Atari without even needing to spin up an emulator. Just tweet your program to the bot, and it outputs the result.

The bot was built by [Kay Savetz] and accepts programs in five programming languages: Atari BASIC, Turbo-Basic XL, Atari Logo, Atari PILOT, and Atari Assembler/Editor, which was a low-level assembly-type language available on these machines. The bot itself runs on a Raspberry Pi with the Atari 800 emulator, rather than original hardware, presumably because it’s much simpler to get a working network connection on a Pi than on a computer from the 80s. The Pi runs a python script that polls Twitter every two minutes and then hands the code off to the emulator.

[Kay]’s work isn’t limited to just Ataris, though. There’s also an Apple II BASIC bot for all the Apple fans out there that responds to programs written in AppleSoft BASIC. While building your own retro system or emulating one on other hardware is a great exercise, it’s also great that there are tools like these that allow manipulation of retro computers without having to do any of the dirty work ourselves.

Myst ‘Demake’ For The Apple II

Making certain games run on systems which were never designed to run such games (or any games at all) is a favorite hobby of some, with [deater] being no exception. His latest creation involves porting Myst to the Apple II, or ‘demake’ in his own words. This means taking a game that was released in 1993 for MacOS and later for Windows 3.1 and the original PlayStation, and creating a version that works on an 8-bit system from 1977.

Obviously the graphical fidelity has been turned down some compared to the 1990s version, but at this stage much of the game’s levels have been implemented. For anyone who has ever played the game before, much of the visuals will be instantly recognizable. According to [deater], the game should run on any Apple II/II+/IIe, with at least 48 kB of RAM, but 64 kB needed for sound effects. If a Mockingboard sound card is installed, it will even play the intro theme.

On the project page the (currently) three floppy disks can be downloaded, with the source available on Github. While one is there, one can also check out [deater]’s ‘Another World’ port to the Apple II which we covered last year.

Continue reading “Myst ‘Demake’ For The Apple II”

Ingenious Hacks That Brought The Original Prince Of Persia To Life

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”

Another World On The Apple II

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”

Reverse Engineering An Ancient SBC With An Apple ][

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.