Friday, December 21, 2018

Apple IIe Zero-Spindle Configuration

As of 2018, there are a number of options available for Apple II computers to replace conventional spindle drives. Some of the solutions even provide some sort of network capability. Using these options, you can build a network-based cross development platform for the Apple II.

Currently, the following solid-state storage devices are attached to my Apple IIe:

- Floppy Emu Model B by Big Mess O' Wires

Floppy Emu can be connected directly to the Disk II Interface card.

- Apple II Pi by Dave Schmenk with Raspberry Pi Zero W

Apple II Pi built on a prototype card

Based on these two solid-state storage devices, I am building a cross development environment for the Apple IIe using a Mac and a Raspberry Pi.

My current configuration is like this:

1. Floppy Emu - Slot #6, Drive 1

This is the boot drive. Usually I set the Apple2pi startup disk: A2PI-1.6.PO.

2. Apple II Pi card - Slot #2, Drive 1 and Drive 2

These are the virtual drives hosted by PiDrive running on the Raspberry Pi Zero W.

3. Sound card (under development) - Slot #4

This is the development target. I am writing the driver programs for it.

Slot 2: Apple II Pi, Slot 4: Sound card, Slot 6: Disk II card to Floppy Emu.

So, what are the benefits of this configuration? Many potential benefits can be found, but to me, there are two major things:

1. Apple IIe is connected to the wifi via Raspberry Pi. I don't need to lay a long USB-serial cable from one side of the room (Mac) to the other side (Apple IIe).

2. The virtual drives on Apple II Pi can be unmounted, updated and then re-mounted using PiDrive and AppleCommander.

Note that on Raspberry Pi, you can mount/unmount the virtual drives, using the PiDrive tool commands. These commands can be executed from Mac via ssh.

Once unmounted, those drives are simply disk image files on the Raspberry Pi. If the directory is shared using SMB, you can add any file on the Mac to the disk image files.

Using all of the above, the cross development steps can be totally controlled from Mac:

Step 1. Assemble Apple II program into a bin file (ca65/ld65 - CC65)
Step 2. Write the bin file into a disk image file (ac.sh - AppleCommander)
Step 3. Mount the disk image file on PiDrive (a2setvd - PiDrive/AppleIIPi on Raspberry Pi, command issued from Mac via ssh)

Now everything can be executed from the Mac, it is easy to automate the cross development steps. You can write a GNU Makefile, or any other build script for your development platform (Atom build, for example).