Add new attachment

Only authorized users are allowed to upload new attachments.

List of attachments

Kind Attachment Name Size Version Date Modified Author Change note
jpg
00_first_ad_in_compute_Jul1983... 744.3 kB 1 09-Nov-2019 15:55 Roland B. Wassenberg 00_first_ad_in_compute_Jul1983.jpg
xex
ACTION.XEX 16.2 kB 1 06-Apr-2015 03:49 Roland B. Wassenberg ACTION.XEX
car
ACTION_Version_3.6_(C)_1983_AC... 16.4 kB 1 06-Apr-2015 03:48 Roland B. Wassenberg ACTION_Version_3.6_(C)_1983_ACS_034M CAR
rom
ACTION_Version_3.6_(C)_1983_AC... 16.4 kB 1 06-Apr-2015 03:55 Roland B. Wassenberg ACTION_Version_3.6_(C)_1983_ACS_034M.rom
car
ACTION_Version_3.6_(C)_1983_AC... 16.4 kB 1 06-Apr-2015 03:49 Roland B. Wassenberg ACTION_Version_3.6_(C)_1983_ACS_M091.car
rom
ACTION_Version_3.6_(C)_1983_AC... 16.4 kB 1 06-Apr-2015 03:55 Roland B. Wassenberg ACTION_Version_3.6_(C)_1983_ACS_M091.rom
asm
Action-Editor.asm 61.0 kB 1 07-Jun-2018 02:51 Roland B. Wassenberg Action-Editor.asm
pdf
Action-Handbuch-komplett_2016_... 967.3 kB 1 26-Jun-2016 20:57 Roland B. Wassenberg Action-Handbuch-komplett_2016_von_GBXL
xex
Action_Editor-MADS.xex 5.6 kB 1 07-Jun-2018 02:36 Roland B. Wassenberg Action_Editor-MADS.xex
pdf
Action_manual_3rd-revised_edit... 884.8 kB 1 26-Jun-2016 20:56 Roland B. Wassenberg Action_manual_3rd-revised_edition_2015_by_GBXL
jpg
Graphics Utilities Library 1.j... 31.6 kB 1 01-Feb-2015 16:28 Roland B. Wassenberg Graphics Utilities Library 1
jpg
Graphics Utilities Library 2.j... 31.7 kB 1 01-Feb-2015 16:28 Roland B. Wassenberg Graphics Utilities Library 2
jpg
OSS-BBS_.jpg 160.1 kB 1 23-Jan-2020 23:22 Roland B. Wassenberg OSS-BBS_.jpg
atr
OSS_ACTION_3.6_and_REAL_files_... 92.2 kB 1 06-Apr-2015 03:49 Roland B. Wassenberg OSS_ACTION_3.6_and_REAL_files_with_DOS_XL_2.30p_Color
atr
OSS_ACTION_Programmers_Aid_Dis... 92.2 kB 1 24-Feb-2014 20:28 Roland B. Wassenberg OSS ACTION! Programmers' Aid Disk 1.00
pdf
Optimized_Systems_Software_Sof... 351.2 kB 1 19-Oct-2017 22:54 Roland B. Wassenberg Optimized_Systems_Software_Software_License_Agreement.pdf
jpg
Shape Editor and Animator.jpg 30.6 kB 1 01-Feb-2015 16:28 Roland B. Wassenberg Shape Editor and Animator
atr
TURBO-DOS_XE_with_ACTION_Disk_... 92.2 kB 1 06-Apr-2015 03:49 Roland B. Wassenberg TURBO-DOS_XE_with_ACTION_Disk_1.atr
atr
TURBO-DOS_XE_with_ACTION_Disk_... 92.2 kB 1 06-Apr-2015 03:49 Roland B. Wassenberg TURBO-DOS_XE_with_ACTION_Disk_2.atr
jpg
Thank you Alfred.jpg 14.6 kB 1 04-Feb-2015 03:22 Roland B. Wassenberg Thank you Alfred
jpg
Thank you Mr. Parker.jpg 16.2 kB 1 04-Feb-2015 03:22 Roland B. Wassenberg Thank you Mr. Parker
pdf
The ACTION Run Time Package-A ... 240.5 kB 1 24-Feb-2014 20:50 Roland B. Wassenberg The ACTION! Run Time Package-A Reference GUIDE
pdf
The ACTION! Run Time Package-A... 160.8 kB 2 16-Mar-2014 23:49 Roland B. Wassenberg The ACTION! Run Time Package-A Reference GUIDE.pdf
atr
The ACTION! RunTime Disk.atr 92.2 kB 1 30-Jan-2014 05:18 Roland B. Wassenberg The ACTION! RunTime Disk
atr
The ACTION! Toolkit.atr 92.2 kB 1 30-Jan-2014 05:19 Roland B. Wassenberg The ACTION! Toolkit
atr
The Action RunTime Disk-Origin... 92.2 kB 1 06-Feb-2014 19:11 Roland B. Wassenberg The Action RunTime Disk-Original
pdf
The Action! Toolkit.pdf 892.3 kB 1 30-Jan-2014 05:14 Roland B. Wassenberg The Action! Toolkit
pdf
The_Action!_Toolkit_Allan.pdf 4,556.2 kB 1 05-Jul-2015 14:18 Roland B. Wassenberg The_Action!_Toolkit_Allan.pdf
pdf
The_Action!_Toolkit_AtariAge.p... 7,386.0 kB 1 05-Jul-2015 14:18 Roland B. Wassenberg The_Action!_Toolkit_AtariAge.pdf
pdf
The_Action_Toolkit.pdf 240.5 kB 1 24-Feb-2014 19:24 Roland B. Wassenberg The ACTION! Run Time Package-A Reference GUIDE
txt
acsterm.txt 38.9 kB 1 16-Jun-2017 13:16 Roland B. Wassenberg acsterm.txt
pdf
action_rev_3-5_GBXL_2018.pdf 918.2 kB 2 01-Aug-2018 20:06 Roland B. Wassenberg action_rev_3-5_GBXL_2018.pdf
pdf
action_rev_3-6_GBXL_2018.pdf 987.4 kB 1 05-Nov-2018 21:03 Roland B. Wassenberg action_rev_3-6_GBXL_2018.pdf

