# Modcomp

Modcomp, Inc., originally Modular Computer Systems, was a small minicomputer vendor that specialized in real-time applications. They were founded in 1970 in Fort Lauderdale, Florida. In the 1970s and 1980s, they produced a line of 16- and 32-bit mini-computers. Through the 1980s, Modcomp lost market share as more powerful micro-computers became popular, and Digital Equipment Corporation's VAX and Alpha systems continued to grow. The company successfully survives today as a systems integrator operating as CSPi Technology Solutions headquartered in Deerfield Beach, Florida.

## Computers

Their first computer was the 16-bit Modcomp III, introduced shortly after the company was founded. This had 15 general-purpose registers, and was initially offered with a 16-kilobyte (16,384 bytes), 18-mil magnetic-core memory with an 800 ns cycle time, expandable to 128 kilobytes (131,072 bytes). The Modcomp I followed for smaller applications, with only 3 general-purpose registers and a maximum of 64 kilobytes (65,536 bytes) of core. These machines were based on SSI and MSI TTL logic. The Modcomp II, introduced in 1972, maintained compatibility with the Modcomp III, while using some LSI circuits. The core architecture of the 16-bit machines included blocks of uncommitted opcodes and provisions for physical modularity that hint at the reasoning behind the company name.
The Modcomp IV was an upward compatible 32-bit machine with a paged memory management unit introduced in 1974. The minimum memory configuration was 32 kilobytes (32,768 bytes), expandable to 512 kilobytes (524,288 bytes), with access times of 500 to 800 nanoseconds (varying because of memory interleaving). The machine had 240 general purpose registers, addressable as 16 banks of 15 registers. The MMU contained 1024 address mapping registers, arranged as 4 page tables of 256 pages each (some of these page tables could be further subdivided if address spaces smaller than 128 kilobytes (131,072 bytes) were needed). Fields of the Program Status Doubleword were used to select the current active register bank and page table. The machine had a two-stage pipelined CPU, and a floating-point unit.
In many regards, the Modcomp IV had potential as a competitor for the VAX, although the address space per process was limited to 64K 16-bit words; 256 pages of 256 words each, from the perspective of the MMU. Beginning in 1978, the Modcomp IV was replaced by the Modcomp Classic; the first Classic model was the 7810. This retained compatibility with the Modcomp IV, while offering full support for 32-bit addressing. The later 9250 and 9260 continued to support both 16-bit and 32-bit applications.

## Operating systems

The Modular Applications eXecutive family of operating systems supported these machines. MAX I was a real-time monitor for a fixed set of processes linked into a single memory image. This met the requirements of many embedded systems. MAX II was a batch disk operating system with real-time extensions. It could be used for program development in the background while foreground processes handled real-time loads. These systems used fixed-priority pre-emptive scheduling.
MAX III (for the 16-bit machines) and MAX IV (for the Modcomp IV) allowed for multiple interactive users. In MAX III, all processes shared the one address space with swapping used to support multiple background processes, one per interactive user. The MAX IV operating system was largely compatible, while it took advantage of the new features of the Modcomp IV to allocate one address space for each process. Demand paging was not supported, and swapping was used when the total memory demand for all processes exceeded the available physical memory. The operating system also took advantage of the 15 registers to reduce time required to change program environments. The successor to MAX IV, developed to fully exploit the Modcomp Classic system, was called MAX 32.

## Program development

In addition to a very capable Macro-Assembler, the Fortran system also was designed to take advantage of the multiple registers to temporarily hold the values of variables and indexes. The compiler also had optimization which reduced the number of operations required to process math expression most often found in indexing into arrays. The compiler also produced Macro-Code that when processed by the Macro-Assembler produced loadable machine code. When the Modcomp IV was released, the output of the compiler's code could be modified to take advantage of newer instructions available in the hardware.

## Applications

Many of Modcomp's early sales were for tracking and data collection from NASA space probes, and in the 1980s they provided a network of 250 Modcomp II systems to control the Space Shuttle launch complex at Cape Canaveral as well as SET at SAIL at JSC until T-30, at which point control was handed over to a single IBM mainframe. In the 1990s Modcomp developed a product in the UK called ViewMax, which was used to connect web-based "front-ends" to legacy systems. In 1996, Modcomp had $36.7 million in sales, and were purchased by CSPI.
Modcomp IV computers were used for the control system of the PAVE PAWS radar system built for the United States Air Force Space Command.
Outside of the aerospace industry, these systems were particularly popular with the oil industry, both in oil refineries and in oilfields, and for general manufacturing automation. Standard Oil, and Shell oil, made extensive use of Modcomp equipment in the 1970s.