Misc Apple II Files
These files run on or relate to the Apple II series of computers. Some will be of interest to people running Apple II emulators, others are here because of their nostalgia value.
All programs are copyrighted freeware unless otherwise mentioned.
- File converters
- Misc Applications
- Misc Sources
Some of the source code is in ProDOS 8 Merlin format, which uses carriage returns at
the ends of lines (like most Apple II stuff) and has the high bit set (like DOS 3.3 text
files, but not ProDOS text files). If you're running UNIX, you can convert the files
into something readable with
tr '\200-\377' '\000-\177' < source.s |tr '\015'
'\012' > converted.s. (There may be a more clever way to do that, but
For best results, open the .SHK archives with CiderPress.
|Name: YankIt v1.21, with source|
|File: yanksrc.shk||Size: 88K|
|Author: Andy McFadden||Written: September 1992|
|Summary: IIgs shell command for extracting from ShrinkIt archives|
Like NuLib, this is a shell command that allows you to work with ShrinkIt archives. Unlike NuLib, it only knows how to extract files, and it was written in assembly language for speed. It only runs on the IIgs.
The archive includes the 65816 assembly source and executable. There is a bug in the extraction routines that will cause it to fail on certain files; see the notes in shk.asm for details.
|Name: unbit, unexec, unblu, usq, and sciibin (source code)|
|File: undoit.zip||Size: 20K|
|Author: Marcel J.E. Mol||Written: September 1989|
|Summary: Unpack various Apple II encoding methods|
Five different C programs, simple enough that they should work on just about anything:
|Name: upaaf (source code)|
|File: upaaf.c||Size: 5K|
|Author: Jonathan A. Chandross||Written: September 1989|
|Summary: Unpack a file in Apple Archive Format|
Jonathan Chandross was the moderator for comp.sources.apple2. AAF was the format used for postings to that group.
|Name: AWP to text (source code)|
|File: Awp2txt.c||Size: 9K|
|Author: Andy McFadden||Written: June 1998|
|Summary: Convert AppleWorks word processor file to text|
I threw this together to do a trivial conversion of AppleWorks word processor documents. The output is similar to what you would see on the screen if you fired up AppleWorks 3.x. Fancy stuff like double spacing and margin changes are simply ignored. The AWP-to-RTF converter in CiderPress generates nicer output.
|Name: Zippy v1.1 (with source)|
|File: zippy11.shk||Size: 16K|
|Author: Andy McFadden||Written: December 1991|
|Summary: P8 ZipGS control program|
The ZipGS was a popular accelerator card for the Apple IIgs. With an 8MHz card, you could get an overall improvement of about 2x. If you wanted to deactivate the acceleration or twiddle features like the joystick delay, you had to boot into GS/OS to run their application. I didn't like that much, so I threw this together.
One of the cool things about it is the user interface, which changes the text and background color registers when the scan line reaches certain points. This gives you more than one text color on the text screen simultaneously. It flashes badly if you have quarter-second AppleTalk interrupts enabled, but then nothing's perfect. :-)
Source code is included. This program is in the public domain.
|Name: The Icon Construction Set (with source)|
|File: ics.zip (Apple II disk images)||Size: 134K|
|Author: Andy McFadden||Written: June 1986|
|Summary: Add icons to Applesoft programs|
This was my first attempt at commercial software, written while I was in high school. The program was completed, but never sold. It allows you to place icons on the hi-res graphics screen, and handles all aspects of controlling the mouse cursor, selecting buttons, and so on. It came out reasonably well, all things considered.
There are three "2mg" disks in the archive. "icsdos" is the DOS 3.3 version, while "icspro1" and "icspro2" are the ProDOS version. Documentation and demonstration programs are included.
Bear in mind that this was written before the IIgs shipped, at a time when mice and Apple IIs weren't often connected to each other. The mouse pointer is moved with the joystick, either in self-centering joystick mode (push left, the cursor slides left, at increasing speed the farther you push) or "paddle" mode (the cursor chases the exact position of the joystick). If I recall correctly, the cursor can be either reverse video or white with a black border (I figured out the AND mask stuff after seeing a magazine ad for the Mac).
|Name: AD&D Utilities (with source)|
|File: dndutils.zip (Apple II disk image)||Size: 54K|
|Author: Andy McFadden||Written: July 1987|
|Summary: Unfinished set of utilities for D&D stuff|
For some reason I took it upon myself to write a decent set of AD&D utilities. This bunch provides for character generation, outfitting, and printing, though it looks like the printing wasn't quite finished and the character utilities were never started (to the point of being dangerous... don't use them).
This probably won't be of much use to D&D fans -- I'm not even sure what rule set this was coded against -- but it does demonstrate the use of ProDOS VAR files and "MouseText" interfaces in Applesoft BASIC.
The ZIP file contains a single "2mg" disk image.
|Name: Arc3D library and sample code|
|File: arc3d.shk||Size: 652K|
|Author: Andy McFadden||Written: July 1991|
|Summary: Fast wireframe 3D library, with two example programs|
The Arc3D library was meant to be a graphics engine for arcade games on the Apple IIgs. I never did build a game out of it, but the Not Modulae and Not Stellar 7 demos show what I accomplished.
The archive includes the library, documentation, demos, and sample source. I don't have plans to release the library source code at this time.
|Name: Fast Bresenham line implementation in 65816 assembly|
|File: line.txt||Size: 10K|
|Author: FTA||Written: 1991|
|Summary: The line drawing algorithm used in Arc3D|
This draws lines on the SHR screen in 320 mode.
Oddly enough, there were actually two of us working on fast 3D libraries at the same time. The other guys had pulled the line drawing code out of an FTA (Free Tools Association - a bunch of hackers in France) demo, so I went ahead and pulled it out of their code. Turned out to be much faster than mine.
This uses the standard run-length algorithm, not the run-slice variant (which would probably do quite well).
|File: AmperQD.shk||Size: 6K|
|Author: Andy McFadden||Written: June 1988|
|Summary: Draw on the super hi-res screen from Applesoft, with ampersand commands|
This is a set of routines that turns ampersand commands (e.g. "&HGR") into QuickDraw toolbox calls. Using the //gs toolbox from Applesoft BASIC isn't a great idea, so this isn't the most reliable approach. This originally appeared in COMPUTIST issue #60.
Merlin-16 source code and some brief documentation is included.
|Name: SWEET 16 interpreter|
|File: sweet16.txt||Size: 48K|
|Author: Steve Wozniak||Written: 1977|
|Summary: A piece of Apple II history|
Somebody posted a few articles (mostly by Woz, with one by Dick Sedgewick) that originally appeared in Byte magazine many years ago. I collected them here.
Sweet16 is an interpreted language that looks and feels like assembly on a 16-bit machine with 16 registers. 6502 source code for the (tiny!) interpreter is included.