mirror of
https://github.com/st3fan/ewm.git
synced 2026-04-21 23:16:37 +00:00
4ad5d458f96e4f607099f26c02b055077385a468
Replace the 2-bit pairing approach with per-pixel rendering to eliminate color artifacts at edges. The new implementation processes each pixel individually, uses each byte's own high bit for palette selection, and properly detects adjacent pixels for white rendering. Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
Emulated Woz Machine
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.
Goals & Status
Here are some of the things I want to accomplish for each emulated machine:
CPU Emulator
6502 support65C02 supportTracing facility- Debugger
- Speed throttling
Apple 1
8K / 6502 / Classic ROM
Terminal based emulationClassic display emulation (SDL based)- Cassette interface
Replica 1
32K / 65C02 / KRUSADER ROM
Terminal based emulationClassic display emulation (SDL based)- Cassette interface
- CFFA1 Support
Apple ][+
48K / 6502
Basic Apple ][+ architecture implementation - In progressDisk II emulation - In progressDisplay Emulation - 40 Column modeDisplay Emulation - Low resolution graphicsApple Language CardJoystick 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
Languages
C
95%
Lua
1.8%
Makefile
1.5%
Assembly
1.4%
CMake
0.3%
