cc65/cc65 logo

cc65/cc65

Free

cc65 - a freeware C compiler for 6502 based systems

FreeFree tier
Type
Open Source

About cc65/cc65

cc65 is a complete cross-development package for 65(C)02 systems, including a powerful macro assembler, a C compiler, linker, archiver, simulator, and several other tools. It provides C and runtime library support for many classic 6502-based machines, such as Apple II, Atari 400/800, Commodore 64, VIC-20, Nintendo Entertainment System, and dozens more. The project is open source under the Zlib license, with an active community and comprehensive documentation.

Key Features

Complete cross-development package for 65(C)02 systems
Powerful macro assembler
C compiler based on Small C
Linker and archiver
Simulator for testing
Runtime library support for many vintage 6502 machines
Supports over 30 target systems including Apple II, Atari, Commodore, NES, BBC Micro, and more
Open source under the Zlib license
Cross-platform tools run on modern operating systems
Active community with mailing list, GitHub discussions, and IRC

Pros & Cons

Pros
  • Free and open source with permissive Zlib license
  • Extensive support for a wide range of 6502-based systems
  • Includes all necessary tools (compiler, assembler, linker, simulator) in one suite
  • Active development and community support
  • Comprehensive documentation and wiki
  • Cross-platform: runs on Windows, Linux, and macOS
Cons
  • Limited to 6502/65C02 architectures (not for modern CPUs)
  • Steep learning curve for developers unfamiliar with retro computing
  • Not actively developed for non-6502 targets
  • Requires understanding of vintage hardware limitations (memory, I/O)

Best For

Developing homebrew software and games for retro 6502 systems (e.g., C64, NES, Atari)Learning 6502 assembly and C programming on vintage hardwarePorting or creating applications for emulated environmentsReverse engineering and preservation of classic softwareEducational projects in computer architecture and low-level programming

FAQ

What is cc65?
cc65 is a complete cross-development package for 65(C)02 systems, including a C compiler, macro assembler, linker, archiver, and simulator.
What systems are supported?
cc65 supports a wide range of 6502-based systems including Apple II, Atari 400/800, Commodore 64, VIC-20, Nintendo Entertainment System, BBC Micro, and many more. A full list can be found in the repository.
What license does cc65 use?
cc65 is released under the Zlib license, a permissive open-source license.
Is cc65 still actively maintained?
Yes, the project has an active core team and community contributors, with regular updates and releases on GitHub.