Customizing MSOS 5 For the CDC 1700 Simulator
=============================================

1. Overview

       Each MSOS 5 customer was provided with at least 2 sets of distribution
materials for MSOS 5 (on punched cards or magnetic tape):

   1. A full distribution of all possible system modules for all supported
      hardware confugurations (the Fortran library on the other hand is
      tailored for a particular installation).

   2. A distribution tailored for a specific installation. It only contains
      device drivers for a specific configuration and may or may not include
      modules from the Fortran run-time library.

Unfortunately none of the full distribution kits have survived so we will
have to make use of a tailored distribution. This means that we will only be
able to remove device drivers and make small modifications to a running system.

       System customization consists of making modifications to 1 or 2
source-level components:

   1. The system skeleton which describes which is read by the initializer and
      defines which components should be loaded into the system image and
      specifies which components should be loaded on the library disk. The
      skeleton is also able to define global values by the system.

   2. SYSDAT. This an assembler source file which describes the peripheral
      configuration including interrupts and equipment addresses. Optional
      components, such as file manager, may have dedicated sections of SYSDAT.

The system skeleton may be extracted and edited by an application called SKED.
This is a very primitive line editor but, fortunately, most of the changes are
in SYSDAT. SYSDAT is usually provided as the last file present on a tailored
magtape distribution. Unfortunately I have been unable to use MSOS tools to
extract a useable version from a magtape so I wrote Unix tools to manipulate
magtape containers and compress/decompress COSY format files (rawtap & cosy).
Each customization builds on the previous version to change setting and/or
change MSOS drivers. Each customization is driven by a simh script, takes an
existing installation tape (typically MSOS5_SL136.tap) and generates a new
installation tape (MSOS5-Install.trap). When SYSDAT needs to be modified, a
sysdat.asm file is present which needs to be converted to fixed size (80
characters) records and written to a magtape container:

       dd if=sysdat.asm of=sysdat.asm.blk cbs=80 conv=block
       rawtap -c sysdat.tap -r 80 sysdat.asm.blk

To perform a customization, a running installation generated by
msosInstall.simh is required. If necessary, create sysdat.tap as described
above (customizations 2 - 5) and run the simulator:

      cdc1700 msosCustomX.simh <install tape>

where X is 1 to 5 depending on which customization is required. <install tape>
does not need to be specified if it is MSOS5_SL136.tap in the current
directory. The script will run through the customization steps and generate a
new install tape (MSOS5-Install.tap). msosInstall.simh can be used with this
tape to create a customized system.

