The Apollo Archive


Q: Why the //, #, etc? [in URLs]
A: ... I just copied Apollo.

- Tim Berners-Lee

What's Here

There is a collection of public domain, freeware, shareware, and other useful files. These programs are all for m68k Apollo nodes unless otherwise stated. At the end of this file is a list of all the other files in archive/apollo.

Some of these files are compressed with compress. These files have the .Z suffix. Run uncompress or, if it's a tar file and you have a modern version of tar (not the one that came with your Domain/OS), just use the z option to tar. Some files are compressed with gzip and have the .gz suffix. Run gunzip on them. If you don't have gunzip, you can get it here.

Site Search:

www access

You will probably need a web browser to access the Archive. There are three web browsers available here. Mosaic is the biggest and most complete. Chimera is small but functional. Webgrab is a simple command line program that just fetches files given an address (URL) and would be a good first choice for accessing the Archive.

The Archive can be found at these web addresses (URLs):

The Archive web site is coded in the ISO 8859-1 character set, because Domain/OS never supported UTF-8. Some browsers mistakenly interpret this as "windows-1252"; this is a bug in the browser.

We no longer provide access via afs, ftp, gopher, or email.


If you would like to submit something to these archives, send a message to and I will make arrangements to pick it up.


I started the Archive in September 1990 as an anonymous ftp site,, to distribute the X11R4 client libraries (at that time Domain/OS came with R3 and no Xaw). By November the Index file listed seven sets of source files and one info file. Two of those files are still in the Archive today in their original form.

The Archive became part of the U-M Software Archives on October 21, 1991. At that time UM had the biggest and most respected archive of Apple software on the Net, accessible via afs, ftp, and gopher. By late 1993 the Archive was available via http. Eventually the ftp and gopher access was turned off as these protocols dipped into obscurity.

In 2012 the U-M Software Archives were put into hibernation and I moved the Apollo Archive to my personal web site. The Archive is now one of the oldest continuously operated software repositories on the Net.

Apollo FAQ

comp.sys.apollo newsgroup

For more information about Apollo systems, try the comp.sys.apollo newsgroup.

One way to read this newsgroup is via Google Groups. There is also a searchable archive of this group at the University of Sydney School of Mathematics and Statistics, but as of the end of 2003 new articles are no longer being added to it.

Other Apollo Archives

You may find the following archive sites useful:

These sites were up at one time but were down last time I checked.

Apollo Info On the Web

Here are some web pages with Apollo information.

Apollo Domain Commands (Cisco)
Ishimura's Apollo Gallery
Nickolai Zeldovich's Apollo Page
Retrocomputers Apollo Collection
Typewritten Software - Retrotechnology Research Laboratory

These sites were up at one time but were down last time I checked.

Apollo Domain reconstruction project
Apollo video on Viddler
Apollo Workstations Support and Advice
Converting Apollo Monitors
How I connected an old 15" Apollo monitor to my PC
Routing Apollo Domain (Cisco)

Apollo Documentation On the Web

Scanned to pdf by helpful volunteers.

Bitsavers (textfiles mirror)

Other Info On the Web

Web pages not necessarily related to Apollo, but still interesting.

Computer History Museum
The Museum of HP Calculators
Obsolete Computer Museum

These sites were up at one time but were down last time I checked.

The Minicomputer Orphanage
The Retrocomputing Museum

Contacting a Human

Work on these archives is done as a volunteer effort. And while my time is necessarily limited so a response may be delayed, please contact me with questions, suggestions, submissions, or praise concerning the Apollo Archive. I can be reached at

Jim Rees

File List

Here is a list of files and directories in archive/apollo:


The output of Unix "ls -lR" on archive/apollo. A list of all the files and their sizes. This may be out of date.


A tirade from (System Admin (Mike Peterson)).


My last version of the Apollo "Frequently Asked Questions" file, which I maintained until March 1992. See "Apollo-FAQ" (above) for the current version.

X11R5pl25-ddx.tar.gz, X11R5pl25-mit.diff.gz

[This] server is the result of ripping the ddx/apollo part out from the standard MIT X11R4 distribution, putting it into the standard MIT X11R5 distribution, and modifying the source a little...

This is diffs and addition for X11R5 server and clients (with shared libraries) for apollo m68k's running 10.4.

The X servers works best when started while DM is running. (The solo mode is somewhat unstable).

Compiling with shared libraries can require several stages with reboots of the machine to get the correct libraries inlib'ed.

You'll probably want to edit mit/config/apollo*.* and mit/config/site.def before compiling.

[ Note: the diff file originally contained some encryption routines. Since it's illegal to import these to the US, I've removed them from the file. US law also prohibits me from telling you where to get the original diff file. If you think this is a stupid law, please let your representative to the US government know. - Jim Rees ]

