5 posts

Up and running 4 - Shutdown and where to next

After you have finished using MTS you should shut the system down cleanly. The final part of this guide shows how to do this and what to do next.


Switch back to the 3270 operator's console (the picture below shows this on the right with the Hercules console on the left).

First you need to stop the HASP batch system. Enter $HOLD EX and then $DRAIN SYSTEM to prevent new jobs running and complete those that are in progress. Output should look like the below.


Next, get MTS to shutdown all terminals and operator jobs with SHUTDOWN ALL. This will take a few seconds to run and will print a message when complete. Type /t m to check if any tasks are still running; if there are not then it will report specified jobs not found like the below. If it does report jobs running see question 30 in the distribution FAQ.


Now switch back to the Hercules console and type stopall to stop the emulated CPUs and quit to exit Hercules.

Where to go next

When you want to start MTS again follow the steps in part 2 of this guide.

The FAQ included with D6.0A has answers to many of the questions you will have when first running MTS, such as how to install more software or add a user ID.

The original documentation included with D6.0 is also interesting

  • D6.0-MTS-DOC.txt gives a high level overview of MTS.
  • D6.0-LIST.txt has information about extra software and files on the distribution tape. D6.0-LOG.txt.
  • D6.0-NEWSYS.txt contains instructions on how to set up MTS from scratch - aimed at original mainframe installations but section 13 is also useful for Hercules operation of MTS.
  • OperatorsManual-MTSD6.0-1988.pdf is the original operator's manual used at UM - the sections on how to use the operator's console will be useful and it's also interesting to learn how it was operated as a production system.
  • HASPManual-MTSD6.0-1988.pdf describes how to operate the HASP batch scheduling system in more detail.

The MTS Volumes at the MTS Archive are the official documentation for MTS and are well worth a read. Note that some of these post-date the D6.0 distribution so there will be minor differences in operation. The following volumes are especially useful when starting out with MTS:

  • MTS Volume 1: The Michigan Terminal System
  • MTS Volume 2: Public File Descriptions
  • MTS Volume 4: Terminals and Networks in MTS
  • MTS Volume 18: The MTS File Editor
  • MTS Volume 19: Magnetic Tapes

The End

I hope this series of posts has sparked your interest in MTS and will lead to you exploring more. In future posts I will look at some tips and tricks in getting MTS to bend to your whim.

If you have any comments or problems getting MTS to work please leave a comment and I will try to help.

Up and running 3 - Using MTS

Once you have booted the system you can now use MTS. This part of the guide will show you how to sign on as a user and the basics of interactive usage of MTS.

Sign on to MTS

Switch to the user 3270 console and enter signon st01. User st01 is one of the regular user IDs set up as part of the distribution.


Enter the password at the next prompt; the password is the same as the user name st01. You can ignore the message about the previous login attempt as this appears to be a side-effect of the distribution..


The distribution comes with a set of regular user IDs, st01 to st09, password the same as the user name, and shared IDs with greater privileges such as mts or acc. For shared IDs you login with the ID eg mts, password aardvarks; the system will then prompt for a secondary signon with ID? to which you should enter one of the regular IDs such as st01 and its password at PW?.


Privileged IDs can get direct access to hardware and system files. For this session we do not need this so just sign on as st01 for now.

MTS commands

For this first session, let's look at some simple commands to put text in a file and display it on the screen.

Some important differences between files on MTS and other systems such as Windows or Linux:

  • You need to create a regular file explicitly with the $create command before using it.
  • Files are by default structured as a series of numbered lines rather than containing an arbitrary sequence of characters
  • There is no concept of directories in MTS. Each user effectively only has a single place to put files. It is possible to grant access to your files so other users can access them.

So first let's create a file called alpha. At the # prompt enter $create alpha; the output should be as below.

# $create alpha
  File "ALPHA" has been created.

Note that filenames and commands are not case sensitive; you could have also typed $CREATE Alpha. You can also leave off the $ when typing MTS commands

