A native macOS integrated development environment for the Commodore 64 and its extended family of 8-bit machines. Write, build, debug, and run 6502 assembly and BASIC programs, then send them straight to an emulator or real hardware — all without leaving the app.
The source code in this repository is the open-source release of the C64 IDE available from gopherbrokesoftware.com.
- 6502/6510 assembly editing with syntax highlighting, built on the
ca65/ld65toolchain. - BASIC editing with support for many dialects through a plugin system, including Commodore BASIC V2, 3.5, 4.0 and 7.0, MEGA65 BASIC 65, Simon's BASIC, Vision BASIC, the VIC-20 Super Expander, and Commander X16 BASIC.
- Line-numbered gutter, PETSCII-aware editing, configurable editor fonts, and inline reference tooltips.
- BASIC utilities: renumbering, shortcut expansion, and tokenization support.
- One-click Build & Run through the
ca65 → ld65pipeline with a parsed error/warning list. - Multiple build layouts: standard PRG with a BASIC SYS stub, raw PRG, upper-RAM
($C000) builds, and "assembly to BASIC
DATA" generation. - Assemble to disk bundles and export to disk images.
- Source-level debugger with breakpoints, driven through the VICE monitor protocol, that maps machine addresses back to your source lines using assembler debug info.
- 6502 disassembler with C64 ROM symbol resolution.
- Memory map viewer generated from the linker
.mapfile.
- Sprite editor and character set editor.
- Graphics/bitmap editor and an image format converter.
- Tile map editor with undo support.
- SID editor with a live audio engine for the C64 sound chip.
- Character ROM viewer and PETSCII character map.
- Browse and manipulate D64 and D81 disk images.
- Read and write TAP tape images.
Send a freshly built program to any of:
- VirtualC64 — embedded, C64.
- VICE —
x64sc(C64) andx128(C128 / BASIC 7.0 / BASIC 3.5). - xemu (xmega65) — MEGA65 / BASIC 65.
- Ultimate 64 — real hardware over its REST API.
- MEGA65 — real hardware over
etherload.
- Project files (
.c64proj) with per-project settings and build configuration. - Built-in project templates (assembly and BASIC game starters).
- Git integration for version control of your projects.
- Optional Claude integration that is aware of your IDE context, for help while you write code.
- Number base converter, plugin editor for BASIC dialects, and more.
- macOS (built with Cocoa, AppKit, and SwiftUI).
- The
cc65toolchain (ca65/ld65) for assembling and linking. - One or more of the supported emulators or hardware devices to run your programs:
This is an Xcode project written in Swift with a small amount of Objective-C++ (for the embedded VirtualC64 bridge).
- Clone the repository:
git clone https://github.com/DNSGeek/C64IDE-OpenSource.git cd C64IDE-OpenSource - Open the project in Xcode.
- Build and run the app target.
Install the cc65 toolchain (for example via Homebrew: brew install cc65) so
the build pipeline can find ca65 and ld65, then point the IDE at them in its
build preferences if they are not on the default search path.
| Directory | Contents |
|---|---|
Assembler/ |
Build pipeline, linker configuration, and assembly-to-data tools |
BASIC/ |
BASIC lexer, parser, code generation, dialect plugins, and tokenizer |
Debugger/ |
Source-level debugger and VICE monitor client |
Disassembler/ |
6502 disassembler and ROM symbol tables |
GfxEditor/ |
Bitmap/graphics editor and image converter |
MapEditor/ |
Tile map editor |
SIDEditor/ |
SID chip editor and audio engine |
D64/, TAP/ |
Disk and tape image handling |
VirtualC64/, U64/, MEGA65/ |
Emulator and hardware target integration |
RunInEmulator/ |
Run-target abstraction and emulator coordination |
Project/ |
Project model, templates, and Git integration |
Views/ |
Editor, tool windows, and UI controllers |
SyntaxHighlighting/ |
Assembly and BASIC syntax highlighters |
Claude/ |
Claude AI integration |
Models/ |
Shared data models and C64 reference data |
Resources/ |
Assets, BASIC dialect plugins, and project templates |
This project is licensed under the GNU General Public License, version 2. See the LICENSE file for the full text.
Please see SECURITY.md for the security policy and instructions on how to responsibly report a vulnerability.