Driver:InterPro
Intergraph InterPro
The InterPro brand name refers to a range of computers manufactured by Intergraph. This article and the corresponding MAME driver focus on InterPro systems which used the CLIPPER processor, and run CLIX, a port of UNIX System V release 3.1.
Introduction
While earlier InterPro systems did not use the CLIPPER CPU, from the mid 1980's this was the key common characteristic of the range. Originally developed by Fairchild, and then acquired by Intergraph, the CLIPPER is notable for being one of the earliest commercially available RISC CPUs, however it did not reach significant success outside Intergraph's own product line. The CPU was usually combined with an IEEE-754 compliant FPU, a first-level cache, TLB and MMU device originally known as CAMMU, clock control circuitry, and fabricated on a daughter-board that could be easily upgraded in the field.
InterPro systems based on the CLIPPER were first produced beginning with the InterPro 32C in 1986, and were manufactured up until 1993, ending with the InterPro 2800. The systems continued to be supported by Intergraph for a few years after this point, before being almost completely abandoned and there are very few operational examples remaining today.
CLIPPER-based InterPro systems share some other common traits:
- CLIX operating system (a licensed port of UNIX System V release 3.1)
- Application software backward compatibility
- SCSI hard disks (and later, CD-ROM drives)
- AUI Ethernet port
- PC-compatible 5.25" or 3.5" floppy disk drives
- 3-button mouse and optional digitizing tablet
- A keyboard featuring 85 regular keys plus 57 membrane function/macro keys
- 3 RS-232 ports (via a 3-way breakout cable)
- Large-format plotter interface port and logic
- Boot EPROM containing a diagnostic monitor
- Real time clock and NVRAM
Intergraph's primary markets for the InterPro were for 2D and 3D CAD, computer aided engineering, mapping and GIS applications, and this focus drove the development of relatively sophisticated graphics hardware acceleration and wide support for various 3rd party plotters and printers, especially for large-format output.
-
Fairchild C100 CLIPPER module
-
Intergraph C4I CLIPPER module
-
InterAct 32C with dual 19" displays
-
InterPro 32C
-
InterPro 6000 with single 27" display
-
InterPro 2430 with dual 21" displays
Status
The MAME driver for the InterPro is a work in progress, and is currently capable of booting and running the CLIX operating system and some software for the InterPro 2020. Some other models are capable of booting the diagnostic monitor and disk-based diagnostic utilities, but not yet able to install or run CLIX.
There are some known bugs in the driver at this time that can impact some of the instructions described below:
- The driver doesn't reboot itself from software correctly yet
- Changing or inserting CD-ROMs after starting MAME doesn't work
- Sometimes, the mouse will stop working, typically after switching away and back to the MAME process
- MAME fast forward works 99% of the time, but very occasionally can lead to failures that haven't been investigated yet
In all of these cases, the only current solution is to exit and restart MAME with the appropriate settings.
One last known bug relates to the keyboard emulation; occasionally some keys can get "stuck", and endlessly repeat, and in other cases require several repeated presses before a character is generated. Common candidates appear to be "f", "i" and "n", but the problem is not limited to these keys. Usually, the "stuck" condition can be corrected by hitting the Delete key both to clear the condition and to erase the unwanted characters. Typing more slowly and distinctly does seem to help, but does not completely avoid the issue.
Networking hasn't been tested at all under CLIX, so status is unknown at this point but errors or failures are not unexpected.
Hardware
Models
The CLIPPER-based InterPro range consists of 5 distinct generations or families, named after gemstones. The system models within each family share a common architecture and features, usually differing only by CPU type and clock speed.
Year | Family | Models | CPU | I/O Processor |
---|---|---|---|---|
1986 | Amethyst | 32C/100/200 300 |
C100 | 80186 80386 |
1988 | Topaz | 3000/4000/5000 | C300/C300Plus | 80386 |
1990 | Emerald | 6000/6100/6200/6500 6600 |
C300/C300Plus C4 | |
1990 | Turquoise | 2000 | C300 | |
1992 | Sapphire | 2400/6400 2500/2700/2800/6700/6800 |
C4T C4I |
For Emerald, Turquoise and Sapphire systems, the four-digit model number encodes some aspects of the original system configuration, and breaks down as follows.
Position | Purpose | Values |
---|---|---|
1 | Case | 2=desktop, 6=minicase |
2 | CPU | 0=C300, 4=C4T, 6=C4, 5/7/8=C4I |
3 | Graphics | 0=none, 3=MMG, 5=GTDB, 4=EDGE-1, 8=EDGE-2 |
4 | Backplane | 0=standard, 5/7/9=? |
As examples of applying this encoding, an InterPro 2020 is a desktop C300 system fitted with MMG graphics, while an InterPro 6880 is a minicase C4I system with EDGE-2 graphics. Systems configured without graphics are typically fitted with a serial terminal, and branded InterServe rather than InterPro. This model numbering and branding applies to the system cases, but of course changing graphics options will cause a system's software-identified model number to change.
-
Cube Electronics Cabinet
-
Suitcase Electronics Cabinet
-
Lowboy Electronics Cabinet
-
Minicase Electronics Cabinet
-
Two-Bay Electronics Cabinet
-
InterAct Workstation Dual Monitors
-
InterView Workstation Dual Monitors
Cards
A range of approximately 150 installable cards were produced for the CLIPPER-based InterPro family. The most common and important of these included the system mainboards and several different graphics options, however a range of less common cards supported functions as diverse as video capture, SCSI expansion, networking and a VME bridge. Desktop InterPro systems support the installation of two cards in addition to the main board, in the horizontal plane and stacked vertically, using an interface referred to as CBUS. Larger systems supported either 5 or 12 vertically oriented slots with an interface referred to as SRX, which is physically incompatible with CBUS, but shares a very similar logical interface.
Regardless of type, card product names are typically prefixed by the letter M, followed by PCB or SMT (the latter designation indicating a surface-mount board), followed by a 3-digit board type. Boards are also typically marked with a single character revision number and an ECO (engineering change order) level recording hardware-level fixes.
-
PCB765 - 6000 System Board w/16MB
-
PCB828 - EDGE-1 Graphics f/1 1Mp Monitor (55K/60)
-
SMT047 - 2400 Series System Board
-
SMT070 - 2400 Graphics f/1 1Mp Monitor (V-76)
-
SMT127 - 6700 Series System Board
-
SMT094 - EDGE-2 Plus Processor f/1 2Mp-FB
-
PCB896 - EDGE-2/Plus Frame Buffer f/2Mp Monitor (V-60)
Keyboard
The InterPro keyboard is split into two banks of keys, with the lower bank using key-switches mapped to standard alphanumeric, modifier and other typical keyboard keys, and the upper bank consisting of a membrane surface mapped to programmable function/macro keys. The keyboard connects to the host system using a six-conductor cable with an 8 pin mini-DIN connector. The keyboard communicates bidirectionally with the host using a 1200 bps TTL level serial protocol, with 1 start bit, 8 data bits, 1 stop bit and even parity.
The top row of keys on the numeric keypad correspond to programmable function keys 1-4, referred to as PF1, PF2, PF3 and PF4 respectively. These keys, along with the second row of keys on the numeric keypad (7, 8, 9 and keypad minus) are used during the CLIX rebuild process, and so must be mapped to enable completion of these instructions.
The keyboard has LED indicators showing disk activity, lock status, and several other symbols, and also has a square reset button and circular boot button on the back panel. These indicators and additional buttons are not currently implemented in the MAME driver.
Configuration
Machine configuration
Diagnostics
Installing CLIX
Preparation
Use chdman createhd
to prepare a new CHD for the operating system installation, and then chdman addmeta
to apply a manufacturer string used to identify the drive make/model information that will be returned by the SCSI INQUIRY command.
chdman createhd -o ip2000.chd -chs 1574,7,70 chdman addmeta -i ip2000.chd -t IDNT -vt "MAXTOR LXT-340S 1.00"
Other hard disk capacities should work but have not been extensively tested yet. The actual geometry should not matter at all, but the vendor and model strings are queried by the software and may affect the installation process, and there may be some impact if they do not match existing entries in the delivered CLIX /etc/disktab file.
The SCSI INQUIRY response data (defined by the IDNT meta-data tag in the CHD) should consist of an 8 character manufacturer name, 16 character model number, and 4 character version number, all left justified and padded with spaces.
The following table is a subset of data contained in the CLIX /etc/disktab file, so it's reasonably likely that any of these drive geometry and make/model combinations will work without problems.
Manufacturer | Model | Description | CHS | Intergraph Designation |
---|---|---|---|---|
Maxtor | LXT-213S | 200MB 3.5" | 1314,7,53 | MDSK017 |
Maxtor | LXT-340S | 340MB 3.5" | 1574,7,70 | MDSK027 |
Seagate | ST1480 | 426MB 3.5" | 1476,9,74 | MDSK048 |
Maxtor | MXT-540SL | 540MB 3.5" | 2466,7,87 | CDSK068 |
Seagate | ST11200N | 1GB 3.5" | 1872,15,92 | MDSK315 |
Conner | CFP2107S2 | 2.14GB 3.5" | 3959,10,123 | CONNERCFP2107S2.14GB |
Seagate | ST34371N | 4GB 3.5" | 5167,10,163 | SEAGATEST34371N |
Seagate | ST19171N | 9GB 3.5" | 5273,20,166 | SEAGATEST19171N |
Rebuild Utility
Start the ip2000 driver with the Turquoise "rebuild" floppy disk in the floppy drive, the hard disk connected, and the first system software CD-ROM in the CD-ROM drive. Make sure you have the MAME in-emulation menu enabled so you are able to switch floppy disks later in the process.
mame ip2000 -flop rebuild:boot_clipper -hard ip2000.chd -cdrom iss:disc1 -ui_active
If sound is enabled, you should hear two beeps as the keyboard is initialised, and then see I/O system monitor boot message, followed by the "blue screen" utility program.
- Use the mouse to select the Utility button, and from the Utility home page, select the Rebuild Utility button.
- Under Step 1, select the Default button to create a default partition table on the hard disk. If you wish, you can examine and modify this default partition table by navigating back to the Utility home page, and using the Disk Partitioning Utility to make changes before loading the rebuild media.
- Once the partition table has been created, re-enter the Rebuild utility page if necessary, and use the MAME in-emulation menu to load the rebuild:20x0_root2 floppy disk image, then select the Load button under Step 2 and hit Enter.
- The utility should indicate progress on screen, and prompt you to repeat the process for floppy root images 3 and 4 in sequence.
- After the rebuild media has been loaded, select the Boot button to enter the rebuild environment.
If you need to restart MAME at any point after the rebuild media has been installed, you can repeat the steps above (that is, boot from the rebuild:boot_clipper floppy, and enter the Rebuild Utility), and then proceed directly to Step 3.
-
I/O System Monitor
-
Blue Screen
-
Rebuild Utility
-
Load Rebuild Media
Rebuild Environment
After a few seconds, you should see the initial CLIX boot messages, and shortly after see the Welcome to Rebuild text-based user interface.
- Use the key bound to the keypad minus key to continue, and then press Enter to select the Rebuild all menu option.
- Use the key bound to PF3 to save the file system settings, and the rebuild environment should begin to rebuild the root and usr file systems; this process may require around 5 minutes to complete.
- Use the arrow keys to navigate to the Load Software option, press Enter to proceed, select the Local CD/ROM option, and hit Enter when prompted to insert a newprod CD/ROM.
- Once the
newprod
utility has launched, press "a" to auto-select all the necessary software, and "u" to begin the installation process. The process will prompt for a variety of installation options; generally defaults are acceptable, but may be changed at your own discretion. This process normally requires at least 30 minutes to complete. - Once software installation is complete, accept the prompt to remove the rebuild environment, press PF1 to cancel from the Download software menu option, and select the Reboot option. Once the System reboot in progress message is displayed, exit MAME.
-
Rebuild Welcome
-
Rebuild File Systems
-
Software Installation
Boot CLIX
Once the system rebuild process is complete, the I/O System Monitor, blue screen utilities, and the CLIX operating system itself should be able to be booted directly from the hard disk. In most cases, the ISS disc1 CD-ROM should also be mounted to permit the installation of additional optional software packages.
mame ip2000 -hard ip2000.chd -cdrom iss:disc1
At the initial boot into CLIX, the system will automatically launch the Distributed System Management (DSM) utility, and begin the First-time System Setup process to configure TCP/IP networking and some other basic settings. This utility can be operated by selecting the menu options, responding to configuration prompts and using the PF keys to toggle choices, save settings or exit the program. Once complete the system should be restarted again and the standard CLIX environment is ready for use.
At the first start of the standard CLIX environment, and depending upon the options applied in DSM, the root password may have been automatically expired. The simplest way to reset it is to expand the Console desktop icon, and log in using that window. This will enable the root password to be reset, after which the Workstation User window of the screen manager may be used to log in normally.
Note: EnvironV uses the middle mouse button as the standard "action" button, while the left button is normally used to open menus and the right button used to cancel an operation.
-
Distributed System Management
-
CLIX EnvironV Screen Manager