COPYRIGHT.txt for details.
The D6.0A version of MTS allows interested persons to run the D6.0 version of MTS under the Hercules S/370 Emulator without the need to restore the D6.0 system from simulated tapes. Working directly with the MTS D6.0 distribution materials it was and remains possible to create an IPLable version of MTS. The D6.0A system makes this easier by providing a IPLable version of MTS on Hercules simulated disks. The D6.0A system includes several updates and fixes to resolve problems with the D6.0 system and to allow MTS to operate more easily under Hercules.
The D6.0A distribution archive is available for download from the MTS Archive (http://archive.michigan-terminal-system.org/mts-d60A). In the future we hope to make the D6.0A archive available from the Software Archive at Bitsavers.org as well as from U-M's Deep Blue Digital Archive.
Distribution D6.0 supports the IBM S/370 and the IBM S/370-XA architectures. Distribution D6.0A has been configured to use the IBM S/370-XA architecture which Hercules supports as EAS/390. This is machine architecture code "MP" in the MTS D6.0 Installation Instructions for New Installations (D6.0-NEWSYS.txt).
In addition to the d6.0A.zip archive, it is recommended that the d6.0.tar.gz archive be downloaded as well since it contains the full set of D6.0 *FS distribution tapes and a number of documentation files that will be useful when using D6.0A. The d6.0.tar.gz archive may be downloaded from http://bitsavers.org/bits/univOfMichigan/mts/d6.0.tar.gz.
README-D6.0A.txt This file.
COPYRIGHT.txt The copyright, license, and limitation of liability
statement for the MTS distribution materials.
README.txt An updated version of the file that describes the
entire collection of MTS distribution materials.
hercules.cnf A template configuration file for use by Hercules.
Disks A directory that contains simulated disk files.
mts600.dsk and A compressed simulated 3380-1 disk image and
mts600_1.dsk an associated shadow file for use with Hercules.
Units A directory that contains three unit record files
PCH1.txt The file for card punch, PCH1
PTR2.txt The file for printer, PTR2
RDR1.txt The file for card reader, RDR1. It contains three
Tapes A directory that contains files for the simulated AWS tapes
cmd001.aws A simulated tape for use by the CMDSTAT pickup program, *DWB
d6.0tn.aws The simulated tapes for the six *FS tapes from D6.0.
mtsDistDoc/d6.0 Directories that hold D6.0 documentation
OperatorsManual-MTSD6.0-1988.pdf The MTS D6.0 Operator's Manual
HASPManual-MTSD6.0-1988.pdf The MTS D6.0 HASP Manual
MTS was restored from the D6.0 distribution tapes to create the disk image. The restored disk was updated to become version D6.0A and includes several bug fixes to resolve problems with the D6.0 version and to allow the system to operate more smoothly under the Hercules Emulator.
The base mts600.dsk file contains the D6.0 system as it was restored from tape. The first shadow file, mts600_1.dsk, contains the updates that were made to create the D6.0A system. As distributed these two files are read-only and so when they are used by Hercules a third shadow file, mts600_2.dsk, will be created to contain the changes from your use of the system. It is possible to revert to previous versions of the disk contents by removing one or both of the shadow files using the Hercules -sf command.
1. Edit the hercules.cnf template to tailor it to your environment.
2. Place the d6.0A folder from the d6.0A.zip archive in an
3. Add the ten aws files from the d6.0.tar.gz archive to
the Tapes directory or comment out those device definitions in the hercules.cnf file.
4. From a terminal or command window make the D6.0A folder your current
directory (cd d6.0A).
5. From the terminal or command window start Hercules.
5a. There will be a good deal of output to the Hercules console.
5b. An error message of the form
HHCTT001W Timer thread set priority -20 failed: Permission denied
is expected and can be ignored.
5c. The content of the messages displayed will make it clear that
the hercules.cnf file is being used.
6. List the files in the Disks subdirectory to confirm that the second
shadow disk file, mts600_2.dsk, has been created. If it hasn't
been created, you might want to use the Hercules sf+ command
7. Open a tn3270 connection to port 3270 on "localhost" to act as the
MTS Operator's console.
8. Read Q27 and Q28 from the FAQ section of this file below to learn
a little bit about the MTS 3270 Operator's Console.
9. Type "ipl 260" on the Hercules console.
The D6.0A system should now be running from disk.
(later, when you are finished running MTS you must
shutdown properly -- see step #17 and Q30 below)
The IPLReader will use address 001 as its console.
This address will be passed to the supervisor initialization routine,
CONFIG, which will use the same console.
When the Operator job starts it will use the first operational
device from the list of CON2 (01F), DS01 (001), and DS21 (101) and
so by good fortune or good planning DS01 (001) will remain the MTS
Messages should appear on the MTS console (address 001, device DS01).
The Hercules console will act as the MTS console log printer (address
009, device CON1).
If you forget to start the tn3270 session or the session isn't associated
with address 001, the 1052-C console/printer at address 009 will be used
by the MTS backup console support. The backup console support is a pain
to use and so is to be avoided.
10. Answer "yes" to the question "Do you want to run the current system"
on the MTS Operator's console.
11. MTS will display the local time and may ask if it is OK. If asked,
always reply "ok" since it isn't possible to set the TOD clock in
the Hercules environment. You will be using the default timezone
and timezone offset built into TABLES, initially
Eastern Standard Time (EST) which is GMT minus 5 hours.
If this isn't you timezone, this isn't ideal and can be fixed by
patching TABLES as described in question Q18 below.
11a. You may be prompted:
MTS Current time of hh:mm day mmm dd is more than 12 hours later than
MTS last recorded signoff time of hh:mm day mmm yy.
MTS If you are sure the time is set correctly, enter "OK" to proceed
MTS with IPL; otherwise re-IPL now.
Respond to this prompt as you think best.
12. Respond to the prompts:
Enter initials and reason for reloading:
[enter a line of text]
** *CHK: Routine check for offline devices.
** Just cancel after you have checked the offline devices.
[remember that PA2 is "cancel", it is normal for a few
devices that aren't configured in the .cnf file to be offline]
13. You'll see a number of status messages, including:
** UMMPS/XA ** assembled 04/19/88
CONFIG CPU 0000 online
INIT Time and date have been set to hh:mm:ss on mm-dd-yy.
OPERATOR Started at mm:mm:hh on mm-dd-yy Model 3090 Serial 000611
OPERATOR Using display DS01 & printer CON1 (1052)
PDP MTS600 on D400 (*PAG001 )
MTS Contents of IPL file "*IPL.0":
MTS Filesave directory update completed
MTS *CMD: The CMDSTAT pickup program has been started.
MTS THE ACCOUNTING FILE IS AVAILABLE
MTS 0*** Post-IPL system successfully loaded.
MTS *NAL complete
MTS PEEK initialization begins
MTS PEEK initialization complete
14. Open additional tn3270 sessions to port 3270 on "localhost" to use
as MTS 3270 terminals.
15. Once you see the message "MTS PEEK initialization complete" system
initialization is complete and you can:
start HASP: type "HASP" followed by "MTS *HSP" (see Q19 below)
"let out the lines" (line adaptor start): type "MTS *LAS"
start individual MTS jobs on 3270 displays: type MTS DSnn
and pretty much anything else you want to do.
15a. Before you start HASP, see questions Q19, Q20, Q21, Q25, and Q26 below.
15b. If you start HASP, you'll see the following messages:
HASP HASP initialization -- phase 2
HASPLING $*Enter HASP requests
15c. When you start *HSP, you'll see the following messages:
MTS HASP START (17 January 2012)
15d. You can release batch execution with the HASP command
and you will see:
15e. When you start *LAS, you will see:
MTS Line configuration (17 January 2012)
MTS Jobs on: DS02-DS05
MTS Other: *CLK, *TPR, *MGR, *TCM, *FTPSERV
MTS The Messagefile Manager has started up successfully
MTS There are no available Telnet (TLNT) connections.
The very last message above about no available Telnet connections Is
expected and has to do with the lack of a Host Interface machine
or HIM under Hercules.
16. Continue with steps 12, 13, and 14 as described in the
D6.0-NEWSYS.txt writeup. Proceed with the start-up procedures
described in the MTS Operator's Manual:
Step #13-B. This step is optional, you may or may not need to change *LAS.17. See question Q30 below for information about shutting MTS down.
Step #13-C. This step is optional.
Step #13-D. This step isn't possible since ASMH is a licensed program product and
not included as part of D6.0.
Step #13-E. This step isn't possible without ASMH, but see question Q18 below.
Step #13-F. This step is optional. One disk will probably be enough for many people.
Step #13-G. This step isn't possible without ASMH.
Step #14. It is a good idea to read over this step.
Step #14-I. This step is optional and most people don't need or want to
install real rates.
18. Optionally exit from Hercules.
19. To restart MTS: If you exited from Hercules, go back to step #5 above.
If Hercules is still running, go to step #7 above.
PDF versions of the D6.0 MTS Operator's Manual and the D6.0 HASP Manual were created to make it easier to access this information.
The simulated 3380 disk and its associated shadow files were created by restoring MTS from the D6.0 dump/restore tapes. The base disk represents the D6.0 system as it was restored from the simulated tapes. The first shadow file includes the updates and fixes made to the base system to create the D6.0A system. It is recommended that shadow files two and above be used to hold the changes that you make to the D6.0A system.
The following updates and fixes were applied to create the D6.0A system from the D6.0 system:
http://creativecommons.org/licenses/by/3.0/). The license allows one to use, copy, adapt, share, distribute, and transmit the work provided that one attributes the work by including the copyright statement and the name of the work, version number, volume reference, or date of publication that identifies the work in the copies or adaptations made. For additional information, see: http://archive.michigan-terminal-system.org/documentation/mts-distributions#TOC-COPYRIGHT.txt-14-November-2011 or the COPYRIGHT.txt file included with the MTS distribution materials on the Bitsavers.org Software Archive.
The 1996 version:
Q9: Should someone wait for the 1996 IPLable version or start working with the D6.0 or D6.0A versions now?A9: This will depend on how much time you have, how much effort you want to put into getting a version of MTS running, and how soon you want to be able to run MTS. Getting MTS working from scratch using D6.0 will take much more effort than working with the pre-built D6.0A version or the 1996 IPLable system when it becomes available. For many people installing the D6.0 starter system from "tape" is likely to be a frustrating experience. There are certainly bugs in the D6.0 version that were fixed after D6.0 was released in 1988. The pre-built D6.0A IPLable version is available now and fixes some of those bugs. It isn't yet clear exactly how long it will take to make the 1996 IPLable version of MTS available, but it is likely to take several months and possibly longer. Some people will want the experience of making a version of MTS available from "scratch" and so will be happy to start working with D6.0 now. Others will want to skip that work and will use the pre-built D6.0A version or wait for the 1996 IPLable version to become available.
Q10: Is there an e-mail list or group where issues related to running MTS under Hercules are discussed?A10: Yes. Such discussions started out on the main Hercules-390 Yahoo group e-mail list, but moved to the new H390-MTS Yahoo group at the start of 2012. You need to join the groups to receive messages from and post messages to both of these lists.
For H390-MTS go to:
For Hercules-390 go to:
Q11: If someone wants to try running the D6.0A version of MTS using Hercules, how do they get started?A11: Start by reading the following documents that are available in the MTS Software Archive at Bitsavers.org:
The documents listed above plus several others are also available as Web pages or PDF files at:
If you don't know much about MTS, you'll want to look at some of the MTS Volumes. MTS Volume 1 is a good place to start. MTS Volume 2 documents the public files that are available under MTS. MTS Volume 4 contains information on terminal support in MTS including the 3270 display. Some versions of MTS Volume 4 did not include the 3270 description, but the PDF files available at Bitsavers.org and in Deep Blue do. A list of MTS Documentation is available on the MTS Archive Web site: http://archive.michigan-terminal-system.org/documentation. Some of the documentation listed postdates D6.0 (1988). Tutorial and other documents are available online from the Hathi Trust Digital Library, see: http://babel.hathitrust.org/cgi/mb?a=listis;c=1889583521.
If you don't know much about Hercules, you'll want to look at some of the documentation available at http://www.hercules-390.eu/ and you will need a version of a 3270 terminal emulator to use as an MTS Operator's console and as an MTS terminal. See:
When you are ready, follow the instructions in the NEWSYS.txt writeup. A summary of the necessary steps is provided at the end of this FAQ.
http://archive.michigan-terminal-system.org/documentation/documents/MTSD6.0A.cnf. A listing of this file is included near the end of this FAQ.
Q14: When I try to use the $Mount command to mount a simulated magnetic tape, an error occurs. What do I need to do differently?A14: When mounting tapes use the generic tape name "MTS:TAPEn" on the $Mount command where "n" is a digit from 0 to 9.
$Mount MTS:TAPEn 9TP *T* lbltype=VLO vol=volumelabel
$Run *FS 0=*T*
list (n) [n is the number of the file on the *FS tape
that you want to restore]
. . .
Q15: Is everything from the *FS distribution tapes also available on the disk based starter MTS system, once it has been created?A15: No, only some of the items from the *FS tapes are included on the disk based starter system. You can tell which files are on the disk based starter system by looking at the Disk Name field toward the end of a component's entry in the distribution driver file listing (D6.0-LIST.txt). If the Disk Name is blank or if it ends with the suffix @UM, the file is not on the starter system and will need to be restored from the *FS tape, if it is needed/desired.
The distribution driver file listing (D6.0-LIST.txt) is probably the best source of information on how all of the parts of MTS fit together. The listing contains comments about most components and many sub-components, is a directory to other information sources contained in the distribution materials, and shows the tape name and file number for components on the *FS tapes as well as the file names for components included on the starter system disk. The distribution index file (D6.0-INDEX.txt) can be helpful in finding specific items in the distribution driver file listing, but the index does not contain nearly as much useful information as the driver file listing itself.
http://archive.michigan-terminal-system.org/documentation/documents/MTSD6DriverFileListing-April1988.pdf). Text versions of both manuals are also available at http://tech.groups.yahoo.com/group/H390-MTS/files/, but you need to be a member of the H390-MTS Yahoo Group to access them. In addition these files are freely available from the MTS Archive web site, see:
and copies of the PDFs are included in the d6.0A.zip archive
Q18: I can't set the time or timezone and the timezone and timezone offset used by default are EST (Eastern Standard Time) and GMT minus 4 hours. This isn't right for my location. How do you change it?A18: The default values for timezone and timezone offset are configured into the TABLES assembly which is part of the resident system. The external symbol TIMEZONE in TABLES is a halfword integer offset in minutes followed by an 8 byte time zone name. Normally one would update the TABLES source and reassemble it using *ASMH. However, *ASMH is based on the IBM Assembler H Program Product and so was not included in MTS distributions due to license restrictions. The alternative is to patch TABLES. In this case you don't want to patch the running system, but rather add a REP card to the TABLES object deck using the program MTS:RAMROD. There are instructions on "Patching the System Object Deck" on pages 17 and 18 in the D6.0-NOTES.txt file.
Here are the steps for the D6.0A system (with thanks to Ron Frederick), And remember as you work through these steps that the $Info command language subsystem (CLS), RAMROD, and *OBJUTIL all have HELP and/or EXPLAIN commands.
1. Determine the offset in minutes from GMT for your timezone and convert it to a signed twos-complement 16-bit hex value. For negative offsets, you can take 65536 minus the offset and convert that to hex to get the value. For instance, PST is GMT minus 8 hours, which is 480 minutes and so 65536-480 = 65056 = FE20.
2. Determine the EBCDIC values of your timezone name in hex. For instance, the string 'PST' would be D7 E2 E3. The timezone name should be no more than 8 characters and should be padded out to 8 characters by adding space characters (x'40') on the right. An EBCDIC table can be found at: http://en.wikipedia.org/wiki/EBCDIC.
3. Here are some timezone offsets and names in hex for various time zones:
EDT: FF10 C5C4E340404040404. Sign on to the MTS id.
EST: FED4 C6E2E34040404040
CDT: FED4 C3C4E34040404040
CST: FE98 C3E2E34040404040
MDT: FE98 D4C4E34040404040
MST: FE5C D4E2E34040404040
PDT: FE5C D7C4E34040404040
PST: FE20 D7E2E34040404040
5. Enter "$INFO QUERY TIMEZONE" and look for its relative address. You can ignore an error about being unable to define the symbol "PVSYMBOL". In the D6.0A system, you should see output like:
< "TIMEZONE" is an entry point (@005FA2) in csect CNFGINFO (@005E28)
< at relative address 3F8A
6. Enter "$RUN RAMROD" and then "LIST SYSTEMS" and then "LIST CURRENT". In D6.0A, the output should look something like:
# $RUN RAMROD
# Execution begins 20:11:40
Using file "RMRD:ROD"
~ LIST SYSTEMS
D6.0A-AN172 created from AN152 23:05:42 01-17-12
AN152 created from AN062 23:29:05 01-15-12
AN062 created from AN052 01:13:12 01-06-12
AN052 created from D6.0SYS.600/MP 19:49:40 01-05-84
D6.0SYS.NDSK/64 created from D6.0SYS.600/64 14:47:59 04-22-88 (Work System)
D6.0SYS.600/64 created from D6.0SYS.600/4K 14:46:42 04-22-88 (Work System)
D6.0SYS.NDSK/4K created from D6.0SYS.600/4K 14:45:30 04-22-88 (Work System)
D6.0SYS.600/4K created from D6.0SYS.600/370 14:44:31 04-22-88 (Work System)
D6.0SYS.NDSK/370 created from D6.0SYS.600/370 14:43:24 04-22-88 (Work System)
D6.0SYS.600/370 created from NDVLSYS/HG 14:42:34 04-22-88 (Work System)
D6.0SYS.NDSK/MP created from D6.0SYS.600/MP 14:41:35 04-22-88 (Work System)
D6.0SYS.600/MP created from PR228/UM 14:40:24 04-22-88 (Work System)
NDVLSYS/HG has no mother 14:03:31 04-22-88 (Work System)
PR228/UM has no mother 13:47:47 04-22-88 (Work System)
TESTMTS has no mother 11:35:12 04-20-88 (Work System)
SWATMTS has no mother 11:33:53 04-20-88 (Work System)
NULLSYS has no mother 11:33:38 04-20-88 (Work System)
~ LIST CURRENT
D6.0A-AN172 created from AN152 23:05:42 01-17-12
Patch the timezone name and timezone offset in TABLES to be EST
and GMT minus 5 rather than EDT and GMT minus 4. (jco)
7. Use the RAMROD LIST command to get a list of the deck names in a system, something like this:
LIST SYS CUR DECKNAMES
TABLES.MP (AN172) patched changed
. . .
8. Use the following LIST command to see any existing patches in the deck:
LIST SYS CUR DECK TABLES.MP PATCHES
TABLES.MP (AN172) patched changed
REP 004088 0400030001,00000240,00000030,000002A0,00000180 Rearrange OPERDEVS 01:26:36 01-06-12 MTS.
REP 000180 01F1F0F5F2 CON1 IS A 1052 01:26:51 01-06-12 MTS.
REP 003F8A 04,FED4 Make the timezone offset -300 (GMT minus 300 minutes or 5 hours)
REP 003F8C 04,C5E2E340 Make the timezone name "EST"
There are already two patches on 4 REP cards in this version of TABLES.MP. The second patch (the 3rd and 4th REP cards) can serve as an example for patching the timezone offset and the timezone name.
9. You'll need to know the ESDID of the csect to be patched. You can use the program *OBJUTIL to get this information. Use RAMROD's COPY command to put the TABLES.MP deck into a temporary file and then use *OBJUTIL's MAP command to display information about the deck. You already know that TIMEZONE is a symbol within something called CNFGINFO (Configuration Information) from the output of the $INFO command above. So you want to know the ESDID of CNFGINFO in the TABLES.MP deck.
COPY SYS CUR DECK TABLES.MP to -tables
$RUN *OBJUTIL 0=-tables
Symbol Type Esid Address Length AF
Module: TABLES Size = 0041C8
TABLES SD 0001 000000 003E0E $HSPMNDV LD 0040FC 0004
$POOLID LD 0040EC 0004 $PPHOST LD 0040F2 0004
. . .
VMDBXLE LD 004178 0004 CACHINFO LD 003830 0001
CNFGINFO SD 0004 003E10 0003B8 MMDVADRL LD 0034E0 0001
MMDVLSTL LD 003F4C 0004 MMLSTBIT LD 003F58 0004
TABLSEGS LD 004190 0004
10. Run RAMROD again and create a new system from the current system using a command like "CREATE D6.0A-AN172-PST". Enter comments describing the reason you are creating the new system, ending with a blank line.
# $RUN RAMROD
# Execution begins 20:11:40
Using file "RMRD:ROD"
~ CREATE D6.0A-AN172-PST
~ Enter comments:
? Patch the timezone name and timezone offset in TABLES to be PST
? and GMT minus 8. (raf)
11. Enter the command "PATCH DECK TABLES.MP" to patch the timezone value. For the first line of the patch, enter the relative address you got for TIMEZONE above, the number 4 for the Esdid and then the hex values of the timezone offset and timezone name. The hex data should be entered without any spaces. Enter a blank line to end the patch and then a comment string followed by another blank line. Then, answer "OK" to confirm. To patch for PST in D6.0A, it would look something like:
~ PATCH DECK TABLES.MP12. Enter the command "CURRENT" to make the new system into the current system and then "STOP" to exit RAMROD.
~ Address Esdid Text <comments> :
? 3F8A 4 FE20 Signed halfword timezone offset in minutes
? 3F8C 4 D7E2E34040404040 8 character timezone name
~ Enter comments:
? Change timezone to PST, GMT minus 8 hours or 480 minutes.
~ REP 003F8A 04FE20 Signed halfword timezone offset in minutes 20:26:32 01-23-12 MTS.
~ REP 003F8C 04D7E2E34040404040 8 character timezone name 20:26:32 01-23-12 MTS.
13. Then, shut down and re-IPL MTS.
14. On the initial boot, you'll see an extra message warning that the timezone has changed and asking whether to continue or not. Enter "OK" to continue.
Q18a: I've read the instructions on "Patching the System Object Deck" in the General Notes (D6.0-NOTES.txt), but am having trouble using MTS:RAMROD. Can I have some hints?A18a: Sure. The RAMROD writeup is available in the file RMRD:RAMROD*PF. RAMROD has a HELP command. RAMROD works on systems. Systems are made up of an ordered collection of object decks. You can get a list of systems using the RAMROD command LIST SYSTEMS. LIST CURRENT will show you the current system. The RAMROD command CURRENT will make a system the current system, but you don't want to do that until you've created a new system and added your patches. You'll want to create a new system from an existing system (create newsys from existingsys) and make your changes to the new system. The RAMROD PATCH command lets you add one or more REP cards to one of the object decks in a system. You need to know the ESID (usually 1) and the offset within the object deck you wish to patch. You can figure this out from the file SEG2:S2MAP. The MTS commands $PEEK and $INFO can also be used to figure out the offset. When you've finished your modifications, use RAMROD's ANNOTATE command to add any additional comments, rename newsys bettersys (some better more meaningful name), and make the better more meaningful named system CURRENT.
You've found the instructions on patching the system in the General Notes (D6.0-NOTES.txt), but the following comments from the D6.0 driver file (D6.0-LIST.txt) for component 468/007 (RESIDENT SYSTEM UM RAMROD) might be helpful as well:
The following procedures are used in maintaining this file. Whenever a new system is installed i.e., made "current", three things are done:
When someone wishes to change a component, but not install a new system, a new system called "NEWSYS" is created from the current system (if it doesn't already exist) and the desired changes made and noted using the ANNOTATE command. Then when the NEWSYS system is actually to be installed as the running system, the procedure above is followed.
A test system can be created at any time with any name, but when the new components are ready to be installed, they should be put in "NEWSYS" and the test system destroyed.
Q21: I get an error when trying to print to a 1403 printer (HASPLING PTRn: Unrecoverable error - Printer status: 0100 0E00 01:80). How do I work around this?A21: This is a command reject (x'80') caused when the printer tried to skip to an undefined carriage control channel. To avoid the problem, an MTS carriage control tape needs to be defined for the printer. Unfortunately, this is only possible using relatively newer versions of Hercules. As of early January 2012 the new versions were not available without building Hercules from the source in the SVN repository. And newer Windows snapshots may be available at http://www.ivansoftware.com/snapshots/. If you can get access to a newer version (versions 7000 and later have been reported to work, but bugs related to this support have been reported in those versions too), the Hercules configuration command to use to define the carriage control tape is:
addr type filename lpp=66 fcb=1:11,4:1,5:5,8:10,14:6,19:4,24:7,34:2,44:6,49:4,54:7,63:8,66:3 optprint
An alternative that may work with somewhat older versions of Hercules is to include the "nofcbcheck" option. For example:
addr type filename nofcbcheck
If the version of Hercules being used does not support either the fcb= or nofcbcheck option, then you will not be able to print using HASP or *PRINT*. You may be able to print directly to a printer when signed on to MTS using a privileged userid (an id that can $Set prot=off), if you avoid the more unusual MTS carriage control options. Here is an example:
$Copy somefile *AFD*
$Run someprogram SPRINT=*AFD*
Adding the @nocc I/O modifier to an FDname will suppress logical carriage control processing and so might help avoid problematic carriage control at the expense of some formatting on the pages printed. For example:
$Copy somefile *AFD*@nocc
$Run someprogram SPRINT=*AFD*@nocc
Q23: The message "*DWB: IS ANOTHER COPY OF *DWB RUNNING?" appears on the MTS Operator's console followed by an input request. What is the message about and how should I respond?A23: This message should not appear for the D6.0A system. If it does the MTS *-file job *DWB is trying to copy the contents of CMDSTAT (Command Statistics) log files to tape. *DWB is started by *CMD when one of the log file fills up. But a previous version of *DWB appears to still be running. There is some additional information about CMDSTAT in the file D6.0-NEWSYS.txt step 13(C) and more information in the D6.0 MTS Operator's Manual.
Q24: My 3270 terminal session gets signed off from time to time for reasons that are unclear. What is happening?A24: The 3270 Device Support Routine (DSR) will sign you off after a period of inactivity. You can prevent this by issuing the %timeout device command. You can issue that command every time you sign on by placing the command $Control *MSOURCE* timeout=off into a file and establishing the file as your sign on file or sigfile ($Set sigfile=filename).
1) Increase the size of the existing file *SPOOL1 using the command:
$Control *SPOOL1 size=nP
Where n is the new size of the file in 4096 byte pages.
The size of the initial D6.0A spool file is 5000 pages and the maximum size of
an MTS file is 32767 pages or the amount of free space on the disk volume.
2) Shutdown, re-IPL, and do a HASP cold start and format
HASP COLD FORMAT
which will clear any queued jobs and get HASP to use the larger spool file.
If the above doesn't add enough space (it really should), you can add additional spool files by:
1) Creating a new file named *SPOOL2 using the command:
$Create *SPOOL2 size=nP
Where n is the size of the new file in 4096 byte pages.
The maximum size of an MTS file is 32767 pages or the amount of
free space on the disk volume.
2) Add the new spool file by patching TABLES using RAMROD. The list of spool
files is defined at $SPLFILE which is the name of a three word BXLE
vector. The table itself follows immediately after the BXLE vector and
each entry consists of a 6 character volume name followed by a 44
character file name. As assembled TABLES contains one entry with a
spare entry that is all blanks following it. To patch a new file in, add
x'32' to the BXLE end value at $SPLFILE+8 to include the spare entry
and patch the spare entry at $SPFILE+c+32 with the volume and file name.
3) Shutdown, re-IPL, and do a HASP cold start and format
HASP COLD FORMAT
which will clear any queued jobs and get HASP to use the larger spool file.
Q26: I'm trying to submit a batch job to HASP from a card reader, but I see that I need an S-8 card. What is an S-8 card and how do I make some?A26: An S-8 card is the first card in a batch job submitted to MTS or to HASP from a card reader. It has a 0-2-8 over punch in column 1 and also contains a six digit receipt number that identifies the job. S-8 cards were handed out at the input window, used when the card deck was run through the card reader, and then returned to the user with the rest of their cards to serve as a receipt for the job and any printed or punched output it produces. The S-8 card comes immediately before the MTS $Signon command (don't be confused by the Signon card that is used to sign on a remote RJE station, which is something different entirely).
The MTS *-file job *RCP can be used to punch S-8 cards. *RCP is described on page 269 of the D6.0 MTS Operator's Manual.
S-8 cards are only used for batch job input through a card reader, they are not needed for batch jobs submitted using *BATCH*.
If you read from the card reader directly rather than using HASP, you don't need an S-8 card. You can only do this from a privileged userid (an id that can $Set prot=off):
$Get >RDR1 [or whatever the device name of the card reader is, and
if you were using HASP, you need to get HASP to release
the device first]
$Copy *AFD* somenewfile
. . .
PA2 or CNCL is "Cancel"
TEST-REQ is "Pause"
ENTER sends an input line to the system
CLEAR refreshes or rewrites the screen
PF keys are shortcuts that enter predefined character strings
that may or may not be sent to the system as input,
if the lines are not sent automatically, they can be
sent by pressing the ENTER key. Use the %PF?
command to display a list of PF key assignments.
See Q20 above for information on starting a console log printer.
Use the %WRAP ON device command to cause lines on the screen to wrap rather than be truncated on the right. The console log printer will display longer lines without the need to use the %WRAP command. %WRAP OFF will disable long line wrapping at the console.
DT = Delta Time [time in seconds covered by the sample displayed]
EXQ = Execution Queue [number of batch jobs waiting to execute]
PRT = Print Queue [number of jobs waiting to print]
PCH = Punch queue [number of jobs waiting to punch]
BP = Batch Preferred [the number of batch jobs the system would
"like" to be running]
AB = Actual Batch [the number of batch jobs actually running]
BHP = Batch per Hour [average number of batch jobs completed per hour]
AL = Active lines [MTS terminal sessions]
VP = Virtual Pages
RP = Real Pages
DPA = Drum Pages Available [pages available on the high speed
paging devices, rather than disk]
PA = Paging Activity [paging I/O operations per second]
DA = Disk Activity [disk I/O operations per second]
CA = Channel Activity [channel I/O operations per second,
includes DA and a portion of PA as well as
other I/O operations]
%PI = Percent Processor Idle
Q = Global CPU Queue [jobs waiting for the CPU]
TQ = Tape Queue [MTS jobs waiting for one or more tapes
drives to become available]
If a plus (+) sign appears following some of these values, it indicates that that operation is overloaded. An asterisk (*) appears after BP if any of the other items is overloaded (has a plus sign).
Q29: I'm having problems mounting and using simulated magnetic tapes. What is the problem and what can I do to work around it?A29: This was a problem in D6.0 that should be fixed in D6.0A. In D6.0A only 3420 tape drives should be configured and used. MTS D6.0 and D6.0A do not include support for 3480 tape drives and they should not be used with D6.0A.
See also Q14 above.
The procedures to shut MTS down are described on pages 52 and 53 in the MTS Operator's Manual. Basically, you should enter the following commands from the MTS Operator's console:
Wait for the message "Shutdown All complete", then issue the system status command:
Check the output to see if there are any MTS jobs that did not stop, if there are, $RERUN any batch jobs and try to stop non-batch jobs one by one using the STOP job, once all of the jobs are stopped or it is clear that they won't stop, go ahead and stop the Hercules processors (stopall Hercules command) and exit from Hercules or re-IPL.
The *Format source for a writeup is available in component 104/172 (file 547 on d6.0t1). You can produce a formatted version with the command: $Run *Format scards=ACCMAINT*WF sprint=-print. Then $Copy -print to look at the output, or $Copy -print >PTRn to "print" the output, or $Copy -print *Print*, if you have HASP working.
From the userid ACC. $Run ACCMAINT and use a CREATE command to create a new userid (RAF.), with a University account number of 0, with a disk space limit of 10,000 pages, in a new project (WRAF), with several system privileges that might look something like this:
The positional parameters in order are: User ID, University account number, IDR number, Unit code, Expiration time, Max charge dollars, Max disk pages, Max terminal minutes, Max plotting minutes, Project owner's name, and Project number, optionally followed by keyword parameters. All of the keyword parameters set system privileges and IDs with these privileges set must be part of a project whose name starts with the letter W (WRAF in the above example). If you want to create regular user ids rather than system user ids, then the project name shouldn't start with the letter W.
A PDF of the "Accounting in MTS" writeup from 1991 is available in the Internal Documentation sub-section of the Documents page on the MTS Archive. Not sure what, if anything, changed between D6.0 in 1988 and 1991. See:
The user requesting the mount enters:
$Mount MTS:TAPE1 9TP *T* LBLTYPE=VLO VOL=6.0T1
MTS:TAPE1 is the tape name, it is to be mounted on a 9-track tape drive, using pseaudo device *T*, the tape is a volume label only tape with volume serial number 6.0T1 (note that there is no initial "D" in the volume name for this particular tape). The tape is to be mounted read-only (ring out), which is the default. In this case MTS:TAPE1 is a pretty much a made up name for D6.0 and D6.0A that allows the use of tapes that haven't been put through the tape submission process by non-privileged users.
A mount request appears on the MTS console:
00041 MTS KPM0: T (1 9TP) (TAPE1) on 9TP, ring OUT, '' ***********************
In this case the requested mount is from user KPM0. Mount requests are handled in batches from the same user. In this case the batch includes a request for one 9-track tape (1 9TP). When more than one tape is requested at the same time for the same job, the operator only starts to mount the tapes when there are enough free tape drives of the appropriate type to satisfy all requests in the batch. The tape is located in rack TAPE1, another made up location for use with D6.0 and D6.0A. The tape name and the rack location are usually quite different, but in this example they are similar.
Attach the tape file with device 184, if it isn't already associated with a tape drive in the .cnf file, using the Hercules devinit command. In this example the simulated tape file is in the Tapes directory:
devinit 184 Tapes/d6.0t1.aws noring
At the MTS console reply:
OK TAPE1 T904
OK is just one of the possible responses. It says that the tape from rack "TAPE1" has been mounted on the device named T904. The operator gives the tape rack in the reply to help avoid mistakes when responding to many tape mount requests that could appear on the MTS console at the same time.
MTS responds with:
00041 MTS Mount check OK.Mount (TAPE1) TAPE1 on T904 Ring Out
00041 MTS KPM0, TAPE1:Accepted on T904
And, the user receives a message indicating that the tape is ready for use:
# *T* (TAPE1): Mounted on T904
The pseudo device *T* is now ready to use.
To restore files from the *FS tape one could:
$Run *fs 0=*T*
There is more information on:
# Hercules emulator configuration file #
# Version AN302 (30 January 2012) #
# A template for use with MTS D6.0A #
# Adjust this template for use in your own environment
# You'll need to put the D6 files in the right places.
# For D6.0, but not for D6.0A you need to create a
# 3380 disk image before you start using something
# similar to:
# dasdinit -z -a mts600.dsk 3380-1 MTS600
# In general the Hercules device configuration needs to
# match or at least be a subset of the D6.0 version
# of TABLES as described in the following list from
# the D6.0-NEWSYS.txt writeup:
# Device Type Address Device name
# ----------- --------- -----------
# 3287 0000 PTR1
# 3270 0001-0007 DS01-DS07
# 3270 (in D5.0) 0009 CON1
# 1052 (in D6.0A) 0009 CON1
# 2540R 000C RDR1
# 2540P 000D PCH1
# 1403 000E PTR2
# 3270 001F CON2
# 3287 0100 PTR3
# 3270 0101-011F DS21-DS3F
# 3420 0180-018F T900-T90F
# 3330 0200-020F D100-D10F
# 3350 0220-022F D200-D20F
# 3370 0240-024F D300-D30F
# 3380 0260-026F D400-D40F
# 3420 0C70 T920
# 9335 0D00-0D03 D500-D503
# 9335 0E00-0E03 D600-D603
ARCHMODE ESA/390 # includes 370-XA (MTS architecture code "MP")
CPUVERID FF # the value FF here causes MTS to bypass
# its reguests to set the TOD clock
# Adjust the following two values for your local configuration
# MTS does support operation on multi-CPU configurations with
# (in theory) up to 32 processors, although 6 processors is likely
# the maximum number ever used in "real life".
TZOFFSET -0000 # MTS uses GMT for its TOD clock
# YROFFSET is not needed for the D6.0A or D1996.0 versions of MTS.
# For D6.0 uncomment the following parameter.
# YROFFSET -23 # For D6.0, but not D6.0A set the year back to
# avoid time/date rollover issues.
# For D6.0, needs to give dates after D6.0 was
# released in 1988, but before November 1989.
CNSLPORT 3270 # the port that tn3270 sessions will use to connect
###### Device definitions #####
# Display and console devices
# The definition for address 0009 below doesn't match the D6.0
# definition in TABLES, but in D6.0A TABLES is patched to make
# address 0009 a 1052 console/printer and CON1 will be used as
# the MTS Operator's Console log printer with its output directed
# to the Hercules console.
0000 3287 # PTR1, a 3270 data stream printer
0001.7 3270 # DS01 through DS07
0009 1052-C # CON1, comment this line out and
# 0009 3270 # CON1, uncomment this line if you want the
# definition to match the definition
# in the D6.0 version of TABLES
001F 3270 # CON2
0100 3287 # PTR3, a 3270 data stream printer
0101.7 3270 # DS21 through DS27
# Unit record devices
000C 3505 Units/RDR1.txt ascii eof # RDR1
000D 3525 Units/PCH1.txt ascii # PCH1
# Diferent versions of Hercules support different printer options.
# Uncomment one of the following three device definitions for addr 000E.
# The three definitions are listed in order from newest to oldest
# and from best to worst in terms of functionality.
# The fcb= option defines the MTS printer carriage control tape.
# The nofcbcheck option supresses errors (command reject) when
# a skip to an undefined printer carriage tape channel is used.
# If the third (last) option is used, errors will result when
# HASP tries to print its head and tail sheets on the printer,
# effectively making HASP printing unusable.
# 000E 1403 Units/PTR2.txt lpp=66 fcb=1:11,4:1,5:5,8:10,14:6,19:4,24:7,34:2,44:6,49:4,54:7,63:8,66:3 optprint # PTR2
# 000E 1403 Units/PTR2.txt nofcbcheck # PTR2
000E 1403 Units/PTR2.txt # PTR2
# These ten tape definitions are not required for D6.0A
# and may be commented out.
0180 3420 Tapes/d6.0util.aws ro # T900, D6.0 utilities tape
0181 3420 Tapes/d6.0dr1.aws ro # T901, D6.0 IPLable dump/restore tape #1
0182 3420 Tapes/d6.0dr2.aws ro # T902, D6.0 dump/restore tape #2
0183 3420 Tapes/d6.0dr3.aws ro # T903, D6.0 dump/restore tape #3
0184 3420 Tapes/d6.0t1.aws ro # T904, *FS D6.0 distribution tapes #1
0185 3420 Tapes/d6.0t2.aws ro # T905, " #2
0186 3420 Tapes/d6.0t3.aws ro # T906, " #3
0187 3420 Tapes/d6.0t4.aws ro # T907, " #4
0188 3420 Tapes/d6.0t5.aws ro # T908, " #5
0189 3420 Tapes/d6.0t6.aws ro # T909, " #6
018A 3420 Tapes/cmd001.aws # T90A, a CMDSTAT tape for use by *DWB
# Devices 018B through 018F and 0C70 (T90B to T90F and T920) are defined
# as 9TP (3420) tape drives in TABLES and so could be defined here
# Shadow files (sf=) won't be used until the Hercules command "sf+"
# is issued, unless the shadow file already exists or the base and
# shadow files are read-only in which case a new shadow file will
# be created.
0260 3380 Disks/mts600.dsk sf=Disks/mts600_*.dsk # D400
# D6.0 and D6.0A of MTS support single density (3380-1), but not
# double density (3380-2) or triple density (3380-3), 3380 disks.
# New 3380 disks need to be initialized using dasdinit's -a option
# so that the alternate tracks are included. For example:
# dasdinit -z -a mts600.dsk 3380-1 MTS600
# Devices 0200-020F (D100-D10F), 0220-022F (D200-D20F),
# 0240-024F (D300-D30F) and 0261-026F (D401-D40F) are
# defined as 3330, 3350, 3370, and 3380 disks and so
# copuld be defined here.
# Devices 0D00-0D03 (D500-D503) and 0E00-0E03 (D600-D603) are defined
# as 9335 disks in the D6.0 and D6.0A TABLES, but there are bugs in
# the D6.0 and D6.0A 9335 support, so these devices can't be used.
Mike Alexander Jeff Ogden Gavin Eadie
firstname.lastname@example.org email@example.com Gavin.Eadie@umich.edu
Except as explicitly noted elsewhere for specific programs and files, this collection and the individual programs and files that it contains are licensed under the Creative Commons Attribution 3.0 Unported License (CC BY 3.0). This license allows you to use, copy, adapt, share, distribute, and transmit the work provided that you attribute the work by including this copyright statement and the name of the work, version number, volume reference, or date of publication that identifies the work in the copies or adaptations you make.
To view a copy of the full license, visit http://creativecommons.org/licenses/by/3.0/ or send a letter to Creative Commons, 444 Castro Street, Suite 900, Mountain View, California, 94041, USA.