Next, let's put some text into the file. To do this, rather than using a text editor, we will just take input from the keyboard and copy it to a file. To do this we can use the $copy command with *source* as the first parameter; *source* is a pseudo-device representing the keyboard in interactive sessions.

# $copy *source* alpha

Note that the prompt now changes to > to denote that the system is taking keyboard input inside a command. Enter some lines of text and end by typing $endfile which acts a special marker to tell MTS to stop taking input.

> Hello World!
> Welcome to MTS
> $endfile

Now let's display the file you have created using the $list command. Note that the line numbers are displayed.

# $list alpha

       1     Hello World!
       2     Welcome to MTS

To show information about your files, similar to dir on Windows or ls on Unix, use the filestatus command. As this is a lot to type, we can use the facility in MTS that allows you to abbreviate command names - in this case we can type fi instead of filestatus.

# fi alpha
  ALPHA             Type=Line, IdleDays=36525, RPM=0, UseCnt=3, Owner=ST01, 
   Create=Jun17/14, LastRef=Jun17/14, LastCatalog=Jun17/14, 
   LastData=09:38:32 Jun17/14, FullAccess=Unlim Owner, None Others 

Typing fi or filestatus without a filename would list all the files under the user ID.

Finally, let's remove the file using the $destroy command. MTS will prompt for confirmation.

# $destroy alpha
  File "ALPHA" is to be destroyed.  Please confirm:
? yes

Your session so far should look similar to the below screenshot.

Using MTS

Getting help

MTS has a comprehensive built-in help system - type $help to access.


Use the numeric options at the bottom of the screen to navigate between pages - so in this case to look at MTS commands you would enter 3.

The 3270 terminal special key PA2 can be used to learn more about the help system itself. If an entry has more than one page you can use the + or - keys (followed by the Enter key) to navigate. Use the 3270 terminal PA1 key to exit.

Running other commands

Apart from the built-in MTS commands, such as $destroy or $copy you can run other programs on the system. Many of these programs are available as public file IDs which start with a *. To run these you use the MTS $run command followed by the program. Below we show a simple heads-or-tails guessing program with the public file name *coinflip.


Signing off

When you've finished using MTS type $signoff. MTS will print a summary of the CPU, disk and other resources used during the session before returning to the signon screen. Note that when run on a real mainframe there would be a charge for all resources used which would make you careful about what you consumed - but on your own PC everything is free.


Next steps

You can sign on and try more commands; you can also start other 3270 terminals and sign on.

Move on to part 4 of this guide to learn how to shut down MTS safely.

More information

The chapter 'A Brief Overview of MTS' in Volume 1 of the MTS documentation on Bitsavers is a good short tour of MTS and using the system.

Up and running 2 - Booting the system

OK, you've got the software and files installed in part 1. You can now boot the system for the first time.

Start Hercules and a 3270 console

  • Go to the d6.0A directory
  • Start Hercules
  • The Hercules console should appear and show it has recognised the tapes and disks mentioned in the config file
  • Start a 3270 terminal emulator and connect to localhost:3270. This will act as the MTS operator's console. It will display the Hercules logo to show it is connected to Hercules but no operating system is running on the emulator.
  • The screen should now look something like the below; here I have the Hercules console on the left and the operator's console on the right.


Boot from the emulated disk

  • From the Hercules console, issue the command ipl 260. IPL stands for Initial Program Load and will tell the emulator to boot from the disk known as device 260.
  • If everything is working correctly, a message should appear on the 3270 terminal asking if you want to load the system.


Start the boot process

  • Switch over to the 3270 operator's console - all commands from this point on should be entered there rather than the Hercules console unless otherwise specified.
  • Type yes to the prompt on the 3270 console
  • A message may appear warning about the time difference since the last boot. Enter ok to accept and continue.
  • You will be prompted to enter your initials and a reason for booting - you can put anything here.

boot step 2

  • More messages will appear as the system boots. Eventually it will stop and ask you to check offline devices with this message:
