cc65
Der cc65 ist ein Cross-Compiler-Paket für alte (und neue) 6502-basierte Computerarchitekturen. Es umfasst einen Compiler für die Programmiersprache C, einen Makro-Assembler, Linker, Archiver und einige andere Tools. Das Compiler-Paket ermöglicht u. a. die Entwicklung von Programmen für den C64, C128, Apple II und Atari Heimcomputer/Handheld. Durch eine gute Programmbibliothek ist es u. a. mit dem cc65 sehr einfach möglich, Programme für die grafische Benutzeroberfläche GEOS (C64/128 Versionen) zu entwickeln.
| cc65 | |
|---|---|
![]() | |
| Basisdaten | |
| Entwickler | Ullrich von Bassewitz |
| Erscheinungsjahr | 1998[1] |
| Aktuelle Version | 2.19[2] (20. November 2020) |
| Betriebssystem | Multiplattform |
| Programmiersprache | ANSI C |
| Kategorie | Cross-Compiler |
| Lizenz | zlib-Lizenz/weitere |
| deutschsprachig | nein |
| cc65.github.io | |
Der Compiler unterstützt beinahe die ganze C-Programmiersprache. Das wichtigste noch fehlende Element der Sprache sind Gleitkommazahlen, daher sind Berechnungen nur mit ganzen Zahlen möglich. Die Funktionen der C-Standardbibliothek werden unterstützt, soweit sie auf den Zielsystemen sinnvoll umsetzbar sind.
Systemübergreifende Programmierschnittstellen
Statisch
- conio – Direkte Ein- und Ausgabe über Tastatur und Bildschirm
- dio – Direkter Datenträgerzugriff auf Blockebene
Dynamisch
- em – Unterstützt diverse Arten von Speichererweiterungen auf einheitliche Weise, ähnlich EMS
- joystick – relatives Eingabegerät
- mouse – absolutes Eingabegerät
- serial – Unterstützt die Ein- und Ausgabe über RS-232 und ähnliche Schnittstellen
- tgi – einheitliche Schnittstelle für diverse Grafikmodi, ähnlich BGI
| statisch | dynamisch | ||||||
| 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 | ✓ | 6 | 4 | 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 | |||||

Beispielhafte Projekte
- Contiki (Internet Program Suite)
- Zoo Mania (Spiel)
- IP65 (Protokollstapel)
- VM02 (Java VM)
- EasyFlash (Tool)
Weblinks
- Homepage
- github repository
- www.cc65.org (verwaist, englisch)
- Einsteigerkurs
- C Lernen mit cc65 und C64
Einzelnachweise
- http://unusedino.de/ec64/technical/c=hacking/ch17.html
- Release 2.19. 20. November 2020 (abgerufen am 8. Dezember 2020).
