Action (programming language)
Action! | |
---|---|
Basic data
|
|
developer | Clinton Parker |
Publishing year | August 1983 |
operating system | Atari 8-bit family |
Action (also: Action! ) Is a procedural programming language and a compiler for Atari 8-bit home computers (Atari 400/800, XL series, XE series), which was initially developed in 1983 by Clinton W. Parker for Optimized Systems Software Cartridge was developed.
Action was used to create at least two commercial products. These include HomePak, a productivity manager and Games Computers Play, a client program and many other programs in ANALOG Computing and Antic magazine.
The one-pass compiler generates 6502 - Machine Code and available under the GNU General Public License . The language contains language elements from C , Algol 68 and Pascal .
history
Clinton W. Parker was disappointed with the lack of a system for development on the Atari platform, which was the motivation for developing Action! was. Parker originally wanted to publish the program himself, but later decided to sell it through his partner Optimized Systems Software , which at the time focused on programming languages such as BASIC XL.
In an interview in 2015, Parker said how surprised he is at the high level of interest in keeping the programming language alive.
Data types
Action supports the three fundamental data types byte, cardinal and integer, which are all numeric. They cover different value ranges. Only the integer data type supports negative numbers. It is also possible to insert user-defined variable types.
Development environment
Action is one of the earlier examples of the OSS SuperCartridge format. The ROM cartridges used were usually limited to 8 kilobytes, which made it difficult to create larger programs. The SuperCartridge had 16 kilobytes divided into four 4 kilobyte blocks, with two of the blocks always visible.
Action used this format by breaking the system into four sections, namely the editor, the compiler, the monitor and a run-time library. The latter was stored in the cartridge itself. To distribute standalone applications, you needed another package, sold by OSS, called Action! Toolkit.
The monitor served as a debugger and made it possible to execute the entire program or individual functions, to display the memory used and to modify it.
Sample program
The following shows a sample program for Sieve of Eratosthenes written in Action. With the aim of optimizing the program, the ANTIC graphics processor is deactivated, which prevents the DMA engine from intercepting CPU cycles.
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
literature
- Peter Finzel: Computer Kontakt 10/85, S. (Brief presentation: Textarchiv - Internet Archive ).
Web links
- Action in the Atari Wiki (English)
Individual evidence
- ↑ ANTIC The Atari 8-bit Podcast: ANTIC Interview 111 - Clinton Parker, Action! Retrieved May 18, 2020 .
- ↑ AtariWiki V3: Cartridges. Retrieved May 18, 2020 .