MCPcopy Index your code
hub / github.com/AppleWin/AppleWin

github.com/AppleWin/AppleWin @v1.32.0.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.32.0.0 ↗ · + Follow
3,752 symbols 8,988 edges 274 files 1,016 documented · 27%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

AppleWin

Apple II emulator for Windows

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)
  • No Slot Clock (NSC)
  • Game I/O Connector copy protection dongles

Running

Download latest (stable) release: AppleWin v1.30.21.0

Release Notes: v1.30.21.0

Building

To compile for Windows from source see:

Debugging

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.

Unofficial Ports

These ports will allow you to build and run AppleWin on other platforms:

Contributing

Please see the CONTRIBUTING document before raising new bugs, features and especially PRs (Pull Requests).

Next Version

Experimental build: pending

Please report new issues

Previous Versions

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

Core symbols most depended-on inside this repo

DebuggerGetColor
called by 215
source/Debugger/Debugger_Color.cpp
LogFileOutput
called by 204
source/Log.cpp
LoadUint
called by 199
source/YamlHelper.cpp
ConsoleBufferPush
called by 186
source/Debugger/Debugger_Console.cpp
ConsolePrintFormat
called by 177
source/Debugger/Debugger_Console.h
DebuggerSetColorFG
called by 150
source/Debugger/Debugger_Display.cpp
LogOutput
called by 126
source/Log.cpp
StrFormat
called by 124
source/StrFormat.cpp

Shape

Function 1,874
Method 1,405
Class 342
Enum 131

Languages

C++85%
C13%
TypeScript2%

Modules by API surface

source/Debugger/Debug.cpp302 symbols
source/DiskImageHelper.cpp140 symbols
source/Memory.cpp106 symbols
source/NTSC.cpp90 symbols
source/Disk.cpp88 symbols
source/Debugger/Debugger_Display.cpp75 symbols
source/Uthernet2.cpp71 symbols
libyaml/doc/html/jquery.js65 symbols
source/Windows/WinFrame.cpp63 symbols
source/DiskImageHelper.h63 symbols
source/Debugger/Debugger_Types.h58 symbols
source/Mockingboard.cpp54 symbols

For agents

$ claude mcp add AppleWin \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact