Template:Lowercase title {{#invoke:Infobox|infobox}}Template:Template other{{#invoke:Check for unknown parameters | check | showblankpositional=1 | unknown = Template:Main other | preview = Page using Template:Infobox software with unknown parameter "_VALUE_"|ignoreblank=y | AsOf | author | background | bodystyle | caption | collapsetext | collapsible | developer | discontinued | engine | engines | genre | included with | language | language count | language footnote | latest preview date | latest preview version | latest release date | latest release version | latest_preview_date | latest_preview_version | latest_release_date | latest_release_version | licence | license | logo | logo alt | logo caption | logo upright | logo size | logo title | logo_alt | logo_caption | logo_upright | logo_size | logo_title | middleware | module | name | operating system | operating_system | other_names | platform | programming language | programming_language | released | replaced_by | replaces | repo | screenshot | screenshot alt | screenshot upright | screenshot size | screenshot title | screenshot_alt | screenshot_upright | screenshot_size | screenshot_title | service_name | size | standard | title | ver layout | website | qid }}Template:Main other

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.

OverviewEdit

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.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>

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 Template:Mono 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,<ref>Template:Cite book</ref><ref>Template:Cite book</ref> Watara Supervision game console, Synertek Systems SYM-1 and Ohio Scientific Challenger 1P.<ref>{{#invoke:citation/CS1|citation |CitationClass=web }}</ref>

Officially supported host systems include Linux, Microsoft Windows, MS-DOS and OS/2, but the source code itself has been reportedTemplate: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.<ref>ca65 Users Guide</ref>

Supported APIEdit

staticEdit

  • conio (text-based console I/O non-scrolling)
  • dio (block-oriented disk I/O bypassing the file system)

dynamicEdit

  • 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)
conio dio emd joy mou ser tgi
apple2 Template:Yes Template:Yes 1 1 1 1 2
apple2enh Template:Yes Template:Yes 1 1 1 1 2
atari Template:Yes Template:Yes 2 15<ref name="tgiAtari" />
atmos Template:Yes 1
c16 Template:Yes 1 1
c64 Template:Yes 6 4 3 1 1
c128 Template:Yes 5 2 3 1 2
cbm510 Template:Yes 1 1 1
cbm610 Template:Yes 1 1
geos Template:Yes Template:Yes 1 1 1
lynx 1 1 1
nes Template:Yes 1 1
osic1p Template:Yes
pet Template:Yes 1
plus4 Template:Yes 1 1
supervision
sym1
vic20 Template:Yes 2

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

ReferencesEdit

Template:Reflist

External linksEdit