next up previous
Next: Who's Using EMME/2? Up: EMME/2 News 11 June 1991 Previous: New and Enhanced Utility Programs

EMTOOL - INRO's New Graphic Procedure Interface

To communicate with graphic displays, EMME/2 is using the Tektronix graphic protocol, mainly because it is widely used, and because it is very efficient in terms of the amount of data to send to produce plots. While a few years ago, EMME/2 was nearly exclusively used with Tektronix or compatible terminals, the advent of workstations incorporating high resolution graphic capabilities have changed the situation. Tektronix emulation windows for UNIX and VMS systems, and device drivers for DOS systems (e.g. PlotDev) allowed to run EMME/2 directly on the console with faster graphic throughput than with serial terminals. Unfortunately, these alternatives led to some problems:

During the past eighteen months, INRO has developed a unified approach to solve these problems: the EMTOOL graphic procedure interface.

The EMTOOL concept implements a device independent graphic interface allowing a program to control, without modifications, a range of different graphic display (DOS systems) or window environments (UNIX systems). It is composed of two layers: a Tektronix interpreter and a device driver. The interpreter translates the Tektronix commands it receives into device independent procedure calls. The device driver part is a set of programs implementing the graphic procedures functionality for different display devices. Currently, five drivers have been developed for EMTOOL: SunView and X Window environments for UNIX systems, plus TIGA, 8514 and VGA for DOS systems.

In the SunView or X Window environment, EMTOOL is started as a separate window. All characters sent to the standard input are intercepted by the Tektronix interpreter and translated into procedure calls if recognized as Tektronix or ANSI commands. The graphic input cursor is either controlled with the mouse (default option) or with a puck or stylus from a digitizing tablet.

On DOS systems, EMTOOL is implemented as a set of memory resident programs (TSR):

The EMTOOL program replaces the 29h interrupt (direct console output) and intercepts all characters sent to the console. All recognized Tektronix commands are translated into calls to the graphic display driver (installed at int 93h), and everything else is passed untouched to the old 29h interrupt service routine (usually DOS default or the ansi.sys driver if it is installed).

For VGA display adapters, the fastest method to display graphics is by directly accessing the adapter's memory. Unfortunately, the memory configuration for super VGA boards is not standard, and thus, for some VGA boards, it might be necessary to use the slower but standard method using BIOS calls (this is the method used by the PlotDev device driver). EMTOOL implements both methods.

Since EMTOOL and the graphic display drivers are implemented as memory resident programs (as opposed to device driver programs called from the config.sys file), they can be removed from memory without rebooting the machine. It is thus possible to automatically install and remove EMTOOL from memory by placing the appropriate commands in the EMME/2 session start and session end script files, leaving all the memory available for other applications.

The following table gives the time (in seconds) taken to display the same graphic used as a standard benchmark at a resolution of 1024x768 on some DOS computers:

Computer ModelDisplay AdapterDriverTime
PS2/70 (386/20)XGAPlotDev56.9
PS2/70 (386/20)XGAEM851425.4
PS2/70 (386/20)8514PlotDev49.7
PS2/70 (386/20)8514EM851425.2
Compaq 386/33ToucanPlotDev34.4
Compaq 386/33ToucanEMTOOL BIOS 35.0
Compaq 386/33ToucanEMTOOL14.8
Compaq 386/33PepperPro #9GXEMTIGA12.8
Compaq 486/25ToucanPlotDev21.5
Compaq 486/25ToucanEMTOOL BIOS22.5
Compaq 486/25ToucanEMTOOL14.0
Compaq 486/25TridentPlotDev17.5
Compaq 486/25TridentEMTOOL BIOS17.8
Compaq 486/25TridentEMTOOL8.8
Siltron 486/33ToucanPlotDev25.6
Siltron 486/33ToucanEMTOOL BIOS25.8
Siltron 486/33ToucanEMTOOL7.4
Siltron 486/33Paradise PVGAEMTOOL6.9
Siltron 486/33Image 5 (ET4000)PlotDev19.1
Siltron 486/33Image 5 (ET4000)EMTOOL6.4

For comparison, on a SPARCstation1, at a resolution of 1024x780, the same graphic takes 7.0 and 6.1 seconds under the SunView and X Window environments. The graphic used for this benchmark is shown. Note that it is using a very small hatchwidth parameter of 0.2, in order to increase the load on the graphic processing.

auto volumes


next up previous
Next: Who's Using EMME/2? Up: EMME/2 News 11 June 1991 Previous: New and Enhanced Utility Programs


Heinz Spiess, EMME/2 Support Center, Thu Jun 6 14:23:46 MET DST 1996