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 ...
, 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 ...
,
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 A tool is an object that can extend an individual's ability to modify features of the surrounding environment or help them accomplish a particular task. Although many animals use simple tools, only human beings, whose use of stone tools dates ba ...
.


Overview

cc65 is based on a native C compiler that was originally adapted for the
Atari 8-bit The Atari 8-bit family is a series of 8-bit home computers introduced by Atari, Inc. in 1979 as the Atari 400 and Atari 800. The series was successively upgraded to Atari 1200XL , Atari 600XL, Atari 800XL, Atari 65XE, Atari 130XE, Atari 800XE, ...
computers by John R. Dunning in 1989, which originated as a
Small C Small-C is both a subset of the C (programming language), C programming language, suitable for resource-limited microcomputers and embedded systems, and an implementation of that subset. Originally valuable as an early compiler for microcomputer ...
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 a ...
'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 the ...
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 Borland Software Corporation was a computer technology company founded in 1983 by Niels Jensen, Ole Henriksen, Mogens Glad and Philippe Kahn. Its main business was the development and sale of software development and software deployment product ...
-style screen handling. GEOS is also supported on the
Commodore 64 The Commodore 64, also known as the C64, is an 8-bit home computer introduced in January 1982 by Commodore International (first shown at the Consumer Electronics Show, January 7–10, 1982, in Las Vegas). It has been listed in the Guinness ...
and even the
Apple II The Apple II (stylized as ) is an 8-bit home computer and one of the world's first highly successful mass-produced microcomputer products. It was designed primarily by Steve Wozniak; Jerry Manock developed the design of Apple II's foam-m ...
. The library supports many of the Commodore platforms ( C64, C128, C16/116/ Plus/4, P500 and 600/700 family),
Apple II family The Apple II series (trademarked with square brackets as "Apple ] ''" and rendered on later models as "Apple //") is a family of home computers, one of the first highly successful mass-produced microcomputer products, designed primaril ...
,
Atari 8-bit family The Atari 8-bit family is a series of 8-bit home computers introduced by Atari, Inc. in 1979 as the Atari 400 and Atari 800. The series was successively upgraded to Atari 1200XL , Atari 600XL, Atari 800XL, Atari 65XE, Atari 130XE, Atari 800XE, ...
,
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 hom ...
,
Nintendo Entertainment System The Nintendo Entertainment System (NES) is an 8-bit third-generation home video game console produced by Nintendo. It was first released in Japan in 1983 as the commonly known as the The NES, a redesigned version, was released in America ...
,
Watara Supervision The Watara Supervision, also known as the QuickShot Supervision in the UK, is a monochrome handheld game console, originating from Asia, and introduced in 1992 as a cut-price competitor for Nintendo's Game Boy. It came packaged with a game call ...
game console,
Synertek Synertek, Inc. was an American semiconductor manufacturer founded in 1973. The initial staff consisted of Bob Schreiner (the CEO), Dan Floyd, Jack Balletto, and Gunnar Wetlesen and Zvi Grinfas. Schreiner, Floyd, Balletto and Wetlesen were all forme ...
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 popul ...
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 si ...
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, which ...
,
Microsoft Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for serv ...
,
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 ...
, 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 The W65C816S (also 65C816 or 65816) is an 8/16-bit microprocessor (MPU) developed and sold by the Western Design Center (WDC). Introduced in 1985, the W65C816S is an enhanced version of the WDC 65C02 8-bit MPU, itself a CMOS enhancement of the ve ...
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