cc65

Cross-Compiler für 6502 CPU

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
Programmier­sprache 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

Bearbeiten

Statisch

Bearbeiten
  • conio – Direkte Ein- und Ausgabe über Tastatur und Bildschirm
  • dio – Direkter Datenträgerzugriff auf Blockebene

Dynamisch

Bearbeiten
  • 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
Verfügbarkeit von APIs bzw. Anzahl der Treiber
  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      
 
Übersicht über die definierten Namensräume

Beispielhafte Projekte

Bearbeiten
Bearbeiten

Einzelnachweise

Bearbeiten
  1. http://unusedino.de/ec64/technical/c=hacking/ch17.html
  2. Release 2.19. 20. November 2020 (abgerufen am 8. Dezember 2020).