I was looking for a way to test IND$FILE under VM and found some amazing stuff available for running under Hercules. This site has a zip file for the VM Six Pack, so named because it runs on 6 volumes (as opposed to the 4 and 5 pack systems also available). And the Hercules yahoo group has the DIAG58 and MECAFF files which contain an xedit-like editor and an ind$file replacement.
VM Six Pack Installation
This was easy since I already have Hercules installed on my Linux system. I simply downloaded, unzipped, and copied the CCKD files to a new vm6pack/dasd directory on the Linux server, copied the conf file and made mods to point to the dasd files, and started Hercules with that conf file. An IPL of 141 and we get this screen:
That was with no 3270 console attached. Looks like this system is setup to use Hercules as the main operator console, with VM commands issued using the / prefix. So when we start a new TN3270 session we get the logon screen.
Press Enter to clear the screen, then L MAINT to get logged on using the default password. Don’t forget to press enter after logging on, to run profile exec. First thing we might want to do is change the default password, so let’s do that.
EDIT SIXPACK DIRECT which is on maint’s A disk. Find the old password with the command /cpcms which sets that line to the current position. Screen should looks something like this:
Now issue the R (replace) command with the new data, something like:
R USER MAINT NEWPASS 15M 16M ABCDEFGH
Then FILE to save and exit. Then issue the DIRECT command to put the directory into use.
DIRECT SIXPACK DIRECT
Install DIAG58 Functions
I’m not really sure what DIAG58 is. I assume it is a trap or SVC in VM that is available to the user. And someone wrote code to use it as an interface to the TN3270 emulator, in order to allow extended attributes. That’s my guess at this point without reading much. But it works. I downloaded the zip file and basically following the installation doc.
This is my first attempt at loading a tape in Hercules. “Tapes” are AWS format files and are mounted to a Hercules drive, and then to a virtual tape drive in VM. At that point the old tape commands I used years ago should work. Here’s what I did for DIAG58:
On the Hercules console:
detach 480 attach 480 3490 /home/hercules/vm6pack/io/diag58v108.AWS
On the VM terminal
l maint attach 480 maint 181 acc 094 a vmfplc2 load * * a
And the files on the AWS tape magically appeared on the A disk.
Then I continued with the install doc commands:
acc 191 c vmfmac dmkhrc dmkhrc vmfasm dmkgrf dmkhrc vmfasm dmkhvd dmkhrc vmfasm dmkqcn dmkhrc vmfasm dmkvcn dmkhrc vmfasm hdkd58 dmkhrc
Add the following line to CPLOAD EXEC
&1 &2 &3 HDKD58 ( Add right below &1 &2 &3 DMKVCN )
To do that edit, I used the CMS EDIT command which is difficult (but possible) to use. See my other blog notes for some basic instructions.
Now issue these commands. Not sure what they do. I think we’re rebuilding the nucleus or something similar.
purge rdr spool PUN * spool PRT * vmfload cpload dmkhrc ipl 00c clear ipl cms close rdr readcard cpnuc map logoff maint
Go to herc console and /shutdown
Test Files for DIAG58
Now I don’t see this in the doc, but if we mount the tape again and load from file 2, we find some test files, such as
vmfplc2 load * * a TEST MODULE A1 SAMPIO MODULE A1
When we run TEST we see the following screen, which (I believe) shows DIAG58 is working. Similar for the SAMPIO program.
Ok… enough of that old EDIT command. Let’s install the MECAFF utilities from Dr. Hans Lanz, which is an amazing set of programs. I unzipped the file, which had 4 AWS tapes. We only need one for now. We mount it as we did for DIAG58:
On the Hercules console:
attach 480 3490 devinit 480 /home/hercules/vm6pack/io/mecafftools-on-diag58static-1.1.0.aws
On the VM Terminal:
release y access 19E y attach 480 to maint 181 tape load * * y release y access 19E y/s
EE58 MODULE F2 FSHELP58 MODULE F2 IND$FI58 MODULE F2 MECAFF58 SYNONYM F2 SAMPLE EE F2 SYSPROF EE F2 EBCDIC MEMO F2 VISTA IND$MAP F2
Hey… what is that VISTA IND$MAP file? Is that for my product? Did I mess something up that needed a special translation file? Oops.
Now, part of the installation says we need to do this:
synonym mecaff5s synonym *
What the heck is that? Result is this if I issue the SYN command (which itself is a synonym)
SYSTEM USER SHORTEST COMMAND SYNONYM FORM (IF ANY) -------- -------- ---- EE5S EE EE5S FSVIEW EE5S FSLIST FSHELP5S FSHELP IND$FI5S IND$FILE
And those only last for as long as my session, so the synonym command needs to be in my profile exec.
Let’s take a look at file “mecaff5s synonym y”. It contains:
EE5S EE EE5S FSVIEW EE5S FSLIST FSHELP5S FSHELP IND$FI5S IND$FILE
Ok… that explains it. Guess what, IND$FILE transfer now works! This guy is a genius. Still, I wonder what VISTA IND$MAP is for. Yep – comments in the file indicate it’s for my program. I’m honored… or maybe I just screwed up and they used this file to fix my errors. Either way, it’s neat being a known part of this community. I’d sure like to get more involved.
And guess what! The EE command opens an editor that (I assume) works a lot like XEDIT. And FSLIST shows a file list. And FSVIEW browses a file. Geesh, these things are the basics and they are now supplied by this genius Dr. Latz. One of these days I want to look at the source code for this package.