<!DOCTYPE html>
<!-- ========================================== kroc camen of camen design ============================================= -->
<title>writing · GEOS: The Graphical Environment Operating System</title>
<link rel="stylesheet" type="text/css" href="/design/design.css" />
<meta name="viewport" content="width=device-width, maximum-scale=1.0, user-scalable=no" />
<link rel="alternate" type="application/rss+xml" href="/writing/rss" title="Just writing" />
<link rel="canonical" href="/writing/geos" />
<!-- =================================================================================================================== -->
<header>
	<h1><a href="/" rel="index">
		Camen Design
	</a></h1>
	<nav><ul>
		<li><a href="/">all</a></li>
		<li><a href="/projects">projects</a></li>
		<li><a href="http://forum.camendesign.com">forum</a></li>
	</ul><ul>
		<li><a href="/quote/">quote</a></li>
		<li><a href="/writing/" rel="tag">writing</a></li>
		<li><a href="/blog/">blog</a></li>
		<li><a href="/photo/">photo</a></li>
		<li><a href="/code/">code</a></li>
		<li><a href="/art/">art</a></li>
		<li><a href="/link/">link</a></li>
		<li><a href="/poem/">poem</a></li>
		<li><a href="/audio/">audio</a></li>
	</ul><ul>
		<li><a href="/web-dev/">web-dev</a></li>
		<li><a href="/annoyances/">annoyances</a></li>
		<li><a href="/eve/">eve</a></li>
		<li><a href="/code-is-art/">code-is-art</a></li>
		<li><a href="/inspiration/">inspiration</a></li>
		<li><a href="/windows/">windows</a></li>
		<li><a href="/gift/">gift</a></li>
		<li><a href="/gaming/">gaming</a></li>
		<li><a href="/mac/">mac</a></li>
		<li><a href="/osnews/">osnews</a></li>
		<li><a href="/c64/">c64</a></li>
		<li><a href="/linux/">linux</a></li>
	</ul>
	<a rel="previous" href="/writing/kroc_writes_6">
		older article →
	</a><a rel="next" href="/writing/digital-archaeology">
		← newer article
	</a></nav>
</header>
<!-- =================================================================================================================== -->
<article><header>
	<!-- date published or updated -->
	<time pubdate datetime="2006-08-24T20:26:00+01:00">
		<sup>8:26<abbr>pm</abbr> • 2006</sup>
		<abbr title="August">Aug</abbr> 24
	</time>
	<!-- categories -->
	<ul>
		<li><a href="/writing/geos" rel="bookmark tag">writing</a></li>
		<li><a href="/c64/geos">c64</a></li>
		<li><a href="/osnews/geos">osnews</a></li>
	</ul>
	<!-- licence -->
	<small>
		<a rel="license" href="http://creativecommons.org/licenses/by/3.0/deed.en_GB">c</a>
		share + remix
	</small>
</header>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
<section>
<h1>GEOS: The Graphical Environment Operating System</h1>
<ol>
	<li><a href="#geos-history">A Quick History <em>of</em> GEOS</a></li>
	<li>
		<a href="#geos-introduction">An Introduction to GEOS</a>
		<ol>
			<li><a href="#geos-what-role">What Role Does GEOS Serve?</a></li>
			<li><a href="#geos-why-review">Why Review GEOS?</a></li>
			<li><a href="#geos-how-alternative">How Is GEOS ‘Alternative’?</a></li>
			<li><a href="#geos-hardware-requirements">Hardware Requirements</a></li>
			<li><a href="#geos-how-to-get">How to Get GEOS</a></li>
			<li><a href="#geos-booting">Booting GEOS</a></li>
			<li><a href="#geos-desktop">The <q>deskTop</q></a></li>
		</ol>
	</li><li>
		<a href="#geos-configuring">Configuring GEOS</a>
		<ol>
			<li><a href="#geos-hardware">Hardware</a></li>
			<li><a href="#geos-ui-customisation">User Interface Customisation</a></li>
		</ol>
	</li><li>
		<a href="#geos-productivity">Productivity</a>
		<ol>
			<li><a href="#geos-geowrite">geoWrite</a></li>
			<li><a href="#geos-cautionary-tale">A Cautionary Tale</a></li>
			<li><a href="#geos-real-deal">The Real Deal</a></li>
			<li><a href="#geos-other-apps">Other Apps</a></li>
		</ol>
	</li>
	<li><a href="#geos-modernising">Modernising GEOS</a></li>
	<li>
		<a href="#geos-where-did-it-go">Where Did GEOS Go?</a>
		<ol>
			<li><a href="#geos-geoworks">Geoworks</a></li>
			<li><a href="#geos-new-deal-inc">New Deal Inc.</a></li>
			<li><a href="#geos-breadbox-ensemble">Breadbox Ensemble</a></li>
			<li><a href="#geos-airset">Airset</a></li>
		</ol>
	</li>
	<li><a href="#geos-could-have-been">The O.S. That Could Have Been</a></li>
	<li><a href="#geos-references">Cited Sources <em>and</em> References</a></li>
</ol>
<p>
	<small><strong>This article</strong> was originally written for, and
	<a href="http://osnews.com/story/15223/GEOS_The_Graphical_Environment_Operating_System" rel="external">published</a>
	by <a href="http://osnews.com" rel="external">osnews.com</a> as part of an
	“<a href="http://osnews.com/story/14911/Announcing-The-OSNews-Alternative-OS-Contest" rel="external">alternative
	operating system contest</a>” where it
	<a href="http://osnews.com/story/15924/OSNews_Alternative_OS_Contest_Results" rel="external">won first prize</a>,
	and made the front page of
	<a href="http://digg.com/software/GEOS_The_Graphical_Environment_Operating_System" rel="external">Digg</a>.</small>
</p><p>
	<small>This is an improved version based on the original text and layout instead of the heavy alterations to layout
	made by osnews to fit within their content management system.</small>
</p>

<hr />


<h2>About the Author</h2>
<p>
	Kroc Camen started programming at the age of 7 on a Commodore 64 home computer. The first thing he typed into a
	computer was <q>Hello</q>. It responded cheerfully with <q><samp>Syntax Error</samp></q>. Ever since then he has
	been searching for emotion in computers in a variety of operating systems spanning a brief 15 years. From the O.S.
	you are about to see today, to all the versions of Windows, RISC OS, Amiga OS and recently Mac OS X.
</p><p>
	Yet one thing hasn’t changed despite the difference in computing power over these years. Computers still have
	<q><samp>Syntax Error</samp></q>s. Is human emotion garbage, if garbage in equals garbage out? The quality of an
	operating system is down to the love and emotion put into it by the designers &amp; programmers.
</p>


<h2>An Introduction to This Article</h2>
<p>
	As we take time to look at the grand variety of operating systems available, it shows us that there is no one right
	way to ‘do it’. With hardware already a commodity, the way we interact with our computers is taken as a
	standard, and a given best-practice of design. The joy of alternative operating systems is the variety of Computer
	↔ Human interface models available.
</p><p>
	Even now, the modern Operating System is designed from the perspective of the engineer. Whilst actual human
	guinea-pig testing is done on new interfaces, it still does not make up the bulk of the design process. User
	involvement in design is almost an after-thought.
</p><p>
	What we’ve come to accept as the standard way of interacting with a computer was cemented in the early days by the
	extremely knowledgeable and technical system engineers of the day, through a process of creating:
</p>
<ol>
	<li>What they felt was right</li>
	<li>What the limited hardware was capable of</li>
</ol>
<p>
	So, for my article, I have decided to focus on an operating system born in the early days of consumer-available
	‘<abbr>WIMP</abbr>’ interfaces, on extremely restrictive hardware.
