cc65
| cc65
|
|
|---|---|
|
|
|
| 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
| 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 | |||||
Exemplary projects
- Contiki (Internet Program Suite)
- Zoo Mania (game)
- IP65 ( protocol stack )
- VM02 (Java VM)
- EasyFlash (tool)
Web links
- Homepage
- github repository
- www.cc65.org (orphaned, English)
- Beginners course
- C learning with cc65 and C64
Individual evidence
- ↑ http://unusedino.de/ec64/technical/c=hacking/ch17.html
- ↑ Release 2.18 . May 29, 2019 (accessed May 29, 2019).