Also available, by ftp from (we don't have it here):

Almost complete X11R5 for apollo m68ksr10 machines, compiled with version 6.9 of cc in the bsd4.3 environment on a node running sr10.4 (and with shared libraries, that must be inlib'ed at system startup). The programs can also be used under the sys5.3 environment.

- Tor Egge <>


X11R6.1.xc.apollo.diffs are the patches to compile Release 6.1 of
the X Window System on Apollo Workstations with Domain/OS SR10.2
or SR10.4 providing and using shared libraries. When compilation
and installation is done,  you will get:
 - the R6.1 shared libraries in /opt/lib
 - the R6.1 clients in /opt/X11R6.1/bin
 - the R6.1 pcf fonts in /opt/X11R6.1/lib/X11/fonts
 - the R6.1 X servers Xnest and Xvfb and the font server Xfs
 - a full X11 development environment for your Apollo, i.e:
   * the R6.1 header files in /opt/X11R6.1/include
   * the R6.1 static libraries in /opt/X11R6.1/lib
   * the R6.1 manual pages in /opt/X11R6.1/man
   * imake and imake configuration files to use the shared X11 R6.1
     libraries for other clients (bsd4.3 and sys5.3)
   * an xmkmf making Makefiles according to your current systype

You won't get:
 - a native X server; but your Xapollo or Xdomain will work fine
   (and you may use Xnest together with Xapollo or Xdomain)

- Hans Ostermeyer <>


A little X program that sits in the corner of your screen and has buttons for copying between the X and DM cut/paste buffers. Also does biff and has an alarm clock. Undocumented.


A list of all status codes.


Program for plotting Unix plot(5) files using GPR.


How to convert an Apollo workstation into an X terminal.

- (VK4FCW)


This [tar file] contains all the "Auto Admin" files for our Domain/OS systems running SR10.4. The 'autoadmin.tex' file contains the text of the talk I gave at the InterWorks Conference in Orlando (May 1994), but may not completely describe all the "Auto Admin" files in this archive, or all their features, since the files here are my latest versions.

- Mike Peterson <>


"autoclock" is a really trivial program that puts a clock in the DM message window. Really trivial, but it is handy, and it takes up less space than the graphical clocks. It doesn't interfere with DM messages nearly as much as I had feared.

- Frederick Roeber


Very old patches to B news to do reasonable locking of the 'active' file. Only marginally useful in today's brave new world of nntp. The locking routines may be useful in other programs.


A program to test for a mask defect in certain 68040 based workstations shipped between 1 July and 23 August 1991.


The batch command allows you to SIMPLY create a batch process on a node, either the local one or a remote one. Simply typing "BATCH shell-script-name" invokes a batch job on the local node; parameters can be specified to run on another node.

- Steve Pucci, Mentor Graphics


Yesterday, I stumbled on a cache of some of my old files from CERN. In one of them were some notes on the physical and logical volume formats, and the files used in the boot process.

- Frederick Roeber


Written by Justin S. Revenaugh 5/86
Massachusetts Institute of Technology
Department of Earth, Atmospheric and Planetary Science
Sent in by Mike Peterson, SysAdmin, U/Toronto Chemistry


This program is intended to mitigate a change to the SR10.4.1 boot process. The OS compares the current time to the last_valid_time entry in the LV label of the volume being booted from. If the calendar is behind, or ahead by more than 14 days, then the OS will refuse to boot, and then hang. This requires a reset, which requires a salvol, since the volume had been mounted.

This program handles the situation as follows:
If the boot device is not a winchester, then this program invokes Domain/OS. Otherwise, the program will read the logical volume (LV) label from the boot volume, extracts the last valid time, and compares it to the system calendar. Let CAL = calendar time and LVT = last_valid_time. The following pseudo-code describes the program's behavior:

if (CAL > (LVT + 14 days)) then rtt
else if (cal >= LVT) then boot
else if (service_mode) then rtt
else wait and boot (pressing a Q will exit)

If the program exits, then a salvol will not be required because the volume has not been mounted.

- Paul Walker


We have used CAP (Columbia Appletalk Package) on our Apollos for some time. As I compiled the latest version and got a new feature working, I finally decided to make a real patch. Here it is. I will submit it to the person now handling CAP, as well.

- skinner@LPMI.POLYTECHNIQUE.FR (Darrell A. Skinner)


Cbzone is a version of Battlezone derived from the Fortran sources written by Justin S. Revenaugh. This version is more flexible in that the number of opponents is user selectable.

Justin S Revenaugh, MIT, wrote the original Fortran version. Todd W Mummert,, CMU, translated to C, added variable number of objects and greater color support.


This document introduces the Ce application, a brief history, and access instructions.

This document replaces the x-etg.txt file previously listed in the Apollo Archive at the University of Michigan.

The contents of the x-etg.txt file are included at the end of this document for history.

- Stan Dunajski

The Ce web site is at


The Chimera web browser. Includes source and pre-compiled binaries. Requires the UM X11 r5 shared libraries, available here. Includes most, if not all, of the latest patches available here.


Jim Rees was nice enough to make Chimera binaries available via the University of Michigan archives. I got these, and after some trial and error, and further help from Jim, made them run on my 400 series machines running 10.3.5.

If you have wanted a WWW browser but have been unable to get one working, I've put together a brief 'dummy-proof' (I think) set of instructions, detailing what I did to get Jim's binaries (he did all the work) running the way I want them to run on my machines.

If you, like me, take pride in how little you know about X-windows, then you might find my instructions helpful (the blind leading the blind).

- (James Uber)


Previously suggested patches for chimera, culled from the chimera mailing list over the years. I recommend them but you should examine and use at your own risk. Not necessarily endorsed by the author of chimera.

These patches were used for the pre-built binaries, but if you are starting from scratch I suggest you get the latest source from Gerhard Niklasch's Chimera-1.65 Patch suites.


This program checks for mail arrival and will notify the user if present. It can be run once and any outstanding mail will be noted.

- J. Schimpf & M. Hucka, Utah


This is an update to the emacs v19.22 version of compile.el so that it can parse the Apollo 6.9 BSD C compiler error output.

- (UK478 Anthony Bowles)


The Conniption was the parody of the Connection, the internal Apollo R&D newsletter.


Make your node appear to crash without actually crashing. Good for hours of fun. Play jokes on your friends! This is a very old program and probably won't look quite right on sr10 nodes or those running X, but it does still run.


What the jumpers do on the Archive tape controller.


Around April First of 1997 reports started circulating in the Apollo Usenet newsgroup of a "date bug" in Domain/OS that would render all Apollo workstations useless after November 2, 1997.

For the latest info from HP, including fixes, see: (US) (Europe)


Program for setting one node's clock from another node's.


Latest version I have of this:

From: (Weule)
Newsgroups: comp.sys.apollo
Subject: announce: software for parallel printer device
Date: 19 May 1993 11:29:25 +0200
Organization: Heinrich-Heine-Universitaet Duesseldorf


I have finished coding on the software for the SPE-Board. If you have a
standart PC parallel device for your Apollo, I think you can use my device
drivers also. I am using this drivers for our Omilaser wthout any problems.

You can get the software at apollo/dev_pio-1.05.tar.Z

Hope you will enjoy this

Jörg Weule
[Note: you probably need gpio to install this. - Jim Rees]


How to add a second disk to your dn3500 or dn4000.


More info about disks.


Apollo display driver code:

This is some hack code that I put together along with some work from Hamish Coleman ( to basically diddle the Apollo Mono and 4/8 plane ISA-bus display cards.

The code has the ability to clear the screen, blit characters onto the screen, and scroll the screen up.

- (Herb Peyerl)


The DM pointer cursor.


Some DM fonts in bdf format for use with the X Window System.


DM fonts converted to opentype and webfont format.


How to interpret the dn10000 leds. From the manual "Operating the Series 10000 Workstation and Server", part number 012880-A00, pages 2-10 and 2-11.


This is the little X app that sits in the corner of your screen, looks like the lights on a dn3000, and blinks. Originally written for OpenBSD, version 20 runs on linux. Older versions: dnlights.tar.gz, dnlights-20.tar.gz

- Jim Rees <>, University of Michigan, June 1998


This [tar file] contains all the "dot" files for our Domain/OS systems running SR10.4. The 'dotfiles.tex' file contains the text of the talk I gave at the InterWorks conference in Phoenix (Spring 1993), but may not completely describe all the "dot" files in this archive, or all their features, since the files here are my latest versions.

- Mike Peterson <>


TeX DVI Previewer for Apollo Domain. DVIAPOLLO is based on the DVISUNTOOL and XDVI programs maintained by Tim Freeman at CMU; it was ported to the Apollo system by Leonard N. Zubkoff.


This modified version of GNU Emacs 18.59 includes support for using the Apollo Domain Graphics Primitives (GPR) for display operations.

This version of GNU Emacs only functions under Domain/OS SR10.2 and later on 680x0 and PRISM machines; SR10.1 and SR9.7 is no longer supported. It also includes various bug fixes for the Apollo that are not in the GNU Emacs standard distribution. The keyboard management in this version had been updated to use the GPR event types GPR_$Coded_Keys, GPR_$Function_Keys, and GPR_$Physical_Keys which are new in SR10.2 and give GNU Emacs access to all the interesting key transitions.

- Leonard N. Zubkoff

This file contains modified sources only. You'll also need the gnu emacs 18.59 sources, available from the usual gnu sites. At one time you could get ready-built executables for this version of emacs from, but these are probably no longer available.

- Jim Rees


Patches to make emacs 19.8 run on your Apollo with sr10.3 and cc 6.7. This file is probably obsolete. See emacs-19.15-patch.tar.gz, below.


Patches to make emacs 19.15 run on your Apollo with sr10.4 and cc 6.9. Sent in by Kevin Gallagher - DSC Communications Corporation, 6 July 1993.


For most part I took Kevin Gallagher's ( patches for Emacs 19.15.

I had to add code in src/process.c and src/xselect.c to enable the Apollo's to handle insertion of PRIMARY selection into a buffer. The problem has to do with Apollos not delivering SIGIO when a X client message arrives (the symptom was that Emacs would time out waiting for a reply to the XConvertProperty call).

I removed previous patches that were already taken care of in the Emacs 19.18 distribution.

- (Klaus Schnepper)

From: (Kevin Gallagher)
Newsgroups: comp.sys.apollo
Subject: Re: Emacs 19.18 for Apollo
Date: 17 Aug 93 23:28:00 GMT
Organization: DSC Communications Corporation, Plano, Texas

In article <>,
Klaus Schnepper <> wrote:
>Attached is a uuencoded compressed tar file containing Apollo
>patches for GNU Emacs 19.18 to run on Apollo Domain nodes running
>DomainOS 10.4.

The needed patch to src/m/apollo.h is missing from your tar file and
APOLLO-BUILD-NOTE has some errors in it which may confuse someone attempting
to build Emacs 19 for the first time.


Attached are patches needed to build GNU Emacs 19.28 on an Apollo running SR10.3 or SR10.4, bsd environment, and X Windows. (There is no support for running 19.28 in a DM window, since most users appear to be using X, now.) It will also run in a tty connection when using a VT-100 emulation, for example.

Apply the patches to the standard 19.28 distribution of GNU Emacs and then read the etc/MACHINES file for instructions on how to build it and use it.

Unexapollo.c is Leonard's latest version with the formatting and coding style converted to GNU standards.

These patches are expected to become part of the GNU Emacs 19.29 official distribution. In the meantime, until that happens, send any bug reports to me.

- Kevin Gallagher <>


How to make emacs 19 behave more like the DM.


Patches to make epoch 3.2 run on your Apollo. Epoch is a modified version of GNU Emacs 18.55 with several major enhancements:


Patches to make epoch 4.0 run on your Apollo. See above.


Epoch 4.1 no longer requires patches, since I've sent them in to the epoch maintainers and they've incorporated them into the release. However, there are some reports that unexapollo.c doesn't work with the latest version of sr10.4 (it worked with the beta release). This file contains details.


Settings for the 3Com 505 board, which you can sometimes buy cheaper from 3-Com than from Apollo. Without the Apollo boot ROM you can't boot it diskless over the ethernet but it runs after it's been booted. You might also check the 3Com web site.


The original welcome message for the Apollo mailing list.


Floppy drive info, including how to connect a 5 or 3 inch floppy to your dn300.


A text file. The title is self-descriptive.


How to install Domain/OS from tape.


A version of ftpd that supports anonymous ftp.


Subdirectory with various versions of gcc, gas, and gdb, and patches to help them run on Domain/OS.


These are my notes on compiling ghostscript 3.33 and ghostview 1.5. They compile out of the box, but there're a couple of things that need to be defined to get it to work on my DN3500.

- Gordon Fox <>


Gnuplot is a command-driven interactive function plotting program. Here are some of its features: Plots any number of functions, built up of C operators, C library functions, and some things C doesn't have like **, sgn(), etc. Also support for plotting data files, to compare actual data to theoretical curves.


When the user wants to leave the node unattended, the GONE routine borrows the display, puts a message on the screen, and waits for the user to type a password. The user can specify the password and the message font with a configuration file in the user's ~user_data directory.

- Dennis Cottel <>


A nice analog clock (like xclock) for dm/gpr sent in by (Jörg Weule). "This clock is more precise than xclock, since it tries to sleep until one second after the full minute -- you can see this with two clocks."


These tools are for converting between Apollo graphic file formats like gpr and gmf and standard formats like pbm.

I'm not sure of the origin of these programs. Some were written by Kee Hinckley when he was still at Apollo. They were given to me by (Roque Oliveira).

I compiled everything I could, but didn't test any of it. In some cases I had to change the source to get it to compile, in which case I saved the original with a '-' suffix on the file name. I didn't use the Makefiles. I have not included the pbm package here, which is needed to build some of these programs. I didn't build the rle tool, because I don't have the rle package here.

- Jim Rees, March, 1996


gzip, the GNU compression utility. Gives better compression than 'compress'. Works fine unmodified, but see below.


If you've ever used compress or gzip on Domain, you've probably noticed that it does not restore the proper Apollo type manager when the file is uncompressed. In fact, for filetypes like REC, the structure is totally lost, rendering the file useless.

We have ported the latest version of gzip (the GNU compression utility) to Apollo. It properly handles the Apollo filetypes. Gzip uses UNSTRUCT as its filetype for compressed files, so Apollo files may be safely zipped, moved to a UNIX system for storage, and retrieved and unzipped when needed.

Gzip offers much better compression (3 to 4 times better, in our tests) over compress. Patches to the gzip code are included here. You'll need to get the normal, unmodified distribution of gzip-1.2.4 from the net and apply the patches. Running the patch script in the gzip distribution directory does this for you.

- David Sundstrom <>, Erik Rygg <>


Unix-like "help" program.

This is a customizeable help program, which operates on the basic Unix principles used for command searches. The directories used to search for help files can be set in an environmental variable. Additionally, the placement and size of help windows can be set in a similar fashion. The program can be told to display all files found that match the help topic, but the default is to only display the first match.

Version 1.0 by Pat Lynch. Submitted by Stan Dunajski.


Dump your node's hint file. This tells the node which node to go to for a particular object given its uid.


DoD Internet Host Table 22-Mar-85 Version number 436 (see rfc810)


Program to Translate GMR Vector Output Files into HP-GL Plotter Command Files that can be Spooled to the HP 7475A, HP 7550A and HP 7570A Plotters.

- David Krowitz <>


The following couple of small patches are needed to httpd-1.3 to get it to compile and run properly on Apollo Domain/OS...

- (Vincent D. Skahan)


httpd 1.4.2 a88k & m68k binaries
README file from httpd 1.4.2
sample install tree & install instructions

- Nickolai Zeldovich <>


...diffs for NCSA httpd 1.5a to work with HP/Apollo DomainOS and cc 6.9. I've submitted these to NCSA so maybe someday we won't have to patch stuff...

- (Vincent D. Skahan)


HP doesn't consider the athena widgets, mit clients, or imake to be part of "standard X11." I disagree. I think you at least need imake.


This index, in html form for www browsers.


Jove is a (relatively) small emacs-like editor.


Keyboard pinouts and more.


This program fixes a limitation in the Domain/OS kernel that prevents SCSI drives with a capacity greater than 4GB (4*1024**3) from being INVOL'd.

- Paul Walker


- Boris Y Zel'dovich <>


Some suggested replacements for /sys/apollo_logo, tools for converting to and from pbm, a DM viewer, and an X viewer.

Here are links to png images of all the logos: apollo, apollo_forever, elise, eyes, fish, hp, max, onebuck, saturn, sun, victim


A program to list uids (object, type, parent, user, group, org) associated with an object.

Lunch, the HP Way


How to connect a Mac to an Apollo.


Version of netman written for the Mach port. It runs on Domain/OS and serves up the Mach kernel.


Images of Marketing Brochures.


Advanced Graphics Magazine, produced quarterly by Apollo Computer UK Ltd.


Copyright 1987 by Stephen Coy. Melt your screen without doing permanent damage.


A memory board compatibility table.


All sorts of useful information about monitors, including sweep frequencies, sync timing, and how to repair.


Send morse code on your node.


Mosaic 2.0 (old), built with static Motif libs. It's huge (2.3 Mb) but will run on your Domain/OS machine regardless of which version of X you're running. Contributed by (Thomas Krebs). There is a later version available too (see below).


Basically, the following patches define a _NO_MEMORY_H_ and a _NO_MALLOC_H_ that only Apollo users probably need to get it to compile under the BSD4.3 environment. You don't want to include either for compiling Mosaic on Apollos.

- (Vincent D. Skahan)


Mosaic 2.7b1, built with static Motif libs. It's huge (7.4 Mb) but will run on your Domain/OS machine regardless of which version of X you're running. Contributed by (Thomas E. Nulsen).


Here are patches for NCSA Mosaic 2.7b2 to be able to run on DomainOS. These worked here with DomainOS cc 6.9 uedk 2.1 x11r5.

- (Vincent D. Skahan)


From: jef@edc.MENTORG.COM (Jef Rijmenants)

  Mtools :
    Mtools is a public domain collection of programs to allow Unix
    systems to read, write, and manipulate files on an MSDOS filesystem
    (typically a diskette).
      This is version 2.0.7 of Mtools with some modifications to run
    on Apollo using the flopdrv driver.

  flopdrv :
    a GPIO driver to handle floppies in MSDOS format on DN3x00-DN4x00
    Apollo workstations using the original disk+floppy controller and
    the original 5.25" HD drive or an optional 3.5" HD drive.
      This is version 1.1 of flopdrv which handles full cylinder IO
    on nodes that support DMA transfers larger than 1Kb.


    o the Apollo version of mformat is different from the original
      Mtools version. It does low-level formatting too, where the
      original requires an external formatter.
    o the following three formats are currently supported:
      5.25" DSHD (1.2Mb), 3.5" DSHD (1.44Mb) and 3.5" DSDD (720Kb).
    o you do NOT need GPIO to recompile/install the driver
    o the driver has been compiled on a DN3000 running SR10.3.5 and
      on DN4000/DN4500s running SR10.4.0.6 (using Apollo's compiler).
    o the driver has been tested on the following hardware configurations:
        o DN3000, OMTI 8800 controller, 3.5" drive
        o DN3000, OMTI 8610 controller, 5.25" drive
        o DN4000, OMTI 8621 controller, 5.25" drive
        o DN4500, Western Digital WD7000 controller, 5.25" drive

From: (Michael Joosten)
Newsgroups: comp.sys.apollo
Subject: Re: A few answers: /dev/sio1 <-> /dev/tty01, DM exit, mtools and floppy
Date: 28 Sep 1993 14:20:45 GMT
Organization: CADLAB, Paderborn, FRG

The mtools problem is solved, this weekend I made an 'excavation' of my pile
of old magazines and found in a eight year old one a circuit diagram of an
original IBM floppy controller. What was missing in flopdrv_call.c was the
explicit setting of 'motor on' in the controller bit. With the change it
worked fine, but now I've to get a reasonable power cable (streamer already 
built in).

BTW, when I tried to ftp mtools from, it was corrupted near
the end; I had to get it from

Here is the patch:

*** flopdrv_call.c.orig Tue Sep 28 15:15:37 1993
--- flopdrv_call.c      Tue Sep 28 15:14:50 1993
*** 477,483 ****
     int ret_sts;
     /* activate the controller, enable DMA en IRQ, start motor A */
!    flopdrv_cb.csr_p->do_reg = 0x1C;
     /* select data tranfer rate (500k-bits/s for 1.44Mb and 1.2M) */
     flopdrv_cb.csr_p->di_reg = FLOPDRV_DATA_SPEED;
--- 477,483 ----
     int ret_sts;
     /* activate the controller, enable DMA en IRQ, start motor A */
!    flopdrv_cb.csr_p->do_reg = 0x3C;
     /* select data tranfer rate (500k-bits/s for 1.44Mb and 1.2M) */
     flopdrv_cb.csr_p->di_reg = FLOPDRV_DATA_SPEED;


mts (mag_tape_scsi), revision 1.10

mts performs numerous operations on SCSI magnetic tape devices, using the same options as the Unix mt program and more.

MDL Corporation.
US toll-free (800) 800-3766
+1 206 861-6700


ncurses is a SYSV-compatible curses (screen management) package. It supports keypad() allowing access to function and arrow keys. It supports and uses Terminfo instead of termcap for terminal description. It has support for PC graphic characters (used in drawing boxes). It has color support similar to that in SYSV curses.

- (Zeyd M. Ben-Halim)


This is Nedit Version 5.0.2 ported to Domain/OS. It's a great X11 editor, IMHO. It supports syntax highlighting, rectangular cut and paste and much more. See the file README for details about the original version.

- Lothar Paltins <>


Source code for the Apollo NetBSD boot block.


This program (programs actually) let you do a neuron net simulation on your Apollo node(s).

- Nickolai Zeldovich <>


For debugging domain (internet) naming servers.


dn3000/dn3500 emulator by Hans Ostermeyer. There is also a screenshot.

This is now obsolete, as Apollo support has been incorporated into mess. Mess has now been incorporated into mame. To run Hans Ostermeyer's Apollo emulator, install mame, and read about the Apollo Driver on the wiki.

You may need to build this. You will also need a bootable Domain/OS disk image to run it, which I unfortunately can't provide because of licensing issues. You can get Domain/OS install tape images from

| ost.apollo.mess0149/README - 2013-06-17 - Hans Ostermeyer            |

ost.apollo.mess0149 is a snapshot of my development environment for the
Apollo emulator included in MESS 0.149.

Using this (instead of the bare MESS source or Windows binary distribution)
has the following benefits:
 * development documention is included (currently not available in MESS web pages)
 * the Makefile may be useful to find out how to get, build and run the emulation
 * mess will be build to provide Ethernet access between emulation and host PC,
   other Linux PCs, Apollo emulations or Apollo workstations
 * mess will be build as "tiny mess" including only the Apollo emulation
   (smaller footprint, faster compilation); may be changed in the Makefile
 * patches are included for some new bugs introduced in MESS 0.149 

Please look at:
 * doc/Readme
 * doc/Howto.html
 * doc/issues.html 
 * doc/license.txt
 * doc/ChangeLog


"a Pacman-like game" - Geof Cooper, IMAGEN Corporation


Subdirectory with publications.


Numeric list of hardware part numbers.


[This] is the pas2cc program. Please remember that this is not a full translator but simply a tool to convert most Pascal syntax to C. You still have a LOT of work to do in order to get the C to work. But, ITS FREE! Also included are two general purpose libraries; CliLib (Command Line Interpreter) and ParseLib (general purpose parser), as well as a snippet of Domain Pascal (the wild card library).

I have spent a little time writing an actual converter but I don't know if I will ever get around to finishing it....

All the codes (except for Wild.pas) were written by me and you may use them, modify them or distribute them freely, but you may NOT sell them. Please include this notification with all copies that you release.

[ I removed wild.pas from this package. - Jim Rees ]



If you need this, you know what it is. If you don't know what it is, you don't want to know. This was sent to me by Paul Leicester <>.


A list of public domain programs from comp.sources.unix that should run on your Apollo. This list is from sr10.1 so may be a little out of date.


The following perl5 files (except the original perl5 source) are from Johann Klasek <>, and are simply copied from his server at .


Larry Wall's Perl 5.000 source code. All binaries are based on this sources.


Perl 5.000 for Apollo running DomainOS 10.4 with additional binaries, man-pages and the library tree.


Workaround for a Apollo cc 6.8 bug in the code generator concerning module pp_ctl.c


Special header file tree which is used instead of /usr/include to get Perl 5.000 compiled. Some header files from the SYS5.3 environment are merged into the BSD4.3 tree. The h2ph conversion is also based on this special tree, whereas all produced perl header files (.ph) are already contained in perl5.ap.bin.tgz. One can rebuild the .ph files by using

        (cd `which h2ph`; sed 's|/usr/include|perl5.000/inc|g' h2ph >
        (cd perl5.000/inc; * sys/*)

(assuming that perl5inc.ap.src.tgz has been expanded into the current directory and h2ph can be found in the search path).


Perl 5.000 for Apollo running DomainOS 10.4 (only the perl executable, which does not contain the POSIX module).

It turns out there were quite a few people interested in the drivers for Microsoft Windows 3.1 to allow running the Apollo/Matrox 1280x1024x8 PG-1281/AP display cards in PC clones.

This is a pkzip file that contains everything necessary to test and install the Matrox card; extract the contents with "pkunzip -d pg1281ap" from C:\ and then consult "pg1281ap/readme.ap" for installation instructions.



Photos of Apollo hardware and more.


This archive contains a patch file that can be applied to Pine 3.90 so that it will compile and run under Apollo DomainOS. It has been tested with DomainOS 10.3.5 and should run with later versions.

- John Saunders <>


This archive contains a patch file that can be applied to Pine 3.91 so that it will compile and run under Apollo DomainOS. It has been tested with DomainOS 10.3.5 and should run with later versions.

- John Saunders <>


"This archive contains Apollo DOMAIN OS binaries of the Pine mailer, and its editor, Pico. These files have been tested on systems running DOMAIN SR10.4 - I don't know if they will work under earlier versions of DOMAIN. These files should be placed in the "/bin" directory of your account. They will also work if placed in the top directory of your account. To make Pine and Pico available to every user on your system, Pine and Pico should be placed into "/usr/local/bin" It can read mail from the "/usr/mail/spool" and it can also read mail from an IMAP server. I'm not sure how to set it to read from an IMAP server - I think that you may have to rebuild Pine to do so. General questions and comments about Pine can be sent to "" The Pine source code is available for anonymous FTP from"

- Liam Hoekenga <>


  piodrv : a GPIO driver for standard PC parallel IO boards on Apollo
    DN3000-DN4000 workstations with an ISA bus.

  cdjprint : a simple printer utility using the above driver for an
    HP 550C color deskjet printer. Printing time for a full A4 page
    of color graphics is about 7 minutes using the parallel interface,
    which is 3.5 times faster than with the serial interface at 9600 baud.



pop connects to a POP3 server on the specified hostname, logs in with the provided username and password, and downloads any new mail to local files.

I wrote it to 1) implement the protocol, as a test for my webclient; and maybe 2) in the meantime I'd write a Dialogue UI sitting on top. Of course, I haven't gotten there yet; I read my mail by clicking on the files with DM.

- Frederick Roeber


How to get your printer to work.


... the permissions on a freshly-installed Apollo are a total disaster as far as security is concerned: it is almost trivial to become root. To set sensible permissions look in [these scripts].

- (Paul Szabo)

[ originals/latest are available via anonymous FTP from in file protect/scripts.tar.Z .]


Power supply info.


How to get psroff to work.


We are using qpopper V2.2 for several month without any problems at our site. Some small patches had to be attached to get it running. Additional infos be found at

- Johann Klasek <>


The QSEND package consists of two programs a message-sending program (QSEND) which can send a message to any logged in user or node on the Apollo Domain network and a message-receiving program (QSEND_SERVER) which waits for incoming messages and displays them in a window which it pop up on the node.

- David Krowitz <>

quest.mp4, fair-play.mp4

Quest and Fair Play, ray-traced animated movies produced for Siggraph 85 and 86.


Rbak is a public-domain implementation of the Apollo program of the same name. I wrote it to avoid the chore of converting our moderately huge pile of wbak-format tapes to some other format when we abandoned Domain/OS in favor of HP-UX on our HP Apollo 9000/400's.

- Robert G. Byrnes

Various bug fixes, enhancements, updates, and ports have been made by Russell Ayling (, Alberto 'JCN-9000' Varesio, and Jim Rees.

Older versions: rbak-2.0a.tar.gz, rbak-2.0b.tar.gz


Release notes for Domain/OS m68k August 93 patches.


Here is the REMOTE program for the Apollo workstation software library. REMOTE is a short file daemon program which periodically checks a directory and executes a shell command for each of the files it finds there before deleting them. It is intended to be a simple and relatively robust way for the Apollos to automatically process files on other machines. See the file REMOTE.DOC for a longer description and REMOTE.HLP for some examples of how the program can be a useful tool in an Apollo network with a DSP9000 (an Alliant FX/1 or FX/8).

- David Krowitz <>


"This is a type manager I wrote for a "rolling log" style of file. rlog files should behave exactly like normal files, except only the last N bytes (where N can be specified at creation time, default is 16k) are saved. This was written for use with continuously-running daemons. By redirecting the output to one of these files, the daemons may be run indefinitely without worry about the log files growing too big."

- Frederick Roeber


Web robot food. Uninteresting to humans.


Subdirectory containing photos of some of your favorite Apollo systems developers. More are available from, in facesaver format.


How to open your Series 400.


This is SAMBA 1.9.16p2 that has been compiled on a DN10030 SR10.3, CC6.9.p. The only thing changed is the Makefile which just has the SR10.3 options uncommented. The binaries in the /source directory are the pre-made binaries with the options that are in that Makefile, but they are only usable on DN100x0 nodes (a88k) and not on any others (m68k). You should be able to compile them on the m68k's as well. I ran into some problems only once because i didn't have the ANSI-C option selected when i installed SR10.3 - i just re-linked the OS to the AA with the ANSI-C option enabled.

- Nickolai Zeldovich <>


Samba(samba-1.9.16p9) compiled package for Apollo m68k.

This kit include all original code and compiled binaries. I simply compiled original samba-1.9.16p9 for m68k. I used SR10.4.1.2, CC6.9 on HP/Apollo 9000/425T. I modified Makefile to enable Japanese 2-byte code (CAP method). See Makefile and other documents to install.

Have a fun.

- Takanobu Ishimura <>

Original is at


Scheme 48, a Scheme implementation based on a virtual machine architecture.

This is version 0.36, pre-configured and compiled by me for Domain/OS. All you should have to do is type "make install." The authors write:

Scheme 48 is designed to be straightforward, flexible, reliable, and fast. It should be easily portable to 32-bit byte-addressed machines that have POSIX and ANSI C support.

In addition to the usual Scheme built-in procedures and a development environment, library software includes support for hygienic macros (as described in the Revised^4 Scheme report), multitasking, records, exception handling, hash tables, arrays, weak pointers, and format.

Scheme 48 implements and exploits an experimental module system loosely derived from Standard ML and Scheme Xerox. The development environment supports interactive changes to modules and interfaces. This feature makes the module system significantly easier to work with than it would be otherwise.

The virtual machine executes a byte-code instruction set similar to the target of the Scheme 311 compiler [Clinger, LFP 1984]. The interpreter for the virtual instruction set is itself written in Pre-Scheme, a systems programming dialect of Scheme. A Pre-Scheme compiler applies intensive source-to-source rewrites to the interpreter source code and emits low-level C code. When the output is then compiled by an optimizing C compiler such as gcc, the result is an efficient and portable emulator.

The virtual machine is initialized from a specified memory image containing byte-compiled Scheme code and data. Images, including small stand-alone applications, are built either using a static linker or by writing out a procedure from an executing program. A standard memory image contains a Scheme run-time library (append, read, write, etc.), a compiler from Scheme to the virtual instruction set, and a command processor and debugger. In this way Scheme 48 can be configured to look like a conventional Lisp interpreter.

Scheme 48 is available under the following license:

Use of this program for non-commercial purposes is permitted provided that such use is acknowledged both in the software itself and in accompanying documentation.

Use of this program for commercial purposes is also permitted, but only if, in addition to the acknowledgement required for non-commercial users, written notification of such use is provided by the commercial user to the authors prior to the fabrication and distribution of the resulting software.

This software is provided ``as is'' without express or implied warranty.

Richard Kelsey
Jonathan Rees


Send_waitfor is a small C program to help automate the process of dialing a remote machine with a modem and logging in. The scripts supplied show some examples of how it can be used within aegis scripts to automate the whole process.

- Lyndon David and Tom Brock <>


Synchronize your machine's clock to an ntp server. See rfc 1361.


Console messages from a headless node booting.


STAR WARS VERSION 1.1 written by Justin Revenaugh 8/87
Lunchtime Software Guild, Massachusetts Institute of Technology
Department of Earth, Atmospheric and Planetary Science

In STAR WARS you pilot an X-Wing fighter in a rebel attack on the Empire's Death Star.


Binary release of T 3.1, a dialect of Scheme, for sr10.


Binary release of T 3.1, a dialect of Scheme, for sr9 and below.


Source for T 3.1, a dialect of Scheme. More info is available at The T Project and T Revival Project.


Info about tape drives and controllers, especially the Archive 60 MB cartridge tape.


Public domain tar program written by John Gilmore, with mods by me for the Apollo. Works much better than the badly broken Domain/OS tar.


This is tcsh version 6.10. Tcsh is a version of the Berkeley C-Shell, with the addition of: a command line editor, command and file name completion, listing, etc. and a bunch of small additions to the shell itself.

This is just the original source code. If you want to run tcsh, you should grab the patch and binary instead (see below).


Source patch and binary executable for tcsh (see above).

- Nickolai Zeldovich <kolya@MIT.EDU>


I've compiled and installed teTeX 0.4, the Unix version of TeX and its friends, on my DN3500, using gcc, GNU make, and GNU sed (and maybe some other GNU tools that I've forgotten about). This version of teTeX makes the process as close to painless as the installation of *any* big software package on an Apollo gets these days. In other words, the configure script is nearly flawless. I only needed to change a few of its settings to get everything to compile. And that's a lot -- the current teTeX has a lot in it. This is the 3rd time I've compiled TeX for an Apollo, and the first time it wasn't a giant pain.

I should add that TeX, at least, is much faster than the previous version, and I'm using the same machine, compiler, etc.

Where I made any changes, I'm providing diff files.

There is one category of things that don't work, namely some of the shell scripts that come with teTeX. Thomas Esser, the teTeX developer, suggested to me installing GNU Bash and running the scripts under that. That would be fine if only I could get Bash to compile and run properly! But I digress. . . .

What this means is that everything should work pretty well up to the last part of the install process -- then make will start to fail. In particular the texconfig script is likely to fail, or just hang. I recommend just doing the last steps by hand. In particular, this means (1) doing the steps necessary to get all the .pk fonts made and in the right place; (2) running the texhash script so all the programs know how to find files.

I've also found that the MakeTeXPK script, as provided, doesn't work. (And I wouldn't bank on some of the other Make* scripts working either!) You need MakeTeXPK to do automatic font generation. I use a hacked-up version of Esser's original that I've also modified to work under the safemtpk scheme, available from CTAN. I'm enclosing a copy of my hacked-up version of MakeTeXPK that works on my machine.

Once you have a MakeTeXPK that works, you can make fonts by just following the idea in Esser's allcm script. Run latex on the newfonts.tex file, then invoke xdvi or dvips on the product. Since there won't be any font bitmaps, these programs will just generate a big missfont.log file, which you can then run -- it invokes Metafont with all the proper switches, and puts the font bitmaps in the right places. (You may need to create the directory in the first place -- make sure the /usr/local/teTeX/texmf/fonts/pk/cx/public/cm exists. And once missfont.log is finished, make sure texhash runs.

It's a good idea, by the way, to use cron to run texhash regularly -- otherwise the TeX programs won't be able to find files. I won't swear that the append_db script works. Maybe I *should* waste more time trying to get Bash on this machine. . . . .

June 5, 1997

- Gordon Fox <>


trap_global_calls, a Domain/OS program to monitor program behaviour by trapping most global library calls.

- Frederick Roeber


A binary-only tn3270, with pointers to the source. No mods needed to run it on your Apollo, but it's a pain to compile so here it is.


Traceroute is a utility written by Van Jacobson that traces the exact network route that packets take while being routed from your machine to any specified remote host. This is an extremely useful debugging tool for network managers.


trap, a Domain/OS program to trap specific global library calls .

This program traps specific calls from user programs into global libraries. It cannot trap calls made within user libraries. I wrote it to help figure out Domain internals; it might also prove useful to people trying to figure out what's going wrong deep inside behemoth code. I make no guarantees about this code, it is provided as-is for folks who know what they're doing.

- Frederick Roeber


A simple troff previewer for gpr.


A virtual-desktop version of Tom's Window Manager (twm).


I know there are a number of ways to deal with dos->unix ascii text file conversions, but these may come in handy. No warranty is even remotely implied and you're on your own from here on out.

- Shaun McArthur <>, <>


Changes the font in your DM pad. The oldest program known to still work on Domain/OS:

% ts use_font 
Ver Name              Time Stamp                     File Name
o 2 TEST_LF           1981/10/11 23:59:17 EDT (Sun)  use_font


uuencode/uudecode program with tar command-line syntax. Tries to be robust about ignoring garbage on extract, so you should be able to cat together split files with junk at the front and run them through. Written by Jim Rees, University of Michigan, Sept. 1992


The ever-popular v2 type manager (see /domain_examples/streams/v2). This is the latest version by the original author. It is improved over the one released by Apollo:

This version does not contain support for chmod/chown, which requires the unreleased attributes and protection traits.


Patches to the VNC viewer (see below) for Domain/OS, and a binary executable.

- Paul Walker


VNC stands for Virtual Network Computing. It is, in essence, a remote display system which allows you to view a computing 'desktop' environment not only on the machine where it is running, but from anywhere on the Internet and from a wide variety of machine architectures. The VNC home is at


VNC server for Domain/OS gpr. Mono only. No security. No input. Send questions or contributions to Jim Rees.


How to configure the WD7000v-ase Apollo edsi/floppy/scsi controller.


Fetch files using http. Written by Brian J. Swetland, Apollo version by Jim Rees.


A little C program to display which font is currently enabled. It's been built and tested on BSD4.3 with SR10.3.

It can be useful if you have a script that wants to change fonts only temporarily while it puts some DM pads up.

- (UK478 Anthony Bowles)


;;;		       GNU Emacs Apollo Support Functions
;;;                       for Emacs 19 in X Windows
;;;                            Kevin Gallagher
;;; This is a modified version of apollo.el, which was written by
;;; Leonard N. Zubkoff for Emacs 19.57.  It provides support for
;;; running Emacs 19 under X Windows only.  Support for the Apollo
;;; Display Manager (DM) has been dropped.

- (UK478 Anthony Bowles)


The include files for x11r5 from MIT, including Xaw and Xmu.


A binary-only x11r5 shared client library. Yes, you can run r5 clients with your r3 share-mode server. Contains pointers to source and instructions for making your own shared libraries.


Two programs I put together for fun. One is a sketch program, producing unixplot files, the other is a paint program, producing pbm files. Completely undocumented except for source code. Not really Apollo specific, they use X windows.


Info about dn10000 X-bus, especially the terminators (which often fail).


How to keep your node clocks in sync.


xntp3.4y, with Apollo patches (see xntp-notes above), partly built.


These source files came off of the Omen Technologies Web site and were compiled using gcc 2.6.0 on an HP 425t running Domain/OS 10.4.1.

Unix Rz and sz support XMODEM, YMODEM, and ZMODEM transfers via the dial-in controlling TTY port.

- Shaun McArthur <>, <>