The OpenVMS Frequently Asked Questions (FAQ)

Previous Contents Index

13.9 Where can I get Perl for OpenVMS?

OpenVMS support is included in the standard distribution of Perl, the popular scripting language created by Larry Wall. In addition to nearly all of the functionality available under Unix, OpenVMS-specific Perl modules provide interfaces to many native features, as well as access to Oracle, Ingres, and Sybase databases via the Perl DBI available on OpenVMS.

A website useful for getting started with Perl on OpenVMS---where you will find such things as download links, instructions, auxiliary tools, and sample scripts---is available at:

If you have a C compiler, the best way to obtain Perl is to download and build it yourself. The latest production quality source kit is available from:

You will need GUNZIP and VMSTAR (both available from the OpenVMS Freeware CD, or from other sites) to unpack the archive; once you've done that, read the instructions in the README.vms file.

Binary distributions for most Alpha and VAX environments are available on the OpenVMS Freeware CD-ROM and from various websites, including the following:

During active Perl development cycles, test kits are sometimes found at: from:

Watch the mailing list (see below) for details on experimental releases.

Charles Lane maintains pages on how to write CGI scripts in Perl for the OSU HTTP server, as well as more general tips, tricks, and patches for building and running Perl on OpenVMS:

There are OpenVMS-specific Perl modules that implement interfaces to a subset of the VMS System Services. With these modules, you can get (and often set) device, job, queue, user, system, and performance information. The lock manager, RMS indexed files, screen management utilities, and Intracluster Communication Services are also accessible via Perl. The relevant modules are all available from:

To subscribe to the OpenVMS Perl mailing list (a discussion forum for both user support and new development), send an email message to

The mailing list archives may be searched at:

13.10 Obtaining the DECmigrate (AEST or VEST, and TIE) translator?

The DECmigrate image translation family provides tools that translate OpenVMS VAX images for use on OpenVMS Alpha, and OpenVMS Alpha images for use on OpenVMS I64, Details are available at:

