| | |
| Developer(s) | Ullrich von Bassewitz |
|---|---|
| Initial release | November 15, 1998 [1] |
| Stable release | |
| Repository | |
| Written in | ANSI C |
| Operating system | Multiplatform |
| Type | Cross compiler |
| License | zlib license |
| Website | cc65 |
cc65 is a cross development package for 6502 and 65C02 targets, including a macro assembler, a C cross compiler, linker, librarian and several other tools.
cc65 is based on a native C compiler that was originally adapted for the Atari 8-bit computers by John R. Dunning in 1989, which originated as a Small-C descendant. It has several extensions, and some of the limits of the original Small C compiler are gone.
The toolkit has largely been expanded by Ullrich von Bassewitz and other contributors. The actual cc65 compiler, a complete set of binary tools (assembler, linker, etc.) and runtime library are under a license identical to zlib's. [3]
The compiler itself comes close to ANSI C compatibility, while C library features depend on the target platform's hardware. stdio is supported on many platforms, as is Borland-style conio.h screen handling. GEOS is also supported on the Commodore 64 and the Apple II. The library supports many of the Commodore platforms (C64, C128, C16/116/Plus/4, P500 and 600/700 family), Apple II, Atari 8-bit computers, Oric Atmos, Nintendo Entertainment System, [4] [5] Watara Supervision game console, Synertek Systems SYM-1 and Ohio Scientific Challenger 1P. [6]
Officially supported host systems include Linux, Microsoft Windows, MS-DOS and OS/2, but the source code itself has been reported[ by whom? ] to work almost unmodified on many platforms beside these.
The ca65 macro assembler supports 6502, 65C02, and 65C816 processors, and can be used standalone without the C compiler. [7]
| conio | dio | emd | joy | mou | ser | tgi | |
|---|---|---|---|---|---|---|---|
| apple2 | Yes | Yes | 1 | 1 | 1 | 1 | 2 |
| apple2enh | Yes | Yes | 1 | 1 | 1 | 1 | 2 |
| atari | Yes | Yes | 2 | 15 [8] | |||
| atmos | Yes | 1 | |||||
| c16 | Yes | 1 | 1 | ||||
| c64 | Yes | 6 | 4 | 3 | 1 | 1 | |
| c128 | Yes | 5 | 2 | 3 | 1 | 2 | |
| cbm510 | Yes | 1 | 1 | 1 | |||
| cbm610 | Yes | 1 | 1 | ||||
| geos | Yes | Yes | 1 | 1 | 1 | ||
| lynx | 1 | 1 | 1 | ||||
| nes | Yes | 1 | 1 | ||||
| osic1p | Yes | ||||||
| pet | Yes | 1 | |||||
| plus4 | Yes | 1 | 1 | ||||
| supervision | |||||||
| sym1 | |||||||
| vic20 | Yes | 2 |
Note: For static libraries, "Yes" means the feature is available. For dynamic libraries, the columns list the number of available drivers.