The erc (emulator of retro computers) system is designed to emulate an Apple IIe (enhanced) computer and run software for it. It is written to be flexible enough to handle multiple machine architectures, and may be extended to do just that in the future.
It's a rewrite of an older project (https://github.com/pevans/erc-c), by the same name, that was written in C code. This project is instead written in Go, which has much better tooling for code formatting and testing--something that I felt was lacking in the previous iteration. I also just really like Go! I regret nothing.
The soul of the work here, which is emulation of the Apple II, has been a hobby of mine going back more than a decade. I am enormously grateful to Rodney Zaks for his book Programming the 6502, Jim Sather for his work Understanding the Apple II, Apple--beyond building the machine, they published a wealth of technical reference material for it--and, of course, Steve Wozniak, without whom the Apple II and Apple-as-we-know-it would not exist.
What's in here?
- The main command (erc) is located in the
- Code for the MOS 65c02 processor is in
- Code for the Apple II architecture is in
- There's random other code for things generally within the
What can I do here?
- Build the executable
- Run the thing immediately by running
make run DSK=somerom.
- Install tools for linting and testing with
make tools. (Note: the tool installation currently makes an obnoxious assumption that you have access to brew, and thereby that you use macOS.)
- Run various tests, including:
make lintfor linting
make testfor unit tests
make coverageto see test coverage