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. | |