This is the FAQ for using Hercules to create an IPLable MTS D6.0 system from the simulated distribution tapes and then running that system. Post comments and suggestions for improvements to the H390-MTS list, if you are a member or you wish to join, or send them to mts-comments@umich.edu. -Jeff Ogden (W163) FAQ: Creating and running the D6.0 version of MTS under Hercules - Version 1.1 - 7 February 2014This is a summary of some of the issues, questions, and answers that came up on the Hercules-390 and later the H390-MTS Yahoo! e-mail groups in the two weeks or so after the Michigan Terminal System (MTS) distribution materials first became available on Bitsavers. It is written in the form of a Frequently Asked Questions (FAQ) list and the focus is on creating and running the D6.0 version of MTS under Hercules starting from "tape" and following the D6.0 Installation Instructions for New Installations (D6.0-NEWSYS.txt).The hope is to update this FAQ from time to time as new issues arise. Check http://archive.michigan-terminal-system.org/documentation#TOC-MTS-Distributions for updates. Corrections, questions, comments, and suggestions are all welcome. Post them to the H390-MTS e-mail list or send them to mts-comments@umich.edu. Q1 Where is MTS available?A1: The MTS distributions starting with D1.0 (1968) through D6.0 (1988) are available in several tar.gz archives on the Bitsavers Software Archive, see: http://bitsavers.org/bits/univOfMichigan/mts.Q2: What are the terms under which MTS is being made available?A2: MTS is copyright © by the Regents of the University of Michigan acting as agent for the MTS Consortium and is being made freely available under a Creative Commons Attribution 3.0 license (CC BY 3.0, 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.Q3: What is included in the MTS distributions?A3: The distributions include source code, object code, and documentation. There is a README.txt file available in the Bitsavers Software Archive that describes what is available in detail. The README file is also available as a Web page, see http://archive.michigan-terminal-system.org/documentation/mts-distributions.Q4: Do the MTS distributions include everything that was part of MTS?A4: No, the distributions only include the materials that the MTS Consortium was able to distribute free of copyright or license restrictions. This means that various program products are not included. None of the excluded materials are required to use MTS, but the absence of the MTS version of ASMH is a sometimes painful shortcoming since various MTS programs and configuration files can't be reassembled because they depend on the MTS version of ASMH. The MTS version of ASMH was based on the IBM Assembler H Program Product and included SLAC and MTS specific enhancements.Q5: Does MTS run under Hercules?A5: Yes, several people have gotten the D6.0 version of MTS running under Hercules. For information about Hercules, see http://www.hercules-390.eu/.Q6: Is a runnable version of MTS available?A6: No, not quite yet. With a bit of work one can create a runnable version of an MTS starter system based on the D6.0 distribution from 1988. Several people with little or no knowledge of MTS have been successful doing this. And work is being done now to create an IPLable disk based version of D6.0 MTS. It should be available sometime in early January 2012. When it is available, it will allow someone to run MTS under Hercules more or less directly without the need to restore the system from "tape". This system will also fix some of the problems that people have encountered when using the D6.0 version of MTS under Hercules. The rest of this FAQ assumes that this IPLable disk based version of D6.0 is not available or not being used and you are starting with the simulated AWS tapes that are part of the D6.0 MTS distribution available from Bitsavers.Q7: Is D6.0 the latest or final version of MTS?A7: No. D6.0 is the last formal distribution of MTS. It was sent out in 1988. MTS continued to be developed and used at the University of Michigan (U-M) until 1996 and at RPI until 1999. While there is no distribution for later versions of MTS, work is being done now to create an IPLable version of MTS based on the system that was running at U-M in 1996 shortly before MTS was shutdown for the last time. While we don't know exactly when that version of MTS will be available, there is hope that it will be sometime in the first half of 2012.Q8: What are the differences between the D6.0 and the 1996 versions of MTS?A8: There isn't a complete list of the differences, but here is a partial list.The 1996 version:
Q9: Should someone wait for the 1996 IPLable version or start working with the D6.0 version 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: http://tech.groups.yahoo.com/group/H390-MTS/. For Hercules-390 go to: http://tech.groups.yahoo.com/group/hercules-390/.Q11: If someone wants to try building a run-able version of MTS from the D6.0 distribution tapes 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:
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 http://archive.michigan-terminal-system.org/discussions/mts-today/3270terminalemulators for more information. 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. Q12: What does a Hercules configuration file to run MTS look like?A12: A sample Hercules configuration file is available at http://archive.michigan-terminal-system.org/documentation/documents/MTSD6.0.cnf. A listing of this file is included near the end of this FAQ.Q13: While trying to use the MTS command $Permit, a program interrupt occurs (PRMT program interrupt. PSW = 071D0001 6022E06E). How does one work around this?A13: The program interrupt is caused by a signed halfword overflow, days since March 1, 1900 rollover bug that manifests itself on or after November 16, 1989. For now the only solution is to set the TOD clock back to a date prior to November 16, 1989, possibly using Hercules' "YROFFSET -23" parameter. To learn more about the bug, see: http://archive.michigan-terminal-system.org/discussions/y2k-issues.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: Some people have reported getting the message "System error in mount" when trying to use the $Mount command to mount a simulated magnetic tape. Others have reported other errors at different times with different commands. There are two or three things that can be done.First, correct a file permission problem on the D6.0 starter system. $Signon on to the userid ETC. and issue the following $Permit command: $Permit etc:tapemaster full sys, rw (Pkey=*SYS.MOUNT, Pkey=*TAPES, Pkey=*TAPERETRIEV), default p=w? Second, when mounting tapes use the generic tape name "MTS:TAPEn" on the $Mount command where "n" is a digit from 0 to 9. For example: $Mount MTS:TAPE1 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] restore (n) . . . stop $Release *T* where: * MTS:TAPEn is a generic tape name on the D6.0 starter system that allows non-privileged users to mount tapes that haven't been submitted using *TAPESUBMIT; * volumelabel is the tape's volume label; and * lbltype=VLO should only be used for Volume Label Only tapes, which the D6.0 *FS tapes are. Some people have reported problems using tapes with "the ring out", but say that everything works OK with "the ring in". Others have reported no problems with either ring in or out. Third, see also Q29 below. 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.Q16: How does one get items off of the *FS tapes that are used to distribute MTS components?A16: Once you have a running version of MTS, you can $Mount the tapes and run the *FS program. See MTS Volume 1 for a description of the $Mount command and MTS Volume 2 for a description of the *FS program. MTS Volume 19 has the most detailed information on using magnetic tapes in MTS. You can also extract items from AWS format simulated tapes including *FS format tapes without running MTS by using the lbltp program that is available in the MTS Software Archive at Bitsavers.org. The README.txt file has more information about the lbltp program, the distribution process, and the distribution driver file.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. Q17: Where do I go to find the D6.0 MTS Operator's Manual?A17: The D6.0 MTS Operator's Manual and the HASP Manual are available on the D6.0 *FS tapes. See the D6.0 distribution driver file listing for details (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: http://archive.michigan-terminal-system.org/documentation#TOC-MTS-Distributions.Q18: I can't set the time or timezone and the timezone and timezone offset used by default are EDT (Eastern Daylight 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 REP cards 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 to follow (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 C5C4E34040404040 4. 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". 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". The output should look something like: # $RUN RAMROD
# Execution begins 20:11:40 Using file "RMRD:ROD" Proceed. ~ LIST SYSTEMS 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) 7. Use the RAMROD LIST command to get a list of the deck names in a system. If you have already created a new system and made it current, use that in place of D6.0SYS.NDSK/MP below. Something like this:
LIST SYS D6.0SYS.NDSK/MP DECKNAMES
CONFIG.CARD.MP (DEC08-86) CONFIG.CARD.COMMENTS (AUG16-85) LOWCORE.DEFS.MP (SEP11-87) SEG0.NCA (SEP17-81) UMLOADTV (NOV20/79) TABLES.MP (CT148) ASTATSUB (03-19-73) . . . ENDSEG2 (2SEPT-76) LDT.CARD (NONE) 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 D6.0SYS.NDSK/MP DECK TABLES.MP to -tables STOP $RUN *OBJUTIL 0=-tables MAP 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 STOP 10. Run RAMROD again and create a new system from the current system using a command like "CREATE D6.0-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" Proceed. ~ CREATE D6.0-AN172-PST FROM D6.0SYS.NDSK/MP ~ Enter comments: ? Patch the timezone name and timezone offset in TABLES to be PST ? and GMT minus 8. (raf) ? ~ Done.
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.MP ~ 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. ~ OK? OK ~ Done. 12. Enter the command "CURRENT" to make the new system into the current system and then "STOP" to exit RAMROD. 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. RAMROD on the D6.0 starter system doesn't have a current system initially, because there were several different resident system versions from which to choose (there are 4 possibilities: XA and 3 flavors of 370). 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:1. The name of the system installed is changed to the "model number" of the date it is installed, e.g. "AY108" for May 10, 1978. [2nd and 3rd letters of the month name, two digit day of the month and one digit year.] 2. The system installed is made the current system. 3. The oldest system is deleted so that there are about five systems, the current one and the four preceding. 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. Q19: I cannot use *PRINT* or *BATCH*. What needs to be done to make them available?A19: The first time you use the spooler, HASP, it needs to be started by entering "HASP COLD FORMAT" at the MTS Operator's Console. Once a cold start has been done, subsequent IPLs can do a warm start (HASP WARM or just HASP). Once HASP has started, enter "MTS *HSP" followed by the HASP command $RELEASE EX at the MTS Operator's Console. You may wish to tailor *HSP to your local configuration as outlined in step 13(A) in the D6.0-NEWSYS.txt instructions. Use "MTS *HPS" to display HASP status.Q20: Does HASP support 3287 printers? What printers can be used as the MTS console log printer?A20: No, HASP does not support 3287 printers. A 1403, 3211, 1052, or 3287 printer may be used as the MTS Operator's Console log printer. In order for a 3287 printer to work, it must be associated with a tn3287 session. Some tn3270 software includes tn3287 emulation. Issue the %PTR name device command from the request area at the bottom of the MTS Operator's Console to start a console log printer, where name is the MTS device name for the printer to be used. Use the %PTR NONE device command to terminate console logging and release the printer.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 currently available versions of Herculies 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: $Get >PTR2 $Copy somefile *AFD* $Run someprogram SPRINT=*AFD* $Release *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: $Get >PTR2 $Copy somefile *AFD*@nocc $Run someprogram SPRINT=*AFD*@nocc $Release *AFD* Q22: Does MTS include a link editor?A22: Yes, but the use of a link editor is optional. The MTS loader is a dynamic linking loader that will load output from compilers and assemblers directly. You can use the MTS programs *LINKEDIT and *OBJUTIL to optimize object modules so that they load somewhat faster, but that is the only advantage to using the programs. The programs are described in MTS Volume 2 and MTS Volume 5 contains additional information about the programs, the MTS loader, and MTS object modules.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: The MTS *-file job *DWB copies the contents of CMDSTAT (Command Statistics) log files to tape. *DWB is started by *CMD when one of the log file fills up. There is a bug that prevents *DWB from running to completion and so the next time a version of *DWB starts up it appears that the previous version is still running. Until the bug is fixed, the simplest thing to do is to simply respond "yes" which will cause the new version of *DWB to terminate. *CMD will continue to log information to disk files. Eventually, all of the available files may become full and you might need to sign on to the userid SYS., check the file SYS:CMDDIR, empty the full files, and adjust the lines in SYS:CMDDIR to indicate that the files are no longer full. There is some 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).Q25: If your HASP spool space fills up, what can you do?A25: There is a relatively small amount of HASP spool space allocated on the D6.0 starter system. You can increase that by:1) Increasing 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] $Create somenewfile $Copy *AFD* somenewfile . . . $Release *AFD* Q27: What do the various PA, PF, and other keys on the MTS 3270 Operator's console do?A27: PA1 stops system status output (output from a /xxx command)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. Q28: How is the MTS Operator's Console used?A28: The screen has five areas: (1) the top two lines display system status load information; (2) the third line displays a list of status alerts and may be empty; (3) a message area in the middle displays messages and input requests from running jobs; (4) a request area near the bottom is used to: (i) start new jobs by entering the job name followed by zero or more parameters, (ii) enter HASP commands which start with a dollar sign ($), (iii) enter system status commands which start with a slash (/), and (iv) enter device commands which start with a percent sign (%); and (5) the last line where the "host" name, machine type, time, and date are displayed. See pages 325 to 335 in the D6.0 MTS Operator's Manual for more detailed information.See Q20 above for information on starting a console log printer. Q28a: What does the information on the two lines at the top of the MTS Operator's Console mean?A28a: This is the system status load information. There is a description on pages 462 and 463 in the D6.0 MTS Operator's Manual. There is also a description of the load line as part of the description of the $Systemstatus command in MTS Volume 1.DT = Delta Time [time period covered by the sample displayed in seconds] 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?MTS D6.0 includes support for 3420, but not for 3480 tapes. Never-the-less, several people have reported success defining some drives as 3420s and others as 3480s in their .cnf file, assigning the same simulated tapes to more than one drive, and using the 3420s for IPL and for loading the starter version of MTS from tape and then using 3480s for everything after that. Others have reported success using 3420s for everything and problems when using 3480s. This issue has been tracked down to a bug in Hercules' 3420 support and to differences in the Hercules 3480 support depending on which release of Hercules is being used. A fix for the 3420 problem in Hercules has been posted to the H390-MTS list, but is not available in any of the currently available pre-built versions of Hercules. There is a possibility that this problem can be patched in the D6.0A version of MTS, when that becomes available.See also Q14 above. Q30: Is it important to shut MTS down before exiting from Hercules? How does one shut MTS down?A30: Yes, it is important to shut MTS down gracefully before you stop the Hercules processor(s) on which it is running and before you exit from Hercules. If this is not done, there is a fairly small risk that portions of the MTS file system may be left in an inconsistent/corrupted state.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: $Hold Ex Wait for the message "Shutdown All complete", then:MTS *DRN SHUTDOWN ALL /t m Q31: How does one create new userids?A31: You use the program ACC:ACCMAINT, one of the more arcane programs in MTS.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: CRE RAF.,0,,,,,10000,,,,WRAF,LIBRARY=ON,PRIV=ON,PROTECT=ON,PASSWORD=xxxxxxx 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: http://archive.michigan-terminal-system.org/documentation#TOC-Internal-documentation. Q32: How does one change the password for an existing userid?A32: You can reset a password by signing on to the userid WPSW and running the program Program1. If you give it a userid, it will assigna new random password to that id. Q33: How does the operator respond to $Mount requests?A33: Here is a complete example of mounting the d6.0t1.aws simulated tape on drive 184 (T904):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:
A sample Hercules configuration file for use with MTS D6.0This file is available at http://archive.michigan-terminal-system.org/documentation/documents/MTSD6.0.cnf.######################################### # Hercules emulator configuration file # # Version AN302 (30 January 2012) # # A template for use with MTS D6.0 # ######################################### # 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") CODEPAGE 819/037 CPUSERIAL 000611 CPUMODEL 3090 CPUVERID FF # the value FF here causes MTS to bypass # its reguests to set the TOD clock MAINSIZE 128 XPNDSIZE 0 # 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". NUMCPU 1 MAXCPU 1 SYSEPOCH 1900 TZOFFSET -0000 # MTS uses GMT for its TOD clock # YROFFSET is needed for D6.0, but not for the D6.0A or D1996.0 versions of MTS. 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 OSTAILOR QUIET ###### Device definitions ##### # Display and console devices # The definition for address 0009 below doesn't match # the D6.0 definition in TABLES, # but if TABLES is patched to make address 0009 a # 1052 terminal/printer you can use CON1 as an # MTS Operator's Console log printer and have its output # appear on 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 # Tapes 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 # Disk(s) # 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. # END Initial steps to install the D6.0 version of MTS from tapeThere are some screen shots available that show many of these steps, see: http://archive.michigan-terminal-system.org/documentation/screenshorts-of-d6-0-and-d6-0a-under-hercules. Some of these screen shots are from a D6.0 system, but others are not. Those that aren't from an actual D6.0 system may still be helpful, but they will differ somewhat from what would appear when working with an actual D6.0 system.The numbers to the left are the step numbers from the D6.0-NEWSYS.txt writeup: 1. Start Hercules using the Hercules configuration file given above. 1a. Open a tn3270 connection on 01F for the MTS Operator's console. 2. Type "ipl 181" on the Hercules console. 2a. Answer "no" to the question "Do you want to run the current system" on the MTS Operator's console. 2b. Enter "run name=*ipl.mp.ndsk addr=180" on MTS Operator's console. MTS is now running from tape. 2c. At this point, if more than one tn3270 display was configured and running, it is possible that the MTS console will switch from one display to another, so if you do not see any further output on the console you were using, check all of the tn3270 sessions. 2d. At this point, if you wish and one has not started automatically you may start an MTS console log printer using the %PTR command as described in Q20 above. 2e. See questions Q27 and Q28 above for information on the MTS Operator's console. 3. MTS will display the local time and ask if it is OK. 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 Daylight Time (EDT) which is GMT minus 4 hours. This isn't ideal, but can only be fixed by patching TABLES as described in question Q18 above. 4. When MTS complains about a missing MTS600, just reply CANCEL. 5. Start the Job Status Master job by typing JOBS MAS on the MTS Operator's console. 6. Open a tn3270 connection on 101 for an MTS 3270 terminal session. 6a. Type MTS NDSK DS21 on the MTS operator's console to start an MTS terminal session on 101 (DS21). 6b. The MTS logo appears on 101 (DS21). 7. Sign on to MTS with the userid MTS. and password MTS. (with the trailing dot). 8. Issue the following MTS commands and data: $Get >T900 $Control *AFD* VOLUME=MTSUTL 9. $Control *AFD* POSN=DASDI $Run *AFD* PROT=OFF D400 MTS600 VX 1 IPL $ENDFILE 10. $Control *AFD* POSN=DISKCOPY $Run *AFD* PROT=OFF TAPE >T901 >T902 >T903 DISK D400 MTS600 IPL $ENDFILE 11. See question Q30 above for information about shutting MTS down. You didn't start HASP, so you can skip the $HOLD and MTS *DRN steps from Q30. Stop your machine (Hercules stopall command) Enter the Hercules command sf+ to start using the shadow disk file, and 11a. IPL from address 260 The D6.0 system should now be running from disk. 11b. At this point, if more than one tn3270 display was configured and running, it is possible that the MTS console will switch from one display to another, so if you do not see any further output on the console you were using, check all of the tn3270 sessions. 11c. At this point, if you wish and one has not started automatically you may start an MTS console log printer using the %PTR command as described in Q20 above. 11d. See questions Q27 and Q28 above for information on the MTS Operator's console. 12. 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 Operators Manual. Once you see the message "MTS PEEK initialization complete" system initialization is complete and you can: start HASP, start MTS *HSP, "let out the lines" by starting MTS *LAS (line adapter start), start individual MTS jobs on 3270 displays using MTS DSnn, and pretty much anything else you want to do. 13-A. Before you start HASP for the first time, see question #25 from earlier in this FAQ. When you start HASP for the first time use the command "HASP COLD FORMAT". Subsequent starts can use the command "HASP WARM" or simply "HASP". 13-B. This step is optional, you may or may not need to change *LAS. 13-C. This step is optional, but see the information about CMDSTAT in question Q23 from earlier in this FAQ. 13-D. This step isn't possible since ASMH is a licensed program product and not included as part of D6.0. 13-E. This step isn't possible without ASMH, but see question Q18 from earlier in this FAQ. 13-F. This step is optional. One disk will probably be enough for many people. 13-G. This step isn't possible without ASMH, but you may have already done part of this in step 13-A, if you followed the suggestion from question #25. 14. It is a good idea to read over this step. 14-I. This step is optional and most people don't need or want to install real rates. 15. See Q14 and Q29 before you try to use the $Mount commands or simulated magnetic tapes in MTS. 16. See question Q30 above for information about shutting MTS down. 17. To restart MTS, go back to step #11a above. |
Documents >