</p><p>
	It is my belief that <q>the restraint of hardware is the true muse of the software engineer</q>.<br />
	Good software does not come from being given unlimited resources; just take a look at the hardware requirements for
	modern PC games, for graphics that were reproducible (until recently) on a 300 <abbr title="megahertz">MHz</abbr>, 4
	<abbr title="megabyte">MB</abbr> <abbr title="video">V</abbr>-<abbr>RAM</abbr> Playstation 2.
</p>


<h2 id="geos-history">A Quick History <em>of</em> GEOS</h2>
<p>
	The history surrounding GEOS and its implementation within hardware restraints unimaginable nowadays makes for the
	most interesting parts of the O.S., rather than just the <abbr>GUI</abbr> itself. Below is a brief history of the
	operating system up to its heyday, where we’ll then get into usage, screenshots and technical details
	<samp>:)</samp>
</p><p>
	This history has been carefully gathered and researched through actual GEOS manuals,
	<a href="#geos-references">cited sources and websites</a>.
</p><p>
	When you think of the history of our modern day operating systems, they are either the works of individuals and
	volunteers based on technical ability and software beliefs, or the work of large corporations employing many
	programmers. Rarely is the history of an operating system based in the vibrant gaming era of the 1980s.
</p><p>
	The Graphical Environment Operating System was released in 1986, created by Berkeley Softworks: a small company
	start-up by serial entrepreneur Brian Dougherty. GEOS is a classic Mac-like <abbr>GUI</abbr> running on
	<a href="http://en.wikipedia.org/wiki/Commodore_64" rel="external">Commodore 64</a> /
	<a href="http://en.wikipedia.org/wiki/Commodore_128" rel="external">128</a> hardware, then later the
	<a href="http://en.wikipedia.org/wiki/Apple_II" rel="external">Apple Ⅱ</a>, and PC.
</p><p>
	Around 1980, Brian turned down a job at IBM to go join the games manufacturer Mattel, then maker of the
	<a href="http://en.wikipedia.org/wiki/Intellivision" rel="external">Intellivision</a> gaming system. Brian helped
	write games for the system for about a year, before leaving with other engineers to form
	<a href="http://en.wikipedia.org/wiki/Imagic" rel="external">Imagic</a>, a very successful games company that
	rivalled Activision, before being wounded in the games industry crash of 1983. Whilst Imagic went under in 1986,
	Brian did not.
</p><p>
	Dougherty formed Berkeley Softworks (later Geoworks), who in collaboration with a firm that made batteries, worked
	on a product for the airlines named “Sky Tray”. The concept was a computer built into the backs of the seats,
	and Brian and his team would develop the O.S. for it.<sup><a href="#ra">1</a></sup>
</p><p>
	GEOS was coded by Dougherty’s elite team of programmers, who had cut their teeth on the very restricted Atari 2600
	and Intellivision games consoles of the time (usually 4 <abbr title="kilobyte">KB</abbr> <abbr>ROM</abbr>). However,
	after the O.S. had been written, <a href="http://en.wikipedia.org/wiki/Airline_deregulation" rel="external">airline
	deregulation</a> mandated that all in-flight extras were to be trimmed down to save weight and fuel, culling the
	Sky Tray project.<sup><a href="#ra">1</a></sup>
</p><p>
	With all that time put into an O.S., Dougherty looked at the compatible
	(<a href="http://en.wikipedia.org/wiki/6502" rel="external">6502</a> Microprocessor-based) Commodore 64. A few
	changes were needed and the O.S. sprang to life on the affordable home computer, complimenting the powerful graphics
	capabilities of the machine with a <abbr>GUI</abbr>.
</p><p>
	Even though Berkeley Softworks started out small, with only two salespeople - the new software proved very popular
	because of low price for the necessary hardware (and of course the capability of the O.S.). This was due in part to
	the aggressive pricing of the Commodore 64 as a games machine and home computer (With rebates, the C64 was going for
	as little as $100 at the time). This was in comparison to an atypical PC for $2000 (which required MS-DOS, and
	another $99 for Windows 1.0<sup><a href="#rb">2</a></sup>) or the venerable “Mac 512K Enhanced” also
	$2000.<sup><a href="#rc">3</a></sup>
</p><p>
	In 1986, Commodore Business Machines announced the C-Model revision of the Commodore 64 in a new Amiga-like case
	(dropping the <q>breadbox</q> look), and bundling GEOS in the United States.
</p><p>
	At its peak, GEOS was the <strong>second most widely used <abbr>GUI</abbr></strong>, next to Mac OS, and the third
	most popular operating system (by units shipped) next to MS-DOS and Mac OS.<sup><a href="#rd">4</a></sup>
</p>


<h2 id="geos-introduction">An Introduction to GEOS</h2>
<h3 id="geos-what-role">What Role Does GEOS Serve?</h3>
<p>
	GEOS is a classic Mac OS like operating system, providing a <abbr>GUI</abbr> for performing disk functions and
	running productivity software. It was targeted at the business user for in-office word processing, as well as the
	home user for tasks like desktop publishing and keeping records.
</p><p>
	The original GEOS is no longer used, having died out in the early 90s due to strong competition from IBM, Microsoft,
	Apple and new trends in computer hardware. The history of what happened to GEOS and Berkeley Softworks will be
	covered at the end of this article.
</p>


<h3 id="geos-why-review">Why Review GEOS?</h3>
<p>
	To give balance and perspective. GEOS managed to offer nearly all the functionality of the original Mac in a 1
	<abbr title="megahertz">MHz</abbr> computer with 64 Kilobytes of <abbr>RAM</abbr>. It also wasn’t an operating
	system written to run on a generic ×86 chip on a moving hardware platform. It was written using absolute immense
	knowledge of the hardware and the tricks one could use to maximise speed. The closest thing to GEOS in this modern
	era is <a href="http://www.menuetos.net/index.htm" rel="external">MenuetOS</a>, written entirely in ×86 assembly
	code.
</p><p>
	GEOS came at a time before the World Wide Web, before home computers were PCs, before mass storage that you could
	afford, and long before Bill Gates and Windows were №1.
</p><p>
	GEOS did not pioneer the <abbr>GUI</abbr>; most of its features were already present in the larger operating systems
	of the day, like the classic Mac (albeit, not Windows). What GEOS did show is that cheap, low-power commodity
	hardware and simple office productivity software worked. You did not need a $2000 machine to type a simple letter
	and print it. This gave some sense of perspective in the heady “Golden Age of Computing” of the ’80s and even
	now, as some alternative OSes struggle to port
	<a href="/writing/geos/dependencies.jpg" type="image/jpeg">bloated</a> software from other platforms.
</p><p>
	Many operating systems can claim all sorts of things, and in-fight over who invented what- first. GEOS helped drive
	the proliferation of the newfangled <abbr>GUI</abbr> concept to regular users without the need for the famous Apple
	Hype Machine (likely one reason why GEOS is now all but forgotten).
</p><p>
	GEOS was able to introduce home users to Point &amp; Click, Cut / Copy / Paste,
	<abbr title="“wizzy-wig”">WYSIWYG</abbr> Word Processing and what you expect from a <abbr>GUI</abbr> without
	having to afford an expensive Mac or PC with Windows. Before GEOS, the home user had to go to work to even see a
	<abbr>GUI</abbr>.
</p><p>
	Then there was GEOS on the PC (more about this at the end of the article), which had the “Start Menu” concept
	two and a half years before Windows, and a PDF-like user interface model 10 years before Mac OS X <samp>;)</samp>
</p>


<h3 id="geos-how-alternative">How Is GEOS ‘Alternative’?</h3>
<p>
	When we speak of operating systems, the word ‘alternative’ is not quite as it is from the dictionary. Mac OS X
	is an <em>alternative</em> to Windows just as much as Windows is an <em>alternative</em> to OS X. It is simply one
	choice over the other. But with operating systems, ‘alternative’ has come to mean ‘niche’, ‘minority’
	and ‘hobby’. How can GEOS be ‘alternative’, if it was at one time more popular than Windows?
