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.

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 it'll do.)

For best results, open the .SHK archives with CiderPress.

File converters

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:

undoes the 6-bit "executioner" format
undoes the apple2 monitor format
view and extract from Binary ][ archives
unsqueeze squeezed files (created by sq3 or extracted from Binary ][ or ShrinkIt archives)
view and extract from binscii files


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.


Misc applications

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 be 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.


Misc sources

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).


Name: AmperQD
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.