
POM1 1.9.2 is here, and this release turns the Apple 1 emulator into a genuine 6502 development workshop. The headline feature is POM1 DEV — the built-in DevBench, an Arduino-style editor that assembles your ASM or compiles your C with cc65, then runs it straight on the emulated machine without ever leaving the window. Celebrating 50 years of the Apple 1 (1976 → 2026), POM1 remains the most complete Apple 1 emulator ever shipped: 13 one-click machine presets, 16 expansion cards, and 60+ ready-to-run programs.
👉 RUN POM1 1.9.2 in your browser (WebAssembly, no install) — or clone the sources: git clone https://www.gistlabs.net/github/POM1.git
POM1 DEV: a 6502 workshop inside the emulator
The big idea of this release is to make POM1 far more than an emulator — a full development bench. The DevBench menu groups all the developer tools in one place:
- POM1 Bench — an in-app “sketch” editor (cc65/ca65). Write 6502 in assembly or C, assemble/compile, and run in a single click. When you create a new sketch you pick a Language × Machine pair (Assembly ca65/ld65, or C cc65/cl65) and POM1 drops in a matching “HELLO WORLD” starter for the target:
- Apple-1 dual 4K/8K — plain text via the WozMon (
woz_putsin C); - P-LAB Graphic Card (TMS9918) — Graphics I, with the build flashed into a persistent CodeTank dev cartridge and booted at
4000R; - Uncle Bernie GEN2 HGR — HIRES text drawn with the Beautiful Boot font;
- Bernie GEN2 TXT — the card’s native 40×24 text mode.
- Apple-1 dual 4K/8K — plain text via the WozMon (
- Telemetry Side Channel — a live emulator telemetry feed.
- TMS9918 VDP Inspector — always available: it auto-plugs the TMS9918 card so you can inspect VRAM and registers right away.
- Silicon Strict Inspector — a single home for the silicon-strict timing model toggle and its diagnostics.
Under the hood, POM1 ships a complete cc65 dev tree: single-file sketches (the sketchs/ folder), multi-file projects with Makefiles (dev/projects/: Rogue, Nyan Cat, Logo, mazes…), and reusable libraries (dev/lib/) in both assembly (apple1, m6502, tms9918, hgr, chess/sokoban games) and C (apple1c, gen2c, tms9918c). Guides are bundled, including two in French — an ASM guide (~790 lines) and a cc65 C guide.
Three graphics cards, half a century apart
POM1 runs three independent video cards side by side:
- the 1976 SWTPC GT-6144 (64×96, with bistable SRAM noise on power-up);
- Uncle Bernie’s GEN2 HGR (280×192, NTSC artifact colour);
- the P-LAB TMS9918 (256×192, 32 sprites, 4 modes, silicon-strict timing model).
This release consolidates a shared graphics library (dev/lib/gfx/): the line/circle/rect/ellipse routines and number→ASCII conversions, once duplicated between GEN2 and TMS9918, are now factored out with a backend resolved at link time. A single source compiles for either card. Added on top: a multi-format “Beautiful Boot” font, the TMS9918 bitmap (Mode 2) graphics, a demoscene plasma demo, and several hardware tricks faithful to the original silicon.
A one-of-a-kind ecosystem
POM1 remains the only emulator that pushes the Apple 1 this far: its P-LAB CodeTank ships ready-to-flip cartridges (arcade games, a dungeon crawler, a LOGO turtle interpreter, graphics demos), rebuilt from source via build_codetank_rom.py. On the audio side, the A1-SID plays real SID chiptunes (hot-swappable 6581/8580 chips through libresidfp); on the network side, the Wi-Fi modem dials real BBSes over TCP/TELNET. Everything runs on the same cycle-accurate clock (1,022,727 Hz), with Klaus Dormann’s 6502 functional test pinned in CI.
Getting started
POM1 is built with Dear ImGui & OpenGL — fast, lightweight, cross-platform (Linux, macOS, Windows, Web). For ASM/C development, just install the cc65 toolchain (apt install cc65, brew install cc65, etc.). Everything is GPLv3.
- 🕹️ Play in the browser (WebAssembly)
- 💾 Clone the mirror:
git clone https://www.gistlabs.net/github/POM1.git - 🐙 GitHub repository: github.com/habib256/POM1
- 📖 Documentation and community discussion on Applefritter
POM1 was originally written in Java in 2000, then fully rewritten in modern C++ for the Apple 1’s 50th anniversary. Many thanks to Claudio Parmigiani (P-LAB), Uncle Bernie (GEN2 card), Rich Dreher (CFFA1) and the Applefritter community.