User:RDBrown/HP Terminal Emulators

HP CRT Terminals support ENQ/ACK handshaking and Block mode transfers. HP Graphics Terminals supported Escape sequences analogous to the HP-GL Vector Graphics sequences like the HP plotters. A large subset of the escape sequences that terminals support are documented in the HP PCL (Printer Control Language) manuals. HP Escape sequences aren't ANSI compliant. ENQ/ACK Handshaking is required for
 * HP2100/HP1000
 * ENQ/ACK is required for terminals connected to a Buffered Asynchronous Communications Interface (BACI), but not for SIMH Telnet connections.


 * HP3000 MPE
 * {| class="wikitable"

! Terminal Type ! Block Mode ! Device Class or Terminal Model
 * 10|| Available ||General HP CRT
 * 11|| Available ||Special HP d
 * 12|| Available ||Special HP CRT (HP 2645K)
 * 15|| ||Special HP Hardcopy (HP 2635)
 * 16|| ||General HP Hardcopy (HP 2635)
 * }
 * Directly connecting to an MPE machine over a serial line, needs a terminal emulator that can send a BREAK and hardware supporting that. For Mac OS/X Frank McConnel confirms the Keyspan USB-19HS USB serial adapter works.
 * Documentation/usb/usb-serial.txt and drivers/usb/serial in the Linux kernel source may provide information on other USB serial adapters that support BREAK.
 * 16|| ||General HP Hardcopy (HP 2635)
 * }
 * Directly connecting to an MPE machine over a serial line, needs a terminal emulator that can send a BREAK and hardware supporting that. For Mac OS/X Frank McConnel confirms the Keyspan USB-19HS USB serial adapter works.
 * Documentation/usb/usb-serial.txt and drivers/usb/serial in the Linux kernel source may provide information on other USB serial adapters that support BREAK.
 * Directly connecting to an MPE machine over a serial line, needs a terminal emulator that can send a BREAK and hardware supporting that. For Mac OS/X Frank McConnel confirms the Keyspan USB-19HS USB serial adapter works.
 * Documentation/usb/usb-serial.txt and drivers/usb/serial in the Linux kernel source may provide information on other USB serial adapters that support BREAK.

As a niche market, few terminal emulators supporting HP emulation are available without cost.

=Terminal Emulators= Testing was done on Ubuntu 14.04.4 x86_64 and Windows 7 (6.1.7601) connecting to the SIMH HP 3000 Simulator V4.0-0 Beta 3a4e879 running locally. Minimal block mode testing was done by running FORMSPEC.PUB.SYS and entering QEDIT 3.9.1 Visual mode.

=Microsoft Windows=

QCTerm from AICS Research
This seems to be the sole emulator that is free to run and supports Block mode.

Using version 3.1a with QCTERM
 * Connection Settings
 * Network Type: TELNET (Advanced) Port: 1054  Terminal Type: HP2621A  Host Name: 127.0.0.1

both FORMSPEC and QEDIT visual mode ran. QEDIT visual mode also worked without need the Terminal Type changed.

On Wine 1.6.2 and perhaps Microsoft Windows versions after 7 it needed regsvr32 threed32.ocx run and mfc40.dll installed in \windows\syswow64\ (on 64-bit Windows). Microsoft KB-172193 mentions ThreeD32.OCX as a discontinued Visual Basic 4.0 control.

Walker, Richer & Quinn (WRQ) now Attachmate Reflection
Reflection is a highly capable commercial emulator with a long history. If telnet connections are supported, I'd expect it to just work. With it's PCLINK transfer program installed on the HP3000 it provided a fast file interchange between MSDOS and MPE. It's container file format encapsulating the MPE file structure was a defacto standard for MPE file interchange. Reflection version 9 is reported as working under Wine.

