ND-Butterfly workstation

From NDWiki
Jump to navigation Jump to search

ND-Butterfly is an Ericsson PC with a ND-110 CPU inside, plugged into an ISA slot.[1]

ND-Butterfly logotype.

BUTTERFLY-110 (also called OWS-110) is a complete system, comprising a version of the ND-110CX computer (called the ND-110PCX), fitted into the enclosure of an IBM-compatible PC-AT computer.[2] Information in Butterfly-110 is freely interchangeable between the PC and ND operating systems, i.e. data created under the PC system may then be used by the ND system and vice versa. a centronics parallel printer port is available as standard. Options include a 4-port serial communications controller, which may be used to connect ND-compatible terminals to the ND-110PCX part of the workstation, making a Butterfly Teamstation environment.

System components

Standard hardware

The system unit has a floppy disk and a 40 MByte hard disk, one rs-232 port and one parallel port. The Colour Display Unit uses EGA graphics. The Butterfly keyboard is NOTIS and PC compatible. A mouse is included.

PC features

Features of the PC include:

  • Intel 80286 microprocessor
  • eight I/O slots
  • 512 kbytes memory (normally expanded to 640 kbytes, by donating 128 kbytes of ND-memory to PC-DOS)
  • one RS-232 serial port
  • one Centronics-compatible parallel printer port
  • one 40-45 Mb Winchester disk with fast access time
  • one 1.2Mb / 360 Kb floppy disk
  • a keyswitch


The ND-110PCX computer comprises a two-board assembly (CPU board and Local Bus board) which plug into one slot in the PC expansion card cage. ND-110PCX does not perform instruction prefetch operations. ND-110PCX does not have cache memory. ND-110PCX has an additional interrupt level - level 16, which is used by the programs that communicate with the PC. The ND-110PCX has one new instruction - RTNSIM (also knows as SECRE - opcode 150403) which is the level 16 version of the WAIT instruction.

CPU board

  • processor
  • memory management
  • microprogram control
  • console port

Local Bus Board

  • Input / Output control (program I/O)
  • 1 Mbyte dynamic random access memory, with option to extend by a further 1 Mbyte.
  • Real-time clock
  • HDLC, up to 153.6 kbaud
  • Interrupt system
  • PC bus interface

Display Unit

The colour display unit offers full 16-colour from a palette of 64 colours, on a 12-inch or 14-inch crt. The display area provides 25 lines of 80 characters per line. Graphic resolution may be 640x350 pixels or 320x200 pixels.


The keyboard combines functionality of a standard IBM-PC keyboard with that of a ND-NOTIS keyboard. It provides "soft" PUSH-keys, programmable by the user to hold multi-key sequences. It includes a mouse interface/port, and a bar code reader interface / port, for connection of a wand (pen unit).


The mouse is a standard 3-button device. Each button may be programmed as a PUSH-key. the mouse may be configured for left or right-handed operation.

Operating system software

MS-DOS for the PC

MS-DOS 3.1. Additional Butterfly-110 programs run under the PC's MS-DOS to handle communication between the PC's 80286 microprocessor and the ND-110PCX, and to accommodate the System Manager and associated software which enables the PC and ND-110PCX to share the same display, keyboard, disk storage, printer, etc.


This is extended to handle the integration of the ND-110PCX with the PC environment, particularly with regard to its method of communication with the PC (IOX simulation), and provision of new Servers for handling tasks between the ND's SINTRAN and PC's MS-DOS operating systems.

Basic PC software

  • Tutorial: a "getting started" self-teach aid
  • PC-Diagnostics for Butterfly-110
  • Display controller (EGA) utilities

ND applications software

Hardware options

Communications Controller board

The InterQuadram Communications Controller board (QuadPort-AT) extends the Butterfly-110 with up to four more terminals. The card itself has one serial port and one parallel port on it. A four-port serial connection box is connected via a cable to this board, providing four more serial ports. The ports are used as follows:

  • Serial port 1 (native to the PC) is the "COM1" port in DOS. It is taken away from DOS by the Butterfly software which runs on the PC, and used for ND's COSMOS asynchronous communication facility.
  • Serial port 2 (on the QuadPort-AT board) is redirected by the Butterfly software to "COM2" in DOS.
  • Parallel port 1 (native to the PC) is the "LPT1" port in DOS. The print-spooling software shares this port between the PC's DOS and ND's SINTRAN operating systems.
  • Parallel port 2 (on the QuadPort-AT board) is the "LPT2" port in DOS. It can only be used by DOS.
  • serial ports on connection box. Any serial device supported by the software running on the ND-110PCX may be connected to these ports - ND-compatible terminals, or serial printer.

extra 1 Mbyte RAM

Gives a total of 2 Mbytes RAM.

HDLC communications

up to 153.6 kbaud. communications fcaility in ND-110PCX is provided by the HDLC/DMA subsystem. It provides CCITT RS422 (X.21/X.27), RS232 (V.24) and ND's "computer link" protocols. It does not offer ND's "mega-link" protocol.

Software options

ND software

  • Accounting system
  • Job execution control
  • Symbolic debugger
  • BRF-Linker
  • Subsystem package
  • Subsystem package II

ND and PC communication