</p><p>
	Operating systems can change over time, even change purpose. OS/2 and BeOS are considered alternative, despite being
	big important OSes in their day. I believe that the same is of GEOS. At the end of this article, I will cover how
	GEOS has been retro-fitted by fans to add modern-day functionality, as well as the OS that came after GEOS,
	extending the life of GEOS well into new millennium. The fact that people still boot GEOS on real Commodore 64
	hardware and make <a href="http://videocam.net.au/~wcpat/" rel="external">real things</a> with them, because they
	can, certainly defines GEOS a hobby O.S. Because those who run it on real hardware are few and far between, that
	makes GEOS a minority O.S.; and because GEOS is generally only run by core C64 fans it also makes GEOS a niche O.S.
	<samp>:)</samp>
</p>


<h3 id="geos-hardware-requirements">Hardware Requirements</h3>
<p>
	Although GEOS later became available on the Apple Ⅱ and then eventually the PC (more about this later), this
	article will be covering the Commodore 64 version of GEOS due to free availability and wealth of accessible
	information. I also own a real GEOS disk set for my Commodore 64 and hope to make use of them in this article.
</p><p>
	GEOS ran on any Commodore 64 home computer. Because of the popularity of the Commodore 64 as a games machine, GEOS
	can also be easily run on most C64 emulators on modern computers. GEOS itself is now available for free download -
	more details soon.
</p>
<h4>The Commodore 64</h4>
<p>
	Commodore Business Machines released the Commodore 64 in 1982 at a price of $595<sup><a href="#re">5</a></sup>.
	Designed primarily as a home computer for playing (initially educational) games and business software, its low price
	and powerful features made it a runaway success. Here follows some technical details of the hardware.
</p>
<dl>
	<dt>1 <abbr title="megahertz">MHz</abbr> 8-Bit MOS Technology 6510 Processor</dt>
	<dd>
		The 6510 was a <a href="http://en.wikipedia.org/wiki/MOS_Technology_6502" rel="external">6502</a>-based
		processor, that which can be found (as variants) in the Atari 2600, NES, Apple Ⅱ &amp; BBC Micro
		computers. It is a <a href="http://en.wikipedia.org/wiki/RISC" rel="external"><abbr>RISC</abbr></a> style
		processor, utilising very few registers (Just <var>A</var>, <var>X</var>, <var>Y</var> &amp; a
		256-Byte Stack)
	</dd>
	<dt>64 Kilobytes <abbr>RAM</abbr> (+20K <abbr>ROM</abbr> of which 7 KB “Kernal”)</dt>
	<dt>16 Colours in 40 × 25 text mode (320 × 200 resolution)</dt>
	<dt>8 Sprites</dt>
	<dt>MOS 6581 (C64rA,B) / 8580 (C64rC) SID sound chip</dt>
	<dd>
		Three sound channels (2 <abbr>MIDI</abbr> like sound synthesisers, and one White Noise)
	</dd>
	<dt>‘Datassette’ Tape Drive, later, <a href="http://en.wikipedia.org/wiki/Commodore_1541" rel="external">1541 Disk Drive</a></dt>
	<dd>
		Programs on tape cassette. Later a 5¼″ Disk Drive was released with support for 170 KB per disk.
	</dd>
</dl>
<p>
	As you can see, this is a very tight amount of space to fit a full operating system, including user-land apps! The
	original Mac OS was 400 KB, with 128 KB of <abbr>RAM</abbr> to play with.
</p>
<h4>Expansions</h4>
<p>
	GEOS made good use of the many expansions available for the Commodore 64. As well as supporting two disk drives and
	many printers, you could also purchase a <abbr>RAM</abbr> expansion to add 128, 256 or 512
	<abbr title="kilobytes">KB</abbr> of extra <abbr>RAM</abbr> to the system. The biggest upgrade, late in the life of
	the C64, was the SuperCPU - a 20 <abbr title="megahertz">MHz</abbr> upgrade module!
</p>


<h3 id="geos-how-to-get">How to Get GEOS</h3>
<p>
	The <a href="http://osnews.com/story.php?news_id=14911" rel="external">OSNews Contest Rules</a> state that the
	O.S. must be <q>available to the public for download or purchase</q>. GEOS is available as a free download, and can
	actually be
	<a href="http://store.cmdrkey.com/agora.cgi?cart_id=5665430.4113*rR8CV2&amp;p_id=00500&amp;xm=on&amp;ppinc=search3" rel="external">purchased</a>,
	as a set of 5¼″ disks with manuals! I personally own a GEOS 1.5 disk set with manual.
</p>
<h4>Get an Emulator</h4>
<p>
	In order to run GEOS on your PC or Mac, you will need a Commodore 64 emulator to simulate the hardware. I recommend
	these emulators for the necessary emulation accuracy needed to run GEOS on PC/Mac.
