한국   대만   중국   일본 
cc65 - Wikipedia Jump to content

cc65

From Wikipedia, the free encyclopedia
cc65
Developer(s) Ullrich von Bassewitz
Initial release November 15, 1998 ; 25 years ago  ( 1998-11-15 ) [1]
Stable release
2.19 [2]   Edit this on Wikidata / November 20, 2020 ; 3 years ago  ( 2020-11-20 )
Repository
Written in ANSI C
Operating system Multiplatform
Type Cross compiler
License zlib license
Website cc65 .github .io

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 .

Overview [ edit ]

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. [3]

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 conio.h 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 , Watara Supervision game console, Synertek Systems SYM-1 and Ohio Scientific Challenger 1P. [4]

Officially supported host systems include Linux , Microsoft Windows , MS-DOS and OS/2 , but the source code itself has been reported [ 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. [5]

Supported API [ edit ]

static [ edit ]

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

dynamic [ edit ]

  • 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 Yes Yes 1 1 1 1 2
apple2enh Yes Yes 1 1 1 1 2
atari Yes Yes 2 15 [6]
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 1
osic1p Yes
pet Yes 1
plus4 Yes 1 1
supervision
sym1
vic20 Yes 2

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

References [ edit ]

  1. ^ C=Hacking #17 first mention
  2. ^ "Release 2.19" . 20 November 2020 . Retrieved 8 December 2020 .
  3. ^ "Simplified license. · cc65/Cc65@aeb8492" . GitHub .
  4. ^ "Ohio Scientific-specific information for cc65" .
  5. ^ ca65 Users Guide
  6. ^ By Fatih Aygun. CIRCLE doesn't work at all, some graphics modes may crash on some machines.

External links [ edit ]