Everything the emulator does — from booting your first disk to driving the 65C02
debugger, the virtual printer, and the AI agent. Press F1 inside the
emulator to open this same help at any time.
Section 01
Getting Started
Welcome to the Apple //e Emulator! This web-based emulator faithfully recreates the Apple //e Enhanced computer from 1983, allowing you to run classic Apple II software directly in your browser.
Quick Start
Click the Power button to turn on the emulator
Click on the screen to give it keyboard focus
Insert a disk image using the Insert button on either drive
Type PR#6 and press Return to boot from drive 1
What is the Apple //e?
The Apple //e (Enhanced) was Apple's most popular Apple II model, released in 1983. It featured 128KB of RAM with auxiliary memory, 80-column text display, double hi-res graphics (560x192), and ran thousands of educational, productivity, and entertainment programs.
Emulated Hardware
CPU: 65C02 processor at 1.023 MHz (cycle-accurate)
Memory: 128KB RAM (64KB main + 64KB auxiliary)
Video: All Apple //e display modes including Double Hi-Res
Storage: Two Disk II floppy drives, SmartPort hard drives
Audio: Speaker with accurate timing, Mockingboard (dual AY-3-8910)
Tip: Press F1 at any time to open this help window. All windows can be moved and resized.
Section 02
Install as App
This emulator is a Progressive Web App (PWA) that can be installed on your device for offline use and a native app-like experience.
Chrome / Edge (Desktop)
Click the install icon in the address bar (right side)
Or click the three dots menu (⋮) and select "Install Apple //e Emulator"
Click Install in the dialog
The app will open in its own window and appear in your applications
Chrome (Android)
Tap the three dots menu (⋮)
Select "Add to Home screen" or "Install app"
Tap Install to confirm
The app icon will appear on your home screen
Safari (iOS / macOS)
Tap the Share button (square with arrow)
Scroll down and tap "Add to Home Screen"
Tap Add to confirm
The app will appear on your home screen
Firefox
Firefox supports PWAs on Android. On desktop, you can bookmark the page for quick access, though full PWA installation is not yet supported.
Benefits of Installing
Offline Use: Run the emulator without an internet connection
Own Window: Opens in a dedicated window without browser UI
Quick Access: Launch from your taskbar, dock, or home screen
Auto Updates: Automatically receives updates when online
Full Screen: Better fullscreen experience
Automatic Updates
The emulator automatically checks for updates when you open it while connected to the internet. When a new version is available, you'll see a brief notification and the page will refresh with the latest version.
You can also manually check for updates using the refresh button in the toolbar, which clears the cache and reloads the latest version.
Note: Your saved state, disk images, and settings are preserved across updates.
Section 03
Keyboard Reference
The Apple //e keyboard is mapped to your modern keyboard. Some keys have special mappings to match the original layout.
Basic Keys
Your Keyboard
Apple //e Key
Notes
Enter
Return
Confirm input, run commands
Backspace
Delete
Delete character left
Esc
Escape
Cancel, exit menus
Tab
Tab
Tab character
←→↑↓
Arrow Keys
Cursor movement, game controls
Special Keys
Your Keyboard
Apple //e Key
Notes
Alt (Left)
Open Apple ()
Modifier key, joystick button 0
Alt (Right) / Win
Closed Apple
Modifier key, joystick button 1
Ctrl
Control
Control key modifier
Ctrl+Pause/Break
Reset
Warm reset (Ctrl+Reset)
Control Key Combinations
Combination
Function
Ctrl+C
Break - stop running program
Ctrl+S
Pause output (Ctrl+Q to resume)
Ctrl+G
Bell (beep)
Ctrl+Reset
Warm reset (keeps memory)
Emulator Shortcuts
Shortcut
Function
F1
Open/close this Help window
Ctrl+Escape
Exit full page mode
Ctrl+V
Paste text into emulator
Ctrl+`
Open window switcher
Option+Tab
Cycle to next window
Option+Shift+Tab
Cycle to previous window
Debugger Shortcuts
Shortcut
Function
F5
Run / Continue execution
F10
Step Over (skip subroutine calls)
F11
Step Into (single instruction)
Shift+F11
Step Out (run until current subroutine returns)
Text Selection & Copy
You can select and copy text directly from the emulator screen:
Click and drag on the screen to select text
Selected text is automatically copied when you release the mouse
Use Ctrl+C (or Cmd+C on Mac) while selecting
Paste Support
You can paste text into the emulator using Ctrl+V. The emulator will type the text character by character at the appropriate speed. This is useful for entering BASIC programs.
Section 04
Display Settings
Open from View > Display to access extensive CRT simulation options.
NTSC Fringing: Color fringing on hi-res graphics edges
Resizing the Display
Drag any corner of the monitor frame to resize. The 4:3 aspect ratio is maintained. A lock icon appears when using custom sizing - click it to return to auto-fit mode.
Full Page Mode
Click the fullscreen button for an immersive experience. Press Ctrl+Escape to exit.
Character Set
Toggle between US and UK character sets using the switch in the screen window header. The UK set replaces some symbols with British variants.
Section 05
Disk Drives
The emulator includes two Disk II floppy drives, just like a real Apple //e system. Open from View > Disk Drives.
Supported Formats
.DSKDOS 3.3 sector order (140KB)
.DODOS order (same as .DSK)
.POProDOS sector order (140KB)
.WOZWOZ format with copy protection
Drive Controls
Insert: Load a disk image from your computer
Recent: Quick access to recently used disks (per drive)
Blank: Create a new formatted blank disk
Eject: Remove the disk (prompts to save if modified)
Browse: Open the file explorer to view disk contents
Drive Information
Filename: Shown on the drive (scrolls if long)
Track: Current head position (T00-T34)
LED: Glows when drive is active
Drag and Drop
You can drag disk image files directly onto a drive to insert them.
Booting from Disk
Type PR#6 and press Return to boot from Drive 1
Or use the Reboot button for a cold boot
Many games auto-boot when inserted and the machine is reset
Saving Modified Disks
When you eject a disk that has been modified, you'll be prompted to save it. You can also use the File Explorer to export disks.
Disk Persistence
Disk contents are automatically saved in your browser's storage. When you return to the emulator, your disks will be exactly as you left them.
Tip: The Recent disks list is maintained separately for each drive, making it easy to quickly swap disks for multi-disk software.
Section 06
SmartPort Drives
The emulator supports SmartPort hard drive emulation, providing high-capacity storage. Open from View > SmartPort Drives.
Supported Formats
.HDVHard disk volume image
.POProDOS order image
.2MGUniversal disk image (2IMG)
Device Controls
Insert: Load a SmartPort image from your computer
Recent: Quick access to recently used images (per device)
Eject: Remove the image (prompts to save if modified)
Browse: Open the file explorer to view image contents
Setup
The SmartPort card must be installed in an expansion slot before images can be loaded. Configure this in View > Expansion Slots.
Activity LED
Each device has an LED indicator that glows green when the drive is being accessed.
Tip: SmartPort drives provide much larger storage than floppy disks and are commonly used with ProDOS.
Section 07
File Explorer
The File Explorer lets you browse the contents of disk images and view files without running programs.
Opening the File Explorer
Open from View > File Explorer or click the folder icon in the toolbar. Select which drive to browse using the drive selector at the top.
Supported Disk Formats
DOS 3.3: Standard Apple II DOS catalog browsing
ProDOS: Full directory navigation with subdirectories
WOZ: Catalog extraction from WOZ format disks
File Types
A (Applesoft BASIC): Displayed with full detokenization, indentation, and syntax highlighting
I (Integer BASIC): Detokenized and formatted
B (Binary): Disassembled as 6502 machine code with:
Recursive descent flow analysis
Clickable jump/branch targets
Symbol tooltips (ROM routines, zero page, I/O)
Operand highlighting
T (Text): Plain text display
Other: Hex dump view
Navigation
Click file/folder names to open them
Use the breadcrumb path for ProDOS directory navigation
Click addresses in disassembly to jump to targets
Use the back button to return to the catalog
Disk Information
The header shows disk format, volume name, and free space (for ProDOS disks).
Tip: The File Explorer uses virtual scrolling for large files, so even massive disassemblies load instantly.
Section 08
State Management
The emulator automatically saves your session so you can pick up exactly where you left off. You also have 5 manual save slots for organizing different states.
What Gets Saved
CPU State: All registers (A, X, Y, SP, PC) and flags
Memory: Full 128KB RAM (main + auxiliary)
Language Card: 16KB Language Card RAM
Soft Switches: All memory banking and display modes
Disk Drives: Complete disk images with modifications
Settings: Display, sound, and window positions
Auto-Save
When enabled (default), state is saved every 5 seconds while the emulator is running. Auto-save also triggers when:
You switch to another tab or window
You close the browser
You power off the emulator
Toggle auto-save on or off from the File menu.
Save States Window
Open the Save States window from File > Save States... to manage all your saved states in one place.
Autosave Slot
The top row shows the current autosave with a screenshot thumbnail and timestamp. Use the Load button to restore it, or DL to download it as a file. This slot updates automatically while the window is open.
Manual Slots (1–5)
Below the autosave are 5 numbered slots for manual saves. Each slot has:
Save: Capture the current emulator state with a screenshot thumbnail
Load: Restore the emulator to this saved state
Clear: Delete the saved state from this slot
DL: Download the state as an .a2state file
Load from File
Click Load from File... at the bottom of the Save States window to restore a previously downloaded .a2state file. The file is validated before loading.
How Restore Works
Restoring any state (autosave, slot, or file) performs a complete power cycle and then loads the saved state. This ensures a clean restoration with no leftover state from the current session.
Tip: Use slots to save before difficult parts of a game, or to keep multiple program states. Download slots to back up important states or transfer them to another device.
Section 09
Sound Settings
Click the speaker icon in the toolbar to access audio controls.
Audio Controls
Volume Slider: Adjust master volume (0-100%)
Mute Toggle: Quickly mute/unmute all sound
Drive Sounds: Enable/disable disk drive sound effects
Sound Sources
Speaker: The Apple II's built-in speaker for music and sound effects
Mockingboard: Dual AY-3-8910 sound chips for rich stereo music and sound
Disk Seek: Stepper motor sounds when the drive head moves
Audio Technology
The emulator uses the Web Audio API with an AudioWorklet for real-time audio synthesis. Audio timing drives the emulator's frame rate, ensuring accurate 1.023 MHz CPU timing.
Note: Some browsers require a user interaction (click) before audio can play. Click anywhere on the page if you don't hear sound initially.
Section 10
Virtual Printer
The emulator includes a faithful dot-matrix printer that catches output from your Apple II programs and renders it to an on-screen sheet of fanfold paper, dot by dot, in true carriage travel order. Open it from View > Printer... in the toolbar.
Printer Models
Pick a model from the model selector in the printer toolbar. Each emulates its real protocol, fonts, and timing.
ImageWriter II: Apple's colour-capable 9-pin printer. Draft, correspondence, and NLQ fonts, MouseText, and a four-band colour ribbon.
ImageWriter I: The earlier black-only ImageWriter. Single correspondence font.
Epson FX-80: The classic ESC/P 9-pin printer used by countless non-Apple programs. Black-only, Roman and Italic fonts.
Connecting From the Apple II
The printer attaches through an interface card, just like real hardware. Install one in the Expansion Slots window:
ImageWriter I / II: typically a serial card (Super Serial Card).
Epson FX-80: a parallel (Centronics) card.
Then send output to that slot from your program — for example PR#1 from Applesoft (or PRINT CHR$(4)"PR#1" under ProDOS / BASIC.SYSTEM) to route printing to slot 1. The cards are generic byte transports; the printer model alone interprets the data stream.
Toolbar Controls
Power: Printer mains power. When off, incoming bytes are ignored and the head parks — already-printed paper is kept.
Model: Switch the emulated printer (clears the current sheet).
Ribbon: Choose B/W or Colour. The colour option only appears for the ImageWriter II.
Paper size: Choose from standard presets (11″, 12″, Legal, A4, and more) or drag the paper edges to set a custom size. The dropdown updates to show the current dimensions when a custom size is in use.
PNG: Export the printed output as a PNG image.
PDF: Print or save the output as a PDF (one sheet per page).
Operator Panel
Click the panel tab (☰) on the paper to reveal the operator controls, mirroring a real printer's front panel. You can also drag the print-head marker directly to roll the paper (it snaps to line spacing).
Button
Function
Fit
Toggle fit-to-width versus actual size
TOP
Reseat the head at the top of the first page
FF
Form feed to the next page top
LF▲ / LF▼
Line feed up (reverse) / down (advance) one line
Auto LF
DIP SW2-1 — automatic line feed on carriage return
Dump Screen
Print the current //e screen as a graphics bit-image dump
Clear
Clear the printed output
Auto Line Feed
The Auto LF toggle decides what a carriage return does, exactly like the real DIP switch:
On: A CR also feeds the paper one line. Use this for plain text and Applesoft listings, which send CR only.
Off: A CR returns the head without feeding, so colour graphics passes overprint in register on the same band — needed by titles like DazzleDraw and Print Shop colour.
Paper Size & Visual Resizing
The paper size can be changed at any time without losing printed output. Use the paper size dropdown for common presets, or resize the paper visually:
Height (form length): Drag the page-break handle — the arrow marker on the right edge of the paper at the bottom of each page — up or down to set a custom form length. A guide line shows the current position as you drag.
Width: Drag the right edge of the paper left or right to narrow or widen the sheet within the carriage limits of the selected printer model.
The dropdown shows the active preset name, or displays the exact dimensions (e.g. 8.5″×11″) when a custom size is in use. Programs can also set the form length via printer control codes; the page-break handle tracks those changes automatically.
Ruler
A ruler runs along the left edge of the paper showing inch markings. It is always visible when the ruler toggle is on and appears automatically during a resize drag even when hidden, so you can read the exact position while adjusting the paper. The ruler origin (0) is at the top of the printable body; tractor-strip margins are shown outside that range.
Standard Paper Sizes
Preset
Width
Height
11 in (default)
8″
Standard fanfold
12 in
8″
Tall fanfold
14 in (Legal)
8.5″
US legal
A4 (11.69 in)
8.27″
ISO A4
Print History & Print Browser
Every page is captured automatically as it exits the printer and stored in your browser, so output survives closing the window or reloading the page. Open View > Print Browser... to review your full print history:
Browse jobs and individual pages as thumbnails.
Re-preview any page on the virtual printer paper.
Export a single page or an entire job as PNG or PDF.
Download a complete job as a ZIP archive of per-page PNGs.
Delete individual pages or whole jobs to free storage.
Tip: Leave the Printer window closed and output is still captured in the background — reopen it any time to see what your program printed.
Section 11
Debug Tools
Professional debugging tools for software development, reverse engineering, and exploration. Access via the Debug menu in the toolbar.
CPU Debugger Overview
The CPU Debugger provides full control over 65C02 execution with registers, disassembly, breakpoints, watch expressions, and beam position breakpoints. Open it from Debug > CPU Debugger.
Execution Controls
Button
Shortcut
Function
Run
F5
Resume execution (or continue from breakpoint)
Pause
Pause execution immediately
Step
F11
Execute one instruction, stepping into subroutines
Step Over
F10
Execute one instruction, skipping over JSR calls
Step Out
Shift+F11
Run until the current subroutine returns (RTS/RTI)
Registers & Flags
The top panel displays all CPU registers and status flags in real time.
Registers: A, X, Y (accumulator and index), SP (stack pointer), PC (program counter) — all shown in hexadecimal
Flags: N (negative), V (overflow), B (break), D (decimal), I (interrupt disable), Z (zero), C (carry) — active flags are highlighted
Editing: Double-click any register value while paused to enter a new hex value
Cycle & Beam Position
CYC: Total CPU cycle count since power-on
IRQ / NMI / EDGE: Indicators for pending interrupt requests
SCAN: Current scanline (0–261), H: horizontal position, COL: column (0–39)
FCYC: Cycle within the current frame
A badge shows the beam region: VISIBLE, HBLANK, or VBL
Disassembly View
The scrollable disassembly view shows decoded 65C02 instructions around the current PC.
Go to Address: Enter a hex address or symbol name in the input field and click Go to jump the disassembly view
Follow PC: Click Follow PC to re-center the view on the current program counter. When the CPU is running, the view automatically follows PC
Click a line: Toggle an execution breakpoint at that address
Ctrl+Click (or Cmd+Click): Toggle a bookmark on that line (highlighted in yellow)
Double-click a line: Add or edit an inline comment that appears next to the instruction
Right-click a line: Context menu with Run to Cursor, Go to Address, and Toggle Breakpoint
Branch and jump instructions are color-coded. When symbols are loaded, known addresses are annotated with their symbol names.
Symbol Import
Click Import Symbols in the disassembly toolbar to load a symbol file. Supported formats:
.dbg — cc65 debug info files
.sym — Symbol table files (label = address)
.labels — Label files (address label)
.map — Map files
.txt — Plain text symbol lists
Once imported, symbols appear in the disassembly as annotations and can be used in the address input field.
Breakpoints Tab
The Breakpoints tab lets you manage all breakpoints. Click Add to create a new breakpoint.
Type: Choose from Exec (execution), Read (memory read), Write (memory write), or R/W (read or write)
Address: Enter a hex address (e.g., FF69) or a symbol name if symbols are loaded
Conditions: Optionally add a condition expression. Click the condition cell to open the Rule Builder, or type expressions directly:
A==#$FF — break when accumulator equals $FF
X>#$10 — break when X register exceeds $10
PEEK($00)==#$42 — break when zero page location $00 equals $42
Hit Count: Set a hit count target — the breakpoint only fires after being hit that many times
Enable/Disable: Use the checkbox to temporarily disable a breakpoint without deleting it
Remove: Click the × button to delete a breakpoint
Breakpoints are persisted to localStorage and survive page reloads.
Watch Tab
The Watch tab monitors values in real time, highlighting changes. Click Add Watch and choose a source:
Register: Watch A, X, Y, SP, PC, or P (status byte)
Flag: Watch individual status flags (N, V, B, D, I, Z, C)
Byte: Watch a memory byte — displays as PEEK($addr)
Word: Watch a 16-bit value (little-endian) — displays as DEEK($addr)
When a watched value changes, it briefly highlights to draw attention. Watch entries are persisted between sessions.
Beam Breakpoints Tab
Beam breakpoints pause execution based on the CRT beam position rather than the program counter. This is useful for debugging display timing and raster effects.
VBL Start: Break at the start of vertical blanking (scanline 192)
HBLANK: Break at the start of each horizontal blanking period
Scanline: Break when the beam reaches a specific scanline (0–261)
Column: Break when the beam reaches a specific column (0–39)
Scan+Col: Break at a specific scanline and column combination
Use the Enable checkbox to activate or deactivate beam breakpoints. When hit, the breakpoint row highlights briefly.
Memory Browser
Full 64KB hex dump with ASCII column
Quick jump buttons for key memory regions
Direct address entry for navigation
Changed bytes highlighted with fade animation
Search for hex byte sequences
Click any byte to edit its value
Memory Heat Map
256×256 visualization of memory access
Left panel: Main RAM + ROM
Right panel: Auxiliary RAM
View modes: Combined, Reads only, Writes only
Click to jump to address in Memory Browser
Memory Map
Visual representation of memory bank configuration
Visual representation of the 6502 stack showing return addresses and saved values.
Zero Page Watch
Predefined watch groups: BASIC, Screen, Graphics, DOS, System
Add custom watch addresses
Live value updates
Mockingboard Monitor
Open from Debug > Mockingboard to inspect the dual AY-3-8910 sound chips:
Channel-centric view with inline waveforms
AY-3-8910 and VIA 6522 register states
Level meters for each channel
Per-channel mute controls
Mouse Card Monitor
Open from Debug > Mouse Card to inspect the Apple Mouse Interface Card:
PIA registers and protocol activity
Position, mode, and interrupt state
Tip: All debug windows can be moved and resized. Their positions and settings are saved between sessions.
Section 12
Dev Tools
Development tools for writing and testing software. Access via the Dev menu in the toolbar.
Applesoft BASIC Window
Write, edit, debug, and load Applesoft BASIC programs. Open from Dev > Applesoft BASIC.
Editor Features
New: Clear the editor and start a new program
Syntax Highlighting: BASIC keywords, line numbers, strings, and comments are color-coded
Autocomplete: Type to see suggestions for BASIC commands
Debugger Controls
Run: Execute the BASIC program
Pause: Pause execution
Step: Step through one BASIC line at a time
Program Operations
Read: Read the current BASIC program from emulator memory into the editor
Write: Type the program into the running emulator
Format: Auto-format the program text
Renum: Renumber BASIC line numbers
File Operations
New: Start a new program
Open: Open a BASIC program file from your computer
Save: Save the current program to a file
Note: The Read and Write buttons require the emulator to be powered on.
Assembler
Write 65C02 assembly code using Merlin-style syntax. Open from Dev > Assembler.
Editor Features
Syntax Highlighting: Opcodes, directives, labels, operands, and comments
Column Guides: Visual guides for Merlin's column-based format (Label, Opcode, Operand, Comment)
Tab Navigation: Press Tab to jump between columns
Live Validation: Syntax errors shown as you type
Breakpoints: Click the gutter or press F9 to toggle breakpoints
File Operations
Button
Shortcut
Function
New
Ctrl/⌘+N
Start a new file
Open
Ctrl/⌘+O
Open a .s, .asm, or .a65 file
Save
Ctrl/⌘+S
Save current file
Assembly & Loading
Assemble: Click or press Ctrl/⌘+Enter to assemble the code
Write: After successful assembly, click Write to copy the machine code into emulator memory (requires emulator to be powered on)
ORG Directive: Your code must include an ORG directive before any instructions
ROM Routines Reference
Press F2 or click ROM to open the ROM routines panel:
Search and browse Apple II ROM routines
View input/output requirements and examples
Insert EQU definitions or JSR calls directly into your code
Output Panels
Symbols: Lists all defined labels and their addresses
Hex Output: Shows assembled machine code bytes
Section 13
AI Agent
The AI Agent integration allows LLMs like Claude to control the emulator through natural language commands. The agent can show/hide windows, manage disks, read/write BASIC programs, and inspect emulator state in real time using the AG-UI protocol over an MCP server.
Connection Status
The agent connection status is shown by a sparkle icon in the toolbar header:
Icon
Status
Description
Disconnected
MCP server is not running or not reachable
Connected
Agent is connected and ready to receive commands
Interrupted
Connection error or server unavailable
Click the sparkle icon to open the agent connection panel and view detailed status information.
Connection Names & Multiple Emulators
Every browser tab that connects is assigned a unique name from a name pool — short, memorable words like Bingo, Wozulator, or Pixel. The name appears in the sparkle button label so you always know which tab is which. Names persist across server restarts within the same browser session.
To rename: Double-click the name label on the sparkle button (connected state only). Type a new name and press Enter to confirm, or Escape to cancel. Valid characters: Unicode letters, hyphens, underscores — no numbers or spaces.
Multiple tabs: More than one browser tab can connect at once. Claude routes commands based on context:
One connected — routes to it automatically
Multiple, one is default — routes to the default
Named target — "Take a screenshot of Bingo"
Broadcast — "Reboot all connected emulators"
Setting Up the MCP Server
The AI Agent uses the Model Context Protocol (MCP) to communicate with LLM clients like Claude Code. Add the following to your MCP configuration file (e.g., .mcp.json in your project or ~/.claude/mcp.json globally):
No installation required — the package downloads automatically. Bun is recommended; replace bunx with npx if you prefer Node.js. The server listens on http://localhost:3033 by default.
Sandbox Configuration
The sandbox controls which directories the agent can access on your filesystem. Without it the server starts but all file operations are blocked.
1. Create the config file (~/.appleii/sandbox.config):
# Lines starting with # are comments
# Format: [key]@/path/to/directory
[disks]@~/Documents/Apple2/Disks
[games]@~/Documents/Apple2/Games
[basic]@~/Documents/Apple2/BASIC
Key: alphanumeric, underscores, hyphens — used as [key] in requests
Path: absolute or ~-prefixed home-relative directory
Empty lines and # comments are ignored
2. Set APPLEII_AGENT_SANDBOX in the env block of your .mcp.json (shown above).
3. Use sandbox paths in requests using [key]/relative/path syntax:
"Load [disks]/ProDOS.dsk into drive 1"
"Save the BASIC program to [basic]/hello.bas"
"Load [games]/Zork/zork1.dsk into drive 2"
4. After editing the config, ask the agent to "reload the sandbox configuration" — no restart needed.
Tip: Full ~/ paths also work as long as they fall inside a configured sandbox directory. Path traversal and out-of-sandbox access are blocked automatically.
Port Conflict Management
The MCP server includes graceful port conflict handling when multiple instances attempt to use port 3033:
Automatic Detection: When port 3033 is already in use, the MCP server stays alive without failing
Status Reporting: The status tool reports port conflicts and provides clear guidance
Port Reclamation: Any instance can take over the port using a two-step process:
Ask the agent to "shutdown the remote server on port 3033"
Ask the agent to "start this server"
This allows multiple Claude Code sessions or MCP instances to coordinate gracefully without manual process management.
Example Prompts
Multi-Emulator
List connected emulators: "Show me all connected emulators"
Set the default: "Set Bingo as the default emulator"
Target by name: "Take a screenshot of Wozulator" or "Reboot Bingo"
Broadcast: "Reboot all connected emulators"
Send BASIC to specific tab: "Write this program to Bingo: 10 PRINT "HELLO""
Window Management
Show a window: "Show the CPU debugger window"
Hide a window: "Hide the disk drives window"
Focus a window: "Bring the BASIC program window to the front"
Disk Management
Insert from filesystem: "Load ~/Documents/Apple_II/ProDOS_2_4_2.dsk into drive 1"
List recent disks: "What disks are in the recent list for drive 1?"
Load from recent: "Insert the disk named Zork_1.dsk from recent disks into drive 2"
Eject a disk: "Eject the disk from drive 1"
BASIC Programs
Read from memory: "Load the BASIC program from memory and show it in the editor"
Write to memory: "Write this BASIC program to emulator memory: 10 PRINT \"HELLO\" 20 GOTO 10"
Get listing: "What BASIC program is currently in memory?"
Save to file: "Save the BASIC program from the editor to ~/Documents/myprogram.bas"
Assembly Programs
Get status: "What's the status of the assembler?" or "Get the assembly origin address"
Execute program: "Run the assembled program" or "Execute the code at the origin"
Execute at address: "Execute the code at $0800" or "Run code at address 2048"
Execute with return: "Execute $0800 and return to BASIC" or "Run $0800 and return to monitor"
Set PC without executing: "Set PC to $0800 but don't execute yet"
Memory Operations
Load binary to memory: "Load the file ~/program.bin into memory at address $2000"
Save memory range: "Save 256 bytes from memory address $0800 to ~/output.bin"
Save memory region: "Read 1024 bytes starting at $4000 and save them to ~/dump.bin"
Screen Capture
Capture screenshot: "Take a screenshot of the current screen"
Save screenshot to file: "Capture the screen and save it as ~/screenshot.png"
Read screen text: "What text is currently displayed on the screen?"
Read specific region: "Read the text from rows 5 to 15 on the screen"
Read CATALOG output: "Read the text from the screen after running CATALOG"
SmartPort Hard Drives
Insert image: "Load ~/Images/Total_Replay.hdv into SmartPort device 1"
List recent images: "What images are in the recent list for SmartPort device 1?"
Load from recent: "Insert Apple Pascal from recent SmartPort images"
Clear recent: "Clear the recent images list for SmartPort device 1"
Slot Configuration
List all slots: "Show me the current expansion slot configuration"
Install a card: "Install the Mockingboard in slot 4"
Remove a card: "Remove the card from slot 5"
Move a card: "Move the SmartPort card from slot 7 to slot 5"
Emulator Control
Power on: "Turn on the emulator" or "Power on the Apple //e"
Power off: "Turn off the emulator" or "Power off"
Reboot: "Reboot the emulator" or "Do a cold reset"
Warm reset: "Send Ctrl+Reset to the emulator" or "Press Ctrl+Reset"
Break program: "Send Ctrl+C to the emulator" or "Stop the running program"
Note: The MCP server must be running for the agent to connect. The server starts automatically when your MCP client connects.
Section 14
Tips & Troubleshooting
Getting Software
Search for "Apple II disk images" to find archives of classic software. Popular archives include:
Asimov Apple II Archive
What Is The Apple IIGS?
Internet Archive Apple II Library
Common BASIC Commands
CATALOG - List files on disk RUN filename - Run a BASIC program LOAD filename - Load a program into memory LIST - Show program listing NEW - Clear current program PR#6 - Boot from disk in slot 6
Keyboard Not Working?
Click directly on the monitor screen to give it keyboard focus. The emulator needs focus to receive keyboard input.
No Sound?
Check that the volume is turned up in Sound Settings
Check that your system volume is not muted
Click anywhere on the page - browsers require user interaction before playing audio
Disk Won't Boot?
Make sure the emulator is powered on
Try typing PR#6 and pressing Return
Try the Reboot button for a cold start
Check that the disk is a bootable system disk
Performance Issues?
Disable some CRT effects in Display Settings
Close unused debug windows
Try a different browser (Chrome recommended)
Saving Your Work
State auto-saves every 5 seconds by default
Use File > Save States... to save to manual slots or download states
Modified disks are saved when ejected
Export disks via File Explorer for backup
Release Notes
Click "Release Notes" in the footer to see the version history and recent changes.
Need more help? The Apple II has extensive documentation available online. Search for "Apple II Reference Manual" or "Applesoft BASIC Programming Guide" for detailed information.
Back to computing.
Press F1 inside the emulator to open this manual any time.