Optimized Systems Software: Difference between revisions

Content deleted Content added
top: copyediting
Rescuing 1 sources and tagging 0 as dead.) #IABot (v2.0.9.5
 
(21 intermediate revisions by 9 users not shown)
Line 1:
{{Other uses|OSS (disambiguation){{!}}OSS}}
{{more footnotes|date=April 2015}}
 
Line 40 ⟶ 39:
}}
 
'''Optimized Systems Software''' ('''OSS''') was a company that produced [[disk operating system]]s, [[programming languageslanguage]]s with integrated development environments, and applications primarily for the [[Atari 8-bit familycomputers]]. ofThe homefounders computers.of OSS waspreviously bestdeveloped known[[Atari for their enhanced versions ofDOS]], [[Atari BASIC]], and the [[MAC/65Atari Assembler Editor]] assemblerfor [[Atari, bothInc.]], ofand whichmany OSS products are muchsubstantially fasterimproved thanversions. {{nowrap|OS A+}} and [[DOS XL]] are based on Atari's productsDOS. [[BASIC A+]], BASIC XL, and BASIC XE are based on Atari BASIC. EASMD and [[MAC/65]] are modeled on the [[Atari Assembler Editor]]. [[Action! (programming language)|Action!]] is an [[ALGOL]]-inspired compiled programming language with an integrated full-screen editor. OSS also sold some productssoftware for the [[Apple II]].<ref name=finest/>
 
OSS transitioned to 16-bit platforms with Personal Pascal for the [[Atari ST]] with Personal Pascal<ref name=ppmanual>{{cite web|title=Personal Pascal for the Atari ST Manual|url=https://archive.org/details/OSSPersonalPascal|website=archive.org}}</ref> and Personal Prolog forthe [[MacintoshMac (computer)|Mac]] with Personal Prolog (which was also advertised for the Atari ST, but may not have been released). OSS was not as significant in those markets. The company merged with ICD in 1988.
 
== History ==
Optimized Systems Software was formed in early 1981 by Bill Wilkinson, Mike Peters, Paul Laughton, and Kathleen O'Brien.<ref name="savetz">{{cite web |last1=Savetz |first1=Kevin |title=Paul Laughton Interview |url=http://ataripodcast.libsyn.com/antic-the-atari-8-bit-podcast-paul-laughton-interview |website=ANTIC: The Atari 8-Bit Podcast |date=October 21, 2014}}</ref> 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 (married) 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 versions of BASIC and DOS products were not viable.{{Citation needed |date=April 2024}} The new company enhanced the productsprograms, renaming them OS/A+ (the Disk Operating System), BASIC A+ (a disk-based language), and EASMD (an update to the Assembler Editor). OSS continued to work with [[Atari, Inc.]] (who had previously contracted with SMI) on enhanced products, most of which never reached the market.
 
OSS debuted at the [[West Coast Computer Faire]] in March 1981. The products they released over the next several years became respected among Atari programmers, particularly the [[MAC/65]] assembler, the [[Action! (programming language)|Action!]] programming language, and BASIC XL. In a 1984 interview, Bill Wilkinson said the company consisted of 15 people.<ref name="ellison">{{cite journal |last1=Ellison |first1=Peter |title=Bill Wilkinson Interview |journal=ROM |date=August 1984 |volume=1 |issue=7 |page=13 |url=https://archive.org/details/ROM_Magazine_v1i7/page/n12}}</ref>
 
In January 1988, OSS merged with ICD (the makers of [[SpartaDOS]] and various Atari computer hardware add-ons). In 1994, [[Fine Tooned Engineering]] obtained limited rights to ICD's 8-bit products before disappearing.
 
==Disk Operating Systems==
Line 57 ⟶ 56:
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]] (and later, [[MS-DOS]]). 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]] (owners of CP/M) 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 (eight alphanumeric characters with a three character extension) was replaced by "long" filenames, similar to the Microsoft DOS transition to [[File Allocation Table|VFAT]] in 1995.
 
