Apple II Files
Home ] Up ] [ Apple II Files ] Netrek Files ] Misc 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.)


File converters

Name: NuLib v3.25 (source code)
File: nulib325.tar.gz Size: 114K
Author: Andy McFadden Written: 1989 - 1993
Summary: File archiver for ShrinkIt (.SHK) archives
Description:

A full-fledged archive program, with most of the capabilities you'll find in a program like PKZIP.  It's not especially fast or pretty; it's claim to fame is that it works with NuFX archives, like those created by ShrinkIt on the Apple II.

The source code is pretty abysmal, but Devin Reade managed to clean it up quite a bit, so v3.25 will compile on nearly anything if you mess with it enough.

For a much better program, get NuLib2 from http://www.nulib.com/.  Older versions of NuLib and several ShrinkIt-related Apple II utilities are available there as well.

 

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
Description:

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
Description:

Five different C programs, simple enough that they should work on just about anything:

unbit
undoes the 6-bit executioner format
unexec
undoes the apple2 monitor format
unblu
view and extract from Binary ][ archives
usq
unsqueeze squeezed files (created by sq3 or extracted from Binary ][ or ShrinkIt archives)
sciibin
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
Description:

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
Description:

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.

 


HardPressed

Name: HardPressed™ v1.0.2
File: hp102dsk.shk Size: 577K
Author: Andy McFadden Written: June 1993
Summary: System-level file compression
Description:

HardPressed is a commercial data compression product for the Apple IIgs.  Because the Apple II product line was being phased out, the market for IIgs products was collapsing in a big way around the time this was released.  It sold a little over 1000 copies.

HP's main feature was expanding files when they were opened and compressing them when they were modified and closed.  This was largely invisible to the user.  Sub-features included dynamically loadable compression modules that could be chained together (RLE + LZW works better and faster on some types of files than just plain LZW), profiles that determined which algorithms were used for which files, manual access to compression and expansion though a "Finder extension", file write caching, and best of all, it was tolerably fast on a 2.5MHz Apple IIgs.

With an accelerator card, LZSS compression just about broke even when reading files from an AppleDisk 3.5 (the increase in CPU time was offset by the decrease in disk load time).  A reasonable HP installation could fit on a System 6.0/6.0.1 disk if you compressed some of the files, and the time to boot was about the same.

I don't know if this will be of interest to the Apple II emulator crowd -- CPUs are getting faster, but disks are expanding at a tremendous rate -- but here it is.

There is no support available for this product.  The publisher has asked that their name and phone number be removed from the product to avoid people calling their tech support line.  You are on your own.

 

Name: HardPressed Documentation
File: hpdocs.zip Size: 250K
Author: WestCode Software Written: Jun 1993
Summary: HardPresed manual in PDF format
Description:

Jeff Jungblut sent me the original Mac FrameMaker documents and a PDF conversion.  The PDF is pretty good; the only glitch is the wrong font in chapter title pages.  The ZIP archive has the PDF, which you can view online or print with an Adobe Acrobat reader.

There is also a rough draft I sent to the publisher three months before the product shipped.  It was written a few months before the product shipped, by me, so it's neither accurate nor entirely coherent.  It does have the advantage of being only 48K and entirely in ASCII text.

 

Name: Simple PRofile Editor
File: spre.shk Size: 17K
Author: Andy McFadden Written: September 1993
Summary: Edits HardPressed(tm) compression profiles
Description:

You could tell HardPressed what sort of compression to use based on the file type. There were some generic profiles that came with the product (faster/normal/slower, with worse/normal/better compression), but some people wanted to create their own.

Unlike the rest of HardPressed, his has always been freeware.

 

Name: HardPressed RunTime
File: hprt.shk Size: 43K
Author: Andy McFadden Written: May 1994
Summary: Expand-only subset of HardPressed
Description:

This was an attempt to promote HardPressed by providing a simple file that could be included with other software (such as an on-disk magazine).  Including a single file in the system setup directory enabled transparent expansion of LZSS-compressed files.

This also served as a demo version of HP.  I posted this and a second archive with some HP-compressed files, so that people could get a feel for how the program worked.

 

Name: HardPressed source code
File: hpsource.shk Size: 4.2M (!)
Author: Andy McFadden Written: Feb 1992 - May 1994
Summary: Expand-only subset of HardPressed
Description:

This archive contains the complete source code to HardPressed v1.0, v1.0.1, v1.0.2, v2.0d1 (unreleased), and HPRT.  I've deleted most of the object files, but left in all of the "scraps" that accumulate as products are developed.

The code retains the original copyright, but may be distributed freely so long as the HPSrcReadMe.txt file is included.

A tidbit available separately: hpstate.asm shows how to turn HP on and off from within your own applications.

 


Misc applications

Name: ProDOS RDOS (with source)
File: rdos11.shk Size: 53K
Author: Andy McFadden Written: November 1991
Summary: Cracks old SSI Apple II games
Description:

This is version 1.1 of the RDOS to ProDOS converter. It automatically converts files from RDOS disks (in DOS 3.2, DOS 3.3, and cracked DOS 3.3 formats) to ProDOS. This also includes the ProDOS-based RDOS interpreter, which handles all the '&' commands just like the original RDOS operating system did, so once you convert the files you can run them.  Source code is included (ProDOS 8 Merlin assembler, which uses text with the high bit set).

You may have to do some minimal filename changes to the programs, but for the most part it's automatic. Instructions for converting certain games (including removal of copy protection) are included. There were a series of articles by Evin Mulron in COMPUTIST on cracking the games; looks like a copy of it is here.

The rdos1.1.shk archive has some documents in AWP (AppleWorks Word Processor) format.  If you have trouble reading these, grab a copy of awp2txt (near the top of this page).  You'll need to compile it, which should be trivial on just about any ANSI C compiler. Alternatively, if you're running Windows, open the archive with CiderPress (which can also open RDOS disk images).

The advantage this has over some of the other methods used to make SSI games available for Apple II emulators is that this results in programs that run on a standard ProDOS filesystem.  You don't need emulated "save game" disks, because the files are written like any other ProDOS file.

I also worked on a version that would work with SSI games using all 64K of memory.  It worked by swapping ProDOS in and out whenever an RDOS command was issued.  It only worked on a IIgs, but seemed to do the trick.  I never finished it, but you can get sources for alpha-3 and alpha-4.

A modified version of RDOS, called RDOS Plus, can be found floating around on the web.

Scans of the original COMPUTIST article can be found here.

To break the SSG games (Germany 1985, Reach for the Stars, etc), you need a separate program (RKCrack).  See below.

 

Name: RKCrack (with source)
File: rkcrack.shk Size: 14K
Author: Andy McFadden Written: June 1989
Summary: Cracks old SSI/SSG games by Roger Keating
Description:

This archive contains everything you need to convert and run certain SSG games under ProDOS. Complete docs and source code are included in the archive.

Tested games include Germany 1985, RDF 1985, Baltic 1985, Norway 1985, and the original Reach for the Stars.

Side note: it looks like RDF 1985 has a problem with its icons. To fix the problem, run Germany 1985 first. I guess that some part of memory isn't getting initialized; it's possible that the original "operating system" zeroed memory when it started up, and RDF depended on it. I may look into it later on; for now, just run Germany first. You can still play the game, but if you just crank it up everything looks like a troop transport or an air strike marker.

 

Name: Zippy v1.1 (with source)
File: zippy11.shk Size: 16K
Author: Andy McFadden Written: December 1991
Summary: P8 ZipGS control program
Description:

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: AppleTrek
File: appletrek.shk Size: 11K
Author: W. Sander Written: November 1978
Summary: Classic Apple II Star Trek game
Description:

This is the classic Star Trek game where you flop around in 8x8 quadrants while flinging photon torpedoes at Klingons (and the occasional inconvenient star).  I thought this was the greatest game ever written when I first got into Apple IIs.

Getting it to run can be tricky, since it's written in Integer BASIC.  If you can convince the old DOS 3.3 System Master to boot, and get AppleTrek copied onto a DOS 3.3 disk, you're home free.  Somebody asked me to also post it in source form (20K), but be aware that there is a small blob of assembly language code glommed onto the end that has a sound routine in it (and possibly other stuff too).

 

Name: The Icon Construction Set (with source)
File: ics.zip Size: 134K
Author: Andy McFadden Written: June 1986
Summary: Add icons to Applesoft programs
Description:

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 looks surprisingly good, 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 Size: 54K
Author: Andy McFadden Written: July 1987
Summary: Unfinished set of utilities for D&D stuff
Description:

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, 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: "Hacking Data Compression" course
File: hcomp.shk Size: 680K
Author: Andy McFadden Written: October 1992 - July 1993
Summary: 12-part course on data compression, with sample source code for the Apple IIgs
Description:

This is a 12-part course I did for the "Apple II University" on GEnie, back when GEnie was a major online service.

The SHK file contains twelve SHK files, one per lesson.  You can find the lesson text here.

The lesson files are plain ASCII text.  The sample code is (usually) in both C and 65816 assembly.  The C code should work on most platforms, and the explanations of compression theory and the algorithms should apply no matter what platform you're on.

 

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
Description:

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 implementation in 65816 assembly
File: line.txt Size: 10K
Author: FTA Written: 1991
Summary: The line drawing algorithm used in Arc3D
Description:

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.

I haven't tried implementing Abrash's variant, but I suspect it wouldn't do much (if any) better because of the limited number of registers.

 

Name: Fast hi-res drawing in 6502 assembly
File: fdraw.zip Size: 69K
Author: Andy McFadden Written: March 2006
Summary: Fast screen fills, rectangles, and circles for any Apple II
Description:

For some reason I've always wanted to draw circles quickly in assembly language.  Possibly I was influenced by a particular sequence in the game Horizon V.  Whatever the case, this disk image contains some 6502 assembly code and some demonstrations of fast graphics routines, including a very fast full-screen erase and a reasonably well optimized filled circle renderer.

This is version 0.2, which has a rearranged API and the start of outline drawing modes.

 

Name: SWEET 16 interpreter
File: sweet16.txt Size: 48K
Author: Steve Wozniak Written: 1977
Summary: A piece of Apple II history
Description:

Somebody posted a few articles (mostly by Woz, with one by Dick Sedgewick) that originally appeared in Byte magazine many years ago.  It's 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.

 


Updated Tuesday, April 17, 2007