HPlogo Asynchronous Serial Communications Programmer's Reference Manual: HP 3000 MPE/iX Computer Systems > Appendix A Comparing MPE/iX Systems to MPE V Systems

Software Characteristics

» 

Technical documentation

Complete book in PDF
» Feedback

 » Table of Contents

 » Glossary

 » Index

The following are differences between the ASC software and the software that controls the ATP/ADCC:

  • Changed functions. These are functions that have been implemented differently in the ASC software (and/or the DTC) from the way they are implemented for ATP/ADCC.

  • Programming considerations. These are more functions that have been implemented differently. However, these functions apply only to programs written to control asynchronous devices.

  • Functions no longer supported. These are functions that are supported with the ATP/ADCC software which are not supported with the ASC software.

  • Related operating system changes. These are functions that are supported on MPE V computers but are not supported on MPE/iX computers.

NOTE: The following pages document all known differences between the functionality of ATP/ADCC software and the functionality of ASC software. Some of the following differences are very detailed, but are not likely to impact the migration of most customer sites.

Changed Functions

The following functions have been modified. See also "Programming Considerations" later is this Appendix for features that have changed.

Echo Facility

Pressing [Esc] is no longer necessary to turn the echo facility on or off. The MPE/iX :SET command is used now. The syntax used to turn echo on or off is as follows:

  • :SET ECHO = ON

  • :SET ECHO = OFF

XON/XOFF Protocol

With MPE V, the XON/XOFF protocol is used, but certain cases exist when the XON (DC1) and XOFF (DC3) characters are ignored. Therefore, it is difficult to determine when these characters will be acted on. With ASC software, these characters are always acted on when the XON/XOFF protocol is enabled.

For instance, XOFF ([CTRL]-S on terminals) is ignored in MPE V during reads or when no I/O is pending on the device. (This means that nothing is waiting to be printed on the device and no program is waiting for input from the device.) With MPE/iX, the [CTRL]-S character is not ignored (except during a binary read).

Therefore, during a read, if [CTRL]-S is pressed, the read appears to be suspended. Press [CTRL]-Q to echo the characters typed to the screen. Therefore, [CTRL]-Q must be pressed to continue and complete the read.

The only exception is during binary mode. During a binary read, an ASCII DC1 or DC3 can be a data character and not an XON or XOFF. The ASC software does not react to them as if they are protocol characters, but passes them through as data. Since these protocol characters are accepted as data, they will be echoed. However, when an XOFF is echoed, it will suspend the terminal as if an XOFF were sent to it from the DTC. This means that echo should be disabled while in binary mode.

Note that the XON/XOFF protocol characters are accepted as data only when coming from the device. When an ASCII DC1 or DC3 is sent from the DTC, the terminal will still react to the character as a protocol character.

Using Smooth Scroll

A terminal uses its buffer to store incoming data and makes use of the XON/XOFF protocol to keep the DTC from overflowing the terminal buffer. Some supported devices (namely the HP150 and HP293x terminals) support smooth scroll. When a device is in smooth scroll mode, it transfers data to its screen more slowly (to make the output look "smooth") and therefore uses its buffer to store more incoming data. This is especially true at higher speeds such as 9600 and 19,200 bps.

As a terminal user, use the XON/XOFF protocol to monitor what is written to the screen by pressing [CTRL]-S (XOFF) and [CTRL]-Q (XON).

When both the terminal and its user are sending XONs and XOFFs to the DTC, the DTC has no way of knowing the source of the protocol characters. Therefore, it can appear that the [CTRL]-S and [CTRL]-Q characters are not being recognized.

To avoid this problem, press [Stop] instead of [CTRL]-S and [CTRL]-Q. When [Stop] is pressed, the terminal's buffer stops processing data, so no more will be printed to the terminal screen. When [Stop] is pressed a second time, the terminal will resume processing data in and out of its buffer. (Therefore, the [Stop] key functions as a toggle switch.) In this way, the terminal controls which protocol characters are sent to the DTC.

Another way to alleviate the problem is to lower the terminal's transmission speed; devices running at 4800 bps or lower will not have this problem.

