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
|