cc65

from Wikipedia, the free encyclopedia
cc65

Cc65-logo.png
Basic data

developer Ullrich von Bassewitz , Oliver Schmidt
Publishing year 1998
Current  version 2.18
( May 29, 2019 )
operating system Multiplatform
programming language ANSI C
category Cross compiler
License zlib license / others
German speaking No
cc65.github.io

The cc65 is a C Ross C ompiler package for old (and new) 65 02 -based computer architectures . It includes a compiler for the C programming language , a macro assembler , linker , archiver, and a few other tools. The compiler package enables the development of programs for the C64 , C128 , Apple II and Atari home computers / handhelds . A good program library makes it very easy to develop programs for the GEOS graphical user interface (C64 / 128 versions) with the cc65 .

The compiler supports almost the entire C programming language. The most important missing element of the language are floating point numbers , so calculations are only possible with whole numbers . The functions of the C standard library are supported insofar as they can be sensibly implemented on the target systems.

Cross-system programming interfaces

Static

  • conio - direct input and output via keyboard and screen
  • dio - Block-level direct disk access

Dynamic

  • em - Supports various types of memory expansion in a uniform manner, similar to EMS
  • joystick - relative input device
  • mouse - absolute input device
  • serial - Supports input and output via RS-232 and similar interfaces
  • tgi - uniform interface for various graphic modes, similar to BGI
Availability of APIs or number of drivers
  static dynamic
  conio dio emd joy mou ser tgi
apple2 1 1 1 1 2
apple2enh 1 1 1 1 2
atari   2      
atari2600              
atari5200     1      
atmos           2
c16   1 1      
c64   6th 4th 3 1 1
c128   5 2 3 1 2
cbm510   1 1   1  
cbm610   1     1  
creativision     1      
gamate     1      
geos 1 1     1
lynx       1   1 1
nes     1      
osic1p            
pce     1      
pet     1      
plus4     1   1  
supervision       1      
telestrat           2
vic20     2      
Overview of the defined namespaces

Exemplary projects

  • Contiki (Internet Program Suite)
  • Zoo Mania (game)
  • IP65 ( protocol stack )
  • VM02 (Java VM)
  • EasyFlash (tool)

Web links

Individual evidence

  1. http://unusedino.de/ec64/technical/c=hacking/ch17.html
  2. Release 2.18 . May 29, 2019 (accessed May 29, 2019).