Action (Programmiersprache)

Van Wikipedia, de gratis encyclopedie

Action!
Basisdaten

Entwickler Clinton Parker
Erscheinungsjahr August 1983
Betriebssystem Atari 8-bit Family

Action (auch: Action!) ist eine prozedurale Programmiersprache und ein Compiler für Atari-8-Bit-Heimcomputer (Atari 400/800, XL-Serie, XE-Serie), die 1983 von Clinton W. Parker für Optimized Systems Software zunächst auf Cartridge entwickelt wurde.

Action wurde zur Erstellung von mindestens zwei kommerziellen Produkten verwendet. Dazu gehören HomePak, ein Produktivitätsmanager und Games Computers Play, ein Clientprogramm und vielen weiteren Programmen im ANALOG Computing und Antic Magazin.

Der 1-Pass-Compiler erzeugt 6502-Maschinencode und ist erhältlich unter der GNU General Public Lizenz. Die Sprache enthält Sprachelemente von C, Algol 68 und Pascal.

Clinton W. Parker war enttäuscht von dem fehlenden System für Entwicklung auf der Atari-Plattform, was die Motivation für die Entwicklung von Action! war. Parker wollte das Programm ursprünglich selber veröffentlichen, wobei er sich jedoch später dazu entschied, es über seinen Partner Optimized Systems Software zu vertreiben, welcher damals den Fokus auf Programmiersprachen wie BASIC XL legte.

In einem Interview im Jahre 2015 teilte Parker mit, wie überrascht er über das hohe Interesse, die Programmiersprache am Leben zu halten, ist.[1]

Action unterstützt die drei fundamentalen Datentypen Byte, Cardinal und Integer, welche alle numerisch sind. Sie decken unterschiedliche Wertebereiche ab. Nur der Datentyp Integer unterstützt negative Zahlen. Es ist ebenfalls möglich, benutzerdefinierte Variablentypen einzufügen.

Entwicklungsumgebung

[Bearbeiten | Quelltext bearbeiten]

Action ist einer der früheren Beispiele des OSS-SuperCartridge-Formats. Die verwendeten ROM-Kartuschen waren normalerweise auf 8 Kilobyte limitiert, was die Möglichkeit, größere Programme zu erstellen, erschwerte. Die SuperCartridge hatte 16 Kilobyte verteilt in vier 4 Kilobyte-Blöcken, wobei immer zwei der Blöcke sichtbar waren.[2]

Action verwendete dieses Format, indem es das System in vier Sektionen brach, nämlich den Editor, den Compiler, den Monitor und einer Run-time-Bibliothek. Letzteres war in der Kartusche selber gespeichert. Um eigenständige Applikationen zu verteilen, brauchte man ein weiteres Paket, verkauft von OSS, namens Action! Toolkit.

Der Monitor diente als Debugger und erlaubte, das ganze Programm oder einzelne Funktionen auszuführen, den verwendeten Speicher anzuzeigen und diesen zu modifizieren.

Beispielprogramm

[Bearbeiten | Quelltext bearbeiten]

Das folgende zeigt ein Beispielprogramm für Sieve of Eratosthenes, geschrieben in Action, auf. Mit dem Ziel, das Programm zu optimieren, wird der ANTIC-Grafikprozessor deaktiviert, was verhindert, dass die DMA Engine CPU-Zyklen abfängt.

BYTE RTCLOK=20, ; addr of sys timer      SDMCTL=559 ; DMA control  BYTE ARRAY FLAGS(8190)  CARD COUNT,I,K,PRIME,TIME  PROC SIEVE()    SDMCTL=0 ; shut off Antic   RTCLOK=0 ; reset the clock to zero    COUNT=0         ; init count   FOR I=0 TO 8190 ; and flags     DO     FLAGS(I)='T ; "'T" is a compiler-provided constant for True     OD    FOR I=0 TO 8190 ; now run the sieve     DO     IF FLAGS(I)='T THEN       PRIME=I+I+3       K=I+PRIME       WHILE K<=8190         DO         FLAGS(K)='F ; "'F" is a compiler-provided constant for False         K==+PRIME         OD       COUNT==+1     FI     OD   TIME=RTCLOK ; get timer reading   SDMCTL=34   ; restore screen    PRINTF("%E %U PRIMES IN",COUNT)   PRINTF("%E %U JIFFIES",TIME) RETURN 
  • Action im Atari-Wiki (englisch)

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. ANTIC The Atari 8-bit Podcast: ANTIC Interview 111 – Clinton Parker, Action! Abgerufen am 18. Mai 2020 (englisch).
  2. AtariWiki V3: Cartridges. Abgerufen am 18. Mai 2020.