SIMULA

 

The load module library from Peter Sylvester's site contains a version of the SIMULA compiler (12.00) that performs a verification of the system date at the beginning of its execution.  Without the source, the time it would take me to track down where this test is performed and patch it is beyond what I was willing to invest.  However, you can set the system date to August 9, 1985 or any date beyond that from the operator's console (command to set August 9, 1985 is t date=85.221), and the compiler will be happy to run for you.  If you do this, you may want to process any output placed on the JES2 queue before you change the date back to your preferred date ... JES2 refused to process output from various years after I changed my date back to normal.  If anyone wishes to pursue this bug and patches the load module containing the date check, I would appreciate it if they pass the patch back to me to include in this documentation.

The load module library from Peter Sylvester's site contains a version of the SIMULA compiler (12.00) that performs a verification of the system date at the beginning of its execution.  Without the source, the time it would take me to track down where this test is performed and patch it is beyond what I was willing to invest.  However, you can set the system date to August 9, 1985 or any date beyond that from the operator's console (command to set August 9, 1985 is t date=85.221), and the compiler will be happy to run for you.  If you do this, you may want to process any output placed on the JES2 queue before you change the date back to your preferred date ... JES2 refused to process output from various years after I changed my date back to normal.  If anyone wishes to pursue this bug and patches the load module containing the date check, I would appreciate it if they pass the patch back to me to include in this documentation.

Update 01/30/2024 - The paragraph above regarding the date issue is no longer applicable and this update stating that is long overdue. Peter Sylvester modified the load module so this is not an issue. The version of SIMULA included in SYSCPK is identical to the version distributed on this page.

On my system I re-linked the contents of the load module library to reside on a 3350 volume.  In the documentation on Peter Sylvester's site I located scanned listings for the recommended procedures for executing SIMULA, and from those listings I created members for the Procedure Library.  To simplify the installation of SIMULA, I have unloaded the load library to an AWS tape image with IEBCOPY, and include the jobstream to restore the library to disk, a jobstream to add the procedures to the Procedure Library, and a jobstream to run the "Hello World" program shown on the main page of Peter Sylvester's site.  

The archive is available from this site by clicking on the link:  simula.tgz [MD5: a9cdbc78975068ae9723e227857adc52].  The archive contains:

reload
Jobstream to reload the Partitioned dataset from the tape image.
simivp
Jobstream to execute the "Hello World" program.
simbeer
Jobstream to execute the "99 bottle(s) of beer" program.
simprocs
Jobstream to install procedures in your Procedure Library to execute SIMULA.
sim001.het		
The tape image created by IEBCOPY containing the SIMULA load library.
sim001.map TAPEMAP output for the sim001.het tape image.

Uncompress the archive (use the tar xvzf simula.tgz command on Linux, or under CYGWIN; or use WinZip or ZipNAll on Windows/??).  The tape image should go into your tape image subdirectory, the jobstreams should go into your JCL subdirectory, and the map file may be viewed with a text editor or printed.  The jobstream was created under Windows, so the lines are terminated with x'0d0a'.

Prior to submitting the RELOAD jobstream, you must edit it and change the value of the two default parameters TVOL and THLQ on the PROC statement to specify the Volume Serial of the target volume to which the datasets are to be restored and the High Level Qualifier for the dataset names that will be relevant to your environment.  The target Volume Serial may specify a target volume that is not a 3350, but you must ensure that the blocksizes of the restored datasets will fit on the target device.

Prior to submitting the SIMPROCS jobstream, you must edit it and change all seven instances of (hlq) to the same value you specified for THLQ in the RELOAD jobstream.  The target library for the procedures is SYS2.PROCLIB.  If you do not have SYS2.PROCLIB defined on your system, you must change the SYSUT2 DD to SYS1.PROCLIB.

When you have verified that the installation jobstreams - reload and simprocs - conform to your configuration, mount the tape image on a tape device and submit the jobstreams to MVS for execution.  The reload job should take less than a minute to execute and the return codes expected for the steps are:

IEF142I IEBCOPY RESTOREL - STEP WAS EXECUTED - COND CODE 0000

The simprocs job should take less than one minute to execute and the return code expected for the step is:

IEF142I SIMPROCS IEBUPDTE - STEP WAS EXECUTED - COND CODE 0000

Prior to submitting the SIMIVP or SIMBEER jobstreams, you must edit each of them and change two instances of (hlq) in each to the same value you specified for THLQ in the RELOAD jobstream.  The output of the SIMIVP job on my system may be viewed at:  SIMULA Sample Job.


I hope that you have found my instructions useful.  If you have questions that I can answer to help expand upon the information I have included here, please don't hesitate to send them to me:



Return to Site Home Page 


This page was last updated on January 30, 2024.