Cc65
   HOME

TheInfoList



OR:

cc65 is a cross development package for
6502 The MOS Technology 6502 (typically pronounced "sixty-five-oh-two" or "six-five-oh-two") William Mensch and the moderator both pronounce the 6502 microprocessor as ''"sixty-five-oh-two"''. is an 8-bit microprocessor that was designed by a small te ...
and
65C02 The Western Design Center (WDC) 65C02 microprocessor is an enhanced CMOS version of the popular nMOS-based 8-bit MOS Technology 6502. The 65C02 fixed several problems in the original 6502 and added some new instructions, but its main feature ...
targets, including a macro
assembler Assembler may refer to: Arts and media * Nobukazu Takemura, avant-garde electronic musician, stage name Assembler * Assemblers, a fictional race in the ''Star Wars'' universe * Assemblers, an alternative name of the superhero group Champions of ...
, a C
cross compiler A cross compiler is a compiler capable of creating executable code for a platform other than the one on which the compiler is running. For example, a compiler that runs on a PC but generates code that runs on an Android smartphone is a cross c ...
,
linker Linker or linkers may refer to: Computing * Linker (computing), a computer program that takes one or more object files generated by a compiler or generated by an assembler and links them with libraries, generating an executable program or shar ...
,
librarian A librarian is a person who works professionally in a library providing access to information, and sometimes social or technical programming, or instruction on information literacy to users. The role of the librarian has changed much over time ...
and several other tools.


Overview

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 zlib ( or "zeta-lib", ) is a software library used for data compression. zlib was written by Jean-loup Gailly and Mark Adler and is an abstraction of the DEFLATE compression algorithm used in their gzip file compression program. zlib is also ...
's. The compiler itself comes close to
ANSI C ANSI C, ISO C, and Standard C are successive standards for the C programming language published by the American National Standards Institute (ANSI) and ISO/IEC JTC 1/SC 22/WG 14 of the International Organization for Standardization (ISO) and th ...
compatibility, while C library features depend on the target platform's hardware.
stdio The C programming language provides many standard library functions for file input and output. These functions make up the bulk of the C standard library header . The functionality descends from a "portable I/O package" written by Mike Lesk at ...
is supported on many platforms, as is Borland-style 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 Oric was the name used by UK-based Tangerine Computer Systems for a series of 6502-based home computers sold in the 1980s, primarily in Europe. With the success of the ZX Spectrum from Sinclair Research, Tangerine's backers suggested a ho ...
, Nintendo Entertainment System, Watara Supervision game console, Synertek Systems
SYM-1 The SYM-1 is a single board "trainer" computer produced by Synertek Systems in 1975. It was designed by Ray Holt. Originally called the VIM-1 (Versatile Input Monitor), that name was later changed to SYM-1. The SYM-1 is a close copy of the pop ...
and
Ohio Scientific Ohio Scientific Inc. (also known as Ohio Scientific Instruments) was an Ohio-based computer company that built and marketed microcomputers from 1975 to 1981. Their best-known products were the Challenger series of microcomputers and Superboard sin ...
Challenger 1P. Officially supported host systems include
Linux Linux ( or ) is a family of open-source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution, w ...
, Microsoft Windows,
MS-DOS MS-DOS ( ; acronym for Microsoft Disk Operating System, also known as Microsoft DOS) is an operating system for x86-based personal computers mostly developed by Microsoft. Collectively, MS-DOS, its rebranding as IBM PC DOS, and a few ope ...
and
OS/2 OS/2 (Operating System/2) is a series of computer operating systems, initially created by Microsoft and IBM under the leadership of IBM software designer Ed Iacobucci. As a result of a feud between the two companies over how to position OS/2 r ...
, but the source code itself has been reported to work almost unmodified on many platforms beside these. The ca65 macro assembler supports
6502 The MOS Technology 6502 (typically pronounced "sixty-five-oh-two" or "six-five-oh-two") William Mensch and the moderator both pronounce the 6502 microprocessor as ''"sixty-five-oh-two"''. is an 8-bit microprocessor that was designed by a small te ...
,
65C02 The Western Design Center (WDC) 65C02 microprocessor is an enhanced CMOS version of the popular nMOS-based 8-bit MOS Technology 6502. The 65C02 fixed several problems in the original 6502 and added some new instructions, but its main feature ...
, and 65C816 processors, and can be used standalone without the C compiler.ca65 Users Guide
/ref>


Supported API


static

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


dynamic

*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.


References

{{reflist, refs= By Fatih Aygün. CIRCLE doesn't work at all, some graphics modes may crash on some machines.


External links


Official website (archive)
(no longer maintained)
Modern github fork of cc65




* ttps://github.com/efornara/jbit/wiki/Android Android host C (programming language) compilers Cross-compilers Free compilers and interpreters Assemblers Atari 8-bit family Commodore 64 Apple II family