Parity Error

With an ATP on MPE V, a read that contains a parity error still completes normally. Then, all read data is discarded. With a DTC, the first parity error ends the read immediately and the read data is discarded.

Parity Error in EOR

With an ATP, a parity error in the EOR character prevents the read from completing normally. Unless a timer expires or a byte count is satisfied, the device can hang. This is not a problem with a DTC. The read completes when the parity error is detected and all data is discarded.

Stripped Characters

When the terminal controller reads input from a device, certain characters are searched for in the stream of data. When found, some of those are stripped from the data. The differences between the MPE V ATP and the ASC software are as follows:

  • [Esc]: This two character sequence is not stripped from the input data on MPE/iX computers. It is stripped from input data on MPE V computers.

  • [Esc]; This two character sequence is not stripped from input data on MPE/iX computers. It is stripped from input data on MPE V computers.

  • LF (linefeed). Linefeeds are stripped from input data with MPE V. With MPE/iX, linefeeds are not stripped.

System Break and Terminal States

When a system break is received, the ATP saves the EOR character, the read timer value, and the terminal mode. Under the same circumstances, the DTC saves all of these, plus echo. Therefore, with ATP, if echo was disabled, it will be disabled in the Command Interpreter (CI). With the DTC, echo is enabled and disabled when the user resumes.

Using [Break] (and Later :RESUME) During a Read

When you are entering data or a command in a subsystem and press [Break] (before pressing [Return]), MPE V keeps the data entered and completes the read if the :RESUME command is entered. MPE/iX disregards the read data.

Using [Break] During Writes

Because of the speed with which MPE/iX systems process writes, more data can be lost if [Break] is entered while a program is writing to a terminal than was the case for terminals connected to MPE V systems.

The Command Interpreter and [Break]

During a read in the MPE V CI, [Break] is disabled. It is not disabled in the MPE/iX CI.

Preemptive Writes

With MPE V, a preemptive write can interrupt a read or another write. With the ASC software on MPE/iX computers, a preemptive write will interrupt a read or a write not yet started, not a write that has already started.

During Reads

Suppose, you are using the CI to type in MPE V commands on a terminal. You want to use the :SHOWJOB command and begin typing. The system operator sends you a message with the :WARN command after you have typed only the characters SH. The :WARN message interrupts your read and is displayed on the screen. The SH characters you have already entered are discarded, and a new DC1 character is sent to your terminal. You must begin typing the word SHOWJOB again because the SH was lost when the read was preempted by the message.

With MPE/iX, a :WARN message will interrupt the read as if it were a :WARN message on MPE V. However, in the example above, when you have typed SH of the :SHOWJOB command and receive a WARN message, the SH is not lost, and no new DC1 character is issued. You need to type only OWJOB to execute the command.

During Writes

On MPE/iX, a preemptive write will not interrupt another write that has already started. Writes that have not yet started will be delayed until after the preemptive write.

Logical Console Functionality

On all HP 3000 computers, terminals other than the system console can temporarily obtain partial console functionality with the :CONSOLE command. This is called moving the logical console to a terminal. MPE V systems allow the logical console to receive console messages, execute normal console commands, and execute console commands that require the console attention character ([CTRL]-A).

The functionality of the logical console on MPE/iX computers is the same, with one exception: the logical console cannot execute console commands that require [CTRL]-A. The [CTRL]-A character is not recognized as the console attention character on any device other than the system console. (Do not attempt to move the logical console to a terminal connected via a PAD or to a terminal with switching enabled.)

Printer Status Request

The printer status request, also known as status checking or the HP2631B handshake, is how the controller monitors the condition of serial printers. Under MPE V, printer status checking can be done quite frequently. Terminal type files 21 and 22 send a status request at FOPEN, after each record is printed, and at FCLOSE. Terminal type files 19 and 20 send an additional status request every time the printer sends an XOFF. With MPE/iX printer type files 21 and 22, a status request is sent only at FOPEN and FCLOSE. (Neither MPE V terminal type 18 nor MPE/iX printer type 18 uses status checking.) Since status checking is done less frequently with MPE/iX, serial printers have better performance. (Printer type file 26 on MPE/iX functions the same as terminal type 26 file on MPE V.)

