Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Action! (programming language)
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Development environment== Action! is one of the earlier examples of the OSS SuperCartridge format. Although ROM cartridges for the Atari could support 16 kB,<ref>{{cite book |last=Chadwick |first=Ian |date=1983 |title=Mapping the Atari |url=https://archive.org/details/Mapping_the_Atari/page/n133/mode/1up |publisher=[[Compute!]] |page=103 |isbn=9780874550047}}</ref> OSS opted for bank-switching 16 kB, organized as four 4 kB blocks, [[Memory map|mapped]] onto 8kB of [[address space]]. The lower 4 kB did not change, and system could [[bank switch]] between the other three blocks by changing the value in address $AFFF.<ref>{{cite web |url=https://atariwiki.org/wiki/Wiki.jsp?page=Cartridges |title= RAM/ROM Control On An XL/XE Computer |website=AtariWiki}}</ref>{{sfn|Moriarty|1984|p=55}} This allowed for more [[RAM]] available for user programs.<ref>{{cite web |url=https://atariwiki.org/wiki/attach/Newsletters/OSS_Newsletter-Summer_1983.pdf |title=OSS Newsletter |author=<!--Not stated--> |date=1983 |website=atariwiki.org |access-date=2024-05-24}}</ref> Action! used this design by breaking the system into four sections, the editor, the compiler, a [[machine code monitor|monitor]] for testing code and switching between the editor and compiler, and the run-time library.{{sfn|Moriarty|1984|p=55}} The run-time library is stored in the cartridge itself. To distribute standalone applications requires a separate run-time package which was sold by OSS as the Action! Toolkit.{{sfn|Moriarty|1984}} Action! constructs were designed to map cleanly to 6502 [[opcode]]s, to provide high performance without needing complex optimizations in the [[one-pass compiler]].<ref>[http://atariki.krap.pl/index.php/ACTION! ACTION! in Atariki (PL)]</ref> For example, local variables are assigned fixed addresses in memory, instead of being allocated on a stack of [[activation record]]s. This eliminates the significant overhead associated with stack management, which is especially difficult in the case of the 6502's 256-byte stack. However, this precludes the use of [[recursion]].{{sfn|Moriarty|1984}} Unlike the integrated [[Atari BASIC]] and [[Atari Assembler Editor]] environments, the Action! editor does not use line numbers. It has a fullscreen, scrolling display capable of displaying two windows, and includes block operations and global search and replace.{{sfn|Moriarty|1984}} The monitor serves as a debugger, allowing an entire program or individual functions to be run, memory to be displayed and modified, and program execution to be traced.{{sfn|Moriarty|1984}}
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)