Kermit for Windows
Since October 2013, Kermit 95 has been open-sourced and released under a BSD-like license. It includes support for a terminal type of hp2621a or equivalently hpterm. It supports ENQ/ACK handshaking, but by source inspection, no Block mode. (No protected field support). As such it will run character mode applications like Unix curses (programming library) applications. It has yet to work for me under wine. Supported terminal types. [C:\Temp\latest_build\winkermit-3.0-test-21-nov-2013-vc6\] K-95> set term type ? One of the following: adm3a     ba80       hp2621a    scoansi    vc404      vt320pc    wy60 adm5      beterm     hpterm     sni-97801  vip7809    vt52 aixterm   dg200      hz1500     sun        vt100      vtnt annarbor  dg210      ibm3151    tty        vt102      wy160 ansi-bbs  dg217      linux      tvi910+    vt220      wy30 at386     heath19    qansi      tvi925     vt220pc    wy370 avatar/0+ hft        qnx        tvi950     vt320      wy50 As K-95 is now using the C-Kermit routines, the following TELNET configuration options may be required for quick connection to SIMH. set telopt /client KERMIT refused set telopt /client TERMINAL-TYPE refused set telopt /client NAWS refused set telopt /client NEW-ENVIRONMENT refused set telopt /client COM-PORT-CONTROL refused telnet 127.0.0.1 1054 TELNET /NOWAIT 127.0.0.1 1054 also works.

=MSDOS= DOSBOX is targetted at running MS-DOS games, but can remap the serial port(s) to TELNET. As at version 0.74 it requires this patch to support BREAK in a TELNET connection. It will also run Dave Dunfield's ImageDisk utilies to convert TeleDisk images from the HP Museum site.

Configuring DOSBox to use serial1 nullmodem server:127.0.0.1 port:1054 rather than serial1 modem and connecting with the Hayes like command ATD 127.0.0.1 port:1054 seemed more stable.

HP Terminal Program A.00.03
Emulates HP2392, HP2623 or HP2627 terminals. Block mode worked. The later two emulations are graphics terminals that should support HP-GL. Note that the HP 150 emulates the 2623.

AdvanceLink A.05.02
Emulates HP2392 terminals. Block mode worked. I haven't yet got file transfer working.

=Mac OS/X= Testing done on OS/X 10.11 on a case-insensitive HFS+ filesystem, with wine installed with HomeBrew $ brew install wine $ brew install winetricks # if you want to use to winetricks to download mfc40.dll and with a default wine configuration $HOME/.wine

QCTerm 3.1a under wine
Retrieve the QCTerm zipped installer. Unzip and then run the QCTerm Installshield installer. $ wine qcterm-setup.exe By default this will install into "C:\Program Files\AICS Research\qcterm\"

QCTerm requires MFC40.DLL, which can be installed with winetricks (downloaded and installed from activex.microsoft.com/controls/vc/mfc40.cab). winetricks mfc40 Otherwise copy in the 32-bit mfc40.dll. $ cp -p mfc40.dll $HOME/.wine/drive_c/windows/system32 Register the threed32.ocx control for QCTerm. $ cd $HOME/.wine/drive_c/Program\ Files/AICS\ Research/qcterm $ regsvr32 threed32.ocx
 * The threed32.ocx should be the pathname for the file in the directory. Don't assume Windows case-independance on a case-dependant filesystem.

If using a Keyspan USA-19HS USB serial adapter to connect, you should symlink the USB serial device to Wine's COM1.

$ ln -s /dev/cu.KeySerial1 $HOME/.wine/dosdevices/com1

You will need to select the Terminal menu's "Transmit Control Characters to Host" item if you want control-A passed to the 3000 as a console interrupt, instead of interpreted locally as the "Select All" function.


 * On Ubuntu 14.04.4 x86_64 running wine-1.6.2 winetricks reports using a 64-bit WINEPREFIX, though the path is $HOME/.wine.
 * There QCTerm installed into "C:\Program Files (x86)\AICS Research\qcterm\" and I installed MFC40.DLL into $HOME/.wine/drive_c/windows/syswow64
 * You could expect similar changes in future versions of wine for OS/X.
 * The QCTerm-Setup.exe from OpenMPE.com ran to completion on that version of wine and the files were identical to the version from HPMuseum, though the installer executables differ.
 * I'm not sure that the installer offered a chance to change the install target directory.

=XWindows=

hpterm 0.5
Emulates HP 700/92 terminals. It depends on QT3 and will need porting to current Linux (or CygWin).

=References=

=External Links=