Communication between the ND-110PCX and the PC is done via mailboxes, and interrupts to signal that a mailbox needs servicing. The current list of mailboxes:

  • floppy disk 1 - DOS drive A
  • hard disk 1 - DOS drive C
  • floppy disk 2 - DOS drive B (not yet implemented)
  • hard disk 2 - DOS drive D (not yet implemented)
  • terminal 1 O/P - ND console
  • terminal 5 O/P - COSMOS async port output
  • terminal 6 O/P - printer port output
  • terminal 7 O/P - emulator for SINTRAN login
  • terminal 8 O/P - emulator for UE login
  • terminal 9 O/P - QuadPort card output
  • terminal 10 O/P - QuadPort card output
  • terminal 11 O/P - QuadPort card output
  • terminal 12 O/P - QuadPort card output
  • terminal 13 O/P - provision for 2nd QuadPort card output (included in ND side only)
  • terminal 14 O/P - provision for 2nd QuadPort card output (included in ND side only)
  • terminal 15 O/P - provision for 2nd QuadPort card output (included in ND side only)
  • terminal 16 O/P - provision for 2nd QuadPort card output (included in ND side only)
  • terminal 5 I/P - COSMOS async port input
  • terminal 6 I/P - printer port input
  • terminal 7 I/P - Bfly terminal ND-mode SINTRAN
  • terminal 8 I/P - Bfly terminal ND-mode UE
  • terminal 9 I/P - QuadPort card input
  • terminal 10 I/P - QuadPort card input
  • terminal 11 I/P - QuadPort card input
  • terminal 12 I/P - QuadPort card input
  • terminal 13 I/P - provision for 2nd QuadPort card input (included in ND side only)
  • terminal 14 I/P - provision for 2nd QuadPort card input (included in ND side only)
  • terminal 15 I/P - provision for 2nd QuadPort card input (included in ND side only)
  • terminal 16 I/P - provision for 2nd QuadPort card input (included in ND side only)
  • Bfly buffer 0 - ICBM channels & Bfly DMA devices
  • Bfly buffer 1 - ICBM channels & Bfly DMA devices
  • Bfly buffer 2 - ICBM channels & Bfly DMA devices
  • Bfly buffer 3 - ICBM channels & Bfly DMA devices
  • Bfly buffer 4 - ICBM channels & Bfly DMA devices

Terminal 1 is ND console. Terminals 2,3,4 does not exist in Butterfly-110. The ND (IOX simulator) has terminals 13-16 defined, which could be used to handle a second QuadPort card. No corresponding handlers currently exist in the PC (PC-NDI/O).

Installation PROM

Interesting about the installation PROM[3].


An "installation descriptor", comprising a piggy-back Installation PROM board (3404) which plugs into connector J2 on the 3401 CPU board. Defines the CPU number of the machine, its authorized software configuration, and its authorized hardware configuration of hard disk(s), HDLC and any extra terminals (on a QuadPort Communications Controller expansion card). This scheme is outlined in chapter 4 sectio0n For convenience, the six PROMs on the Installation PROM board definer the configuration of the following features:

  • PROM A: CPU number
  • PROM B: software configuration
  • PROM C: hard disk C configuration
  • PROM D: hard disk D configuration
  • PROM E: HDLC configuration
  • PROM F: terminal configuration


If an upgrade to Butterfly-110 affects any aspect of the configuration information held in Installation PROM, then it will include the requirement to upgrade this Installation PROM, either by replacing the Installation PROM board, or by inserting / replacing one or more of plug-in PROM chips in the header sockets on the board.

The CPU number

Only the CPU number PROM is necessary for the minimum configuration of Butterfly-110. The other PROMs are added when upgrades are installed.

Self-test checks

During the start-up self-test sequence, the microcode checks if the PROMs contain the Copyright statement. If not, it issues an error code to the PC startup program, and the microcode enters a loop preventing any further progress in starting-up the ND. Note that at his stage, the CPU number is not checked.

SINTRAN start-up checks

The CPU number is checked during the SINTRAN start-up phase. The start-up routine compares the CPU number in PROM with that which is configured in the software. It displays the hardware installation number that it finds, and if it finds a difference, it resets the System/CPU number to 0 (which means "undefined"), and displays an error message to this effect. Note that at this stage, SINTRAN only resets the CPU number on segments, not on files, so SINTRAN symbol tablea are therefore not altered.

New systems have SINTRAN CPU number = 0, so if an Installation PROM gives (correctly) a different CPU number from SINTRAN CPU number 0, the software outputs an error message advising of this situation.

DO Supervise-Sys

To update the SINTRAN CPU number to become the same as the Installation PROM CPU number, the DO-script "DO supervise-System, Update CPU Number" is used. This copies the Installation PROM CPU number to the necessary (6) places in the software.

DO System-Info

This DO-script displays the CPU numbers that are in the software and in the Installation PROM, and so provides a convenient facility to check what these values are set to.

It also display the values of all the other configuration parameters.

HDLC Checks

During the start-up sequence, assuming that self-test finds the Copyright statement is present and correct, it checks if HDLC is configured as present (coded in Installation PROM E), and if so, it sets and "HDLC present" flag that is checked before HDLC IOX instructions can be executed.

IOX simulators checks

The IOX-simulators-checks reads the installation PROM to determine what terminals configuration (PROM F), and hard disk configuration (PROM C for disk C, PROM D for additional disk D), are authorized for this machine. The corresponding IOX instructions are the enabled accordingly.

References and sources

  1. Norsk Data Document ND–30.094 OWS System Reference Guide
  2. Norsk Data Library, Hardware - Butterfly-110, Technical Reference Manual
  3. Norsk Data Document ND–06.025.3 EN Butterfly-110, Technical Reference Manual page 7-17, Section Installation PROM