VEST is the name sometimes given to the DECmigrate translation tool for VAX images, AEST is the name given to the Alpha translation tools, and TIE names the DECmigrate run-time environment within OpenVMS. (If you've ever noticed images with filenames ending with _TV and wondered what this meant, these images are part of TIE.) And yes, you can use AEST to re-translate images that were translated using VEST; you can perform a second translation of a VAX image.

Please see Section 13.12 for related information. Please see the website for the most current details on availability and plans and status of translations for OpenVMS I64 platforms.

13.11 Where can I get Zip, Unzip, self-extracting zip, etc?

Many packages are provided in ZIP, GZIP, or BZIP2 format, which requires you to acquire the associated unzip tool to unpack it. You can get ZIP and UNZIP and related and similar tools from the following areas:

Freeware V4.0 [000TOOLS...]*ZIP*.EXE

The Freeware V4.0 [000TOOLS...] pre-built versions of ZIP will erroneously return BILF errors on OpenVMS V7.2 and later. This is not the only error lurking within these pre-built versions, just the most obvious. Accordingly, please use one of the far more current versions that are now readily available, whether on the most recent Freeware distribution, or from one of the sites listed above.

Do not use the Freeware V4.0 [000TOOLS...]*ZIP*.EXE images.

Directions for creating and using the sfx self-extracting zip file compression mechanism are available in the unzip kit that is available at:

If you want to build the zip images for yourself (eg: for an older OpenVMS version), pull over the entire contents of a recent unzip and unzip directory, or Info-Zip directory, or visit one of the web sites. With most OpenVMS ports of the tools, find and invoke LINK.COM. No compilers are needed, as objects are provided with most distributions.

HP OpenVMS Engineering uses a tool known as FTSV for creating self-extracting compressed files using the OpenVMS DCX compression tools, as seen with various OpenVMS ECO (patch) kits. (sfx typically provides better compression than does DCX.) FTSV and FTSO are available on Freeware V7.0, for OpenVMS VAX and OpenVMS Alpha. Due to changes in the image headers, no version of FTSV is presently available for OpenVMS I64.

13.12 Are VAX Hardware Emulators Available?

Software-based emulators of the VAX architecture and for specific VAX hardware platforms are available from various sources:

VAX emulators that operate on PC systems and/or on OpenVMS Alpha systems are available. For information on an alternative to using a VAX emulator--- on the available DECmigrate VAX executable image translator---please see Section 13.10.

Chapter 14
Hardware Information

If you are searching for something here, please consider using the text-format FAQ.

14.1 What are the OpenVMS differences among VAX, Alpha, and IA-64?

In terms of software, very few. As of OpenVMS V6.1, the OpenVMS VAX and OpenVMS Alpha platforms achieved "feature parity". Subsequent work has seen significant enhancements and new features added on OpenVMS Alpha. OpenVMS I64 started with "feature parity" with OpenVMS Alpha at the V8.2 release, and OpenVMS Alpha and OpenVMS I64 are based on and built from the same source pool. (There do exist low-level platform-specific differences, and platform-specific code is present within the shared source code pool, obviously.) Most applications can just be recompiled and run.

Some differences to be aware of:

There are also a number of manuals which discuss migration to OpenVMS Alpha and to OpenVMS I64 available in the OpenVMS documentation, both in the main documentation and (depending on the age of the manuals involved) in the archived documentation section.

As mentioned earlier, more recent OpenVMS Alpha and OpenVMS I64 releases have added features and support that are not available on OpenVMS VAX. Salient additions include the following:

Please see Section 14.4.5 for Intel Itanium terminology.

14.2 Seeking performance information for Alpha (and VAX) systems?

HP makes a wide range of performance documents available through its FTP and WWW Internet servers (see Section 3.2).

The following contain information on Integrity, Alpha and VAX products, with the VAX information largely accessable via archive-related links at the Alpha-related product web pages:

The following sites are reachable via the AlphaServer information pages, and contain information on various retired VAX and Alpha products:

Also see CPU2000:

14.3 Console Commands, Serial Lines, and Controls?

This section contains information on VAX and Alpha consoles, and details related to console commands, serial lines, and configuration settings.

14.3.1 What commands are available in the Alpha SRM console?

In addition to the normal BOOT commands and such (see Section for some details) and the normal contents of the console HELP text, operations such as I/O redirection and floppy disk access are possible at the SRM console prompt:

  1. Format a FAT floppy, and insert it into the AlphaStation floppy drive.
  2. Perform the following at AlphaStation SRM Console :

       >>> show * > env.dat 
       >>> show conf > conf.dat 
       >>> cat env.dat > fat:env.dat/dva0 
       >>> cat conf.dat > fat:conf.dat/dva0 

  3. You may use the SRM "ls" command to display the contents of the floppy.

       >>> ls fat:env.dat/dva0 
       >>> ls fat:conf.dat/dva0 

  4. You can now transfer the FAT-format floppy to another system.

14.3.2 What does SRM mean? What is PALcode?

The abbreviation SRM is derived from the Alpha System Reference Manual, the specification of the Alpha architecture and the associated firmware.

PALcode is a name assigned to a particular set of functions provided by the SRM firmware. PALcode is used to provide low-level functions required by higher-level operating system or application software, functions which may not be directly available in Alpha hardware. PALcode is implemented using available Alpha instructions and using the Alpha processor, though PALcode operates in a mode which simplifies programming. PALcode is also permitted access to processor-specific and otherwise internal features of a particular Alpha microprocessor implementation; microprocessor-specific features which are not easily accessable to operating system or application code.

14.3.3 Alpha COM ports and VAX console serial line information?

This section contains information on the Alpha COM communication ports, and related settings, as well as on the VAX console bulkhead and VAX console serial line connection. Which terminal device name is assigned to the COM ports?

COM2 is normally TTA0:. COM1 is normally TTB0: if the Alpha workstation is booted with the SRM console environment variable set to graphics, and is OPA0: if the console is set to serial.

On the DEC 2000 series (sometimes incorrectly known by the name of the system as sold for Microsoft Windows NT Alpha; as the DECpc 150 AXP series) on older OpenVMS Alpha releases, COM1 through COM4 are known as OPA0: through OPA3:. On all current OpenVMS releases, these ports are serviced by the terminal driver and not by the console OPDRIVER driver.

Often the easiest way to determine the OpenVMS terminal name assigned to the port is to connect a terminal, log in interactively, and look at the output of SHOW TERMINAL. (Device names can vary by OpenVMS version, as well as by the SRM console environment variable selection.)

For serial console hardware and related information, and for pin-outs and related information, please see Section 14.3 and Section 14.26. Which serial port is the console on the MicroVAX 3100?

Just to keep life interesting, the MicroVAX 3100 has some "interesting" console ports behaviours based on the setting of the BREAK enable switch. When the console is not enabled to respond to BREAK, MMJ-1 is the console port. MMJ-3 will (confusingly) output the results of the selftest in parallel with MMJ-1. When the console is enabled to respond to BREAK, MMJ-3 becomes the console port, and MMJ-1 will (confusingly) output the results of selftest in parallel with MMJ-3. How can I set up an alternate console on a VAXstation?

Most VAXstation series systems and a few Alpha series systems have a switch -- most often labeled S3, largely for historical reasons---that enables one of the serial lines as the system console device; as OPA0:. This disables console output to the graphics display. (For a related behaviour, please see Section 11.10.)

All VAXstation 3100 series systems provide a S3 slide switch, though the oldest may be missing the cut-out through the enclosure that provides access to the switch. The slide switch is located near the diagnostic LED display. (The slide switch is accessable with the cover removed.)

Various members of the DEC 3000 series Alpha systems also have a similarly-labled S3 switch for selection of the alternate console.

The particular port that becomes the console can vary. The printer MMJ connection is used on all VAXstation 3100 series. On VAXstation II, the console DB9 is used, rather than the graphics display. On most (all?) AlphaStation series systems, typically the COM1 serial port becomes the console.

Also see Section 14.3.6, Section 11.10, and Section 14.17. Beware the two different DB9 pin-outs; see Section 14.27 for related details.

For information on registering software license product authorization keys (PAKs), please see Section 5.6.2. Please explain the back panel of the MicroVAX II

The MicroVAX-series console bulkhead interface was used with the KA630, as well as with the KA650 and KA655 processors.

There are three controls on the console bulkhead of these systems:

  Triangle-in-circle-paddle: halt enable. 
    dot-in-circle: halt ([break]) is enabled, 
                   and auto-boot is disabled. 
    dot-not-in-circle: halt ([break]) is disabled, 
                   and auto-boot is enabled. 
  Three-position-rotary: power-up bootstrap behaviour 
    arrow: normal operation. 
    face: language inquiry mode. 
    t-in-circle: infinite self-test loop. 
  Eight-position-rotary: console baud rate selection 
    select the required baud rate; read at power-up. 

There are several different bulkheads involved, including one for the BA23 and BA123 enclosures, and one for the S-box (BA2xx) series enclosure. The console bulkheads typically used either the MMJ serial line connection, or the MicroVAX DB9 (not the PC DB9 pin-out), please see the descriptions of these in section Section 14.26. For available adapters, see Section 14.27.

Also present on the console bulkhead is a self-test indicator: a single-digit LED display. This matches the final part of the countdown displayed on the console or workstation, and can be used by a service organization to determine the nature of a processor problem. The particular countdown sequence varies by processor type, consult the hardware or owner's manual for the processor, or contact the local hardware service organization for information the self-test sequence for a particular processor module. Note that self-tests 2, 1 and 0 are associated with the transfer of control from the console program to the (booting) operating system.

14.3.4 What are Alpha console environment variables?

Alpha systems have a variety of variables with values set up within the SRM system console. These environment variables control the particular behaviour of the console program and the system hardware, the particular console interface presented to the operating system, various default values for the operating system bootstrap, and related control mechanisms---in other words, "the environment variables provide an easily extensible mechanism for managing complex console state."

The specific environment variables differ by platform and by firmware version---the baseline set is established by the Alpha Architecture:

AUTO_ACTION ("BOOT", "HALT", "RESTART", any other value 

OpenVMS Galaxy (vPars) firmware can add console environment variables beginning with such strings as LP_* and HP_*, and each particular console implementation can (and often does) have various sorts of platform-specific extensions beyond these variables. These variables allow both vPars (virtual partitions) and lPars and lPars (logical partition) support; vPars is a generic name for soft partitioning constructs such as OpenVMS Galaxy, while lPars is a generic name applied to hard partitioning constructs.

The contents of a core set of SRM console environment variables are accessible from OpenVMS Alpha using the f$getenv lexical and the sys$getenv system service. (These calls are first documented in V7.2, but have been present in OpenVMS Alpha for many releases.) Access to arbitary SRM console environment variables is rather more involved, and not directly available to application software operating outside of kernel-mode.

14.3.5 What are the boot control flag values?

Integrity, VAX and Alpha primary bootstraps support flag values; a mechanism which permits the system manager to perform specific customizations or site-specific debugging of the OpenVMS system bootstrap. While very similar, there are differences among the boot flag implementations for the various architectures.

Previous Next Contents Index