00007 MTS ** Just cancel after you have checked the offline devices.  


  • This is expected as you do not have (or need) all the disk drives on the system specified in the distribution. To cancel, press the PA2 key on the 3270 operator's console. Where to find this depends on the emulator - on tn3270 text terminals it may be Control-A followed by 2; on x3270 terminals try Alt-2 or use the keypad available by pressing the toolbar button on the top right of the terminal.
  • If that worked, the following message will appear:
*** Cancelled ***
  • Wait for the boot process to complete - the final message should be
00019 MTS PEEK initialization complete  

Start the batch scheduler and user terminals

  • On the 3270 terminal, type HASP to start the batch scheduler and then MTS *HSP
  • Start a second 3270 terminal and connect to localhost:3270. This will act as the user terminal.
  • On the operator console, type MTS *LAS to activate the terminal.
  • The screen should now look like the below; I have the user terminal to the left of the operator console. terminal up
  • On the operator console, type $RELEASE EX to allow the batch scheduler to start jobs.

Ready for use

Congratulations, you now have a running MTS system! Move on to the next section for a brief tour of how to use MTS.

More information

Take a look at the file README-D6.0A.txt in the D6.0A distribution if you have problems during the boot process or want to learn more about what it is doing. This is also available online at the MTS archive.

I've also written a more detailed look at the start-up process in this post.

Up and running 1 - Installation

This part of the guide will show you what programs you need to install and what files to download to get your MTS system running.


You will need to install the Hercules S/370 emulator and a 3270-compatible terminal emulator.



The Hercules S/370 emulator is needed to run MTS. Go to the Hercules web site to download the latest version - source code is available for Unix derivatives and prebuilt binaries for Windows.

I would recommend you get the latest version (currently 3.10) as previous versions have an issue that prevent batch printing working correctly.

Prepackaged versions are available for Linux, eg Debian and Ubuntu, but these tend to be older versions so best to get the source code and compile it yourself on these platforms.

Follow the installation procedure to get the source or binaries installed. You do not to follow the configuration or DASD creation procedures using this guide.

3270 terminal emulator

IBM 3270 -

From "IBM 3277 Display" by Gavin Eadie - Licensed under CC BY-SA 1.0 via Wikimedia Commons.

The IBM 3270 terminal acts as the operator's console and for user signon sessions. Unless you have an old one lying around, you will need to install an emulator that can connect to Hercules.

The MTS archive has a good guide on what emulators are available - pick one for your platform.


You will need the D6.0A MTS distribution, the virtual tape files from the D6.0 distribution and the up-to-date Hercules configuration file.

MTS D6.0A distribution

MTS was distributed as sets of tapes; the latest version was D6.0 from 1988. D6.0A is an updated, packaged, version of D6.0 that includes bug fixes and minor changes to get it running smoothly on Hercules. Work is underway to get a bootable version of MTS from the time it was shut down in the 1990s, but for now D6.0A is the latest available.

Download D6.0A from the MTS Archive

Unzip the file and cd to the mts/d6.0A directory.

MTS D6.0 tape files

The D6.0A distribution only contains enough to get a bootable version of MTS; to install other software from the distribution you will need the tape files from D6.0. Get this from Bitsavers

Unpack this somewhere else and copy mts/d6.0/*.aws to your mts/d6.0A/Tapes directory created in the previous step

Updated Hercules config file

The version of the Hercules configuration file in D6.0A has a minor bug; pick up the latest version of the file fixing this from the MTS archive.

This file is enough to get MTS started but there are many options that can be tweaked. The only change I'd recommend to make now is to enable printer support if you have Hercules 3.10 or later; search for PTR2, uncomment the first line and comment out the next two lines with # as below

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

Copy this file to mts/d6.0A, overwriting the previous version of hercules.conf, eg:

cp /path/to/MTSD6.0A.cnf hercules.cnf  

Both D6.0 and D6.0A include a directory mtsDistDocs containing useful information which you should save elsewhere to read later.

Ready to boot

If you've completed the above steps, the contents of your d6.0A directory should have at least the following files:


If so, you are ready to move on to the next stage - booting the system for the first time.