</p>
<dl>
	<dt><a href="http://www.computerbrains.com/ccs64/" rel="external">CCS64</a> (Windows)</dt>
	<dd>
		Has 99.9% emulation accuracy and still in active development (for over 10 years). CCS64 can emulate almost
		every last timing quirk of the real hardware and thus is accurate enough to run GEOS (which does contain
		some extremely clever hacks that can fool most emulators)<br />
		<br />
		Make sure to enable the mouse by pressing <kbd><kbd>F9</kbd></kbd> to bring up the menu and navigate to
		the input section. Also, for accurate disk speed (<abbr title="that is,">i.e.</abbr> slow), go to the
		“Special” menu and disable “1541 Turbo speed” or GEOS may fail to boot.
	</dd>
	<dt><a href="http://www.infinite-loop.at/Power64/index.html" rel="external">Power64</a> (Mac OS 9 / X)</dt>
	<dd>
		There are not nearly enough emulators on Mac OS X <samp>:(</samp>. Power64 is a shareware app that
		emulates the C64 accurately enough to use GEOS. Whilst
		<a href="http://frodo.cebix.net/" rel="external">Frodo</a> is free it is not accurate enough to run GEOS;
		it hangs at the boot screen. Power64 has excellent mouse support and is ideal for running GEOS. Although
		it’s not a universal binary, it runs without flaw under Rosetta on Intel Macs.
	</dd>
</dl>
<p>
	The <a href="http://www.viceteam.org/" rel="external">VICE Emulator</a> is also capable of running GEOS on just
	about every other alternative O.S. available. Configuration is much more complex, and if you are technically
	inclined you can compile the source code to produce an X11 app for Mac OS X for free.
</p>
<h4>Download the GEOS Disk Images</h4>
<p>
	GEOS was made available for free download in February 2004 by CMD, makers of modern day Commodore add-ons (like the
	20 <abbr title="megahertz">MHz</abbr> SuperCPU)—see
	<a href="http://slashdot.org/article.pl?sid=04/02/13/0027205" rel="external">the Slashdot article</a>.
</p><p>
	Instructions on downloading GEOS and getting the disk images available here:<br />
	<a href="http://cmdrkey.com/cbm/geos/geos1.html" rel="external">cmdrkey.com/cbm/geos/geos1.html</a>
</p><p>
	Follow the <q>I Agree</q> link, and then the first link labelled <q>go here</q>. Download the GEOS 64 <q>1541 boot
	disks</q>.
</p>


<h3 id="geos-booting">Booting GEOS</h3>
<p>
	GEOS requires no installation as the Commodore 64 has no mass storage besides a floppy disk drive, and GEOS comes on
	floppy disks anyway.
</p><p>
	Attach the “GEOS64.d64” disk image to the emulator on drive 8 (the first disk drive on a C64) and then start the
	emulator. Most emulators will allow you to double click, or “open-with” the ‘.d64’ file with the emulator to
	attach the disk automatically.
</p>
<img src="/writing/geos/geos00.png" alt="Screenshot of the C64 boot screen" width="384" height="264" />
<p>
	This is the Commodore 64’s normal operating system. A text-mode command-driven system. In normal configuration,
	the system reserves just 38 <abbr title="kilobyte">KB</abbr> for writing BASIC programs. The C64’s architecture is
	incredibly flexible however, and by switching out the <abbr>ROM</abbr> shadows in the upper areas of
	<abbr>RAM</abbr>, you could free up almost the entire 64 <abbr title="kilobytes">KB</abbr> (if you wrote your own
	<abbr title="input/ouput">I/O</abbr> drivers)<sup><a href="#rx">13</a></sup>. GEOS itself ditches a large amount
	of the default system to fit into the memory available.
</p><p>
	Type <kbd>load"geos",8,1</kbd> and press return. Don’t hold shift otherwise you’ll get symbols instead of
	letters. The C64 had a series of <abbr>ASCII</abbr>-like symbols printed underneath each key. When in normal mode,
	holding <kbd>Shift</kbd> and pressing a key would display the symbol, allowing you to draw <abbr>ASCII</abbr> art
	in the C64 character set. On the C64, this character set is known as
	<a href="http://en.wikipedia.org/wiki/PETSCII" rel="external">PETSCII</a>, as in <abbr>PET-ASCII</abbr> (The
	<a href="http://en.wikipedia.org/wiki/Commodore_PET" rel="external">Commodore PET</a> was an earlier education
	market computer).
</p>


<h3 id="geos-desktop">The <q>deskTop</q></h3>
<p>
	You are quickly presented with the GEOS <q>deskTop</q>, the main interface where you’ll do basic disk &amp; file
	management, configuration and launching programs.
</p>
<img src="/writing/geos/geos01.png" alt="Screnshot of the GEOS “deskTop”" width="384" height="264" />
<p>
	The Commodore 64 supported several video modes. Although the resolution of the C64 was always 320 × 200 in aspect,
	the way it interpreted the screen data could be changed in a number of ways.
</p><p>
	In order to produce the user interface in GEOS, the C64’s <q>high resolution</q> bit-mapped mode was utilised. A
	full 8 <abbr title="kilobyte">KB</abbr> of memory had to be reserved to store the monochrome pixel data, where one
	byte represented the on/off states of 8 pixels. Rather than the screen data being ordered in a continuous stream
	from the left to right and then down each line, the screen data was split into 40 × 25 characters of 8 × 8 pixels.
	8 bytes represented one character, running from top to bottom of the character and then left to right across the
	screen in characters.
</p><p>
	Programmatically this made it difficult to draw diagonal lines unless they aligned with the 8 × 8 characters, but
	it meant that large block copies of memory were easy to do. It also meant that referencing the right hand side of
	the screen (whose pixel locations were greater than 255, what one byte allowed) was easy, because technically the
	screen was only 40 characters wide, each of eight bytes in height.
</p><p>
	The downside is that whilst you get full fidelity to draw the letters manually and thus fit in more than 40 letters
	per line - it was monochrome. The mouse pointer is blue because the mouse is created using the C64’s hardware
	sprite support. A sprite could freely be moved around without erasing and redrawing the screen contents below. The
	C64 itself would not be fast enough to handle redrawing screen contents in the bitmap, as the mouse moved.
</p><p>
	Although bit-mapped graphics ate 8 <abbr title="kilobyte">KB</abbr> of <abbr>RAM</abbr>, it meant that the
	programmers could erase the 4 <abbr title="kilobyte">KB</abbr> of <abbr>PETSCII</abbr> graphics from the standard
	text-mode, and better use these resources for storing the O.S. and freeing enough <abbr>RAM</abbr> for any user-land
	apps to run.
</p>
<h4>DeskTop Features</h4>
<p>
	Along the top of the screen there is a “command menu”. Just like Mac OS, there is only one menu bar and it
	displays the menu according to what app is running. Considering that there is no multi tasking at all in GEOS, it
	makes little difference. The Commodore 64 has a key with the Commodore logo on it - much like the Windows or Apple
	key on modern keyboards.
</p>
<img src="/writing/geos/geos02.png" alt="The menu strip" width="424" height="230" />
<p>
	The <q>disk note pad</q> is the main window that shows the contents of the current disk. It cannot be moved or
	resized and doesn’t have scrollbars. Instead, the page curl at the bottom left can be clicked either on the curl
	to go forward one page, or on the page behind to go back a page (also accessible with the 1-9 keys). You can have up
	to 18 pages depending on how many files are on the disk.
</p>
<img src="/writing/geos/geos03.png" alt="The disk note pad" width="512" height="256" />
<p>
	There are no file extensions, and no subfolders! The disk contents are a confusing mix of utility applications, key
	system files and drivers. Whilst files inside of GEOS can have their own icon, normal C64 files from outside GEOS
	will always show as the “C=64” folder-like icon. Double clicking these instantly exits GEOS and loads the C64
	program.
</p><p>
	The GEOS boot disk however is not meant to be a place to store your own files, or your productivity apps. With only
	170 <abbr title="kilobyte">KB</abbr> per disk, each productivity app usually comes on a separate floppy disk. Once
	GEOS is booted you can switch disks to run new applications. When you exit the application you must insert the GEOS
	boot disk so that it can load the “deskTop” application. If you copy the deskTop application to other disks (or
	use two disk drives) you can avoid massive amounts of disk swapping.
</p><p>
	The single button on the title bar is the close button. It does not close the window entirely, but rather
	‘eject’ the disk from the system, leaving the window blank. Clicking on the disk drive symbol on the right of
	the deskTop will load that disk’s contents.
</p>
<img src="/writing/geos/geos04.png" alt="Moving a file to the border" width="384" height="264" />
<p>
	The “border” (the blank area underneath the disk note pad which holds the current printer and the waste basket)
	can be used to place up to 8 files off of the disk note pad, so that you can change either pages or disks and move
	the files to the new location. Clicking an icon selects it in inverted graphics, and then clicking again turns the
	mouse into a ghost of the file icon, allowing you to move it to the border.
</p>
<img src="/writing/geos/geos05.png" alt="Files in the border" width="384" height="264" />
<p>
	The icons in GEOS are all 24×21 pixels in size. This is because the Commodore 64’s sprites are always 24×21 in
	size which equates to 3 characters (8 pixels wide) across and almost 3 characters high. Whilst GEOS’s icons are
	not sprites themselves (they could be of any particular size because they are drawn dot for dot on the bit-mapped
	screen), 24×21 is used so that the mouse pointer (a sprite) can become a ghosted icon in drag and drop operations.
</p><p>
	The reason for falling short of three bytes tall is so that when the 8 supported sprite images of 504 bytes each are
	counted it adds up to 4032 bytes, leaving 64 bytes in a 4 <abbr title="kilobyte">KB</abbr> block of <abbr>RAM</abbr>
	to control the positions, visibility, order and colours of the 8 available hardware sprites.
</p><p>
	The Commodore 64 also included a programmable Interrupt ReQuest controller (IRQ). Every 1⁄50<sup>th</sup> of a
	second, a routine in <abbr>RAM</abbr> was called. The programmer could tap into this in order to run instructions
	before the screen refresh, half way through (or even a few tiny instructions within the time it took for the
	electron beam to “fly-back” to left hand side of the screen, from the right)<sup><a href="#rx">13</a></sup>.
	This gave the programmer the power to redirect the pointer to the sprite data halfway down the screen, in order to
	produce 16 working hardware sprites. 64 simultaneous hardware sprites have been demonstrated using this method!
</p>


<h2 id="geos-configuring">Configuring GEOS</h2>
<h3 id="geos-hardware">Hardware</h3>
<p>
	GEOS must be told which drives you have connected. Double-click on the “CONFIGURE 2.0” icon on the deskTop and
	you are presented with a simple screen with options for the different types of drives.
</p>
<img src="/writing/geos/geos06.png" alt="CONFIGURE 2.0" width="384" height="264" />
<p>
	Here, two disk drives are attached and a 512 <abbr title="kilobyte">KB</abbr> <abbr>RAM</abbr> expansion. The
	“shadowed” option appears so that you can use the <abbr>RAM</abbr> expansion to facilitate disk copying and
	speed up GEOS. (Not that this is a problem in an emulator, but the disk drive could be very slow at times). It is a
	known problem that a hardware bug ended up in the read speed of the disk drive being much slower than it should
	be<sup><a href="#rf">6</a>,<a href="#rg">7</a></sup>. Programmers relied on ‘fast-loaders’, essentially
	decompression software loaded into the disk drive’s <abbr>RAM</abbr> &amp; CPU, to speed things up again.
</p>


<h3 id="geos-ui-customisation">User Interface Customisation</h3>
<p>
	The application “preference mgr” on the first page of the GEOS boot disk allows you to customise some basic U.I.
	Settings.
</p>
<img src="/writing/geos/geos07.png" alt="preference mgr" width="462" height="207" />
<p>
	The sliders allow you set mouse acceleration and speed. If you were not the proud owner of a mouse for your C64
	(hands up those who had a mouse for their <abbr title="Playstation">PSX</abbr>?) you were stuck using a joystick to
	navigate the U.I.
</p><p>
	The C64 has no built in battery and is unable to maintain the time between power resets. On a normal C64 you would
	have to (if you could be bothered) set the time every boot by selecting the “Options” command menu and selecting
	“set clock”. The emulator I am using (Power64) has excellent GEOS support and sets the clock for me. If you
	purchase a
	<a href="http://store.cmdrkey.com/agora.cgi?cart_id=5665430.4113*Zw7pi3&amp;p_id=00130&amp;xm=on&amp;ppinc=search3" rel="external">FD-2000</a>
	floppy disk drive or
	<a href="http://store.cmdrkey.com/agora.cgi?cart_id=5665430.4113*Jf7KL7&amp;p_id=00200&amp;xm=on&amp;ppinc=search3" rel="external">RAM-Link</a>	cart
	from <a href="http://cmdrkey.com" rel="external">CMD</a>, you could also add an optional extra to the
	configuration - a real time clock chip, allowing GEOS to keep accurate time.
</p>
<img src="/writing/geos/geos08.png" alt="Custom icon" width="184" height="99" />
<p>
	Interestingly, GEOS lets you edit the mouse pointer directly in a fashion very similar to how you could
	<a href="http://www.guidebookgallery.org/screenshots/macos11#general" rel="external">change the desktop
	pattern</a> on the original Mac.
</p>
<img src="/writing/geos/geos09.png" alt="Colour!?" width="384" height="264" />
<p>
	The small squares next to “Border”, “B.Ground”, “F.Ground” and “Mouse” can be clicked to cycle the
	colours (out of the 16 available) for that element.
</p><p>
	If this is supposed to be a monochrome U.I., how is it doing the colour here? As stated before, the mouse (and those
	sliders) are hardware sprites, composited over the monochrome bitmap data, but the C64 has more tricks up its
	sleeve.
</p><p>
	Though the bitmap data in memory is monochrome, the C64 could set the background and foreground colours to draw the
	bitmap with. Here as the light grey and dark grey combo of GEOS. In addition to this a 1
	<abbr title="kilobyte">KB</abbr> section of upper memory representing a 40 × 25 character gird let the computer
	assign changes to the chosen monochrome colours in each 8×8 pixel character.
</p><p>
	The Preferences Manager ‘Window’ effectively aligns perfectly within the 40 × 25 grid of characters, so that
	the colours underneath could be changed using the colour map. The one byte that represents the colour under one of
	the 8 × 8 pixel characters is divided into two nybbles of 4-bits. Each of these nybbles can store a number from
	0–15, representing the 16 available colours, and thus the Foreground and Background colours to use for the
	graphics in that character square.<sup><a href="#rx">13</a></sup>
</p>


<h2 id="geos-productivity">Productivity</h2>
<h3 id="geos-geowrite">geoWrite</h3>
<p>
	Probably the most important application of an operating system is the word processor (and now, arguably the
	web-browser). Long before GNOME &amp; KDE was GNaming everythinK with odd letters, GEOS was naming their
	productivity apps with geo-Something.
</p>
<img src="/writing/geos/geos10.png" alt="geoWrite in the disk note pad" width="512" height="256" />
<p>
	geoWrite takes up a dangerously large 35 <abbr title="kilobytes">KB</abbr>. You are also provided with 7 fonts of
	decent variety, but Berkeley Softworks also made available an add-on font disk with 53 extra fonts. When you start
	the app you are presented with a simple dialog. You can also double click on geoWrite documents in the disk note pad
	and geoWrite will automatically load them.
</p>
<img src="/writing/geos/geos11.png" alt="The geoWrite title dialog" width="384" height="264" />
<p>
	The geoWrite interface is extremely simple. There are no scrollbars, you simply jam your mouse against the top or
	bottom of the screen and the page scrolls.
</p>
<img src="/writing/geos/geos12.png" alt="The geoWrite interface" width="384" height="264" />
<p>
	At the end of the menu strip is a page with a black rectangle representing the current visible portion of the page
	on the screen. By clicking the rectangle you can move it to another part of the small page and the view in the main
	window will jump to the relevant location.
</p>
<img src="/writing/geos/geos13.png" alt="The geoWrite page navigation rectangle" width="134" height="119" />
<p>
	1 <abbr title="megahertz">MHz</abbr> is barely enough to redraw an entire screen in under a second, so scrolling is
	naturally, very slow. Scrolling up the page is far slower than scrolling down. However selecting text is very
	responsive.
</p><p>
	Once some text is selected you can either click the small squares below the ruler to set justification or line
	spacing, or explore the menus.
</p>
<img src="/writing/geos/geos14.png" alt="The font menu" width="384" height="264" />
<p>
	Not all the fonts come in any size. Each font has a select list of sizes depending on the font and some have only
	one size. Whilst this may seem a problem it is really down to the very pixellated and low resolution screen. All the
	fonts are very carefully designed for maximum readability on the screen and on a printed page. If any size were
	allowed, the pixels would mash together at certain sizes making most letters illegible.
</p>
<img src="/writing/geos/geos15.png" alt="geoWrite’s fonts" width="384" height="264" />
<p>
	Considering the low resolution of the screen, the provided fonts are of superb quality, providing a perfect mix of
	serif and non-serif fonts with lots of variations on letter widths, curve styles and clarity. For a word processor,
	this is probably the best set of provided fonts given the hardware, for any word processor. There are enough
	sans-serif professional fonts that look great at all sizes, as well as a couple of fun fonts for those wanting to
	experiment. A great lot of care has gone into providing for both the business user who wishes to impress their
	clients with professional typesetting and the home user who wants to make a fun looking flyer.
</p>
<img src="/writing/geos/geos16.png" alt="geoWrite’s styles" width="384" height="264" />
<p>
	The style menu lets you select between Plain Text, Bold, Italic, Outline, Underline, Superscript and Subscript
	styles. The interesting Outline option even works on the most complex of fonts. This feature is not seen in any
	version of Microsoft Word, or any word processor that I’m aware of, outside of the classic Mac and GEOS. (Likely
	because the transition from bitmap fonts to true type and postscript fonts)
</p>


<h3 id="geos-cautionary-tale">A Cautionary Tale</h3>
<p>
	GEOS, like other alternative operating systems, is dependent on certain hardware. GEOS might not compare with BeOS,
	RISC OS, or even Amiga OS for features and power, but it is easy to run today on any PC/Mac, and free.
</p><p>
	There are also great disadvantages to this as well. Running GEOS on a TFT doesn’t compare to running it on a TV or
	old monitor. The chroma blurring on the C64’s rather weak RF unit caused the dithered background to look like
	yellow and white bands going down the screen.
</p><p>
	This very problem was used to an advantage in some advanced C64 games, where certain colours could be dithered to
	create seemingly new colours. Nearly 52 colours could be faked using this method. This of course is not actually
	ideal in an O.S. where clarity is what’s needed, but it does help to explain the dreary greyness of GEOS, which
	would look significantly different and softer on a TV.
</p><p>
	“Nothing compares to the real deal” is an important adage in any review of an alternative operating system.
	Whilst those that have not used GEOS first hand, or extensively played the C64 will look at GEOS’s monochrome, low
	resolution graphics and laugh at how it doesn’t even compare to Windows 3.1; I personally see wonderment in how a
	1 <abbr title="megahertz">MHz</abbr> computer with such little <abbr>RAM</abbr> can do so much.
</p><p>
	After-all, most games on the C64 could not afford to use the bit-mapped graphics mode as it was too slow. Thus the
	great variety and flexibility of geoWrite’s display is completely unseen outside of the most
	<a href="http://www.c64.ch/demos/realdetail.php?id=790" rel="external">hardcore</a> demo-scene disks.
</p><p>
	Putting a disk in to a real C64 and hearing that loud clunking and whirring as 250 bytes per second come down the
	serial bus is not the same as a little blinking light showing disk activity in an emulator.
</p>


<h3 id="geos-real-deal">The Real Deal</h3>
<p>
	Therefore, I have hooked up my Commodore 64 and booted the real GEOS for you <samp>:)</samp>. Find below a 17
	minute guide to the Commodore 64 and GEOS, including geoWrite and geoPaint.
