Category : Miscellaneous Language Source Code
Archive   : VMSKERM.ZIP
Filename : VMSHEXF.NOT
program image file (.EXE) to a file containing ASCII HEX
characters. The purpose for this exercise is to simplify the
interchange of VMS executable programs via ASCII only means.
This means that VMS programs can be converted and stored on non-
VMS systems without fear of losing the VMS record format.
The two programs assemble without any special procedures. To
assemble and link, use the following commands under VMS/DCL:
$ MAC VMSHEX
$ LINK VMSHEX **(now having an .OBJ extension)**
The same commands would be used with the VMSDEH program. The
resulting VMS program will then be deposited in your default
directory.
To use the programs, just run them without any special switches.
The VMSHEX program is used to convert from .EXE to .HEX.
When started, the program will prompt for an input filename. You
must specify the name and file type. The device/directory spec
will default to your current device/directory. The program will
then prompt for an output file name. It will default to the
spec: FILENAME.HEX, where FILENAME was the input filename. You
may insert any valid filename for the output file. Note that if
you specify a device/directory on the input file, the output file
will default to the device/directory of the input file. The
resulting output file with be slightly over twice the size of the
original file. Each byte is converted to two HEX characters plus
some overhead bytes are included for the filename and checksums,
etc.
The VMSDEH program is used to convert files created with the
VMSHEX program back to their original form. When started, the
program will prompt for an input filename. Here again, you must
specify the name and the file type, with the device/directory
defaulting to your current device/directory. Since the .HEX file
has the original name of the input file stored within, it will
not prompt for an output filename, but will write the output file
to the device/directory specifed for the input file, or your
current device/directory if you specified none for the input
file.
The original version of VMSHEX and VMSDEH **(version 1 not the
current version of VMSDEH)** only supported up to 64kbytes per
file. When HEXifying larger programs, VMSHEX would give no
indication of a problem, but later deHEXifying with VMSDEH
would result in huge files that either filled disk quotas or
entire disks (or would most often be ^Y'd due to the length of
time)! This problem has been solved by the VMSHX2 and VMSDH2
programs. These programs support file sizes of ((2**32)-1) (a
*big* number!). However, this comes with the lack of
compatibility with the old versions of VMSHEX and VMSDEH. The
resulting HEX files are similar in structure and appearance, but
HEX files created by VMSHEX cannot be decoded by VMSDH2, and
HEX files created by VMSHX2 cannot be decoded by VMSDEH.
Therefore, both versions of the programs are still available in
the DL area. **(ALL files in the HEX format have now been
converted to the 1988 version of VMSHEX, ONLY FILES FROM OTHER
SOURCES NEED VMSDH2 TO 'DEHEX' THEM.)** Please use the 1988
version of VMSHEX when uploading files in the HEX format.
Notes by Stuart Fuller, Sysop of the CompuServe VAX Forum as of:
8-Dec-1985.Updated 21-Jul-1988 Jim Marshall.
Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!
This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.
But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/