Ende November, Anfang Dezember habe ich AHCC entdeckt. AHCC steht für “A Home Cooked C Compiler” und ist ein frei verfügbarer ANSI C Compiler für Atari ST und Nachfolger. Der Compiler stellt eine unter Mint und MagiC multitaskingfähige Programmierumgebung zur Verfügung. Das Paket kommt komplett mit GEM-Shell, Make in TTP-Form, einer guten Dokumentation und mit allen nötigen Libraries.
Es gibt von AHCC zwei Versionen. Die normale Version benötigt eine 68020 oder bessere CPU, während es auch eine Atari ST Version für 68000 gibt. Letztere hat dann allerdings keinen Support für Floating Point Arithmetik, aber die brauche ich zumindest nicht.
Einmal erzeugte Objectfiles oder Biblitoheken bleiben dabei nach Aussage des AHCC Betreuers kompatibel. D.h. man kann mit der ST Version eine Bibliothek erzeugen und diese dann auf dem Falcon mit der 020 Version verwenden und dazu linken.
Der Compiler überzeugt mich vor allem mit den folgenden Punkten:
- frei zu haben (Der Source des Compilers ist vorhanden und einsehbar)
- ANSI C Unterstützung (freie C Compiler auf dem ST gibts afaik bis dato nur mir K&R C)
- eingebauter Editor mit Syntaxhighlighting
- TTP für Make und Compilieren funktioniert auch tatsächlich (hab ich mit Pure C nie hinbekommen)
- Pure C kompatibel (bzgl. Objectfiles habe ich das noch nicht ausprobiert)
- Objectfiles aus Assemblercode sind leicht zu integrieren
- komplette TOSLib inklusive Calls für Mint
- Floating Point Support ist optional
- läuft vermutlich auf allen Ataris mit 2-3MB Speicher
- Support über den Autor Henk Robbers ist super
Ein paar Schwachstellen hat AHCC allerdings auch:
- kein Debugger dabei
- Aufruf von einem Debugger oder dem Kompilat aus der GEM-Shell heraus ist nicht möglich (TOS Nutzer müssen also die Shell beenden und vom Desktop starten)
- Die Codequalität des erzeugten Maschinencodes kommt an Pure C nicht heran.
Insgesamt bedeutet das für mich, ich werde für die Programmierung auf dem Atari ST vermutlich zu C wechseln.
Es gibt viel Neues zu entdecken
AHCC Homepage: http://members.chello.nl/h.robbers/