</p>
<video preload="none" src="/writing/geos/geos_tour.ogv" width="640" height="480" poster="/writing/geos/poster.jpg" controls>
	<img src="/writing/geos/poster.jpg" alt="A Guided Tour of GEOS" width="640" height="480" />
</video>
<p>
	<small>This video is available only in Ogg format. You can download it
	<a href="/writing/geos/geos_tour.ogv" type="video/ogg">here</a> and play it using
	<a href="http://videolan.org" rel="external">VideoLAN</a></small>
</p><p>
	I hope that’s helped get across the actual responsiveness of the O.S. on the real hardware, and the visual
	differences caused by using a TV.
</p><p>
	I could continue to detail every function of every app in the operating system but I don’t think that will add
	anything more useful. GEOS is an impressive technical feat, and at least a ‘good-enough’ O.S. considering the
	hardware and the price. GEOS couldn’t compare to the original Mac OS because of such vast differences in power.
	(The original mac was 32-bit and with 128 <abbr title="kilobytes">KB</abbr> of <abbr>RAM</abbr>)
</p>


<h3 id="geos-other-apps">Other Apps</h3>
<p>
	A word processor and paint app an operating system do not make. GEOS is very fully featured, it would take far too
	long to go into great detail over GEOS’s other apps. But what I will do is list them with a basic overview and you
	can either try them on an emulator, or imagine for yourselves!
