AppleWin is a fully-featured emulator supporting different Apple II models and clones. A variety of peripheral cards and video display modes are supported (eg. NTSC, RGB); and there's an extensive built-in symbolic debugger.
Apple II models supported include:
- II (original)
- II Plus
- //e (original)
- //e (enhanced)
- Various clones (Pravets, TK3000, Base 64)
There is currently no support for the //c, //c+, Laser 128, Laser 128EX, Laser 128EX2, or Apple IIgs.
Peripheral cards and add-on hardware supported:
- Mockingboard, Phasor and SAM sound cards
- Disk II interface for floppy disk drives
- Hard disk controller
- Super Serial Card (SSC)
- Parallel printer card
- Mouse interface
- Apple IIe Extended 80-Column Text Card and RamWorks III (8MB)
- RGB cards: Apple's Extended 80-Column Text/AppleColor Adaptor Card and 'Le Chat Mauve' Féline.
- CP/M SoftCard
- Uthernet I and II (ethernet cards)
- Language Card and Saturn 64/128K for Apple II/II Plus (and Saturn 128K for any Apple II in any slot)
- 4Play and SNES MAX joystick cards
- VidHD card (functionality limited to IIgs' Super Hi-Res video modes)
- Commander X16 VERA card (slot 2 or 4): 640×480 VGA/NTSC graphics, 2 layers, 128 sprites, 256-colour palette, 16-channel PSG + PCM audio, SD card (SPI), IRQ
- No Slot Clock (NSC)
- Game I/O Connector copy protection dongles
The VERA expansion card (port of apple2ts's TypeScript VERA) is installed in
slot 2 or 4 (-s2 vera / -s4 vera). It provides a 640×480 VGA/NTSC
graphics core (2 layers, 128 sprites, 256-colour palette), a 16-channel PSG +
PCM audio core, an SD card (SPI) storage interface, and an IRQ line.
Behaviour:
- Dual screen — when the VERA video output is disabled the Apple II
(NTSC) image is shown; the VERA framebuffer is only painted when the software
enables VERA video output (
IsVideoOutputEnabled). This lets VERA software switch between the Apple II screen and the VERA 640×480 display. - Audio — the VERA audio is self-contained (it does not borrow the
Mockingboard/SSI263 audio model).
UpdateSound()is driven directly by the DS play cursor so the write rate exactly tracks real-time playback — no drift, no periodic glitch. The DS ring buffer is ~3 frames (~50 ms) with a 1/2-buffer lead. - SD Card (SPI) — emulates the SD/MMC SPI interface on
$Cs1E(SD_DATA) and$Cs1F(SD_STATUS), supporting raw 512-byte block images (e.g. FAT32). Images can be mounted/unmounted via theConfiguration -> Slots -> VERA -> Configure...dialog and persist in the per-slot registry configuration. - Diagnostics — on a stall (emulator hang) the DS buffer is flushed so no
lingering audio survives. Heartbeat + unhandled-exception info is written to
VERA.lognext to the exe (independent of the-logAppleWin.log).
Download latest (stable) release: AppleWin v1.31.0.0
Release Notes: v1.31.0.0
To compile for Windows from source see:
If you are experencing a system-wide input unresponsiveness when debugging under MSVC 2022 then use the command-line argument -no-hook-system-key to prevent an input thread for system keys. See g_bHookSystemKey, HookFilter::HookFilterForKeyboard() and HookFilter::HookThread().
Alternative work arounds include:
- Debug with MSVC 2026,
- Debug with MSVC 2019, or
- Manually use the older v5.01 Windows Common Controls.
These ports will allow you to build and run AppleWin on other platforms:
Please see the CONTRIBUTING document before raising new bugs, features and especially PRs (Pull Requests).
Experimental build: pending
Please report new issues
Last version supporting Windows XP: AppleWin v1.30.21.0
Last version supporting Windows 2000: AppleWin v1.29.16.0
Last version supporting Windows 98/ME: AppleWin v1.25.0.4