Installing MSOS 5 on the CDC 1700 Simulator =========================================== 1. Overview. A Mass Storage Operating System Version 5 (MSOS 5) distribution tape which will run on the CDC 1700 Simulator is available from bitsavers.org as bits/CDC/1700_Cyber18/20100524/MSOS5_SL136.tap. At the time, CDC would have tailored a distribution tape for the customer's specific hardware and this tape was built for a 64KW 1784 system used by Exxon. Not all of the peripherals included in the system are implemented on the simulator due to lack of documentation but enough are available to perform a basic installation. 2. Utilities While implementing this simulator, I developed a number of tools for manipulating SIMH .tap container files and some of the CDC MSOS -specific file formats. These utilities are available from the simtools Github repository: extractors/rawtap Allows extract, create and append operations on .tap files. extractors/cpytap Copies a .tap file to a new .tap file while allowing file level edits; skip file, replace file, append files and insert files. Any files copies from the original source .tap will have their internal record structure maintained. Files read from the local file system will be written to the destination .tap file with a fixed record size. converters/cosy COSY is a compressed file format used by the CDC 1700 for source card decks. This utility allows for the extraction of all files from an archive or the creation of a new archive. It assumes that you would have used rawtap to extract the archive from a .tap file. 3. Installation 3.1 Quick Installation Using Scripts There are 2 scripts provided as part of the distribution for quickly installing and running MSOS 5.0: - msosInstall.simh This script can be used to install MSOS 5.0 on a 1733-2 disk unit (2 logical drives) from the standard installation tape as described above. To perform an installation change to the directory you want the install the install to occur in and copy MSOS5_SL136.tap to this directory. If you want to install from a different tape, its name can be passed on the command line: cdc1700 msosInstall.simh install.tap Start up the CDC1700 simulator using msosInstall.simh as the configuration. The script will automatically supply the date of installation for the initializer and the date/time for MSOS 5.0 when requested. The time, month and day will be set to their current values from the host system. The year will be set to a 20th century year which has the same calendar as the current year (MSOS 5.0 is not Y2K compliant). While running this script the O/S will reboot twice and a log of installation will be left in MSOSinstall.lpt. The final section of the installation will be to run the installation verification procedure. This will generate 3 errors: 1. Partition set up error The verification procedure checks that partition 0 starts below 0x8000. All of the installation tapes on bitsaver.org that I've checked have partition 0 starting above 0x8000. 2. File Manager sequential file error The installation procedure only creates disk images for a single disk unit. The O/S is configured with 4 disk units and a drum. This procedure will attempt to write to all direct-access configured in the system and so will fail. 3. Fortran formatted I/O error This error has not been investigated. - msosRun.simh Once installation is complete, this script may be used to run the resulting system. It will use the same disk images created by msosInstall.simh and will create a unique file for line printer output based on the current date and time. Like the installation script it will set the date/time for MSOS 5.0 to the current values from the host system with the year set to a 20th century year with the same calendar as the current year. As part of the start up sequence it will patch MSOS so that the 1728 Card Reader/Punch and 1752 Drum are not accessible to programs since the simulator has no support for these devices. 3.2 Full Installation By Hand Installation of MSOS 5 occurs in 2 phases: - Phase 1 In Phase 1, the distribution tape is booted and the initializer lays down a skeleton system on the cartridge disk. - Phase 2 In Phase 2, the skeleton system is booted from the cartridge disk and the batch subsystem is started to read and process a sequence of batch jobs to complete the installation. It is important that both phases are within the same execution of the CDC 1700 Simulator since phase 1 leaves the tape correctly positioned at the start of the batch jobs for phase 2. The device drivers built into this version of MSOS 5 use specific versions of the magtape and line printer controllers. The type of these controllers must be set before attaching host data files. If the controller types are not set correctly, phase 1 of the installation will complete successfully but the batch subsystem will refuse to start. Sample installation run of MSOS 5 (user input to MSOS is marked with "<==="): CDC1700 simulator V4.0-0 Beta git commit id: 9d2079df sim> set cpu instr=basic sim> set cpu mode65k,64k sim> set mt type=1732-3 sim> att mt0 MSOS5_SL136.tap sim> set lp type=1742 sim> att lp MSOSinstall.lpt LP: creating new file sim> att cdd0 MSOS5-A.dsk sim> att cdd1 MSOS5-B.dsk CDD: creating new file sim> boot mt0 MSOS 5.0 SYSTEM INITIALIZER FWA OF CONTRL = 5000 DATE MM/DD/YY 07/14/88 <============================ Enter date Q *I,3 <================================= Distribution media is tape *I,3 Q *V <=================================== Start installation *V *V *S,SYSMON,$3031 *S,SYSDAY,$3236 *S,SYSYER,$3832 *S,SYSLVL,$3230 *V *V 1700 MASS STORAGE OPERATING SYSTEM - VER 5.0 *V *V EXXON DEVELOPMENT SYSTEM *V *YM,LIBEDT,1 *YM,LOADSD,2 *YM,JOBENT,3 *YM,JOBPRO,4 *YM,PROTEC,5 *YM,JPLOAD,6 *YM,JPCHGE,7 *YM,JPT13,8 *YM,JCRDV4,9 *YM,JLGOV4,10 *YM,JPSTV4,11 *YM,NAMEV4,12 *YM,JPFLV4,13 *YM,AFILV4,14 *YM,RESTOR,15 *YM,RCOVER,16 *YM,BRKPT,17 *YM,ODEBUG,18 *YM,SYSCOP,19 *YM,SYSSEG,20 *YM,MIPRO,21 *YM,TDFUNC,22 *YM,EFSTOR,23 *YM,EFLIST,24 *YM,VERIFY,25 *YM,SCMM17,26 *YM,DUMMY1,27 *YM,DUMMY2,28 *YM,DUMMY3,29 *YM,DUMMY4,30 *YM,DUMMY5,31 *YM,DUMMY6,32 *YM,DUMMY7,33 *YM,DUMMY8,34 *YM,DUMMY9,35 *YM,DUMMY0,36 *S,N4,$0800 *S,END0V4,$7FFF *S,BGNMON,$8000 *S,MSIZV4,$FFFF *S,SECTOR,$5BFA * *L SYSTEM DATA PROGRAM CS7C17 SYSDAT 0000 EXXON DEVELOPMENT SYSTEM SUMMARY-122 *L SPACE REQUEST PROCESSOR SPACE 1C21 DECK-ID M29 MSOS 5.0 SUMMARY-136 * * SYSTEM CORE RESIDENT PROGRAMS * *LP MONITOR NMONI 8000 DECK-ID M10 MSOS 5.0 SUMMARY-136 RDISP 804D DECK-ID M23 MSOS 5.0 SUMMARY-110 RW 81FF DECK-ID M09 MSOS 5.0 SUMMARY-110 T14 82AD DECK-ID M26 MSOS 5.0 SUMMARY-110 T16 82BE DECK-ID M04 MSOS 5.0 SUMMARY-110 PARAME 82C9 DECK-ID M03 MSOS 5.0 SUMMARY-110 COMMON 833A DECK-ID M13 MSOS 5.0 SUMMARY-110 NIPROC 8361 DECK-ID M12 MSOS 5.0 SUMMARY-118 ALVOL 83F3 DECK-ID M16 MSOS 5.0 SUMMARY-110 OFVOL 8410 DECK-ID M15 MSOS 5.0 SUMMARY-110 ALCORE 841D DECK-ID M17 MSOS 5.0 SUMMARY-110 DCORE 84CB DECK-ID M19 MSOS 5.0 SUMMARY-110 PRTCDR 8634 DECK-ID M18 MSOS 5.0 SUMMARY-110 NFNR 884E DECK-ID M21 MSOS 5.0 SUMMARY-141 NCMPRQ 88C7 DECK-ID M20 MSOS 5.0 SUMMARY-110 MAKQ 88F7 DECK-ID M08 MSOS 5.0 SUMMARY-110 ADEV 8925 DECK-ID M22 MSOS 5.0 SUMMARY-132 TMINT 8A98 DECK-ID M06 MSOS 5.0 SUMMARY-116 DTIMER 8B2A DECK-ID M05 MSOS 5.0 SUMMARY-136 TOD 8B4D DECK-ID M25 MSOS 5.0 SUMMARY-110 MINT 8B9C DECK-ID M07 MSOS 5.0 SUMMARY-116 TRVEC 8CC6 DECK-ID M14 MSOS 5.0 SUMMARY-116 *LP DEBUGGING / CHECKOUT SNAPOL 8D19 DECK-ID M02 MSOS 5.0 SUMMARY-110 DMP42X 8DD2 DECK-ID B17 PERIPH. DRIVERS 1.0B SUMMARY-106 B17332 8EA1 DECK-ID B11 PERIPH. DRIVERS 1.0B SUMMARY-106 *LP FILE MANAGER FILMGR 8EF3 DECK-ID F01 FILE MANAGER 1.0 SUMMARY-124 RSPCV4 91DC DECK-ID F02 FILE MANAGER SUMMARY-116 SRHFIS 92CE DECK-ID F03 FILE MANAGER SUMMARY-110 *LP CORE RESIDENT DRIVERS EFDATA 94A0 DECK-ID M27 MSOS 5.0 SUMMARY-110 DUMMY 960D DECK-ID M30 MSOS 5.0 SUMMARY-110 D1711 9630 DECK-ID B27 PERIPH. DRIVERS 1.0B SUMMARY-106 D17332 97D8 DECK-ID B34 PERIPH. DRIVERS 1.0B SUMMARY-119 D1752 9A77 DECK-ID A40 PERIPH. DRIVERS 1.0A SUMMARY-106 DPSDSK 9C81 DECK-ID C90 PERIPH. DRIVERS 1.2C SUMMARY-122 REWCK 9CB2 DECK-ID B78 PERIPH. DRIVERS 1.0B SUMMARY-106 MMEXEC 9CCD DECK-ID M01 MSOS 5.0 SUMMARY-132 D17432 9E60 DECK-ID B35 PERIPH. DRIVERS 1.0B SUMMARY-115 *LP REENTRANT FORTRAN RUNTIME LIBRARY FORTR A0A9 DECK-ID A01 FTN 3.3 RUNTIME SUMMARY-102 Q8PRMR A1ED DECK-ID B01 FTN 3.3 RUNTIME SUMMARY-102 PARABR A217 DECK-ID B02 FTN 3.3 RUNTIME SUMMARY-102 Q8F2IR A228 DECK-ID B03 FTN 3.3 RUNTIME SUMMARY-102 ABSR A2D4 DECK-ID B04 FTN 3.3 RUNTIME SUMMARY-102 SQRTFR A2ED DECK-ID B05 FTN 3.3 RUNTIME SUMMARY-102 SIGNR A348 DECK-ID B06 FTN 3.3 RUNTIME SUMMARY-102 FXFLTR A374 DECK-ID B07 FTN 3.3 RUNTIME SUMMARY-102 EXPR A3AC DECK-ID B08 FTN 3.3 RUNTIME SUMMARY-102 ALOGR A44C DECK-ID B09 FTN 3.3 RUNTIME SUMMARY-102 TANHR A4C3 DECK-ID B10 FTN 3.3 RUNTIME SUMMARY-102 SNCSR A52F DECK-ID B11 FTN 3.3 RUNTIME SUMMARY-102 ATANR A5F9 DECK-ID B12 FTN 3.3 RUNTIME SUMMARY-102 Q8QIOR A697 DECK-ID C01 FTN 3.3 RUNTIME SUMMARY-102 BINARR A7FC DECK-ID C02 FTN 3.3 RUNTIME SUMMARY-102 IOCODR A847 DECK-ID D01 FTN 3.3 RUNTIME SUMMARY-102 INITLR A87B DECK-ID D02 FTN 3.3 RUNTIME SUMMARY-102 RSTORR A88A DECK-ID D03 FTN 3.3 RUNTIME SUMMARY-102 GETCHR A89A DECK-ID D04 FTN 3.3 RUNTIME SUMMARY-102 IPACKR A8B4 DECK-ID D05 FTN 3.3 RUNTIME SUMMARY-102 UPDATR A8F2 DECK-ID D06 FTN 3.3 RUNTIME SUMMARY-102 DECPLR A8FF DECK-ID D07 FTN 3.3 RUNTIME SUMMARY-102 INTGRR A925 DECK-ID D08 FTN 3.3 RUNTIME SUMMARY-102 SPACER A952 DECK-ID D09 FTN 3.3 RUNTIME SUMMARY-102 HOLR A96A DECK-ID D10 FTN 3.3 RUNTIME SUMMARY-102 DCHXR A9FE DECK-ID D11 FTN 3.3 RUNTIME SUMMARY-102 HXASCR AA71 DECK-ID D12 FTN 3.3 RUNTIME SUMMARY-102 AFMTOR AAC4 DECK-ID D13 FTN 3.3 RUNTIME SUMMARY-102 RFMTOR AAEE DECK-ID D14 FTN 3.3 RUNTIME SUMMARY-102 AFMTIR AB07 DECK-ID D15 FTN 3.3 RUNTIME SUMMARY-102 RFMTIR AB35 DECK-ID D16 FTN 3.3 RUNTIME SUMMARY-102 ASCHXR AB4C DECK-ID D17 FTN 3.3 RUNTIME SUMMARY-102 HXDCR AB87 DECK-ID D18 FTN 3.3 RUNTIME SUMMARY-102 FLOTIR AC17 DECK-ID D19 FTN 3.3 RUNTIME SUMMARY-102 FOUTR AC61 DECK-ID D20 FTN 3.3 RUNTIME SUMMARY-102 EOUTR ACEB DECK-ID D21 FTN 3.3 RUNTIME SUMMARY-102 EWRITR ADD3 DECK-ID D22 FTN 3.3 RUNTIME SUMMARY-102 INTI1R ADDF DECK-ID D23 FTN 3.3 RUNTIME SUMMARY-102 FORMTR ADFC DECK-ID D24 FTN 3.3 RUNTIME SUMMARY-115 Q8QFIR AFFD DECK-ID D25 FTN 3.3 RUNTIME SUMMARY-102 Q8QFLR B017 DECK-ID D26 FTN 3.3 RUNTIME SUMMARY-102 Q8QFXR B046 DECK-ID D27 FTN 3.3 RUNTIME SUMMARY-102 HEXAR B07D DECK-ID D28 FTN 3.3 RUNTIME SUMMARY-102 HEXDR B095 DECK-ID D29 FTN 3.3 RUNTIME SUMMARY-102 ASCIIR B0B2 DECK-ID D30 FTN 3.3 RUNTIME SUMMARY-102 DECHXR B0C7 DECK-ID D31 FTN 3.3 RUNTIME SUMMARY-102 AFORMR B0E7 DECK-ID D32 FTN 3.3 RUNTIME SUMMARY-102 RFORMR B103 DECK-ID D33 FTN 3.3 RUNTIME SUMMARY-102 FLOTGR B11F DECK-ID D34 FTN 3.3 RUNTIME SUMMARY-102 FLOTR B13B DECK-ID B14 FTN 3.3 RUNTIME SUMMARY-112 COMFPR B389 DECK-ID B15 FTN 3.3 RUNTIME SUMMARY-102 SGDBLR B49C DECK-ID E01 FTN 3.3 RUNTIME SUMMARY-102 Q8D2IR B4B0 DECK-ID E02 FTN 3.3 RUNTIME SUMMARY-102 DABSR B542 DECK-ID E03 FTN 3.3 RUNTIME SUMMARY-102 DSQRTR B55E DECK-ID E04 FTN 3.3 RUNTIME SUMMARY-102 DSIGNR B5DE DECK-ID E05 FTN 3.3 RUNTIME SUMMARY-102 DEXPR B60B DECK-ID E08 FTN 3.3 RUNTIME SUMMARY-102 DLOGR B6C7 DECK-ID E09 FTN 3.3 RUNTIME SUMMARY-102 DSNCSR B76D DECK-ID E11 FTN 3.3 RUNTIME SUMMARY-102 DATANR B882 DECK-ID E12 FTN 3.3 RUNTIME SUMMARY-132 Q8QDFR B958 DECK-ID E14 FTN 3.3 RUNTIME SUMMARY-102 DOUTR B974 DECK-ID E15 FTN 3.3 RUNTIME SUMMARY-102 DFLOTR BA7E DECK-ID E13 FTN 3.3 RUNTIME SUMMARY-102 DRSTRR BEDC DECK-ID E10 FTN 3.3 RUNTIME SUMMARY-102 NXTLOC BF12 NEXT AVAILABLE LOCATION * * SYSTEM MASS RESIDENT PROGRAMS * *M LIBEDT 1 LIBEDT 0203 DECK-ID M35 MSOS 5.0 SUMMARY-122 *M LOADSD 2 LOAD1 0243 DECK-ID M36 MSOS 5.0 SUMMARY-110 BRNCH1 0236 DECK-ID M37 MSOS 5.0 SUMMARY-132 PG2KRD 0398 DECK-ID O69 MSOS 5.0 SUMMARY-116 LIDRV1 03C9 DECK-ID M38 MSOS 5.0 SUMMARY-110 LCDRV1 041A DECK-ID M39 MSOS 5.0 SUMMARY-110 LMDRV1 0447 DECK-ID M40 MSOS 5.0 SUMMARY-110 LLDRV1 0466 DECK-ID M41 MSOS 5.0 SUMMARY-110 ADJOF1 0474 DECK-ID M42 MSOS 5.0 SUMMARY-110 CNVRT1 0480 DECK-ID M43 MSOS 5.0 SUMMARY-110 LSTOT1 0498 DECK-ID M44 MSOS 5.0 SUMMARY-110 LINK11 04EB DECK-ID M45 MSOS 5.0 SUMMARY-110 LOADR1 052E DECK-ID M46 MSOS 5.0 SUMMARY-116 NAMPR1 05A7 DECK-ID M47 MSOS 5.0 SUMMARY-110 RBDBZ1 0648 DECK-ID M48 MSOS 5.0 SUMMARY-110 ENTEX1 0741 DECK-ID M49 MSOS 5.0 SUMMARY-110 XFRPR1 0777 DECK-ID M50 MSOS 5.0 SUMMARY-110 STBASE 0788 DECK-ID M51 MSOS 5.0 SUMMARY-110 LNKENT 0870 DECK-ID M52 MSOS 5.0 SUMMARY-110 LNKCR1 088C DECK-ID M53 MSOS 5.0 SUMMARY-110 PATCH 08CD DECK-ID M54 MSOS 5.0 SUMMARY-110 TBSCH1 090F DECK-ID M55 MSOS 5.0 SUMMARY-110 HASH 0957 DECK-ID M56 MSOS 5.0 SUMMARY-110 TBSTR1 096F DECK-ID M57 MSOS 5.0 SUMMARY-110 PAGE 09C4 DECK-ID M58 MSOS 5.0 SUMMARY-136 PROGLD 0AB5 DECK-ID M59 MSOS 5.0 SUMMARY-110 SCAN1 0BB7 DECK-ID M60 MSOS 5.0 SUMMARY-110 CHPU1 0C7D DECK-ID M61 MSOS 5.0 SUMMARY-110 ADJOV2 0C8A DECK-ID M62 MSOS 5.0 SUMMARY-110 ADRPR1 0CA3 DECK-ID M63 MSOS 5.0 SUMMARY-110 *M JOBENT 3 JOBENT 0266 DECK-ID M64 MSOS 5.0 SUMMARY-116 T11 0112 DECK-ID M65 MSOS 5.0 SUMMARY-110 T7 0149 DECK-ID M66 MSOS 5.0 SUMMARY-110 T5 026B DECK-ID M67 MSOS 5.0 SUMMARY-110 T3 02C4 DECK-ID M68 MSOS 5.0 SUMMARY-110 *S,N1,P *M JOBPRO 4 JOBPRO 026E DECK-ID M69 MSOS 5.0 SUMMARY-132 ONE 023D DECK-ID M70 MSOS 5.0 SUMMARY-110 TWO 0240 DECK-ID M71 MSOS 5.0 SUMMARY-110 THREE 0243 DECK-ID M72 MSOS 5.0 SUMMARY-110 * * * U N P A T C H E D E X T E R N A L S * * * BATLST *S,N2,P *M PROTEC 5 UPROTK 0275 DECK-ID M73 MSOS 5.0 SUMMARY-115 JBKILL 044C DECK-ID M75 MSOS 5.0 SUMMARY-110 *M JPLOAD 6 JPLOAD 0282 DECK-ID M76 MSOS 5.0 SUMMARY-110 *M JPCHGE 7 JPCHGE 0287 DECK-ID M77 MSOS 5.0 SUMMARY-110 ASCHEX 013E DECK-ID M78 MSOS 5.0 SUMMARY-110 *M JPT13 8 T13 028C DECK-ID M79 MSOS 5.0 SUMMARY-110 *M JCRDV4 9 JCRDV4 0291 DECK-ID M80 MSOS 5.0 SUMMARY-136 *M JLGOV4 10 JLGOV4 0295 DECK-ID M81 MSOS 5.0 SUMMARY-110 *M JPSTV4 11 JPSTV4 0298 DECK-ID M84 MSOS 5.0 SUMMARY-110 *M NAMEV4 12 NAMEV4 029A DECK-ID M85 MSOS 5.0 SUMMARY-110 *M JPFLV4 13 JPFLV4 02A2 DECK-ID M82 MSOS 5.0 SUMMARY-110 *M AFILV4 14 JPF2V4 02A9 DECK-ID M83 MSOS 5.0 SUMMARY-110 *M RESTOR 15 RESTOR 02B3 DECK-ID M86 MSOS 5.0 SUMMARY-114 *M RCOVER 16 RCOVER 02B6 DECK-ID M87 MSOS 5.0 SUMMARY-110 OUTSEL 0144 DECK-ID M88 MSOS 5.0 SUMMARY-110 RDMPV4 0189 DECK-ID M89 MSOS 5.0 SUMMARY-110 MASDMP 0249 DECK-ID M90 MSOS 5.0 SUMMARY-110 *M BRKPT 17 BRKPT1 02BF DECK-ID N01 MSOS 5.0 SUMMARY-110 *M ODEBUG 18 ODBUG1 02CC DECK-ID N07 MSOS 5.0 SUMMARY-116 GETREQ 0120 DECK-ID N08 MSOS 5.0 SUMMARY-110 LHXREQ 0240 DECK-ID N09 MSOS 5.0 SUMMARY-110 DPCREQ 0300 DECK-ID N10 MSOS 5.0 SUMMARY-132 SCNREQ 03C0 DECK-ID N11 MSOS 5.0 SUMMARY-116 SETREQ 0480 DECK-ID N12 MSOS 5.0 SUMMARY-110 MBCREQ 04E0 DECK-ID N13 MSOS 5.0 SUMMARY-110 SCHREQ 05A0 DECK-ID N14 MSOS 5.0 SUMMARY-116 SPEREQ 0660 DECK-ID N15 MSOS 5.0 SUMMARY-113 CPPREQ 06C0 DECK-ID N16 MSOS 5.0 SUMMARY-110 SPPREQ 0720 DECK-ID N17 MSOS 5.0 SUMMARY-110 ADHREQ 0780 DECK-ID N18 MSOS 5.0 SUMMARY-110 SBHREQ 07E0 DECK-ID N19 MSOS 5.0 SUMMARY-110 ALCREQ 0840 DECK-ID N20 MSOS 5.0 SUMMARY-116 RELREQ 0900 DECK-ID N21 MSOS 5.0 SUMMARY-110 DACREQ 0960 DECK-ID N22 MSOS 5.0 SUMMARY-116 PTHREQ 0A80 DECK-ID N23 MSOS 5.0 SUMMARY-116 MTRREQ 0BA0 DECK-ID N24 MSOS 5.0 SUMMARY-116 MSDREQ 0C00 DECK-ID N25 MSOS 5.0 SUMMARY-116 CLUREQ 0CC0 DECK-ID N26 MSOS 5.0 SUMMARY-110 WCDREQ 0D20 DECK-ID N27 MSOS 5.0 SUMMARY-116 LASREQ 0D80 DECK-ID N28 MSOS 5.0 SUMMARY-110 DASREQ 0EA0 DECK-ID N29 MSOS 5.0 SUMMARY-116 MLUREQ 0F60 DECK-ID N30 MSOS 5.0 SUMMARY-110 DPTREQ 0FC0 DECK-ID N31 MSOS 5.0 SUMMARY-116 SLDREQ 1080 DECK-ID N32 MSOS 5.0 SUMMARY-116 CWAREQ 10E0 DECK-ID N33 MSOS 5.0 SUMMARY-132 DMHREQ 1200 DECK-ID N34 MSOS 5.0 SUMMARY-116 SMNREQ 12C0 DECK-ID N35 MSOS 5.0 SUMMARY-116 SMPREQ 1440 DECK-ID N36 MSOS 5.0 SUMMARY-116 LSPREQ 1500 DECK-ID N37 MSOS 5.0 SUMMARY-116 DSPREQ 15C0 DECK-ID N38 MSOS 5.0 SUMMARY-116 DMSREQ 16E0 DECK-ID N39 MSOS 5.0 SUMMARY-116 LSOREQ 1860 DECK-ID N40 MSOS 5.0 SUMMARY-116 CCCREQ 1980 DECK-ID N41 MSOS 5.0 SUMMARY-116 CCMREQ 1AA0 DECK-ID N42 MSOS 5.0 SUMMARY-116 CMMREQ 1BC0 DECK-ID N43 MSOS 5.0 SUMMARY-116 MMMREQ 1CE0 DECK-ID N44 MSOS 5.0 SUMMARY-116 LICREQ 1E60 DECK-ID N45 MSOS 5.0 SUMMARY-118 LIOREQ 1FE0 DECK-ID N46 MSOS 5.0 SUMMARY-116 LAMREQ 2160 DECK-ID N47 MSOS 5.0 SUMMARY-116 DDPREQ 2280 DECK-ID N48 MSOS 5.0 SUMMARY-116 LDPREQ 23A0 DECK-ID N49 MSOS 5.0 SUMMARY-116 LDOREQ 24C0 DECK-ID N50 MSOS 5.0 SUMMARY-116 DMDREQ 2640 DECK-ID N51 MSOS 5.0 SUMMARY-116 WDKREQ 27C0 DECK-ID N52 MSOS 5.0 SUMMARY-116 LSTREQ 28E0 DECK-ID N53 MSOS 5.0 SUMMARY-116 PRINT 2A60 DECK-ID N54 MSOS 5.0 SUMMARY-116 GETFLD 2B20 DECK-ID N55 MSOS 5.0 SUMMARY-110 ASHX 2BE0 DECK-ID N56 MSOS 5.0 SUMMARY-110 DMPBUF 2C40 DECK-ID N57 MSOS 5.0 SUMMARY-116 ASCDEC 2D00 DECK-ID N58 MSOS 5.0 SUMMARY-110 HXAS 2D60 DECK-ID N59 MSOS 5.0 SUMMARY-110 DECDMP 2DC0 DECK-ID N60 MSOS 5.0 SUMMARY-116 FETMM 2E80 DECK-ID N61 MSOS 5.0 SUMMARY-132 PNTMD 2FA0 DECK-ID N62 MSOS 5.0 SUMMARY-116 MASOT 3060 DECK-ID N63 MSOS 5.0 SUMMARY-116 CONFM 3180 DECK-ID N64 MSOS 5.0 SUMMARY-116 GETINT 32A0 DECK-ID N65 MSOS 5.0 SUMMARY-116 FLCVSG 3360 DECK-ID N66 MSOS 5.0 SUMMARY-116 FLCVDB 3480 DECK-ID N67 MSOS 5.0 SUMMARY-116 NAMEMS 35A0 DECK-ID N68 MSOS 5.0 SUMMARY-110 DCONV 3A20 DECK-ID N69 MSOS 5.0 SUMMARY-110 LAZY2 3B40 DECK-ID N70 MSOS 5.0 SUMMARY-110 ODDFLT 3C00 DECK-ID N71 MSOS 5.0 SUMMARY-110 ODDFTN 3CC0 DECK-ID N72 MSOS 5.0 SUMMARY-110 ECONV 4080 DECK-ID N73 MSOS 5.0 SUMMARY-110 LAZY1 4140 DECK-ID N74 MSOS 5.0 SUMMARY-110 ODFLOT 4200 DECK-ID N75 MSOS 5.0 SUMMARY-110 ODFXFL 4440 DECK-ID N76 MSOS 5.0 SUMMARY-110 *M SYSCOP 19 SYSCOP 0384 DECK-ID N77 MSOS 5.0 SUMMARY-110 *M SYSSEG 20 CO1ST 0389 DECK-ID N78 MSOS 5.0 SUMMARY-110 CO2ND 04E0 DECK-ID N79 MSOS 5.0 SUMMARY-136 CO3RD 0D80 DECK-ID N80 MSOS 5.0 SUMMARY-110 COLAST 1500 DECK-ID N81 MSOS 5.0 SUMMARY-110 *M MIPRO 21 MIPRO 03C2 DECK-ID N06 MSOS 5.0 SUMMARY-110 * * * U N P A T C H E D E X T E R N A L S * * * CRIMPT INDACS TSUTIL *M TDFUNC 22 TDFUNC 03C9 DECK-ID O67 MSOS 5.0 SUMMARY-110 *M EFSTOR 23 EFSTOR 03CD DECK-ID N04 MSOS 5.0 SUMMARY-110 *M EFLIST 24 EFLIST 03D2 DECK-ID N05 MSOS 5.0 SUMMARY-123 *M VERIFY 25 VERFY1 03F0 DECK-ID O24 MSOS 5.0 SUMMARY-110 *M SCMM17 26 SCMEXC 03F5 DECK-ID O54 MSOS 5.0 SUMMARY-117 *M DUMMY1 27 *M DUMMY2 28 *M DUMMY3 29 *M DUMMY4 30 *M DUMMY5 31 *M DUMMY6 32 *M DUMMY7 33 *M DUMMY8 34 *M DUMMY9 35 *M DUMMY0 36 * * MASS RESIDENT DRIVERS * *M COSY DRIVER DCOSY 0405 DECK-ID M34 MSOS 5.0 SUMMARY-114 NXTLOC 02F0 NEXT AVAILABLE LOCATION *S,SCOSY,S *S,LCOSY,P *M 1732-3 616 MAG TAPE D17323 040D DECK-ID B33 PERIPH. DRIVERS 1.0B SUMMARY-114 D327TR 0442 DECK-ID B36 PERIPH. DRIVERS 1.0B SUMMARY-106 NXTLOC 0565 NEXT AVAILABLE LOCATION *S,S17323,S *S,L17323,P *M 1732-3 616 MAG TAPE LONG RECORD D7323L 041C DECK-ID B38 PERIPH. DRIVERS 1.0B SUMMARY-114 NXTLOC 0539 NEXT AVAILABLE LOCATION *S,S7323L,S *S,L7323L,P *M PSEUDO TAPE DPSUDO 042A DECK-ID F04 FILE MANAGER SUMMARY-114 NXTLOC 03CD NEXT AVAILABLE LOCATION *S,SPSUDO,S *S,LPSUDO,P *M 1742-30/120 LINE PRINTER D42312 0435 DECK-ID B37 PERIPH. DRIVERS 1.0B SUMMARY-132 T5954 01AF DECK-ID B77 PERIPH. DRIVERS 1.0B SUMMARY-112 NXTLOC 023F NEXT AVAILABLE LOCATION *S,S42312,S *S,L42312,P *M 1728-430 CARD READER/PUNCH - 026 FORMAT D1728 043B DECK-ID A30 PERIPH. DRIVERS 1.0A SUMMARY-106 CR026 03A2 DECK-ID A16 PERIPH. DRIVERS 1.0A SUMMARY-106 CP026 03C2 DECK-ID A14 PERIPH. DRIVERS 1.0A SUMMARY-106 NXTLOC 0402 NEXT AVAILABLE LOCATION *S,S1728,S *S,L1728,P *M 1728-430 CARD READER/PUNCH - 029 FORMAT D1728 0446 DECK-ID A30 PERIPH. DRIVERS 1.0A SUMMARY-106 CR029 03A2 DECK-ID A17 PERIPH. DRIVERS 1.0A SUMMARY-106 CP029 03C2 DECK-ID A15 PERIPH. DRIVERS 1.0A SUMMARY-106 NXTLOC 0402 NEXT AVAILABLE LOCATION * * MASS RESIDENT FILE MANAGER * *M DEFFIL 0451 DECK-ID F05 FILE MANAGER SUMMARY-116 FILSPC 0186 DECK-ID F06 FILE MANAGER SUMMARY-110 RPEND 0233 DECK-ID F07 FILE MANAGER SUMMARY-110 *S,FMRP01,S *M RELFIL 0457 DECK-ID F08 FILE MANAGER SUMMARY-110 RELSPC 0092 DECK-ID F09 FILE MANAGER SUMMARY-110 RPEND 0141 DECK-ID F07 FILE MANAGER SUMMARY-110 *S,FMRP02,S *M DEFIDX 045B DECK-ID F10 FILE MANAGER SUMMARY-110 SQRTFM 0098 DECK-ID F11 FILE MANAGER SUMMARY-110 FILSPC 00A8 DECK-ID F06 FILE MANAGER SUMMARY-110 RPEND 0155 DECK-ID F07 FILE MANAGER SUMMARY-110 *S,FMRP03,S *M LOKFIL 045F DECK-ID F12 FILE MANAGER SUMMARY-110 RPEND 004D DECK-ID F07 FILE MANAGER SUMMARY-110 *S,FMRP04,S *M UNLFIL 0460 DECK-ID F13 FILE MANAGER SUMMARY-110 RPEND 003D DECK-ID F07 FILE MANAGER SUMMARY-110 *S,FMRP05,S *M STOSEQ 0461 DECK-ID F14 FILE MANAGER SUMMARY-110 FILSPC 00C6 DECK-ID F06 FILE MANAGER SUMMARY-110 RPEND 0173 DECK-ID F07 FILE MANAGER SUMMARY-110 *S,FMRP06,S *M STODIR 0465 DECK-ID F15 FILE MANAGER SUMMARY-110 RPEND 008D DECK-ID F07 FILE MANAGER SUMMARY-110 *S,FMRP07,S *M STOIDX 0467 DECK-ID F20 FILE MANAGER SUMMARY-110 HASHCD 0341 DECK-ID F16 FILE MANAGER SUMMARY-110 GETKID 034C DECK-ID F17 FILE MANAGER SUMMARY-110 FILSPC 0373 DECK-ID F06 FILE MANAGER SUMMARY-110 RPEND 0420 DECK-ID F07 FILE MANAGER SUMMARY-110 *S,FMRP08,S *M EDFDMY 0472 DECK-ID F27 FILE MANAGER SUMMARY-116 FILSPC 0472 DECK-ID F06 FILE MANAGER SUMMARY-110 RPEND 00AF DECK-ID F07 FILE MANAGER SUMMARY-110 *S,FMREDF,S *M EDRDMY 0474 DECK-ID F28 FILE MANAGER SUMMARY-116 RTNSPC 0474 DECK-ID F19 FILE MANAGER SUMMARY-110 RPEND 00A2 DECK-ID F07 FILE MANAGER SUMMARY-110 *S,FMREDR,S *M RTVSEQ 0476 DECK-ID F18 FILE MANAGER SUMMARY-110 RTNSPC 018B DECK-ID F19 FILE MANAGER SUMMARY-110 RPEND 022B DECK-ID F07 FILE MANAGER SUMMARY-110 *S,FMRP09,S *M RTVDIR 047C DECK-ID F21 FILE MANAGER SUMMARY-110 RTNSPC 0115 DECK-ID F19 FILE MANAGER SUMMARY-110 RPEND 01B5 DECK-ID F07 FILE MANAGER SUMMARY-110 *S,FMRP10,S *M RTVIDX 0481 DECK-ID F22 FILE MANAGER SUMMARY-110 HASHCD 0258 DECK-ID F16 FILE MANAGER SUMMARY-110 GETKID 0263 DECK-ID F17 FILE MANAGER SUMMARY-110 RTNSPC 028A DECK-ID F19 FILE MANAGER SUMMARY-110 RPEND 032A DECK-ID F07 FILE MANAGER SUMMARY-110 *S,FMRP11,S *M RTVIDO 048A DECK-ID F23 FILE MANAGER SUMMARY-118 GETKID 0260 DECK-ID F17 FILE MANAGER SUMMARY-110 RTNSPC 0287 DECK-ID F19 FILE MANAGER SUMMARY-110 RPEND 0327 DECK-ID F07 FILE MANAGER SUMMARY-110 *S,FMRP12,S *M FMDUMY 0493 DECK-ID F24 FILE MANAGER SUMMARY-110 *S,FMREND,S *S,JFILV4,S SPECIFY THE JOB FILE TABLE SPACE *M,JFILV4+$40 *T END OF SYSTEM * * * U N P A T C H E D E X T E R N A L S * * * PARITY POWERU INITIALIZATION COMPLETED - YOU MAY AUTOLOAD Simulation stopped, P: 5914 ( 18FF JMP* $FF) sim> autoload cdd sim> run 0 MSOS 5.0--PSR LEVEL 120 01/26/82 SET PROGRAM PROTECT Simulation stopped, P: 1E13 ( 4CF0 STQ* ($F0)) sim> set cpu protect sim> c EXXON DEVELOPMENT SYSTEM 65K MODE CHECKING FILES - OK ENTER DATE/TIME MMDDYYHHMM 0714881208 <============================ Enter date/time DATE: 14 JUL 88 TIME: 1208:00 MI <==================================== ^G (Control + G) for manual interrupt *BATCH <================================ Start batch subsystem *CTO, MSOS 5.0 INSTALLATION COMPLETED - YOU MAY AUTOLOAD Simulation stopped, P: 8592 (P 18FB JMP* $FB) sim> q Goodbye Output from the batch jobs is sent to the line printer. 4. MSOS 5 4.1 Limitations The distribution tapes for MSOS 5 were generated by CDC individually for each customer so the one we have available (MSOS5_SL136.tap) is for a machine initially installed at Exxon. This particular system included 4 1733-2 disk drives and a 1752 drum. The 1733-2 disks are full supported by the simulator but the 1752 drum is not since I have not been able to locate any documentation of the programming interface. The file manager storage is spread out over all of the above devices so there will always be at least 1 error detected when trying to create files. It is possible to patch the system so that some of these devices are no longer present. Create a file "patchMSOS5" in the directory you would normally run the emulator and add the following: # Patch out unwanted devices # 1752 drum d 057C 0649 # 1733-2 unit 3 d 0589 0649 # 1733-2 unit 2 d 0570 0649 # 1733-2 unit 1 d 056F 0649 # 1728 Card Reader/Punch d 056D 0649 d 057E 0649 d 0589 0649 # set cpu protect continue When the system boots and asks the operator to "SET PROGRAM PROTECT", use ^E to get a "sim> " prompt and execute this script with "do patchMSOS5". The unwanted devices will be replaced with software dummy alternate device. 4.2 Using MSOS 5 The MSOS 5 reference manual contains all of this information (and more) and is available from bitsavers.org as pdf/cdc/1700/msos/MSOS_5/96769400C_MSOS_Version_5_Reference_Oct77.pdf. To start using MSOS 5, use the "autoload cdd/run 0" as described above to start execution of the MSOS 5 installation. Enable protect mode when requested and enter the current date and time (the system is not Y2K compliant so dates are only good through 1999). The installation tape (MSOS5_SL136.tap) includes most optional components; Macro Assembler, Fortran Compiler, File Manager, Sort/Merge. (So far the only component I have found missing is RPG and there appears to be a tape available on bitsavers.org). Console input is only accepted once the manual interrupt character (Control + G) has been typed and, even then, only a limited set of commands is accepted. To execute applications from within the program library you must start the batch sub-system and type in batch commands on the console. To start batch and create a new job: MI <==================================== ^G (Control + G) for manual interrupt *BATCH <================================ Start batch subsystem J *JOB <================================== Start a new batch job J 4.3 MSOS 5 Utilities As an example the following sequence will output the logical unit table to the printer: *LULIST <=============================== Load the listing program E *E <================================== Start execution - the first "E" is output by the loader J In this example, the initial "E" was an indication that the program included some unpatched externals. At this point the following inputs are valid: * Causes execution regardless of unpatched externals *E Resolves unpatched externals with core-resident entry points and, if none are left, causes execution. *T Causes job termination. Using the same example we can change the logical device assignments so that the output will be on the comment device (the console teletype): *K,L4 <================================ Set system print unit to teletype J *LULIST E10 List of unpatched externals LOG1A SYSID SYSYER SYSDAY SYSMON E *E <================================= Resolve externals and execute MSOS 5.0 LOGICAL UNIT LISTING FOR EXXON DEVELOPMENT SYSTEM 01/26/82 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. 1743-2 ASYN COMM CONTR READ/WRITE TELETYPE EQ 05 31. 1743-2 ASYN COMM CONTR READ/WRITE TELETYPE EQ 05 32. 1743-2 ASYN COMM CONTR READ/WRITE TELETYPE EQ 05 33. 1743-2 ASYN COMM CONTR READ/WRITE TELETYPE EQ 05 34. 1743-2 ASYN COMM CONTR READ/WRITE TELETYPE EQ 05 35. 1743-2 ASYN COMM CONTR READ/WRITE TELETYPE EQ 05 36. 1732-3/616-92 MAG TAPE READ/WRITE MAGNETIC TAPE EQ 07 37. 1732-3/616-92 MAG TAPE READ/WRITE MAGNETIC TAPE EQ 07 38. 1742-120 LINE PRINTER WRITE ONLY LINE PRINTER EQ 04 39. 1728/430 CARD READER/PUNCH READ/WRITE CARD RDR/PUNCH EQ 10 40. 1743-2 ASYN COMM CONTR READ/WRITE TELETYPE EQ 05 41. 1743-2 ASYN COMM CONTR READ/WRITE TELETYPE EQ 05 42. 1743-2 ASYN COMM CONTR READ/WRITE TELETYPE EQ 05 43. 1743-2 ASYN COMM CONTR READ/WRITE TELETYPE EQ 05 44. 1743-2 ASYN COMM CONTR READ/WRITE TELETYPE EQ 05 45. 1743-2 ASYN COMM CONTR READ/WRITE TELETYPE EQ 05 46. 1711 TELETYPEWRITER READ/WRITE TELETYPE EQ 01 J 4.4 Software Development Tools The easiest way to make use of the software development tools (Macro Assembler and Fortran Compiler) is through the batch system. You will need to patch out at least the 1728 Card Reader/Punch for this to work (see section 4.1 above). For this description I'm going to assume the source code (assembler or Fortran) is available on the host system (I'm assuming a Linux or Unix derivative system). You will need the mksimtape utility available in the simtools respository on github: 1. Create the source file (e.g. test.ftn) in upper case only. 2. Wrap the source code with compiler directives: OPT ABC PROGRAM XYZ C FORTRAN PROGRAM ... ... MON The OPT/MON commands must be indented by 1 space. The OPT command specifies what the compiler is to do with the input; generate listing, objects etc. The MON command causes the compiler to return control to the operating system once the compilation is complete. 3. Wrap the source again with batch directives: *JOB *FTN OPT LAPX PROGRAM XYZ C COMMENT ... ... END MON *CTO,COMPILATION COMPLETE *LGO data *Z This will compile the source code, send a message to the comment device (typically the console TTY) and then load and execute the program. If the program reads data from standard input it should follow the *LGO command. 4. The compiler/assembler expects each line of input to be in a separate record on magtape so we need to convert the input file into fixed length records. On Linux/Unix, dd will do this: dd if=test.ftn of=test.blk cbs=72 conv=block 5. Write the file to a .tap container: mksimtape test.blk:72 >test.tap 6. Now boot up MSOS5 in the simulator, attach test.tap to mt0, type ^G to get the system's attention and type *BATCH to start the batch system running. Listings should be sent to the line printer along with any output from the application. If you want to code in Macro Assembler, the operations are the same; change *FTN to *ASSEM and change the OPT parameters. Documentation for both the Macro Assembler and Fortran compiler are available on bitsavers.org.