</p>
<h4>geoCalc</h4>
<img src="/writing/geos/geocalc.png" alt="geoCalc" width="320" height="200" />
<p>
	geoCalc was the Excel (or rather VisiCalc) of GEOS. The view can be split into two so you can edit two parts of the
	spreadsheet at the same time as well as supporting a host of functions for calculating data. Due to <abbr>RAM</abbr>
	limitations graphing was handled by a separate program that you could paste your spreadsheet data into.
</p>
<h4>geoChart</h4>
<img src="/writing/geos/geoChart.png" alt="geoChart" width="320" height="200" />
<p>
	geoChart can show that data in impressive charts that can really make that data speak. With text-mode fully out of
	the window, the data labels always lined up neatly and there were many ways you could present your sales figures.
</p>
<h4>geoFile</h4>
<img src="/writing/geos/geoFile.png" alt="geoFile" width="320" height="200" />
<p>
	A Very MS Access like database application with the ability to design input forms and also mail merge to geoWrite.
</p>
<h4>geoPublish</h4>
<img src="/writing/geos/geoPublish.png" alt="geoPublisher" width="320" height="200" />
<p>
	geoPublish is the largest GEOS application I’ve seen. A serious desktop publishing program supporting master
	pages, text orientation, patterns, shapes, guides and rulers and all the basics. A busy page is very heavy on the
	little computer so two disk drives and a <abbr>RAM</abbr> upgrade is a bear minimum to do any serious work.
	geoPublish is still being <a href="http://videocam.net.au/~wcpat/" rel="external">used</a> by the most die-hard
	GEOS users.
</p>


<h2 id="geos-modernising">Modernising GEOS</h2>
<p>
	If there’s one thing a Commodore 64 can’t do, it’s nothing.
</p><p>
	Thanks to the rather hardcore followers of the C64, various tasks have been performed on a C64 thought impossible,
	including real time 3D graphics, <a href="http://ffd2.com/fridge/jpeg/" rel="external">viewing JPGs</a>,
	<a href="http://dunkels.com/adam/tfe/software.html" rel="external">hosting websites</a> and of course -
	<a href="http://www.sics.se/~adam/contiki/apps/webbrowser.html" rel="external">viewing them</a>.
</p><p>
	At the same time, supporters of GEOS have improved upon GEOS creating new derivative operating systems.
	<a href="http://cmdrkey.com/cbm/wheels/whshots.htm" rel="external">“Wheels”</a> is one such example of this.
	Wheels is an add-on for GEOS 2.0 that adds multi tasking, support for more hardware (including hard disks and
	<abbr>RAM</abbr> expansions up to 16 <abbr title="megabyte">MB</abbr>) and new user interface with multiple movable,
	resizable windows whilst keeping backwards compatibility with GEOS apps.
</p><p>
	Wheels requires at least 128 <abbr title="kilobyte">KB</abbr> <abbr>RAM</abbr> expansion and ideally a 20
	<abbr title="megahertz">MHz</abbr> upgrade with as much disk space as you can throw at it. Even browsing the
	Internet is not outside the limits of Wheels,
	<a href="http://videocam.net.au/~colinjt/waveshots.html" rel="external">“The Wave”</a> is a browser with hefty
	requirements but nether-less shows that it can be done.
</p>


<h2 id="geos-where-did-it-go">Where Did GEOS Go?</h2>
<p>
	For an operating system second only to Mac OS, and surpassing Windows, where did it go? How can it be so forgotten
	now?
</p><p>
	GEOS on the Commodore platform faded out for a number of reasons:
</p>
<dl>
	<dt>The IBM ‘Standard’</dt>
	<dd>
		The PC platform had a larger capacity for upgrades and peripherals. The Commodore was already largely dated
		hardware by the time the 90s rolled in. With the growing complexity and power of applications, new hardware
		was needed - and the PC as a more modular system could grow with new innovations. However, the Commodore 64
		/ 128 were stuck in time, much like a games console, something that the C64 had become in the end.
	</dd>
	<dt>Commodore’s bad management</dt>
	<dd>
		Commodore Business Machines had begun to lose its edge after the heady success of the Commodore 64. After
		several bad decisions, the company collapsed and filed for bankruptcy in 1994.
		<sup><a href="#rh">8</a></sup>
	</dd>
	<dt>An operating system dependent on the hardware</dt>
	<dd>
		When GEOS was first created it was meant to be an embedded system (the Sky Tray). It was hand coded to
		utilise the processor to its maximum. You could not just write it in a high level language and compile for
		the hardware, it would take up too much <abbr>RAM</abbr> and would be slow. The 6502 processor was simple
		enough that a programmer could hand type the assembly code far better than any machine could. whilst this
		made the Commodore 64, and the 6502 in it, sing - it also meant that moving to a new processor architecture
		basically meant a total rewrite. This ruled out the Commodore 64 / 128’s successor - the Amiga, which
		used a different processor architecture.
	</dd>