Programming Considerations

The following functions have been implemented differently and apply only to programs written to control asynchronous devices.

Changing Parity

When programmatically changing the parity checking and generation of a specific connection (through the FCONTROL36 and FCONTROL24 intrinsics), the type of parity is determined by the value of a parameter of the FCONTROL36 intrinsic. The differences between MPE V's ATP and MPE/iX's DTC are listed in Table A-5 “Parity Settings with FCONTROL(36)”.

Table A-5 Parity Settings with FCONTROL(36)

FCONTROL Control Code ValueATPDTC
0Even parity checked on input Eighth bit set to 0 on outputNo parity checked on input Eighth bit set to 0 on output
1Odd parity checked on input Eighth bit set to 1on outputNo parity checked on input Eighth bit set to 1on output
2Even parity checked on input Even parity generated on outputEven parity checked on input Even parity generated on output
3Odd parity checked on input Odd parity generated on outputOdd parity checked on input Odd parity generated on output

 

NOTE: When a device is closed (using the FCLOSE intrinsic) on an MPE V computer, the initial default parity setting is restored. On MPE/iX computers, parity is not restored at FCLOSE. This means that to change parity using the FCONTROL intrinsic, the default parity in the application must be restored before closing the device.

Read Timer

On MPE V computers, the read timer must be enabled (FCONTROL20) before every read whose duration you wish to measure. With MPE/iX computers, the timer is always enabled and measures every read. This means the following:

  • There is no need to use the FCONTROL20 intrinsic. The timer is automatically enabled.

  • The read timer's value should be obtained before any other reads occur. Otherwise, the value of the read timer will be for the most recent read, not the read that originally needed to be timed.

  • FCONTROL21 cannot be used to disable the timer. (Calling this intrinsic has no effect on the timer.)

Additional End-of-Record Characters

With MPE/iX, the characters listed in Table A-6 “Unrecognized AEOR Characters (MPE/iX)” should not be used as additional end-of-record characters. An error message will not be received if one of the characters in the table is entered as an additional EOR, but the character will not terminate a read when it is entered. With MPE V, any character can be used as an additional end-of-record character, except for the list in Table A-7 “Unrecognized AEOR Characters (MPE V)”.

Table A-6 Unrecognized AEOR Characters (MPE/iX)

ASCII CharacterTerminal KeysOctal CodeHex Code
NUL(Null)[CTRL]-@% 0$ 0
DC1(XON)[CTRL]-Q% 21$11
DC3(XOFF)[CTRL]-S% 23$13
Current Subsystem Break[CTRL]-Y (by default)[1]% 31$19
DEL(Rubout)[DEL]% 177$7F

[1] In transparent mode, define the subsystem break character through the FCONTROL41 intrinsic

 

On MPE/iX computers, only one AEOR character can be designated for a device at any given time with FCONTROL(25), and multiple AEORs can be designated with FDEVICECONTROL(192,40).

Table A-7 Unrecognized AEOR Characters (MPE V)

ASCII CharacterTerminal KeysOctal CodeHex Code
NUL(Null)[CTRL]-@% 0$ 0
BS(Backspace)[CTRL]-H% 10$ 8
LF(Linefeed)[CTRL]-J% 12$ A
CR(Carriage Return)[CTRL]-M% 15$ D
DC1(XON)[CTRL]-Q% 21$11
DC2[CTRL]-R% 22$12
DC3(XOFF)[CTRL]-S% 23$13
CAN(Cancel)[CTRL]-X% 30$18
EM(End-of-Medium)[CTRL]-Y% 31$19
ESC(Escape)[CTRL]-]% 33$1B
DEL(Rubout) % 177$7F

 

Transparent Mode

On MPE V computers, the ASCII characters DC1 and DC3 are treated as data in transparent mode. With MPE/iX, DC1 and DC3 are not treated as data, but as the protocol characters XON and XOFF.

Binary Mode and Echo

