Action
Back to current versionRestore this version

Action!#

Action! is an Atari-specific programming language written by Clinton Parker and sold by Optimized Systems Software (OSS) in ROM cartridge form starting in August 1983. It is perhaps the only 3rd party language (as opposed to BASIC or assembler) that had real popularity on the platform and saw any significant coverage in the Atari press, with type-in programs and various technical articles found in most magazines at one time or another. In comparison, other languages like Forth and Logo saw much less use and almost no press coverage.

Action! uses a greatly cut-down version of the ALGOL68 syntax, and thus bears strong similarities with Pascal and C. Like those languages, Action! is procedural, with programs essentially being a large collection of functions that call each other. It lacked encapsulation or data hiding, but that is not a serious concern in the limited program size available on an 8-bit machine. Syntactically it looks very similar to Pascal, with the exception that it uses DO/OD style braketting rather than Pascal's BEGIN/END.

Action! included a number of features specifically intended to make it run as fast as possible. Notably, it's main data types were BYTE, INT and CARD, 8-bit and 16-bit signed and unsigned values, respectively. These map directly onto the basic 6502-types, and the language also included a simple syntax to directly refer to these objects in memory so they could be mapped into hardware registers. For instance, one could set a variable to "BYTE RTCLOK=20" which defined the 8-bit value at hex 20 to be the value of the real-time clock. The user could then read that register using the name "RTCLOK".

Curiously, Action! did not include support for floating point types, although such support is built into the machine's OS ROM (see Atari BASIC for details) and available to any programming language. This is a significant limitation in some roles, although perhaps not for its target market. It also lacked most string handling, but made up for this somewhat with a PRINTF command that made formatted output easy.

Editor's note: A version of Action! with support for a FLOAT type and a replacement floating point library like the ones in Fastchip or Turbo-Basic would be a very interesting project.

Generally, Action! programs had performance on-par with reasonable-quality assembler, while being much easier to program. In one review, it ran Byte's Sieve of Eratosthenes 219 times faster than Atari BASIC, while being only slightly longer than BASIC in source form, about a page, compared to several pages of assembler. Such performance, combined with terse code and library functions to access much of the platform's hardware, made it suitable for action games while still having a simple format suitable for type-in programs. It deserved to be much more popular and may have been had it been released earlier, or by Atari itself.

Action! inspired several similar languages that differ largely in syntax and various features that they do or do not support. Examples include PL65 and Quick.

ACTION! source code #

at that point AtariWiki must give the highest award possible:

Thanks#

Thank you so much Mr. Parker, we can't thank you enough for what you have done for us.

Thank you so much Mr. Parker

Further thank you Alfred from AtariAge for preserving the source code for generations to come. We are deep in your debt.

Thank you Alfred

Blogs#

Manuals and Docs#

New ACTION! versions > 3.6#

CAR-Images#

ROM-Images#

Runtimes#

XEX-File#

Mini-LIBs (and/or independant Runtime Parts)#

Functions#

Code#

Tools#

Misc#

Still missing: Graphics Utilities Library and Shape Editor#

Now just these two are missing. Any hint, any help is welcome at any time. We would really appreciate your help in that case.

Graphics Utilities Library for ACTION! screen 1

Graphics Utilities Library for ACTION! screen 2

Shape Editor and Animator for ACTION!

Action Articles in Magzines#

Analog#

TitleIssueLanguageComment
Review Action!#16 (02/ 84)enreview
An Introduction to ACTION! #17 + #18 (03+ 04/ 84)entutorial
Stars in 3D#20 (07/ 84)endemo
Bounce in ACTION!#20 (07/ 84)engame
Pulse in ACTION!#26 (01/ 85)endemo
More Fun with Bounce!#27 (02/ 85)engame
Demon Birds#28 (03/ 85)engame
Roto#31 (06/ 85)engame
Color the shapes#32 (07/ 85)engame
Getting in on the Action! 1#32 (07/ 85)enON-LINE Action! Tutorial
Getting in on the Action! 2#35 (10/ 85)enON-LINE Action! Tutorial
Sneak attack#36 (11/ 85)engame
Air hockey#38 (01/ 86)engame
D-Check#44 (07/ 86)entool
Trails#50 (01/ 87)en
ACTION! Zero Free#54 (05/ 87) entool

Antic#

TitleIssueLanguageComment
Interrupts in ACTION!Vol. 3 #3 (07/ 84)en
Demo PrettyVol. 3 #7 (11/ 84)endemo from Antic I/O-Board
SPLASH in ACTION!Vol. 3 #12 (04/ 85)endemo
Game AMAZING in ACTION!Vol. 4 #1 (05/ 85)engame
View 3DVol. 4 #2 (06/ 85)entool
Dark StarVol. 4 #3 (07/ 85)engame:Zapping Aliens With Radioactive Waste
Display MasterVol. 4 #4 (08/ 85)en
Eight QueensVol. 4 #5 (09/ 85)en92 chess solutions in 40 seconds
Video StretchVol. 5 #6 (10/ 86)entool
Killer ChessVol. 6 #10 (02/ 88)engame
ReardoorVol. 6 #10 (02/ 88)engame
FrogVol. 6 #10 (02/ 88)engame
ACTION! ToolboxVol. 7 #6 (10/ 88)enLightning-fast command finder (Wordfind and Matchup)

ATARImagazin#

TitleIssueLanguageComment
Schnelle Vektoren in ACTION!#1 (1-2/ 87)getutorial:Action!-Center Teil 1
Schnelle Umwege in ACTION!#2 (3-4/ 87)getutorial:Action!-Center Teil 2
Interne Variablen#3 (5-6/ 87)getutorial:Action!-Center Teil 3
Was ist dran an Action!?#4 (7-8/ 87)getutorial:Action!-Center Teil 4

CK Computer Kontakt#

TitleIssueLanguageComment
Musik in ACTION #10/85ge tutorial
ACTION! noch schneller #6-7/86ge tutorial

Atari Magazine#

TitleIssueLanguageComment
ACTION! Deel nlA collection of ACTION! Articles