What would be a workstation without connectivity to other systems? Although the 9845 mainframe has no built-in communication interfaces, the modular I/O architecture opened a lot of options, including
- using the 9845 as a workstation in a workstation/server cluster
- using the 9845 as a slave system in a master/slave network
- using the 9845 as a terminal for a mainframe or minicomputer
- using the 9845 as a terminal server itself
- connecting two 9845 systems as a point-to-point network
- setting up a HP-IB based network
The following paragraphs give an overview of the networking options which have been developed by HP, and even beyond.
Shared Resource Management (SRM) is what really makes the 9845 a full workstation: a network file system. The priciple is quite easy: a 9826 or 9836 system works as a server (the so-called Shared Resource controller), sharing its peripherals (printers, mass storage) to a workstation network. Workstations in this network are by definition either 9845B/C systems or additional 9826/9836 systems.
The workstations are not connected directly to the server, but via so-called Shared Resource Multiplexers, which act as concentrators or switches in the network. Up to three multiplexers can be connected to one server, and each multiplexer can connect to four workstations.
There is a special 98029A interface needed to connect a 9845 to the SRM network, plus a set of two Resource Management option ROMs (one for the PPU and one for the LPU). The 98029A interface is a small computer on its own, there is a Z80 microprocessor which handles all the SRM protocol functions.
Once connected to the SRM network - thanks to the unified mass storage concept of the 9845 - most intrinsic mass storage commands can be used on remote resources. Remote resources are just identified though a special mass storage unit specifier (msus). Moreover, SRM adds a couple of features which make the work with shared resources more comfortable, or which organize the shared access. So SRM adds the capability to use directories, longer filenames with up to 16 characters, and file creation/manipulation time attributes. Files can be locked for exclusive access in the network, and a role-based access control scheme can be used to restrict access to files and directories.
Last, but not least, a spooling function supports the shared use of network printers.
There are probably more than one implementation of SRM servers. Unfortunately, I did not find any implementation for a standard PC (I do not own a 98029A SRM interface anyway). Although it would be a really great feature. So for the time being, you'll need
- a working 9826/9836,
- a complete hardware and software SRM package for that system,
- at least one 98028A multiplexer,
- a 98029A Resource Management interface,
- a proper set of cables, AND
- a complete set of Resource Management ROMs for a 9845.
Practically, the SRM and the production of the 9845 overlapped only a short time, so the number of installations was probably limited, and so is the availability of the hardware today.
A detailed description of the Shared Resource Management system can by found in the Shared Resource Management System Manual (HP Part No. 09826-90080). Hardware installation is described in the Hardware Installation Manual for the Shared Resource Management (Part No. 98028-90000). SRM use on the 9845 is described in the HP 9845B/C Shared Resource Management Programming Manual (Part. No. 09845-93071) and SRM use on a Series 200 system is described in the Shared Resource Management HP Series 200 Workstation Manual (Part No. 98619-90051).
A special connectivity option was offered for communication with the HP 1000 and HP 3000 minicomputer systems. The package included line-mode terminal emulation and file transfer in a Distributed Systems network.
Prerequisites are (in addtition to a HP 1000 or HP 3000 with Distributed Systems software and data communications link) the 9845 Distributed Systems software package (Part No. 09845-10210) plus a 98046B datacomm interface or a 98036A serial interface.
More Information on the DSN can be found in the March 1978 issue of the HP Journal.
The 9845 could be used as a slave device on a HP Data Link network. This included operation as a terminal to the HP 1000 and, alternatively, as a computer-aided test workstation communicating with an HP 1000. In the latter mode, BASIC lines of code could be transferred directly into the 9845's memory.
Typical Data Link Network Topology
In order to connect to a Data Link network, besides the DSN/Data Link software package (Part No. 09845-10240), a 98417A BASIC Datacomm ROM, a 98046B datacomm interface and a 3074A Data Link Adapter was required.
The 9845 concept includes using the 9845 as an intelligent terminal. Since no terminal support is built into the 9845 OS, additional option ROMs and terminal emulator software are required.
The 9845 could not only operate as a terminal or slave, but also as a terminal server (mini mainframe) itself. There was a special Terminal Manager software package (Part No.09845-10160) which allowed connection of up to seven HP 264x or 2621 terminals to one 9845. Up to three terminals could be connected directly to the 9845, for additional terminals an 9878A I/O expander was required. Each terminal connection required one 98036A RS-232C interface, and the communication speed was limited to 2400 baud.
The Terminal Manager was written in BASIC and provided a framework for terminal applications. Two applications, a line-oriented text file editor and a simple file manager were included, additional terminal applications could be added by the user.
The easiest way to setup a point-to-point connection between two 9845 systems is a serial link via two RS-232C interfaces (either 98036A/B or 98046A/B). DTE and DCE interfaces can be directly connected, whereas identical interfaces need a null-modem adaptor or cable between the two interfaces.
Since serial point-to-point networks are not supported directly by the 9845 OS, there are no shared peripherals. Instead, a BASIC program can be used to exchange data and/or files between both systems. Data transfer is quite reliable, but transfer speed is limited to 9600 bps.
HP-IB is fast, standardized and reliable. And HP-IB interfaces for the 9845 are comparably easy to acquire. So why not using the HP-IB as a network connection?
Actually, the HP-IB is designed as a flexible bus system, which can be used for setting up both star and daisy link topologies, and even mixed. Point-to-point transfers are possible as well as multicast transfers. In contrast to today's Ethernet, bus arbitration is controlled by a dedicated bus controller, which makes data exchange much more efficient. The 9845 HP-IB interfaces can support transfer rates up to 45 kBit/s, which is very close to today's fastest modem connections.
In order to connect 9845 systems via HP-IB, exactly one system has to be configured as HP-IB system controller, and all others as HP-IB devices. The 98034A/B HP-IB interfaces are configured as system controller by default, so the systems which should be configured as devices have to change their configuration (the 98034A/B installation and operation manual describes in detail how to do that, the interfaces have to be opened and a jumper has to be set). In addition, the primary HP-IB address has to be changed, so that each interface on the bus has its own unique address (the procedure is also described in the 98034A/B manual). It is recommended to use addresses between 8 and 20. Addresses below 8 are used by mass storage systems (due to the parallel poll scheme which is used for mass storage devices) and address 21 is reserved for the system controller.
In theory, a 9845 can both work as a system controller and as a HP-IB device at the same time, however there have to be two separate 98034A/B interfaces installed with poper configuration.
Once connected via HP-IB, the systems may use the common I/O instructions like OUTPUT, ENTER, CONFIGURE and SENDBUS to exchange data over the HP-IB. Sending control commands on the HP-IB (including addressing as talker or listener) is possible only for the controller-in-charge (which is at startup the system controller, however each device can request temporarily becoming controller-in-charge). Once being controller-in-charge, it should be theoretically possible for any system to access peripherals which are connected to the HP-IB. However, since only the system controller has the primary HP-IB address 21, and all 9845 BASIC mass storage commands assume this address as the local HP-IB address, address 21 is always addressed by commands like CAT, CREATE, COPY, PURGE, ASSIGN#, READ# and PRINT#. So it is quite likely, that only the system controller can use the built-in mass storage commands to access peripherals which are connected via HP-IB.
It is possible to write a small utility which runs on the system controller and serves data from its mass storages to other systems. A simple protocol can be implemented to request directory listings, file operations or data exchange. But there is probably no way to do any direct mass storage operations for the systems which are not system controller.