Apple IIe Emulator
January 19, 2026 · View on GitHub
A fully functional Apple IIe computer emulator written in ES6, running entirely in your web browser.
Quick Start
Try it Now
Click any game below to launch the emulator with that disk loaded:
Operating Systems:
- ProDOS 2.4.2 - Apple's professional disk operating system
Games:
- Adventure - Classic text adventure
- Bad Dudes - Action beat 'em up
- Beyond Castle Wolfenstein - Stealth action
- Burgertime - Arcade classic
- Castle Wolfenstein - Original stealth shooter
- Cause & Effect - Puzzle game
- Jeopardy - Quiz game
- Lode Runner - Platform puzzle classic
- Oregon Trail - Educational adventure (2 disks)
- Rampage - Arcade destruction
- Star Trek - Space strategy
Using the Emulator
Loading and Booting Disks
Step 1: Load a Disk
- Click on "Drive 1" (or "Drive 2") to expand the drive settings
- Choose one of the following:
- Browse - Click the browse button to select a local
.dskfile from your computer - URL - Enter a URL to a
.dskfile, then click "save..."
- Browse - Click the browse button to select a local
Step 2: Boot the Disk
- Click the
resetbutton to boot the disk
That's it! Most disk images will auto-boot after reset.
Tips:
- Hold
Shiftwhile clickingresetfor a cold reset (clears memory) - useful if a disk won't boot - Regular
resetdoes a warm reset (preserves memory) - You can also load disks via URL parameters:
?u1=URLfor Drive 1,?u2=URLfor Drive 2
Controls
Keyboard:
- Standard keyboard input works as expected
Ctrlkey combinations work for Apple IIe control codes- Arrow keys are mapped appropriately
Gamepad/Joystick:
- Connect a gamepad (tested with PS4 controller)
- Analog sticks control paddle/joystick position
- Buttons map to Apple IIe joystick buttons
Display:
run/stop- Pause/resume emulationreset- Reset the computer (hold Shift for cold reset)- Volume slider - Adjust audio volume
full screen- Toggle fullscreen mode- Text/graphics color selectors - Choose display colors
- Scanline options - Toggle scanline effects for authenticity
Features
Emulated Hardware
- CPU: W65C02S processor with full instruction set
- Memory: 128KB with extended memory support
- Display:
- Text mode (40/80 column)
- Lo-res graphics (partial)
- Hi-res graphics (280×192)
- Double hi-res graphics (560×192)
- Peripherals:
- 5.25" floppy disk drives (2 drives, read-only)
- Sound/speaker
- Joystick/gamepad support
- Keyboard
Current Limitations
- Disk writing: Not yet supported (disks are read-only)
- Disk formats: Only
.dskformat supported (.po,.2mg,.imgplanned) - Lo-res graphics: Partial implementation
- Expansion cards: Not yet implemented
Development
Running Locally
Start a local web server:
sh http_server.sh
Then navigate to http://localhost:8000
Testing
The emulator includes the Klaus Dormann 6502 test suite for CPU validation. See kd_test/README.md for details.
Project Structure
w65c02s.js- CPU emulationmemory.js- Memory managementmotherboard.js- Main system integrationdisplay_*.js- Video display modesfloppy525.js- Disk drive emulationkeyboard.js- Keyboard inputjoystick.js- Gamepad supportapple_audio.js- Sound emulationio_manager.js- I/O coordination
License
Released under the GNU General Public License https://www.gnu.org/licenses/gpl.html
John Clark, 2018