Obtaining the DOS/VS operating system

Running DOS/VS under VM/370 under hercules

The best way to obtain a working copy of DOS/VS is to follow the tutorial on the YouTube moshix channel on installing DOS/VS under VM/370, which does of course mean you end up with a working VM/370 system as well.

I would recomend following the above tutorial however as it covers all the commands needed on the DOS/VS side to get that system up and running.

As I found it difficult to locate the references googled in the tutorial to locate the needed files (search results have changes since the tutorial was made so they are harder to find) I have put those links here.

When it is up and running I would also recoment watching the video covering the additional steps needed to get the PL1 and COBOL compilers working, even if you do not intend to use them. The reason for that is this tutorial covers how to edit the VM/370 directory entries to add an extra physical-address/virtual-address mapping and change the default directory profile being used. That is important should you wish to keep using VM/370 as it covers additional maint userids needed and the steps involved in doing so.
The directory in the VM/370 system used to run DOS/VS also has definitions for mvs38j (tk3 I think) that you will want to customise if you want to move any running mvs3.8j system under VM/370 as well.
Another reason you may want to watch is you might want to look at the directory entries to find the device numbers DOS/VS expects to be using should you want to run it under hercules without having VM/370 wrapped around it.

And from the DOS/VS side that second tutorial covers how to change unit assignments on a per DOS/VS batch job or per DOS/VS partition which you will need to do should you actually wish to use the compilers.

Running DOS/VS under hercules without the VM/370 wrapper

It is recomended to run it under VM/370 simply because it is interactive, in that VM/370 CMS users can edit jobs, and spool them to the DOS/VS system virtual/assigned card reader for execution.

It is important to remember DOS/VS is a batch only system with no interactive interfaces other than the console which is really only used to start POWER and the partitions (initiators) used to run jobs submitted from the card readers. If you are happy with that it can be run under hercules as a discrete environment (without the need to wrap vm/370 around it).

This is a hercules configuration that will work; based upon the directory layout used in the VM/370 tutorials above.

###############################################################################
# Hercules configuration file for the DOS/VS "Five Pack 1.0 full" system      #
###############################################################################
# Archmode of S/370 allows for 24-bit addressing only 
# I/O instructions.
ARCHMODE        S/370
#CNSLPORT        3277		#  not the usual 3270 of hercules 
CNSLPORT        3270		#  not the usual 3270 of hercules 
CODEPAGE        437/500
CPUMODEL        3148
CPUPRIO         0
CPUVERID        FD
CPUSERIAL       007777
DEVPRIO         0
DEVTMAX         0
DIAG8CMD        ENABLE
ECPSVM          NO
HERCPRIO        8
#HTTPPORT       8081
MAINSIZE        0004		# 4 mb of storage real
NUMCPU          1
OSTAILOR        QUIET
PANRATE         FAST
PGMPRDOS        RESTRICTED
XPNDSIZE        0
# Next we define the devices attached to our system.
# Card Reader   the file "card.txt" in the IO directory will be read.
002C    3505    IO/card.txt ascii eof trunc
# this card reader to be used with HercRdr to submit jobs anywhere in Windows
000C    3505   3505 sockdev ascii eof trunc 
# Card Punch    anything you punch will be written to "punch.txt" in the IO
#               directory.
000D    3525    IO/punch.txt ascii
# Printers      anything you print will be written to "print1.listing" or
#               "print2.listing" in the IO directory.
000E    1403    IO/print00E.listing  crlf
# this printer to be used with HercPrt  (windows only utility)
002E    1403    1403 sockdev

# Master console interface options
# The Operator's Typewriter Console, accessed from the Hercules window.
001F    3215-C  NOPROMPT
# Or comment out the above and use a telnet interactive connection
# to port 3270 to enter all the commands in the rc file to start
# the system (renaming out the hercules.rc file so it does not try
# and run the commands in it of course, as with the console on
# a telnet session instead of the integrated console the rc commands
# will all fail).
#001F    3215

# BSC lines connect to other hosts (future plans)
# 0070   2703 dial=no lhost=127.0.0.1 lport=10040 rhost=127.0.0.1 rport=10041
# 0071   2703 dial=no lhost=127.0.0.1 lport=10041 rhost=127.0.0.1 rport=10040
# 0072   2703 dial=no lhost=127.0.0.1 lport=10042 rhost=127.0.0.1 rport=10043
# 0073   2703 dial=no lhost=127.0.0.1 lport=10043 rhost=127.0.0.1 rport=10042

# Display Terminals... these are defined as 3277s.
 0080    3270
 0081    3270
 0082    3270
 0083    3270
 0084    3270
 0085    3270
 0086    3270
 0087    3270
#
# Tape Drives
 0280    3420    tape/work280.aws	# used as re-usable work file for SYSPCH
 0281    3420    tape/work281.aws    # used as re-usable work file 
 0282    3420    * 
 0283    3420    * 
 0284    3420    * 
 0285    3420    * 
 0286    3420    * 
 0287    3420    * 

# DOS/VS disks
0360    3350   Disks/DOSR34.3350.CCKD ro sf=Disks/Shadows/dosvs_dosr34_
0361    3350   Disks/PWRR34.3350.CCKD ro sf=Disks/Shadows/dosvs_pwrr34_
0362    3350   Disks/WORK01.3350.CCKD ro sf=Disks/Shadows/dosvs_work01_
0363    3350   Disks/VSAM01.3350.CCKD ro sf=Disks/Shadows/dosvs_vsam01_
0364    3350   Disks/OPTLB1.3350.cckd ro sf=Disks/Shadows/dosvs_optlb1_

This is a hercules.rc file that will bring the system up (most of the time, cannot guarantee partitions start in expected orders).

* Hercules runs the commands in this file upon startup.
* Bring the DOS/VS five pack system system to a fully active state
* IPL device is 360
pause 4
ipl 360
pause 10
/
pause 3
* Replying to supervisor name
/$$A$SUP1
pause 3
/
pause 5
* 'set' for time
/set
pause 5
* 'dpd' for page datasets
/dpd
pause 5
* 'keep'ing page datasets
/keep
pause 5
* stop of bg 
/stop
pause 5
* batch f1 and start power in f1
/batch f1
pause 5
/assgn sysin,x'360'
pause 5
/
pause 5
* BG, F2, F4, F2 sysin assignments
/assgn sysin,reader
pause 5
/assgn sysin,reader
pause 5
/assgn sysin,reader
pause 5
/assgn sysin,reader
pause 5
/
pause 5
/
pause 1
/
pause 1
/
pause 4
* displaying jobs on reader
/pdisplay rdr
pause 2
* releasing initiator start jobs
/r rdr,*xx
pause 2
* deleting spooled output from initiator start jobs
/pdelete lst,*xx
pause 2
* current device status, all should be happily inactive
/pdisplay a
* submit JCL jobs to network card reader 00C
* ----- end of startup script processing -----

When finished playing, to shut it down use the console commands as below.

pend                      (stop power)
/&                        (at F1 ready message use /& which is needed to stop that job in F1)
unbatch                 (at F2, F4, F3    --- do not unbatch BG; remain at BG prompt for below cmds)
rod                      (stop recoding)
unbatch             (at F1 prompt)
stop                (at the BG prompt)

Then the hercules commands stopall and quit can be used.

Obviously you will still need to go through the tutorial linked to at the start of this page to see the syntax of JCL needed for a DOS/VS system.