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).