Files
ewm/README.md
Stefan ArentzandClaude Fable 5 4b0b44a439 Phase 0: Rust workspace scaffolding + CI
Adds the parallel Rust workspace under rust/ per REWRITE.md:
- ewm-core (headless lib, zero dependencies) and ewm (binary,
  declares sdl2 now so CI installs SDL2 headers from day one;
  prints the same usage line as the C binary)
- rust-toolchain.toml pinning 1.91.1 with rustfmt + clippy
- GitHub Actions CI: C build job (ubuntu + libsdl2-dev) and Rust
  job (fmt --check, clippy -D warnings, test)
- Anchor the 'ewm' gitignore pattern to src/ so rust/ewm is tracked;
  ignore rust/target/
- README note pointing at REWRITE.md

The C tree in src/ is untouched.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-05 08:36:36 -04:00

2.0 KiB

Emulated Woz Machine

Build Status

Introduction

Two years ago between christmas and new year I wrote a tiny and incomplete 6502 emulator and turned it into an original Apple 1 emulator. It was a fun and nostalgic project to work on. I grew up with the Apple II and never had a change to see an Apple 1 in action.

A few weeks ago I decided to pick this project up again. I am extremely motivated to turn this into a high quality emulator that supports the Apple 1, Replica 1, Apple ][+ and Apple IIe. Some of that work is really close to being finished, other work will take many months of spare time hacking.

Note: A Rust rewrite is in progress; see REWRITE.md. The C build below remains the primary build until the rewrite completes.

Goals & Status

Here are some of the things I want to accomplish for each emulated machine:

CPU Emulator

  • 6502 support
  • 65C02 support
  • Tracing facility
  • Debugger
  • Speed throttling

Apple 1

8K / 6502 / Classic ROM

  • Terminal based emulation
  • Classic display emulation (SDL based)
  • Cassette interface

Replica 1

32K / 65C02 / KRUSADER ROM

  • Terminal based emulation
  • Classic display emulation (SDL based)
  • Cassette interface
  • CFFA1 Support

Apple ][+

48K / 6502

  • Basic Apple ][+ architecture implementation - In progress
  • Disk II emulation - In progress
  • Display Emulation - 40 Column mode
  • Display Emulation - Low resolution graphics
  • Apple Language Card
  • Joystick Support
  • Audio Support
  • Display Emulation - High resolution graphics - Mostly works.

Building the emulator

cd src
make

Running the emulator

From the command line:

./src/ewm two --color --drive1 disks/DOS33-SamplePrograms.dsk