This page (revision-241) was last changed on 11-Dec-2020 14:53 by Maury Markowitz  

This page was created on 20-Feb-2010 20:16 by Carsten Strotmann

Only authorized users are allowed to rename pages.

Only authorized users are allowed to delete pages.

Difference between version and

At line 9 changed one line
Action! uses a greatly cut-down version of the ALGOL syntax, and thus bears strong similarities with [Pascal] and [C]. Like those languages, Action! is procedural, with programs essentially consisting of 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 sizes available on an 8-bit machine. Syntactically it looks very similar to Pascal, with the exception that it uses ALGOL68 DO/OD style bracketing rather than Pascal's BEGIN/END.
Action! uses a greatly cut-down version of the ALGOL syntax, and thus bears strong similarities with [Pascal] and [C]. Like those languages, Action! is procedural, with programs essentially consisting of 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 sizes available on an 8-bit machine. Additionally, variables were assigned locally, not on a stack, so recursion was not supported internally. Syntactically it looks very similar to Pascal, with the exception that it uses ALGOL 68 DO/OD style bracketing rather than Pascal's BEGIN/END.
At line 11 changed one line
Action! included a number of features to allow it to 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. The language also included a 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 memory location 20 to be the value of the real-time clock. The user could then read that register using the name "RTCLOK".
Action! included a number of features to allow it to 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. The language also included a 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 memory location 20 to be the value of the real-time clock. The user could then read that register using the name {{RTCLOK}}.
At line 51 changed one line
There is a clever trick in this code. Note that {{RTCLOK}} is defined as a {{BYTE}} but {{TIME}} is defined as a {{CARD}}, a 16-bit value. This is because the clock value is stored in three bytes, 18, 19 and 20. By defining {{TIME}} as a {{CARD}}, when that value is read it automatically reads two bytes, thereby getting a value from both 20 and 19, which provides a value from 0 to 65535 jiffies, about 36 minutes. This is much easier than doing the math in the code.
There is a clever trick in this code. Note that {{RTCLOK}} is defined as a {{BYTE}} but {{TIME}} is defined as a {{CARD}}, a 16-bit value. This is because the clock value is stored in three bytes, 18, 19 and 20. By defining {{TIME}} as a {{CARD}}, when that value is read it automatically reads two bytes, thereby getting a value from both 20 and 19, which provides a value from 0 to 65535 jiffies, about 36 minutes. This avoids the need to read two bytes and manipulate them into a 16-bit value, something that is commonly found in BASIC programs.
Version Date Modified Size Author Changes ... Change note
241 11-Dec-2020 14:53 18.468 kB Maury Markowitz to previous
« This page (revision-241) was last changed on 11-Dec-2020 14:53 by Maury Markowitz