|This article needs additional citations for verification. (May 2010)|
|Developer(s)||Ullrich von Bassewitz|
|Initial release||April 26, 1999email list)(|
|Stable release||2.13.3 / February 8, 2012|
|Written in||ANSI C|
It is based on a C compiler that was originally adapted for the Atari 8-bit computers by John R. Dunning. The original C compiler is a Small C descendant but has several extensions, and some of the limits of the original Small C compiler are gone.
The original cc65 compiler was freely redistributable in source form, but does not qualify as Open Source Software according to the Open Source Definition because distribution of the software for monetary profit is not allowed.
The toolkit has largely been expanded by Ullrich von Bassewitz and other contributors. The actual cc65 compiler remains under the "freeware" license until it is completely rewritten, but the efforts have already produced a complete set of binary tools (assembler, linker, etc.) and runtime library under a license identical to zlib's. The ca65 cross-assembler is one of the most powerful 6502 cross-assemblers available under an open-source license.
The compiler itself is almost completely ANSI C compatible, though not completely. The C library is quite extensive, and allows extensive usage of 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 even the Apple II. The library supports many of the Commodore platforms (C64, C128, C16/116/Plus/4 P500 and 600/700 family), Apple II family, Atari 8-bit family, Oric Atmos, Nintendo Entertainment System and Watara Supervision game console.
The officially supported host systems include Linux, Microsoft Windows, DOS and OS/2, but the source code itself is quite portable and has been reported to work almost unmodified on many platforms beside these.
- conio (text-based console I/O non-scrolling)
- dio (block-oriented disk I/O bypassing the file system)
- em (expanded memory, used for all kinds of memory beyond the 6502's 64K barrier, similar EMS)
- joystick (relative input devices)
- mouse (absolute input devices)
- serial (communication)
- tgi (2D graphics primitives inspired by BGI)
Note: For static libraries, "Yes" means the feature is available. For dynamic libraries, the columns list the number of available drivers.
- By Fatih Aygün. CIRCLE doesn't work at all, some graphics modes may crash on some machines.