[Skip top navbar]
Andrew Gregory's Web Pages
See also: Java Applet Apple 2 Emulator. (By the way, on these pages 'Apple 2' should probably be 'Apple II', but since I support the Web Accessibility Initiative I decided to use the former instead of the latter.)
I've made my emulator available primarily to allow folks to have a look at the source code, as frequently emulators do not include their source. If you're wanting an emulator that's actually useful, especially under Windows, I'd recommend downloading AppleWin (see the links below, you want the "applewin95complete.zip" file). AppleWin spends several minutes performing a calibration when first run. Let it do that, then read its included help file for instructions.
My very first computer was an Apple 2e. From 1984 to 1990 I learnt to program in Applesoft BASIC and 6502 machine code. (I played lots of games too ).
In 1989 at university, I started using IBM PCs. The programming was much easier and friendlier on the PCs, first with Turbo Pascal, then with Turbo C. Turbo C converted me to the PC and I was using my old Apple less and less.
This emulator was mostly written between 1993 and 1995. Since then, little has been done apart from minor tweaks. It is still not complete. Although it does quite a bit, I would still like it to do the 80-column card and extended 64K properly, plus emulate the IOU and MMU chips (so it passes the Enhanced IIe self-test).
/RAMvolume and ProDOS will crash.
Download appleemu.zip (651K) and un-zip using
folder/directory names. This is a raw directory dump from my hard drive. It
includes a working emulator and a
mass-storage disk image (
PRODOS1.DSK). Full source code is
included, plus project files for Borland C++ 3. I am releasing all my source
code into the public domain.
Archive directory structure:
APPLEEMU- Main source code and executable directory. Required files:
APPLE.ROM- A ROM image from a real Apple
CHARSET.BIN- Authentic text character set
CENTRONI.ROM- Parallel Interface Controller ROM (for printer port)
MASSSTOR.ROM- ProDOS mass-storage (32MB) device ROM
DISK.ROM- Disk 2 floppy controller ROM
CLOCK.ROM- Clock card ROM
APPLEEMU\A2I- Some Apple <--> IBM communications code.
APPLEEMU\DOC- Miscellaneous documentation.
APPLEEMU\ROMS- Miscellaneous ROM images.
APPLEEMU\TASM280- 6502 cross-assembler. This directory has the source code for the ROM firmware for my home-made mass-storage and clock card devices.
APPLEEMU\TMP- Old video code? I don't really know what this is!
APPLEEMU\UTIL- The startings of a utility to manage files inside disk images.
Ignore references to my home address of "14 Whittington Avenue..." - I haven't lived there for years! Email me instead.
Start the emulator by running
APPLE.EXE. Since there are no
DISK6B.DSK disk images (for slot 6,
drives 1 and 2 respectively), the emulator will just hang there. Press
Ctrl-F12 to reset it (same as pressing Reset or
Ctrl-Reset on a real Apple). The emulator will stop. Enter
PR#5 to start up the mass-storage device.
ProDOS will load.
Check out the slot allocations and date/time settings. When you're done, press
F1 or Alt-SysRq to quit.
Copy your own disk images to