When initiating binary mode (through the FCONTROL27 intrinsic) on an MPE/iX computer, turn echo off on the device (FCONTROL13). This is necessary because if a DC3 character is in the data, it will be echoed and will XOFF the device. Refer to "XON/XOFF Protocol" under "Software Characteristics" earlier in this appendix for more information.

Using FCONTROL(35)

The FCONTROL35 intrinsic is used to inhibit the printing of !!! (three exclamation points) when the line deletion character ([CTRL]-X by default) is entered. When the line deletion response is disabled on MPE V computers, a carriage return and linefeed are sent when the line deletion request is received, and all read data is disregarded. The user can start typing the line from the beginning. On MPE/iX computers, the line deletion request functions the same except for one thing: the carriage return and linefeed are not sent.

The FDEVICECONTROL Intrinsic

MPE V computers, a limited number of device control functions can be modified through the FDEVICECONTROL intrinsic. On MPE/iX computers, FDEVICECONTROL has expanded device control functionality. Additionally, on MPE/iX computers, the FDEVICECONTROL intrinsic is supported for devices connected through a private or public PAD.

Functions No Longer Supported

The following functions supplied by the MPE V ATP/ADCC are not supported by the MPE/iX ASC software.

ENQ/ACK Protocol

The ENQ/ACK protocol handshake between devices and the HP 3000 MPE V ATP/ADCC is not supplied by the ASC software.

Transmission Speeds of 110, 150 and 600

The speeds 110 bps, 150 bps, and 600 bps are rarely used on the HP 3000 computer, so the DTC does not support them

:EOF: and :EOD: Commands

The :EOF: and :EOD: commands, which can be used on MPE V computers, are not supported on MPE/iX computers.

Carriage Control Delays

Some hardcopy devices could not receive data quickly enough, especially when the carriage of the device had to move back to the beginning of the next line after each line was printed. MPE V supports terminal type files that allow extra time for the device to prepare for the next line of output. It does this by providing extra time for each carriage return, each linefeed, and the formfeed that the device must perform. Since these devices are obsolete, Hewlett-Packard does not provide this feature with new terminal type files and printer type files.

Special Response to a Backspace Character

Some devices require the terminal controller to handle the backspace character in a specific way. For instance, when backspace is used on a hardcopy device, a character typed after the backspace will be difficult to see because it will be typed directly over the previous character. Some MPE V terminal type files react to a backspace by going to the next line, so that characters typed after a backspace would appear under, instead of on top of, previous characters. Since devices that require this special attention are not supported with the ASC software, only two responses to the backspace character are supplied. Through the FDEVICECONTROL intrinsic, you can choose to either remove the character from input and back the cursor up one space, or to remove the character from input and erase it (backspace, space, backspace).

Special Response to a Linefeed Character

The MPE V ATP/ADCC software will react to a linefeed (LF) character by echoing a carriage return and linefeed, then stripping the linefeed from input data. The ASC software will not do this and will not strip linefeeds from input data. This is different during line block mode only.

Special Output for a Formfeed Character

For some devices, the MPE V ATP/ADCC software will substitute the linefeed (LF) character for the formfeed (FF) character. On MPE/iX computers, formfeed replacement is supported in carriage return, but not in user data.

Critical Writes

With MPE V, all writes to asynchronous printers are critical writes. This means that the file system reports the completion of the write to the program initiating the write only after the data from the write has been printed out. In other words, the write is complete only after the write is successful. With MPE/iX, the completion of every write is reported by the file system when the DTC sends the data to the printer. Since this is before the data has actually printed, the completion of a write does not guarantee that the write was successful.

Since the ASC software does not wait for each line to print before continuing, data can be sent to printers more quickly.

Related Operating System Changes

The following functionality of the MPE V operating system is not supported on the MPE/iX operating system, and has some significance for the asynchronous subsystem.

MPE Commands

The :DATA and :COMMAND commands, sometimes used to log on to terminals, are not supported on MPE/iX. The :JOB command, while still useful to stream jobs, cannot be used to log onto a terminal.

File System Intrinsics

The FCARD and PTAPE intrinsics, sometimes used with asynchronous devices, are not supported on MPE/iX.

Feedback to webmaster