HomePak , published in 1984 by Batteries Included , is an integrated application written for the Atari 8-bit computers and ported to the Commodore 64 , Commodore 128 , IBM PCjr , and Apple II . It includes a word processor (HomeText), database (HomeFind), and terminal communications program (HomeTerm). HomePak was designed by Russ Wetmore (who previously wrote the game Preppie! ) for Star Systems Software, Inc. The Commodore 128 version was ported by Sean M. Puckett and Scott S. Smith.
26-457: The Atari 8-bit version of HomePak is implemented in the Action! programming language from Optimized Systems Software . Ahoy! warned "don't expect more than you pay for", stating that while HomeText was "quite nice" and HomeTerm was "wonderful," HomeFile was "very disappointing. Anyone who needs to use the database for even a mildly sophisticated operation will be frustrated and confused ...
52-540: A computer , with options to load and save memory contents from/to secondary storage . Some full-featured machine code monitors provide detailed control ("single-stepping") of the execution of machine language programs (much like a debugger ), and include absolute-address code assembly and disassembly capabilities. Motorola published the MIKBUG ROM monitor for the 6800 in 1973 and the BUFFALO ROM monitor for
78-685: A systems programming language for the Xerox Alto . Action! is largely a port of Micro-SPL concepts to the Atari with changes to support the 6502 processor and the addition of an integrated fullscreen editor and debugger. Action! was used to develop at least two commercial products—the HomePak productivity suite and Games Computers Play client program—and numerous programs in ANALOG Computing and Antic magazines. The editor inspired
104-496: A debugger, allowing an entire program or individual functions to be run, memory to be displayed and modified, and program execution to be traced. Action! has three fundamental data types , all of which are numeric. BYTE is internally represented as an unsigned 8- bit integer. Values range from 0 to 255. The CHAR keyword can also be used to declare BYTE variables. CARD inal is internally represented as an unsigned 16- bit integer. Values range from 0 to 65,535. INT eger
130-504: A separate run-time package which was sold by OSS as the Action! Toolkit. Action! constructs were designed to map cleanly to 6502 opcodes , to provide high performance without needing complex optimizations in the one-pass compiler . For example, local variables are assigned fixed addresses in memory, instead of being allocated on a stack of activation records . This eliminates the significant overhead associated with stack management, which
156-469: A test, ten iterations of the sieve completed in 18 seconds in Action!, compared to 10 seconds for assembly and 38 minutes in BASIC. The magazine also lauded the language's editor. BYTE reported that the language resembled C closely enough to "routinely convert programs between the two", and approved of its pointer support. The magazine concluded that "Action! is easy to use, quick, and efficient. It can exploit
182-499: A total mess". In a review of the HomeTerm portion of the package, Ron Luks wrote in a 1984 review for ANALOG Computing , "A superb terminal program is rare indeed, but in my collection of over two dozen Atari terminal programs, I have two or three that meet the "superb" criteria. Only one, however, can be the best. Hometerm is, quite simply, the best." In a 1986 Page 6 review, the author had technical problems using HomeTerm in
208-465: Is a stub . You can help Misplaced Pages by expanding it . This word processor article is a stub . You can help Misplaced Pages by expanding it . Action! (programming language) Action! is a procedural programming language and integrated development environment written by Clinton Parker for the Atari 8-bit computers . The language, which is similar to ALGOL , compiles to high-performance code for
234-401: Is especially difficult in the case of the 6502's 256-byte stack. However, this precludes the use of recursion . 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. The monitor serves as
260-465: Is example code for Sieve of Eratosthenes written in Action!. In order to increase performance, it disables the ANTIC graphics coprocessor, preventing its DMA engine from "stealing" CPU cycles during computation. While taking his postgraduate studies, Parker started working part-time at Xerox PARC working on printer drivers . He later moved to the Xerox Alto project where he wrote several games for
286-434: Is internally represented as a signed 16- bit integer. Values range from -32,768 to 32,767. Action! also has ARRAYs, POINTERs and user-defined TYPEs. No floating point support is provided. An example of a user-defined TYPE: A reserved word is any identifier or symbol that the Action! compiler recognizes as something special. It can be an operator, a data type name, a statement, or a compiler directive. The following
SECTION 10
#1732802042805312-566: The 68HC11 . Machine code monitors became popular during the home computer era of the 1970s and 1980s and were sometimes available as resident firmware in some computers (e.g., the built-in monitors in the Commodore 128 , Heathkit H89 and Zenith laptops). Often, computer manufacturers rely on their ROM-resident monitors to permit users to reconfigure their computers following installation of upgrade hardware, such as expanded main memory, additional disk drives, or different video displays. It
338-506: The MOS Technology 6502 of the Atari computers. Action! was distributed on ROM cartridge by Optimized Systems Software starting in 1983. It was one of the company's first bank-switched 16 kB "Super Cartridges". The runtime library is stored in the cartridge; to make a standalone application requires the Action! Toolkit which was sold separately by OSS. Parker, working with Henry Baker , had previously developed Micro-SPL,
364-745: The PaperClip word processor . The language was not ported to other platforms. The assembly language source code for Action! was made available under the GNU General Public License by the author in 2015. Action! is one of the earlier examples of the OSS SuperCartridge format. Although ROM cartridges for the Atari could support 16 kB, OSS opted for bank-switching 16 kB, organized as four 4 kB blocks, mapped onto 8kB of address space . The lower 4 kB did not change, and system could bank switch between
390-509: The microprocessor encountered a break point, the test program would be interrupted and control would be transferred to the machine code monitor. Typically, this would trigger a register dump and then the monitor would await programmer input. Activities at this point might include examining memory contents, patching code and/or perhaps altering the processor registers prior to restarting the test program. In most systems where higher-level languages are employed, debuggers are used to present
416-511: The Atari's full power. Action! puts programming for the Atari in a whole new dimension." Ian Chadwick wrote in Mapping the Atari that "Action! is probably the best language yet for the Atari; it's a bit like C and Pascal, with a dash of Forth. I recommend it." Machine code monitor A machine code monitor ( a.k.a. machine language monitor) is software that allows a user to enter commands to view and change memory locations on
442-500: The UK. He called HomeFind, "elegant, friendly and very easy to use," and wrote that HomeText, "might even tempt me away from my trusty old Atariwriter ." With Sparky Starks, Wetmore co-authored a similarly styled Atari 8-bit application called HomeCard. It was advertised as an "electronic filing box" and "intelligent Rolodex ." HomeCard was published by Antic Software in 1985, not Batteries Included. This business software article
468-414: The editor, noting its split-screen and cut and paste capabilities and describing it as a "complete word processing system that's very responsive." He said that Action! ran about 200 times as fast as Atari BASIC , concluding that "This language is like a finely tuned racing car." BYTE in 1985 praised the compilation and execution speed of software written in Action! Using their Byte Sieve benchmark as
494-404: The language and sales ended shortly after. In a 2015 interview, Parker expressed his surprise in the level of interest in the language continued to receive, suggesting it was greater than it had been in the late 1980s. Brian Moriarty , in a February 1984 review for ANALOG Computing , concluded that Action! was "one of the most valuable development tools ever published for the Atari." He cited
520-459: The manual as the only weak point of the package, claiming it "suffers from lack of confidence, uncertain organization and a shortage of good, hard technical data." Leo Laporte reviewed Action in the May/June 1984 edition of Hi-Res . He began the review, "This is the best thing to happen to Atari since Nolan Bushnell figured out people would play ping-pong on a TV screen ." Laporte praised
546-424: The other three blocks by changing the value in address $ AFFF. This allowed for more RAM available for user programs. Action! used this design by breaking the system into four sections, the editor, the compiler, a monitor for testing code and switching between the editor and compiler, and the run-time library. The run-time library is stored in the cartridge itself. To distribute standalone applications requires
SECTION 20
#1732802042805572-505: The same format, allowing BCPL programs to call Micro-SPL programs. Aside from differences in syntax, the main difference between Micro-SPL and BCPL, and the reason for its existence, was that Micro-SPL produced code that was many times faster than the native BCPL compiler. In general, Micro-SPL programs were expected to run about ten times as fast as BCPL, and about half as fast as good hand-written microcode. In comparison to microcode, they claimed it would take half as long to write and 10% of
598-580: The system. His PhD was in natural language parsing and he had worked on compiler theory during his graduate work. Henry Baker and Parker released Micro-SPL in September 1979. Micro-SPL was intended to be used as a systems programming language on the Xerox Alto workstation computer , which was normally programmed in BCPL . The Alto used a microcode system which the BCPL compiler output. Micro-SPL output
624-431: The time to debug it. It was during this period that Parker purchased an Atari computer for use at home. He was disappointed with the lack of development systems for it, which was the impetus for creating Action! Parker considered releasing the system himself, but decided to partner with Optimized Systems Software (OSS) for sales and distribution. OSS focused on utilities and programming languages like BASIC XL , so this
650-503: Was a natural fit for Action! Sales were strong enough for Parker to make a living off the royalties for several years. The IBM PC had C compilers available, and Parker decided there was no point in porting Action! to that platform. As the sales of the Atari 8-bit computers wound down in North America, OSS wound down as well. Late in its history Action! distribution moved from OSS to Electronic Arts , but they did little with
676-409: Was not unheard of to perform all of one's programming in a monitor in lieu of a full-fledged symbolic assembler. Even after full-featured assemblers became readily available, a machine code monitor was indispensable for debugging programs. The usual technique was to set break points in the code undergoing testing (e.g., with a BRK instruction in 6502 assembly language ) and start the program. When
#804195