Driver:InterPro: Difference between revisions
Pmackinlay (talk | contribs) |
mNo edit summary |
||
(141 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
= Intergraph InterPro = | = Intergraph InterPro = | ||
[[File:intergraph.png|right|100px|]] | |||
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 installed 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 with very few operational examples remaining today. | |||
CLIPPER-based InterPro systems share some other common features: | |||
* CLIX operating system (a licensed port of UNIX System V release 3.1) | |||
* Backward-compatible application software | |||
* 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 | |||
* 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. | |||
<gallery> | |||
c100.png|Fairchild C100 CLIPPER module | |||
c4i.jpg|Intergraph C4I CLIPPER module | |||
InterAct-32C.jpg|InterAct 32C with dual 19" displays | |||
InterPro-32C.jpg|InterPro 32C | |||
InterPro-6000.jpg|InterPro 6000 with single 27" display | |||
InterPro-2400.jpg|InterPro 2430 with dual 21" displays | |||
</gallery> | |||
== 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 | |||
* 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 == | == Hardware == | ||
Models | === Models === | ||
Cards | 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. | ||
{| class="wikitable" style="width: 75%;" | |||
! Year !! Family !! Models !! CPU !! I/O Processor | |||
|- | |||
| style="text-align:center;" | 1986 || Amethyst || 32C/100/200<br>300 || C100 || 80186<br>80386 | |||
|- | |||
| style="text-align:center;" | 1988 || Topaz || 3000/4000/5000 || C300/C300Plus || 80386 | |||
|- | |||
| style="text-align:center;" | 1990 || Emerald || 6000/6100/6200/6500<br>6600 || C300/C300Plus<br>C4 | |||
|- | |||
| style="text-align:center;" | 1990 || Turquoise || 2000 || C300 | |||
|- | |||
| style="text-align:center;" | 1992 || Sapphire || 2400/6400<br>2500/2700/2800/6700/6800 || C4T<br>C4I | |||
|- | |||
|} | |||
For Turquoise and Sapphire (and with many exceptions, Emerald) systems, the four-digit model number encodes some aspects of the original system configuration, and breaks down as follows. | |||
{| class="wikitable" style="width: 50%;" | |||
! style="text-align:center;" | Position !! Purpose !! Values | |||
|- | |||
| style="text-align:center;" | 1 || Case || 2=desktop, 6=minicase | |||
|- | |||
| style="text-align:center;" | 2 || CPU || 0=C300, 4=C4T, 6=C4, 5/7/8=C4I | |||
|- | |||
| style="text-align:center;" | 3 || Graphics || 0=none, 2=GT, 3=GT+, 5=GTII, 4=EDGE-1, 8=EDGE-2/2+ | |||
|- | |||
| style="text-align:center;" | 4 || Backplane || 0=standard, 5/7/9=? | |||
|- | |||
|} | |||
As examples of applying this encoding, an InterPro 2020 is a desktop C300 system fitted with GT graphics (also referred to as memory mapped graphics, or MMG), 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. | |||
<gallery> | |||
cube.png|Cube Electronics Cabinet | |||
suitcase.png|Suitcase Electronics Cabinet | |||
lowboy.png|Lowboy Electronics Cabinet | |||
minicase.png|Minicase Electronics Cabinet | |||
twobay.png|Two-Bay Electronics Cabinet | |||
InterAct.png|InterAct Workstation Dual Monitors | |||
InterView.png|InterView Workstation Dual Monitors | |||
</gallery> | |||
=== 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, hardware PC emulation 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 (one occupied by the main system board) with an interface referred to as SRX, which is physically incompatible with CBUS, but shares a very similar logical interface. | |||
[[File:interpro-keyboard.jpg|200px|thumb|right]] | 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 number/type. Boards are also typically marked with a single character revision number and an ECO (engineering change order) level recording hardware-level fixes. | ||
<gallery> | |||
pcb765.jpg|PCB765 - 6000 System Board w/16MB | |||
pcb828.jpg|PCB828 - EDGE-1 Graphics f/1 1Mp Monitor (55K/60) | |||
smt047.jpg|SMT047 - 2400 Series System Board | |||
smt070.jpg|SMT070 - 2400 Graphics f/1 1Mp Monitor (V-76) | |||
smt127.jpg|SMT127 - 6700 Series System Board | |||
smt094.jpg|SMT094 - EDGE-2 Plus Processor f/1 2Mp-FB | |||
pcb896.jpg|PCB896 - EDGE-2/Plus Frame Buffer f/2Mp Monitor (V-60) | |||
</gallery> | |||
=== Keyboard === | |||
[[File:interpro-keyboard.jpg|200px|thumb|right|InterPro 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. | |||
[[File:keyboard-layout.png|800px|||InterPro keyboard layout]] | |||
== Configuration == | == Configuration == | ||
Line 16: | Line 123: | ||
== Installing CLIX == | == Installing CLIX == | ||
=== Preparation === | |||
Use <code>chdman createhd</code> to prepare a new CHD for the operating system installation, and then <code>chdman addmeta</code> to apply a manufacturer string used to identify the drive make/model information that will be returned by the SCSI INQUIRY command. | |||
<pre> | |||
chdman createhd -o ip2000.chd -chs 1574,7,70 | |||
chdman addmeta -i ip2000.chd -t IDNT -vt "MAXTOR LXT-340S 1.00" | |||
</pre> | |||
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. | |||
{| style="width: 75%;" | |||
! 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 === | |||
This section describes starting the InterPro and using the rebuild utility to configure the machine and begin the CLIX installation process. There are two versions of the rebuild utility: a GUI version which requires the InterPro mouse, keyboard and graphics hardware, and a text-based version which uses a serial terminal connected to the system console port instead (typically used with headless InterServe system configurations). Proceed with the instructions in either of the two following sections depending on your preference, or whether graphics hardware support is available. | |||
Please note that while the MAME built-in serial terminal is capable of running the rebuild utility satisfactorily, it is not sufficient to execute the subsequent CLIX installation procedure (described in [[#Rebuild Environment|Rebuild Environment]]) due to a lack of VT100/VT220 display control commands and function key support. In addition, unlike the GUI utility, it is not possible to boot directly into the rebuild environment from the console without completing the full media loading process. For these reasons, it is necessary to use an external terminal emulation with adequate VT100/VT220 features in order to perform CLIX installation in serial console mode. | |||
==== Rebuild Utility (GUI) ==== | |||
Start the ip2000 driver with the Turquoise "rebuild" floppy disk in the floppy drive and the hard disk connected. Make sure you have the MAME in-emulation menu enabled so you are able to switch floppy disks later in the process. | |||
<pre> | |||
mame ip2000 -flop rebuild:boot_clipper -hard ip2000.chd -ui_active | |||
</pre> | |||
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 Floppy #2/4 (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''. | |||
<gallery> | |||
boot.png|I/O System Monitor|alt=A screenshot of the I/O system monitor boot process | |||
blue-screen.png|Blue Screen|alt=A screenshot of the blue screen utility home page | |||
rebuild.png|Rebuild Utility|alt=A screenshot of the rebuild utility page | |||
rebuild-media.png|Load Rebuild Media|alt=A screenshot of the rebuild media process in progress | |||
</gallery> | |||
==== Rebuild Utility (Serial Console) ==== | |||
Start the ip2000 driver with the following configuration: | |||
* Without a graphics board installed | |||
* Without a keyboard connected | |||
* With a serial loopback device connected to serial port 2 | |||
* With the serial loopback connected to a TCP/IP socket | |||
* With the Turquoise "rebuild" floppy disk in the floppy drive and the hard disk connected | |||
* With the MAME in-emulation menu enabled to allow switching floppy disks during the process | |||
<pre> | |||
mame ip2000 -slot:0 "" -kbd "" -serial2 null_modem -bitb socket.127.0.0.1:1234 -flop rebuild:boot_clipper -hard ip2000.chd -ui_active | |||
</pre> | |||
Once MAME has started, but before dismissing the warning message, launch your terminal emulation program and connect to the TCP/IP socket specified. On Windows, [https://www.putty.org/ PuTTY] may be used as follows. | |||
<pre> | |||
putty telnet 127.0.0.1 1234 | |||
</pre> | |||
<gallery> | |||
rebuild-text-start.png|Serial Console Boot|alt=A screenshot of the I/O system monitor boot process on serial console | |||
rebuild-text-main.png|Startup Configuration Utility|alt=A screenshot of the serial console Startup Configuration Utility | |||
rebuild-text-utility.png|Main Utility Menu|alt=A screenshot of the main utility menu | |||
</gallery> | |||
=== 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, then select the '''Local CD/ROM''' option. | |||
# When prompted, use the MAME in-emulation menu to load the System Software Disc I (iss:disc1) CD-ROM image, and press Enter. | |||
# Once the <code>newprod</code> 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. | |||
<gallery> | |||
rebuild-welcome.png|Rebuild Welcome|alt=A screenshot of the text-based rebuild environment welcome screen | |||
rebuild-fs-complete.png|Rebuild File Systems|alt=A screenshot at the end of the file system rebuild process | |||
newprod.png|Software Installation|alt=A screenshot of the newprod software installation utility | |||
</gallery> | |||
=== 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. | |||
<pre> | |||
mame ip2000 -hard ip2000.chd | |||
</pre> | |||
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. | |||
At this point CLIX is ready for use. You may use the <code>newprod</code> utility to install additional software from the Intergraph System Software CD-ROM images. | |||
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. | |||
<gallery> | |||
dsm.png|Distributed System Management|alt=A screenshot distributed system management first-time setup utility | |||
clix.png|CLIX EnvironV Screen Manager|alt=A screenshot of the CLIX EnvironV screen manager | |||
</gallery> | |||
== References == | |||
The following are various Intergraph manuals documenting InterPro systems. | |||
{| class="wikitable" style="width: 85%;" | |||
! Reference !! Title !! Date !! Links | |||
|+ | |||
| DSA025120 || CLIPPER Hardware Setup and Maintenance Guide || Jul89 || [http://bitsavers.org/pdf/intergraph/DSA025120_CLIPPER_Hardware_Setup_and_Maintenance_Guide_Jul89.pdf] | |||
|+ | |||
| DSA025121 || CLIPPER Hardware Setup and Maintenance Guide Changes Pages || Jan90 ||[http://bitsavers.org/pdf/intergraph/DSA025121_CLIPPER_Hardware_Setup_and_Maintenance_Guide_Change_Pages_Jan90.pdf] | |||
|+ | |||
| DSA026330 || CLIPPER Software Delivery Guide || Sep90 || [http://bitsavers.org/pdf/intergraph/DSA026330_CLIPPER_Software_Delivery_Guide_Sep90.pdf] | |||
|+ | |||
| DSA029910 || CLIPPER System Administrators Guide || Jan90 || [http://bitsavers.org/pdf/intergraph/DSA029910_CLIPPER_System_Administrators_Guide_Jan90.pdf] | |||
|+ | |||
| DSA029911 || Change Pages for CLIPPER System Administrators Guide || Jun90 ||[http://bitsavers.org/pdf/intergraph/DSA029911_Change_Pages_for_CLIPPER_System_Administrators_Guide_Jun90.pdf] | |||
|+ | |||
| DSA029912 || Change Pages for CLIPPER System Administrators Guide || Sep90 ||[http://bitsavers.org/pdf/intergraph/DSA029912_Change_Pages_for_CLIPPER_System_Administrators_Guide_Sep90.pdf] | |||
|+ | |||
| DSA030010 || CLIPPER Users Guide || Jan90 || [http://bitsavers.org/pdf/intergraph/DSA030010_CLIPPER_Users_Guide_Jan90.pdf] | |||
|+ | |||
|} | |||
The following documents are by various authors and address the CLIPPER CPU and related topics. | |||
{| class="wikitable" style="width: 85%;" | |||
! Reference !! Title !! Date !! Links | |||
|+ | |||
| || CLIPPER™ 32-Bit Microprocessor Module: Instruction Set || Oct85 || [http://bitsavers.org/components/fairchild/clipper/Clipper_Instruction_Set_Oct85.pdf] | |||
|+ | |||
| UCB/CSD 86/289 || The Memory Architecture and the Cache and Memory Management Unit for the Fairchild CLIPPER Processor || Apr86 || [http://www2.eecs.berkeley.edu/Pubs/TechRpts/1986/CSD-86-289.pdf] [http://bitsavers.org/components/fairchild/clipper/CSD-86-289%20The%20Memory%20Architecture%20and%20the%20Cache%20and%20Memory%20Management%20Unit%20for%20the%20Fairchild%20CLIPPER%20Processor.pdf] | |||
|+ | |||
| AD7640011 || CLIPPER™ 32-Bit Microprocessor: Introduction to the CLIPPER Architecture || May86 || [http://bitsavers.org/components/fairchild/clipper/AD7640011_Introduction_to_the_Clipper_Architecture_May86.pdf] | |||
|+ | |||
| UCB/CSD 87/329 || The Fairchild CLIPPER: Instruction Set Architecture and Processor Implementation || Feb87 || [http://www2.eecs.berkeley.edu/Pubs/TechRpts/1987/CSD-87-329.pdf] [http://bitsavers.org/components/fairchild/clipper/CSD-87-329%20The%20Fairchild%20CLIPPER%20Instruction%20Set%20Architecture%20and%20Processor%20Implementation.pdf] | |||
|+ | |||
| || Introduction to the CLIPPER Architecture || Aug87 || [https://doi.org/10.1109/MM.1987.304875 DOI] | |||
|+ | |||
| DCLP1000 || CLIPPER™ C100 32-Bit Compute Engine: Data Sheet || Dec87 || [http://bitsavers.org/components/fairchild/clipper/CLIPPER_C100_Data_Sheet_Dec87.pdf] | |||
|+ | |||
| || CLIPPER© C300 32-Bit Compute Engine || || [http://bitsavers.org/components/fairchild/clipper/CLIPPER%20C300%2032-Bit%20Compute%20Engine.pdf] | |||
|+ | |||
| || The CLIPPER™ Processor: Instruction Set Architecture and Implementation || Feb89 || [http://bitsavers.org/components/fairchild/clipper/The%20CLIPPER%20Processor%20Instruction%20Set%20Architecture%20and%20Implementation.pdf] [https://doi.org/10.1145/63342.63346 DOI] | |||
|+ | |||
| || Design and Implementation Trade-offs in the Clipper C400 Architecture || Jun91 || [http://bitsavers.org/components/fairchild/clipper/Design%20and%20Implementation%20Trade-offs%20in%20the%20Clipper%20C400%20Architecture.pdf] [https://doi.org/10.1109/40.87566 DOI] | |||
|+ | |||
| || Future Directions in CLIPPER Processors || Mar91 || [http://bitsavers.org/components/fairchild/clipper/Future%20Directions%20in%20CLIPPER%20Processors.pdf] [https://doi.org/10.1109/CMPCON.1991.128813 DOI] | |||
|+ | |||
| || The C400 Superscalar/Superpipelined RISC Design || Mar91 || [http://bitsavers.org/components/fairchild/clipper/The%20C400%20Superscalar%20Superpipelined%20RISC%20Design.pdf] [https://doi.org/10.1109/CMPCON.1991.128814 DOI] | |||
|+ | |||
| || C400 data sheet || || [http://bitsavers.org/components/fairchild/clipper/c400%20data%20sheet.pdf] | |||
|} | |||
[[Category:Year_1986]] |
Latest revision as of 22:29, 19 February 2023
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 installed 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 with very few operational examples remaining today.
CLIPPER-based InterPro systems share some other common features:
- CLIX operating system (a licensed port of UNIX System V release 3.1)
- Backward-compatible application software
- 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
- 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
- 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 Turquoise and Sapphire (and with many exceptions, Emerald) 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, 2=GT, 3=GT+, 5=GTII, 4=EDGE-1, 8=EDGE-2/2+ |
4 | Backplane | 0=standard, 5/7/9=? |
As examples of applying this encoding, an InterPro 2020 is a desktop C300 system fitted with GT graphics (also referred to as memory mapped graphics, or MMG), 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, hardware PC emulation 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 (one occupied by the main system board) 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 number/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
This section describes starting the InterPro and using the rebuild utility to configure the machine and begin the CLIX installation process. There are two versions of the rebuild utility: a GUI version which requires the InterPro mouse, keyboard and graphics hardware, and a text-based version which uses a serial terminal connected to the system console port instead (typically used with headless InterServe system configurations). Proceed with the instructions in either of the two following sections depending on your preference, or whether graphics hardware support is available.
Please note that while the MAME built-in serial terminal is capable of running the rebuild utility satisfactorily, it is not sufficient to execute the subsequent CLIX installation procedure (described in Rebuild Environment) due to a lack of VT100/VT220 display control commands and function key support. In addition, unlike the GUI utility, it is not possible to boot directly into the rebuild environment from the console without completing the full media loading process. For these reasons, it is necessary to use an external terminal emulation with adequate VT100/VT220 features in order to perform CLIX installation in serial console mode.
Rebuild Utility (GUI)
Start the ip2000 driver with the Turquoise "rebuild" floppy disk in the floppy drive and the hard disk connected. 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 -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 Floppy #2/4 (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 Utility (Serial Console)
Start the ip2000 driver with the following configuration:
- Without a graphics board installed
- Without a keyboard connected
- With a serial loopback device connected to serial port 2
- With the serial loopback connected to a TCP/IP socket
- With the Turquoise "rebuild" floppy disk in the floppy drive and the hard disk connected
- With the MAME in-emulation menu enabled to allow switching floppy disks during the process
mame ip2000 -slot:0 "" -kbd "" -serial2 null_modem -bitb socket.127.0.0.1:1234 -flop rebuild:boot_clipper -hard ip2000.chd -ui_active
Once MAME has started, but before dismissing the warning message, launch your terminal emulation program and connect to the TCP/IP socket specified. On Windows, PuTTY may be used as follows.
putty telnet 127.0.0.1 1234
-
Serial Console Boot
-
Startup Configuration Utility
-
Main Utility Menu
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, then select the Local CD/ROM option.
- When prompted, use the MAME in-emulation menu to load the System Software Disc I (iss:disc1) CD-ROM image, and press Enter.
- 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.
mame ip2000 -hard ip2000.chd
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.
At this point CLIX is ready for use. You may use the newprod
utility to install additional software from the Intergraph System Software CD-ROM images.
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
References
The following are various Intergraph manuals documenting InterPro systems.
Reference | Title | Date | Links |
---|---|---|---|
DSA025120 | CLIPPER Hardware Setup and Maintenance Guide | Jul89 | [1] |
DSA025121 | CLIPPER Hardware Setup and Maintenance Guide Changes Pages | Jan90 | [2] |
DSA026330 | CLIPPER Software Delivery Guide | Sep90 | [3] |
DSA029910 | CLIPPER System Administrators Guide | Jan90 | [4] |
DSA029911 | Change Pages for CLIPPER System Administrators Guide | Jun90 | [5] |
DSA029912 | Change Pages for CLIPPER System Administrators Guide | Sep90 | [6] |
DSA030010 | CLIPPER Users Guide | Jan90 | [7] |
The following documents are by various authors and address the CLIPPER CPU and related topics.
Reference | Title | Date | Links |
---|---|---|---|
CLIPPER™ 32-Bit Microprocessor Module: Instruction Set | Oct85 | [8] | |
UCB/CSD 86/289 | The Memory Architecture and the Cache and Memory Management Unit for the Fairchild CLIPPER Processor | Apr86 | [9] [10] |
AD7640011 | CLIPPER™ 32-Bit Microprocessor: Introduction to the CLIPPER Architecture | May86 | [11] |
UCB/CSD 87/329 | The Fairchild CLIPPER: Instruction Set Architecture and Processor Implementation | Feb87 | [12] [13] |
Introduction to the CLIPPER Architecture | Aug87 | DOI | |
DCLP1000 | CLIPPER™ C100 32-Bit Compute Engine: Data Sheet | Dec87 | [14] |
CLIPPER© C300 32-Bit Compute Engine | [15] | ||
The CLIPPER™ Processor: Instruction Set Architecture and Implementation | Feb89 | [16] DOI | |
Design and Implementation Trade-offs in the Clipper C400 Architecture | Jun91 | [17] DOI | |
Future Directions in CLIPPER Processors | Mar91 | [18] DOI | |
The C400 Superscalar/Superpipelined RISC Design | Mar91 | [19] DOI | |
C400 data sheet | [20] |