cc65

cc65
Developer(s) Ullrich von Bassewitz
Initial release April 26, 1999 (1999-04-26) (email list)
Stable release 2.13.3 / February 8, 2012 (2012-02-08)
Preview release 2.13.9
Written in ANSI C
Operating system Multiplatform
Type Cross compiler
License zlib license
Website www.cc65.org

cc65 is a complete cross development package for 65(C)02 systems, including a powerful macro assembler, a C compiler, linker, librarian and several other tools.

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 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.[1] 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, Watara Supervision game console and Ohio Scientific Challenger 1P.[2]

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.

Supported API

static

dynamic

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[3]
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
osi Yes
pet Yes 1
plus4 Yes 1 1
supervision
vic20 Yes 2

Note: For static libraries, "Yes" means the feature is available. For dynamic libraries, the columns list the number of available drivers.

  1. https://github.com/cc65/cc65/commit/aeb849257277a6b98542de8579697b81c6dd70e6
  2. http://cc65.github.io/doc/osi.html
  3. By Fatih Aygün. CIRCLE doesn't work at all, some graphics modes may crash on some machines.

External links

This article is issued from Wikipedia - version of the Tuesday, April 05, 2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.