</dl>
<p>
	GEOS was not entirely out of the game though; the 6502 processor was being used in several other products at the
	time, and additional ports of GEOS were made. Most notably, on Apple’s popular home computer the Apple Ⅱ in
	1988. <sup><a href="#ri">9</a></sup>
</p>


<h3 id="geos-geoworks">Geoworks</h3>
<p>
	At the start of the 90s, Berkeley Softworks became Geoworks, and with the new name—a whole new strategy and a new
	O.S.
</p><p>
	Geoworks moved into Microsoft territory by creating a PC based operating system to compete with Windows. However, in
	GEOS fashion, “Geoworks Ensemble” (known internally as PC/GEOS) was leaner, meaner and faster than Windows 3.0
	on the same hardware. Geoworks Ensemble would run nicely on a 386 or 486 PC that would not normally be powerful
	enough to run Windows 95.
</p><p>
	Bill Gates called Brian Dougherty to discuss buying Geoworks and moving the developers to Seattle to incorporate
	some of the innovations in PC/GEOS into Windows. PC/GEOS had the Start Menu concept a full 2½ years before
	Microsoft. The developers were not interested in moving, and the lead VC advised against
	it.<sup><a href="#ry">14</a></sup>
</p>
<blockquote>
	<p>
		He <ins>Bill Gates</ins> was actually very charming. Ballmer was the hammer. I met with Bill and several of
		the engineers on the Windows development team first, it turns out that several of those engineers were in
		another small Berkeley company with
		<a href="http://money.cnn.com/magazines/fortune/fortune_archive/2006/07/10/8380798/index.htm?source=yahoo_quote" rel="external">Nathan
		Myhrvold</a> that Microsoft had acquired earlier. They were complimentary of what we had done and talked
		about joining forces to work on the next version of Windows. I should have listened to them, especially
		considering how <dfn title="Microsoft">MS</dfn> stock appreciated from 1989 on.
	</p><p>
		Ballmer was the bad cop, he came in and said, «Look if you don’t sell or license to us, we really have
		to crush you, we can’t afford to have a competing PC operating system». I don’t think he was trying to
		be mean or intimidating; it was just matter of fact. As I look back on it, if I were in his or Gates shoes
		I would have had the same attitude. The PC OS standard was a winner-take-all sweepstakes with billions of
		dollars hanging in the balance, the world doesn’t really want to have to write software for multiple
		OSes.
	</p><p>
		A lot of people vanquished by Microsoft cry about their unfair business practices, I look at it
		differently; they were there first and fought tooth and nail to defend their business. I’d have done the
		same in their place.<sup><a href="#ry">14</a></sup>
	</p>
	<cite>Brian Dougherty</cite>
</blockquote>
<p>
	PC/GEOS was a full pre-emptive multi-tasking, multi-threaded operating system (yes, in 1990!). It had a
	postscript-like imaging model, complete with outline font technology and separate rotation, translation &amp;
	scaling matrices for both the application and the user interface.<sup><a href="#ry">14</a></sup> (a leaf from
	Mac OS X’s book; 10 years before)
</p><p>
	Brian Dougherty describes PC/GEOS’s user interface:-
</p>
<blockquote>
	<p>
		The object oriented flexible user interface technology in <ins>PC</ins> GEOS is to this day the most
		sophisticated U.I. technology ever built into an OS. The team at Sun that developed Java studied it and
		stole some of the concepts but in my opinion did not achieve the same level of sophistication.
	</p><p>
		Applications in PC GEOS contained a generic tree of objects describing the user interface features the app
		required with the ability to provide hints for how to realize those elements. The operating system then had
		a specific user interface library that would map those generic UI objects to specific UI elements like
		menus or dialog boxes.
	</p><p>
		The same binary of an application could be made to run under an entirely different look and feel. For
		example, at one point we wrote a Mac UI that turned a PC running GEOS into a machine that was almost
		indistinguishable from a Mac. You could go to preferences and select either the Mac UI or the Motif UI
		(Windows-like) and the system would restart and all of the applications would come up under the look and
		feel you selected. You almost have to see this live to believe how cool it was.
	</p><p>
		We actually got into extensive discussions with Apple about developing a low cost notebook that would run
		GEOS with the Mac UI. It got killed by the hardware group doing Mac notebooks, but it went all the way to a
		board meeting we attended with Scully et al before it died. <sup><a href="#ry">14</a></sup>
	</p>
	<cite>Brian Dougherty</cite>
</blockquote>
<p>
	The original GEOS still continued its life through licensing the O.S. to mobile phone and PDA manufacturers,
	appearing on early PDA devices like the Nokia Communicator 9000 &amp; 9110
	<sup><a href="#rj">10</a>,<a href="#rk">11</a></sup>. This provided users with the power of the GEOS user
	interface (and geoCalc) on the emerging hardware.
</p><p>
	Whilst Geoworks Ensemble is a newer O.S. than GEOS, I am reviewing the original Commodore 64 version because I have
	much more experience with it, and I feel that the first version is an important factor in explaining where GEOS went
	later on in life. For this reason, I won’t be going into any detail about how Geoworks Ensemble functions in this
	article. I leave below a couple of links where you can find some more information about this system:
</p>
<ul>
	<li><a href="http://toastytech.com/guis/geos12.html" rel="external">Screenshots of Geoworks Ensemble 1.2
	(1991)</a></li>
	<li><a href="http://www.guidebookgallery.org/screenshots/gwe2" rel="external">Screenshots of Geoworks Ensemble
	2.0 (1993)</a></li>
	<li><a href="http://www.pencomputing.com/developer/geos_introduction.html" rel="external">An Introduction to
	the GEOS Operating System (1996)</a></li>
</ul>


<h3 id="geos-new-deal-inc">New Deal Inc.</h3>
<p>
	This company took over development of PC/GEOS, naming it “NewDeal Office” in 1996 to compete in the education
	space with Microsoft. NewDeal Office required far less hardware resources than Windows 95, suiting older equipment
	perfectly. The last version was NewDeal Office 2000 before New Deal Inc. went under and PC/GEOS passed hands once
	more.
</p>
<ul>
	<li><a href="http://www.guidebookgallery.org/screenshots/ndo3e" rel="external">Screenshots of NewDeal Office r3
	evaluation</a></li>
	<li><a href="http://web.archive.org/web/*/http://www.newdealinc.com" rel="external">What’s left of the New
	Deal Inc. website at archive.org</a></li>
</ul>


<h3 id="geos-breadbox-ensemble">Breadbox Ensemble</h3>
<p>
	PC/GEOS returned again in 2002, after <a href="http://www.breadbox.com/" rel="external">Breadbox Computer Company
	LLC</a> took up the O.S., finally licensing all the rights to GEOS in 2003. <sup><a href="#rl">12</a></sup>
</p>
<ul>
	<li><a href="http://www.breadbox.com/" rel="external">The Breadbox Website (still running)</a></li>
	<li><a href="http://www.guidebookgallery.org/screenshots/bbel4" rel="external">Screenshots of Breadbox Ensemble
	Lite</a></li>
	<li><a href="http://www.breadbox.com/downloads.asp?category=Ensemble%20Lite&amp;maincategory=Ensemble%20Lite" rel="external">Download
	Breadbox Ensemble Lite</a></li>
	<li><a href="ftp://ftp.breadbox.com/public/geosinXP.txt" rel="external" type="text/plain">Instructions to run
	Breadbox Lite with NT/2000/XP</a></li>
</ul>
<p>
	Geoworks were eventually beaten out of the market, disappearing from the map around 2004.
</p>