Each customization directory includes msosCustomX.simh as well as sysdat.asm
and sysdat.tap (customization 1 does not require sysdat changes so it only
contains msosCustom1.simh.


2. Customization 1

       This customization changes the creation date of the OS which is
output to the console when the system boots. The changes are in-line in
msosCustom1.simh. SYSMON, SYSDAY and SYSYER modified by SKED. The values are
the month, day and year in ASCII (high byte first).


3. Customization 2

       This customization also changes the name of the system from "EXXON
DEVELOPMENT SYSTEM" to "SIMH  DEVELOPMENT SYSTEM". Note that the SYSDAT module
name still includes "EXXON DEVELOPMENT SYSTEM" since there is no way to delete
a module and include a new one, only the ability to replace an existing module
is available.


4. Customization 3

       The default installation from  MSOS5_SL136.tap sets up all four disk
drives as well as the drum for file storage. I have been unable to find a
method for initializing the disk space for anything other than the the
library disk (CDD0/CDD1). This customization changes the file manager
configuration to only use the library disk for storage. This change gets rid
of one of the verification errors.


5. Customization 4

       This customization gets rid of the 1743-2 Asynch communications
controller drive. There is no documentation for this device and it appears to
be used for the TIMESHARE option for which there are no good tapes available.


6. Customization 5

       This customization adds support for a 10336 real-time clock which
interrupts at ~60Hz. After all of the above modifications, an example run of
the system:

MSOS 5.0--PSR LEVEL  120   04/19/17  

 
SET PROGRAM PROTECT  


SIMH  DEVELOPMENT SYSTEM 


65K MODE

 
CHECKING FILES -  OK


ENTER DATE/TIME  MMDDYYHHMM 

0508891516
DATE: 08 MAY 89   TIME: 1516:00 
MI
*BATCH
J 
*JOB
J 
*K,L4
J 
*LULIST
  E10
  LOG1A 
  SYSID 
  SYSYER
  SYSDAY
  SYSMON


E *E
     

MSOS 5.0 LOGICAL UNIT LISTING FOR  SIMH  DEVELOPMENT SYSTEM         04/19/17
LU. EQUIPMENT DESCRIPTION             READ/WRITE  CLASS CODE       EQ NO
01. SOFTWARE  CORE ALLOCATOR          READ/WRITE  NO CLASS CODE    EQ 00
02. SOFTWARE  DUMMY ALTERNATE DEVICE  READ/WRITE  NO CLASS CODE    EQ 00
03. SOFTWARE  DUMMY ALTERNATE DEVICE  READ/WRITE  NO CLASS CODE    EQ 00
04. 1711 TELETYPEWRITER               READ/WRITE  TELETYPE         EQ 01
05. COSY UNIT                         READ/WRITE  MAGNETIC TAPE    EQ 00
06. 1732-3/616-92 MAG TAPE            READ/WRITE  MAGNETIC TAPE    EQ 07
07. PSEUDO TAPE UNIT                  READ/WRITE  MAGNETIC TAPE    EQ 00
08. 1733-2/856-4 DISK UNIT (4.5M)     READ/WRITE  MASS STORAGE     EQ 03
09. 1742-120 LINE PRINTER             WRITE ONLY  LINE PRINTER     EQ 04
10. 1732-3/616-92 MAG TAPE            READ/WRITE  MAGNETIC TAPE    EQ 07
11. 1728/430  CARD READER/PUNCH       READ/WRITE  CARD RDR/PUNCH   EQ 10
12. 1742-120 LINE PRINTER             WRITE ONLY  LINE PRINTER     EQ 04
13. 1733-2/856-4 DISK UNIT (4.5M)     READ/WRITE  MASS STORAGE     EQ 03
14. 1733-2/856-4 DISK UNIT (4.5M)     READ/WRITE  MASS STORAGE     EQ 03
15. 1733-2/856-4 DISK UNIT (4.5M)     READ/WRITE  MASS STORAGE     EQ 03
16. 1732-3/616-92 MAG TAPE            READ/WRITE  MAGNETIC TAPE    EQ 07
17. 1732-3/616-92 MAG TAPE            READ/WRITE  MAGNETIC TAPE    EQ 07
18. 1732-3/616-92 MAG TAPE            READ/WRITE  MAGNETIC TAPE    EQ 07
19. PSEUDO TAPE UNIT                  READ/WRITE  MAGNETIC TAPE    EQ 00
20. PSEUDO TAPE UNIT                  READ/WRITE  MAGNETIC TAPE    EQ 00
21. PSEUDO TAPE UNIT                  READ/WRITE  MAGNETIC TAPE    EQ 00
22. PSEUDO DISK DRIVER                READ/WRITE  MASS STORAGE     EQ 00
23. PSEUDO DISK DRIVER                READ/WRITE  MASS STORAGE     EQ 00
24. PSEUDO DISK DRIVER                READ/WRITE  MASS STORAGE     EQ 00
25. PSEUDO DISK DRIVER                READ/WRITE  MASS STORAGE     EQ 00
26. 1752      DRUM UNIT               READ/WRITE  MASS STORAGE     EQ 02
27. COSY UNIT                         READ/WRITE  MAGNETIC TAPE    EQ 00
28. 1728/430  CARD READER/PUNCH       READ/WRITE  CARD RDR/PUNCH   EQ 10
29. 1732-3/616-92 MAG TAPE            READ/WRITE  MAGNETIC TAPE    EQ 07
30. 1732-3/616-92 MAG TAPE            READ/WRITE  MAGNETIC TAPE    EQ 07
31. 1732-3/616-92 MAG TAPE            READ/WRITE  MAGNETIC TAPE    EQ 07
32. 1742-120 LINE PRINTER             WRITE ONLY  LINE PRINTER     EQ 04
33. 1728/430  CARD READER/PUNCH       READ/WRITE  CARD RDR/PUNCH   EQ 10
34. 1711 TELETYPEWRITER               READ/WRITE  TELETYPE         EQ 01
J 


7. RPG II and Cobol Installation

       While installation materials for both RPG II and Cobol are available
on bitsavers.org (141_PRODUCT_SET.tap contains both) they are built to run
in core partition 3 which does not exist in the standard distribution tape
(MSOS5_SL136.tap). There does not appear to be sufficient documentation
available to add another partition.
