This page is a wiki. Please login or create an account to begin editing.

Sim6502 (Apple I emulator)

No votes yet
Year released:
[www].se [ftp].se [mirror].us
sim6502.sit_.hqx (162.84 KB)
For System 7.0 - 7.6

Sim6502 is a rudimentary Apple I emulator for 68K and PPC Macs. The Apple I was originally built by Steve Wozniak in 1975 and was the machine that launched Apple Computers, Inc. It was the forerunner to the much more widely produced Apple II.

This emulator is probably more a curiosity than a serious way to experience the Apple I. The behavior and appearance of the terminal is a recognizable approximation of an actual unit but overall this looks like a somewhat low accuracy emulator. It's still interesting and worth preserving for its historical context but if you are just looking to experience the Apple 1 itself then a more recent emulator is a better choice. As of this writing the best available is probably the JavaScript-based Apple 1js.

The original "monitor" ROM which provides the Apple I's basic IO capabilities (the "\" prompt) is bundled in the archive along with a small test program from the original Apple I manual. Both of these run okay (the monitor is started automatically by the emulator) but one or more bugs in the emulation of the CPU make running other common titles difficult or impossible. The cassette interface (ACI) card and ROM are not emulated but blocks of RAM can be read in and out files from the File menu.

The BASIC interpreter is also missing and when loaded from an available copy it fails to operate properly. The BASIC prompt (">") appears and accepts input but every command is met with an incorrect and usually unrelated error message. This is the result of certain 6502 CPU instructions behaving incorrectly in this emulator.

Although the monitor operates correctly it has trouble executing code located outside of the "zero page" of memory. This is likely due to the emulator not correctly implementing the 6502 indirect-jump instruction.

The following "hello" program can be entered into memory at address $0300 using the monitor by typing the following:

0300: A2 00 BD 13 03 C9 00 F0 07 20 EF FF E8 4C 02 03 4C 1F FF 8D 48 45 4C 4C 4F 20 57 4F 52 4C 44 A1 00

It should then be possible to run the program by typing "300R" to execute the code starting at $0300 but this crashes and the emulated CPU just restarts again presenting the monitor prompt ("\"). Indirectly jumping to addresses above the lowest page of memory don't seem to work but this can be worked around by putting code in the lowest page that will jump to the program and then indirectly jumping to that low address instead. Type the following to enter and execute a direct jump to $0300 at $0000 and execute it:

0000: 4C 00 03 R

Doing this causes the program entered at $0300 to execute but this is only necessary because the emulator is broken. On a real Apple 1 or any correctly functioning emulator it would be possible to jump to the code at $0300 using the monitor without the stub at $0000.

This copy is version 0.1d and appears to be the last (and only?) release. It seems to run on System 7 and later. The original point of origin is not clear but as of this writing identical copies are all available for download from the following URLs:

Some other Apple I resources:

MD5: 070FC9BBE4356C794BE37F8771B8ABB0 sim6502.sit.hqx
SHA1: 8AD5813DFE5F2A1DC41888A2D6C805CB63EFCA22 sim6502.sit.hqx

Architecture: 68k PPC


BootSector's picture
by BootSector - 2019, October 22 - 3:31am

Sim6502 is interesting because is runs on classic Macs but it has lots of issues. If you just want to experience the Apple I your best bet is currently Apple 1js right in your browser.

It much more accurately recreates the terminal interface and the keyboard layout. It also has a lot of software titles built-in that can be loaded from a menu right in the emulator. Select the software to run and the emulator loads it automatically through an emulated cassette interface card (ACI).

Jatoba's picture
by Jatoba - 2019, October 21 - 4:53pm

Thank you! Is there a place for non-game Apple II/IIgs software and for Apple I software, too?

Edit: Nevermind, just saw the links in the description have plenty of Apple I software.

IIGS_User's picture
by IIGS_User - 2019, October 21 - 4:32pm

Virtual Apple 2 - Online disk archive

Jatoba's picture
by Jatoba - 2019, October 21 - 6:57am

Really cool! Smile It'd be great to see a complete archival of Apple I (& II) software somewhere.