However, unlike VFAT, ''OS/A+ 4.1'' disks were not [[backward compatible]] with earlier systems; Atari DOS or ''OS/A+ 2.1'' could not read disks formatted by ''OS/A+ 4.1'', breaking backward compatibility. The [[memory footprint]] was larger as well, resulting in insufficient memory to run some popular applications. As a result of these drawbacks, ''OS/A+ 4.1'' did not achieve the market penetration as the earlier product. OSS did reissue ''OS/A+ 4.1'' for a brief period when they decided not to modify ''DOS XL'' for double-sided disk support.
 
=== DOS XL ===
Line 69 ⟶ 68:
==BASIC==
 
While at Shepherdson Microsystems, theThe team hadthat developed Atari BASIC. Aswhile OSS,at theyShepherdson Microsystems developed a series of three increasingly sophisticated [[BASIC interpreter]]s at OSS.
 
=== BASIC A+ ===
{{Main|BASIC A+}}
 
[[Atari BASIC]] had beenwas designed to fit in a singlean 8K cartridge, with an optional second cartridge addingfor additionalthe capabilitysecond slot of (the [[Atari 800]] [[homeadding computer]]additional featured two cartridge slots)capability. However, theThe second cartridge was never produced. Instead, OSS produced athe disk-based product called [[BASIC A Plus]] (or BASIC A+), which wasis compatible with Atari BASIC, but correctedcorrects several bugs, and addedadds quitemany a fewnew features. AmongIt the notable features wereincludes PRINT USING (for formatted output), trace and debug enhancements, direct DOS commands, and explicit support for the Atarigraphics computers'hardware exceptionalincluding [[Sprite (computer graphics)|player/missile hardwaregraphics]]. 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.
 
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 ===
BASIC XL wasis a bank-selected cartridge version of the language that replaced BASIC A+. It fixedfixes bugs and addedhas even more commands and features. The '''BASIC XL Toolkit''' contains additional code and examples for use with the BASIC XL language. Includedand 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 line 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.
 
ToA addresssignificant this,change and leapfrog MS,in BASIC XL includedis the newhandling FASTof command.line Whennumber encounteredlookups in a[[GOTO]]/[[GOSUB]] programand FOR...NEXT loops. In Atari BASIC, theany languageGOTO searchedsearches the entire program looking for instancesthe ofprovided GOTO/GOSUBline withnumber, aand simpleFOR...NEXT lineloops numberuse (asthe opposedsame tocode. a[[Microsoft formulaBASIC]] thatsimply returnedjumps to a number)FOR andstatement replacedvia it with theits address. ofThe theBASIC line.XL ItFAST didcommand thereplaces sameconstant fortargets of GOTO/GOSUB/NEXT statementswith addresses. This offeredgives a huge performance boost, making loops run as fast as MSMicrosoft BASIC, and the program as a whole even faster. The downside is that thean address becamebecomes invalid if the program wasis edited during runtime, andpreventing it could notfrom bebeing CONTinued, unlike Atari BASIC which generally allowedallows this after any edit, but this had always been the case in MS anyway.
 