<h3 id="geos-airset">Airset</h3>
<p>
	Geoworks was not the end of the line; in 2003 Airena was formed to produce products for managing information with
	mobile phones. With some of the GEOS programmers onboard<sup><a href="#ry">14</a></sup> their first product
	<a href="http://airset.com" rel="external">“Airset”</a> is a web/java application that lets you manage
	bookmarks, to do lists, calendars &amp; contacts between a PC and mobile phone.
</p>


<h2 id="geos-could-have-been">The O.S. That Could Have Been</h2>
<p>
	Anybody can wax lyrical about “what could have been”, at the end of the day GEOS, both Commodore and PC
	versions, were genuine technical masterpieces in their own right - involving great skill. They stood true to being
	an affordable O.S., that got the most power out of the least hardware. GEOS might not be an open-source system but
	just because it’s commercial, that does not negate the clear love for engineering that went into it.
</p><p>
	Sure GEOS is all but forgotten now, but that doesn’t mean it didn’t contribute to what helped shape computer
	usage in the 80s and 90s. Considering that even an O.S. as popular as GEOS was can fade away, then there is no
	accuracy or inaccuracy in waxing lyrical that even Microsoft could be entirely forgotten one day in the far future.
	These things happen.
</p><p>
	I love Commodore/GEOS because it represents something that no longer exists in the computer industry anymore. The
	Commodore 64’s hardware is (programatically) beautifully designed. It is possible for one person to know the
	entirety of the machine, every function, every chip, every quirk. This gave the individual the power to create
	almost without limits, as shown by the continual modern day upgrades of the C64 and the popular demo and music
	scene. Today’s hardware is just too complex to fully understand the whole system. Only a small percentage of the
	PC’s actual power is ever used because of a rapidly moving platform that solves problems by throwing more hardware
	in.
</p>


<h3>Now It’s Your Choice</h3>
<p>
	Alternative operating systems exist because people continue to see value in their choice of what makes a better
	interface. Because Windows is so prevalent, and frankly ‘good enough’ but not great as a whole, this only livens
	the world of alternative operating systems. Pretty much all alternative OSes do something different or better than
	Windows, something that gives them value and worth to their users.
</p><p>
	Be it the Amiga WorkBench, BeOS Tracker, SkyOS’s Viewer or GEOS’s low requirements and killer apps of the day;
	this review has been written to only provide insight into one more ‘alternative’ system and not proclaim any
	religious software / U.I. / kernel beliefs. I hope that this article has been interesting, insightful and
	entertaining and I thank you for reading it. I only hope that you’ve been able to enjoy it from the comfort of
	your own chosen operating system <samp>;)</samp>
</p>

<hr />


<h3>Special Thanks</h3>
<p>
	I would like to thank the following individuals and groups for their input on this article:
</p>
<ul>
	<li>Brian Dougherty - founder, Berkely Softworks / Geoworks,<br />
	for producing GEOS, reading this article &amp; responding to my e-mails</li>
	<li><a href="http://www.infinite-loop.at/Power64/" rel="external">Roland Lieger</a>, creator of the Power64
	emulator on the Mac platform,<br />
	which was used to record the screenshots in this article</li>
	<li><a href="http://video.google.com" rel="external">Google Video</a>, for their hosting</li>
	<li>Maurice Randall &amp; <a href="http://www.cmdrkey.com" rel="external">Click Here Software Co. /
	CMD</a>,<br />
	for making GEOS available for free</li>
</ul>


<h2 id="geos-references">Cited Sources <em>and</em> References</h2>
<ol>
	<li id="ra"><a href="http://www.bizjournals.com/entrepreneur/2005/06/23/1.html?page=1" rel="external">bizjournals.com/entrepreneur/2005/06/23/1.html?page=1</a><br />
	Biz Journal’s Article/Interview about Brian Dougherty <small>(article incorrectly states—for
	simplicity—that Berkeley softworks was called “Geoworks Corp.” at formation. The Geoworks name was
	not adopted until the 90s)</small></li>
	<li id="rb"><a href="http://www.guidebookgallery.org/ads/magazines/windows/win10-powerwindows-8" rel="external">guidebookgallery.org/ads/magazines/windows/win10-powerwindows-8</a><br />
	Advert for Microsoft Windows 1.0 in 1986</li>
	<li id="rc"><a href="http://oldcomputers.net/macintosh.html" rel="external">oldcomputers.net/macintosh.html</a><br />
	A brief history of the Macintosh</li>
	<li id="rd"><a href="http://en.wikipedia.org/wiki/GEOS_%288-bit_operating_system%29" rel="external">en.wikipedia.org/wiki/GEOS_%288-bit_operating_system%29</a><br />
	The Wikipedia Article on GEOS (could do with some love)</li>
	<li id="re"><a href="http://www.islandnet.com/~kpolsson/c64hist/index.htm" rel="external">islandnet.com/~kpolsson/c64hist/index.htm</a><br />
	Chronology of the Commodore 64</li>
	<li id="rf"><a href="http://en.wikipedia.org/wiki/Commodore_1541" rel="external">en.wikipedia.org/wiki/Commodore_1541</a><br />
	The Wikipedia Article on the Commodore 1541 5¼″ Floppy Disk Drive</li>
	<li id="rg"><a href="http://www.binarydinosaurs.co.uk/Museum/Commodore/c64/c64notes.php" rel="external">binarydinosaurs.co.uk/Museum/Commodore/c64/c64notes.php</a><br />
	Jim Brain discusses the hardware bug that resulted in the very slow disk access times of the 1541</li>
	<li id="rh"><a href="http://en.wikipedia.org/wiki/Commodore_Business_Machines" rel="external">en.wikipedia.org/wiki/Commodore_Business_Machines</a><br />
	The Wikipedia entry on Commodore Business Machines</li>
	<li id="ri"><a href="http://www.guidebookgallery.org/timelines/geos" rel="external">guidebookgallery.org/timelines/geos</a><br />
	GUIdebook Gallery’s GEOS timeline</li>
	<li id="rj"><a href="http://en.wikipedia.org/wiki/GEOS_%2816-bit_operating_system%29" rel="external">en.wikipedia.org/wiki/GEOS_%2816-bit_operating_system%29</a><br />
	The Wikipedia article on Geoworks Ensemble, New Deal Inc. and Breadbox</li>
	<li id="rk"><a href="http://web.archive.org/web/*/http://www.geoworks.com" rel="external">web.archive.org/web/*/http://www.geoworks.com</a><br />
	The Geoworks website 1996 - 2004 (from the Wayback Machine at
	<a href="http://archive.org" rel="external">archive.org</a>)</li>
	<li id="rl"><a href="http://www.breadbox.com/newsdetail.asp?id=40" rel="external">breadbox.com/newsdetail.asp?id=40</a><br />
	News from Breadbox LLC of the licensing of GEOS</li>
	<li id="rx"><cite>Commodore 64 Programmer’s Reference Guide</cite><br />
	Howard W. Sams &amp; Co., Inc. ISBN: 0-672-22056-3</li>
	<li id="ry">Personal contact with Brian Dougherty via e-mail</li>
</ol>
</section>
<!-- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -->
</article>
<footer>
	<nav><a href="http://forum.camendesign.com">‹ Discuss this in the Forum ›</a></nav>
		
	<a href="mailto:kroc@camendesign.com">kroc@camendesign.com</a>
	<nav>view-source:
		<a href="/writing/geos.rem">Rem</a> •
		<a href="/writing/geos.html">HTML</a> •
		<a href="/design/">CSS</a> •
		<a href="/.system/">PHP</a> •
		<a href="/.htaccess">.htaccess</a>
	</nav>
	<form method="get" action="https://duckduckgo.com">
		<input type="hidden" name="sites" value="camendesign.com" />
		<input type="search" name="q" placeholder="search…" />
		<input type="submit" value="Go" />
	</form>
</footer>
<!-- =================================================================================================== code is art === -->