Installing Helios for Transputer on a PC

Helios is a microkernel operating system, originally written by Perihelion Ltd in the UK. The company closed its doors a few years ago, but made the Transputer version of Helios available for free (as in beer) redistribution as it did.

The OS runs a csh-like shell, a wide range of Unix-like shell commands and has a POSIX layer which all make it a reasonable place to work for anyone familiar with Unix.

It runs on pretty much any 32 bit Transputer system with 1M or more of available RAM. To do anything useful with it, however, you'll need an IO server. In Helios, the IO Server provide a window server, keyboard, mouse, and sometimes serial ports, parallel ports, discs, ethernet, etc.

IO Server programs are available for DOS, Windows, the Atari Transputer Workstation, and both 68k and SPARC-based Sun workstations.

This document describes the process of setting up a networked Helios system using a PC running DOS, for reasons explained later.

Hardware

You'll need:

A 32 bit Transputer with 1M or more of external RAM
A PC ISA bus to Transputer DS link adaptor
Transputers consist of a CPU, a small amount of internal RAM, and four 20Mbps serial links. Typically, PC-based Transputer interface cards used the Inmos C011 or C012 to map a couple of bytes in the PC's IO address space onto a Tranputer-compatible serial link. Of course, different manufacturers did this in different ways, but many (thankfully) made their boards compatible with the original Inmos B004 and B008 PC interface boards.

The Helios DOS-based IO Server understands a couple of these interfaces, and you'll need to a compatible interface board. Anything which has a B004 or B008-compatible mode should be fine. It also understands Parsytec SuperCluster/MultiCluster systems, Meiko ComputingSurface, and Telmet T.Node interfaces.

Boards that I've seen work with Helios are the Inmos B008 and Transtech TMB08 TRAM motherboards, the CSA Transputer Education Kit and the Smalltalk Computing TS1 Transputer SIMM card.

So, you'll need a PC interface card, either separate or integrated with one or more Transputers; and at least one Transputer with at least 1M of (external) RAM.

A PC
Anything that can run Windows 98 is fine. I'm using 32M of RAM, and that's largely wasted.

Note that you'll need to have some ISA slots -- for the Ethernet card and the Transputer/PC interface card(s). If you have multiple such cards, more slots can be helpful, because they tend to be wider than a single slot.

Disc-wise, a few hundred megabytes is probably enough for a reasonable system (and you can always use NFS for more), but I ended up using an old Pentium board that had a BIOS that understood my 2G IDE drive.

An old ethernet card
The ethernet card must be supported by the Crynwr Packet Driver (aka Clarkson Packet Driver) collection, which basically means a card that was around in 1995.

Software

Then you need to collect the software:
Windows 98
I am using Windows98. I have used MS-DOS 6.2 and 5.0 in the past. I'm pretty sure most versions newer than, say MS-DOS 3.3 or so could be made to work -- the IO Server is not very taxing. It's also possible that DR-DOS or FreeDOS would work too.

The benefit of Windows 98 over say DOS 5.0 is long file names, and an easier environment to get connected to the Internet for downloading and installing Helios.

Note that a DOS Emulator is probably not a good solution, since the Transputer interface boards generally poll the link, eating up your CPU time.

Helios 1.3.1
You don't have to use 1.3.1, but it's the latest, so why not? It's available as a single download from Ram Meenakshisundaram's Transputer page.

A suitable packet driver for your Ethernet card
The complete collection of packet drivers, and their documentation, etc can be downloaded via their homepage.

Process

  1. Install the hardware (Ethernet card and Transputer/PC Interface card) into the PC. Make a note of the base I/O address and IRQ number used by both cards.

  2. Install DOS.
    I used Windows 98, and then edited the C:\MSDOS.SYS file to ensure that it booted into DOS mode by default. The changes are pretty easy:
      c:
      cd \
      attrib -r -h -s msdos.sys
      edit msdos.sys
    
    Here you need to change the BootGUI value to 0, and add these additional lines:
      BootMenu=1
      BootMenuDelay=5
      BootMenuDefault=5
    
    Save those changes, and exit the editor.
      attrib +r +h +s msdos.sys
    
    Then reboot, and you should go straight to a boot menu (as if you'd pushed F8), and after 5 seconds, it should default to option 5 (which is a command prompt).

    This worked for me, using a fresh Win98 SE installation. There are some possible problems -- I found more information here.

  3. Install Helios.
    This basically means unpacking the distribution. The best place is the root of the C: drive. I renamed the 1.31 directory that was unpacked to Helios for convenience.

  4. Edit the C:\Helios\host.con file.
  5. Test that the root processor can boot.
  6. Log in as root.
  7. Run gdi to compile the devinfo file.
  8. Edit /helios/etc/initrc.
  9. Edit /helios/etc/nsrc.
  10. Edit /helios/host.con.
  11. Create and compile a network map.
  12. Run stopio.
  13. Test the packet driver.
  14. Edit C:\autoexec.bat
  15. Reboot the PC!