''[[Antic (magazine)|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?"<ref name="antic198403">{{Cite magazine |last=White |first=Jerry |date=March 1984 |title=Product Reviews |url=http://www.atarimagazines.com/v2n12/productreviews.html |magazine=Antic}}</ref>
 
=== BASIC XE ===
BASIC XE wasis an enhanced version of the BASIC XL bank-selected cartridge, with additional functions and high-speed math routines. Because it requiredrequires 64KB, it would only runruns on an XL/XE systemsystems. NoA compilerruntime or runtimepackage was madenot availablereleased. The ''BASIC XL'' runtime couldcan be used, but restricted to only XL functions.
 
==Assemblers==
Line 97 ⟶ 92:
{{Main|MAC/65}}
 
MAC/65 is a [[MOS Technology 6502|6502]] editor and [[assembly language#Assembler|assembler]] originally released on disk in 1982, then on a bank-switched "supercartridge" in 1983 which includes an integrated debugger (DDT). Like [[Atari BASIC]], MAC/65 uses line-numbered [[source code]] and tokenizes each line as it is entered. It is significantly faster than Atari's assemblers. The '''MAC/65 Toolkit''' disk contains additional code and examples.
 
=== BUG/65 ===
Line 106 ⟶ 101:
{{Main|Action! (programming language)}}
 
A cartridge-based development system for a readable [[ALGOL]]-like language that compiles to efficient [[MOS Technology 6502|6502]] code. [[Action! (programming language)|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]],<ref>{{cite journal|last1=Moriarty|first1=Brian|title=A New Langue for the Atari!|journal=ANALOG Computing|date=1984|url=http://www.cyberroach.com/analog/an16/action.htm|access-date=2015-08-01|archive-date=2017-06-27|archive-url=https://web.archive.org/web/20170627190315/http://www.cyberroach.com/analog/an16/action.htm|url-status=dead}}</ref> but much easier to program in than [[assembly language]]. Compiled Action! programs require the cartridge to be present, because standard [[Library (computing)|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''' (originally called the Programmer's Aid Disk, or PAD) contains additional code and examples for use with the Action! language.
Line 114 ⟶ 109:
 
===Tiny C===
Tiny C, stylized as '''tiny-c''', is an [[interpreter (computing)|interpreter]] for a subset of the [[C (programming language)|C programming language]]; it was developed by Tiny C Associates.<ref name=finest/>
 
=== Personal Pascal ===
A one-pass, [[machine code]] generating compiler for the [[Pascal (programming language)|Pascal]] language developed by J. Lohse for the Atari ST and released by OSS in 1987.<ref name=ppmanual/> It came with a 500+ page manual.
 
==Applications==
=== The Writer's Tool ===
A word processing application available in a bank-selected cartridge and a double-sided disk (master disk on one side, dictionary disk on the other side).<ref name="wt-antic">{{cite journal|last1=Rainbow|first1=Tom|title=8-bit Product Reviews: Writer's Tool|journal=Antic|date=March 1985|volume=3|issue=11|url=http://www.atarimagazines.com/v3n11/reviews.html}}</ref> It was developed by Madison Micro and published by OSS in 1984.<ref name="wt_manual">{{cite book|title=The Writer's Tool Manual|date=1984|publisher=Optimized Systems Software, Inc.|url=http://www.atarimania.com/8bit/manuals/The_Writers_Tool_manual.pdf|archive-date=2016-02-09|access-date=2016-04-16|archive-url=https://web.archive.org/web/20160209103325/http://www.atarimania.com/8bit/manuals/The_Writers_Tool_manual.pdf|url-status=dead}}</ref> According to Bill Wilkinson, OSS was already building a word processor, but stopped when ''The Writer's Tool'' was submitted.<ref>{{cite web|title=Interview 7: Bill Wilkinson|url=http://ataripodcast.libsyn.com/antic-interview-7-the-atari-8-bit-podcast-bill-wilkinson-oss|website=ANTIC The Atari 8-bit Podcast}}</ref>
 
=== SpeedRead+ ===
Line 127 ⟶ 122:
 
== Sales ==
According to Bill Wilkinson, OSS sold about 12,000 copies of ''Basic XL'' before the ICD merger. ''Basic XL'' outsold ''Action!'' by about 2.5 or 3 to 1. ''MAC/65'' outsold ''Action!'' by about 1.5 to 1. ''Basic XE'' sold poorly, aand lost money-loser. Personal Pascal sold over 10,000 copies. {{Citation needed|date=February 2011}}
 
== References ==
Line 149 ⟶ 144:
[[Category:Optimized Systems Software| ]]
[[Category:Defunct software companies of the United States]]
[[Category:Atari 8-bit familycomputers]]
[[Category:Software companies based in the San Francisco Bay Area]]
[[Category:Companies based in Cupertino, California]]