Optimized Systems Software
Optimized Systems Software was a company that produced disk operating systems, programming languages, and applications primarily for the Atari 8-bit family of home computers, but some products were also sold for the Apple II. OSS was best known for their enhanced versions of Atari BASIC and the MAC/65 assembler and the Action! programming language.
OSS transitioned to other platforms with Personal Pascal for the Atari ST and Personal Prolog for Macintosh. OSS was not as significant in those markets.
History
Optimized Systems Software was formed in early 1981 by Bill Wilkinson, Mike Peters, Paul Laughton, and Kathleen O'Brien. Laughton, the primary author of Atari BASIC, was still employed by Atari, Inc. at the time, and had permission to be involved with OSS from his manager. O'Brien wrote the Atari Assembler Editor for Atari. Laughton and O'Brien were not as involved with the company and were bought out by Peters and Wilkinson.OSS purchased Atari BASIC, Atari DOS, and the Atari Assembler Editor product from Shepardson Microsystems who had concluded that their BASIC and DOS products were not viable. The new company enhanced the products, renaming them OS/A+, BASIC A+, and EASMD. OSS continued to work with Atari on enhanced products, most of which never reached the market.
OSS debuted at the West Coast Computer Faire, March 1981. Their products released over the next several years became respected among Atari programmers, particularly the MAC/65 assembler, the Action! programming language, and BASIC XL. In a 1984 interview, Bill Wilkinson said the company consisted of 15 people.
In January 1988, OSS merged with ICD—makers of SpartaDOS and Atari computer hardware add-ons. In 1994, Fine Tooned Engineering obtained limited rights to ICD's 8-bit products before disappearing.
Disk Operating Systems
OS/A+
Atari DOS 2.0S consisted of two portions, a memory-resident portion that facilitated access to disk files by programs, and a disk-resident portion providing menu-driven utilities to format, copy, delete, rename, and otherwise manipulate files on Atari's 810 disk drive. The menu system was too large to keep memory-resident, but the necessity to reload the menu system after every program was frustrating to many users.- OS/A+ 2.0, 2.1 was a disk-based replacement for the Atari DOS and the Apple II DOS. It replaced the menu-driven utilities with a compact command line approach similar to CP/M. The command line was small enough to remain in memory with most applications, removing the need for the dreaded post-program reload. When first introduced at the West Coast Computer Faire, the program was named CP/A, but a lawyer from Digital Research visited the booth and the name was changed. OSS couldn't have afforded even a court filing fee.
- OS/A+ 4.1 OSS extended the successful OS/A+ product with additional capabilities for version 4, many of which were arguably ahead of their time. For example, the strict "8.3" naming scheme was replaced by "long" filenames, similar to the Microsoft DOS transition to VFAT in 1995.
DOS XL
was designed to replace OS/A+. Included support for single and double-density disk drives. Utilized the command-prompt of OS/A+ but also included a menu program. Featured extensions that took advantage of unused memory space in Atari XL/XE computers and OSS supercartridges. Included support for Indus GT Synchromesh. Due to lack of demand and Atari working on a new version of DOS, OSS decided to halt development of DOS XL 4 and reissue OS/A+ version 4.1.BASIC
BASIC A+
had been designed to fit in a single 8K cartridge, with an optional second cartridge adding additional capability. However, the second cartridge was never produced. Instead, OSS produced a disk-based product called BASIC A Plus, which was compatible with Atari BASIC but corrected several bugs and added quite a few features. Among the notable features were PRINT USING, trace and debug enhancements, direct DOS commands, and explicit support for the Atari computers' exceptional graphics hardware.Because BASIC A+ had to be purchased, programs developed using its extended features could not be shared with people who did not own the interpreter.
BASIC XL
A bank-selected cartridge version of the language that replaced BASIC A+. It fixed bugs and added even more commands and features. The BASIC XL Toolkit contains additional code and examples for use with the BASIC XL language. Included a runtime package for redistribution. No compiler was available.A significant change in BASIC XL concerned the handling of line number lookups in GOTO/GOSUB and FOR...NEXT loops. In Atari BASIC, any GOTO had to search the entire program for the provided line number, and FOR...NEXT loops used the same code. In contrast, Microsoft BASIC included a small additional bit of logic that could search forward from the current line number for a small boost in performance, but much more importantly, used the address of the FOR line rather than its number when performing NEXT, offering an enormous performance boost. These two differences made MS BASIC much faster than Atari in the common case where the program used a number of loops.
To address this, and leapfrog MS, BASIC XL included the new FAST command. When encountered in a program, the language searched the entire program looking for instances of GOTO/GOSUB with a simple line number and replaced it with the address of the line. It did the same for NEXT statements. This offered a huge performance boost, making loops run as fast as MS, and the program as a whole even faster. The downside is that the address became invalid if the program was edited during runtime and it could not be CONTinued, unlike Atari BASIC which generally allowed this after any edit, but this had always been the case in MS anyway.
Antic in 1984 stated that "BASIC XL is the fastest and most powerful version of BASIC available for Atari computers", with "exceptional" documentation. The magazine concluded that "This is the language that should be built into Atari computers. Is anyone at Atari listening?"
BASIC XE
An enhanced version of the BASIC XL bank-selected cartridge, with additional functions and high-speed math routines. Because it required 64KB, it would only run on an XL/XE system. No compiler or runtime was made available. The BASIC XL runtime could be used, but restricted to only XL functions.Assemblers
EASMD
EASMD is the first editor/assembler from OSS. Based on the original Atari Assembler Editor, it was released in 1981 on disk. It was superseded by MAC/65.MAC/65
MAC/65 is 6502 editor/assembler originally released on disk in 1982, then on a bank-switched "supercartridge" in 1983 which included an integrated debugger. Like Atari BASIC, MAC/65 used line-numbered source code and tokenized each line as it was entered. It was significantly faster than Atari's assemblers. The MAC/65 Toolkit disk contains additional code and examples.BUG/65
A machine language debugger. It was initially included with MAC/65, but the cartridge-based version of the assembler added its own debugger, DDT. BUG/65 was later added to DOS XL.Other languages
Action!
A cartridge-based development system for a readable ALGOL-like language that compiles to efficient 6502 code. Action! combines a full-screen editor with a compiler that generates code directly to memory without involving disk access. The language found a niche for being over a hundred times faster than Atari BASIC, but much easier to program in than assembly language. Compiled Action! programs require the cartridge to be present, because standard library functions are on the cartridge. The separately available Action! Run-Time Package overcomes this limitation and allows distribution of Action!-compiled projects.The Action! Toolkit contains additional code and examples for use with the Action! language.