

    Home
    DEC
    BCL
    Relay Computers
    FPGAs
    Other
    Books & Papers
    Downloads
    Links

DSM-11
The following files and information are presented as an historical record only.  They should never be used for any commerical projects!

Digital Standard Mumps for the PDP11 (DSM-11) is an operating system, programming language, and database all rolled together.

It was used extensively in the UK in the health service and also in financial back-office systems.

See the downloads page for individual files.

Copying original DEC tapes for use with simh

    (These notes are more of a reminder for myself than anything else!)
    As an example, these notes apply to copying a DSM-11 SYSTO tape. DSM-11 was DEC's version of MUMPS for the PDP11. The tape I have is V3.3.
    I have a DEC TSV07 tape drives with a single ended SCSI interface connected to a SUN SPARC Server running Solaris 10.
     
    The SUN Server 'sees' the tape drive as /dev/rmt/0c and as /dev/rmt/0cn (the no-rewind option).
    Use 'export TAPE=/dev/rmt/0c ' to avoid having to specify it all the time to the mt command.
     
    mt rew - will rewind the tape
    mt offline - will rewind and unload the tape
     
    tcopy /dev/rmt/0cn > file_name is a useful command to investigate what is on the tape. Use /dev/rmt/0cn - the n option avoids rewinding the tape each time. Keep repeating the command as you work through the tape.
     
    dd if=/dev/rmt/0c of=image_file_name bs=40960 The default block size is 512, but specifying a much bigger size will make sure we get it all.
    The most useful program is found here: http://inwap.com/pdp10/usenet/timage.c
     
    No real idea about c or gcc on Solaris, but this worked...
     
    bash-3.00# gcc -o timage timage.c
    bash-3.00# ./timage
    Usage: timage from-nrmt to-file
     
    bash-3.00# ./timage /dev/rmt/0cn dsm_image
    256 records, blocksize 512
    36 records, blocksize 1024
    877 records, blocksize 1024
    310 records, blocksize 1024
    /dev/rmt/0cn: I/O error
    child pipe read R: Error 0
    bash-3.00#
     

Running the simh PDP11 simulator and booting from the DSM-11 tape image

bash-3.00# /export/home/simh/machines/pdp11
 
PDP-11 simulator V3.8-1
sim>
sim> att tm dsm_image
sim> att rl0 dsm_working_rl.dsk
RL: creating new file
Overwrite last track? [N] Y
sim> boot tm
 
Booting DSM-11...
DSM-11 Version 3.3
Now running the baseline system.
 
Begin DSM-11 Version 3.3 system installation
 
Answer with a question mark (?) any time you wish more information.
 
 
Please enter today's date [ DD-MMM-YY ] ? > 28-SEP-98
 
and time [ HH:MM:SS ] ? > 11:42
 
Install DSM-11 on which disk unit ? > ?
Possible units are: DK0 (RK05 unit 0)
DK1 (RK05 unit 1)
DK2 (RK05 unit 2)
DK3 (RK05 unit 3)
DK4 (RK05 unit 4)
DK5 (RK05 unit 5)
DK6 (RK05 unit 6)
DK7 (RK05 unit 7)
DL0 (RL01 unit 0)
DL1 (RL01 unit 1)
DL2 (RL01 unit 2)
DL3 (RL01 unit 3)
DM0 (RK06 unit 0)
DM1 (RK06 unit 1)
DM2 (RK06 unit 2)
DM3 (RK06 unit 3)
DM4 (RK06 unit 4)
DM5 (RK06 unit 5)
DM6 (RK06 unit 6)
DM7 (RK06 unit 7)
DR0 (RM03 unit 0)
DR1 (RM03 unit 1)
DR2 (RM03 unit 2)
DR3 (RM03 unit 3)
DR4 (RM03 unit 4)
DR5 (RM03 unit 5)
DR6 (RM03 unit 6)
DR7 (RM03 unit 7)
DU0 (RD54 unit 0)
DU1 (RD54 unit 1)
DU2 (RD54 unit 2)
 
Type the 2-character controller type, and the unit number, like this:
"DK0" for RK05 unit 0, or "^" to go back.
 
Install DSM-11 on which disk unit ? > DL0
Do you wish to run a comprehensive test for bad blocks
on this disk ? [Y/N] > Y
 
Test pattern 177777 octal ? [Y/N] > Y
Test pattern 125252 octal ? [Y/N] >
 
Each test consists of writing a test pattern on the entire disk, then
verifying that it can be read back without errors. Any block which
gives errors (even recoverable errors) will automatically be entered
in the bad-block table on the disk, and will not be used by DSM11.
If you answer 'Y', you will be able to choose, optionally, one or more
of the following test patterns:
177777 octal (all one bits)
125252 octal (alternating one and zero bits)
052525 octal (alternating zero and one bits)
000000 octal (all zero bits)
 
Test pattern 177777 octal ? [Y/N] > Y
Test pattern 125252 octal ? [Y/N] > Y
Test pattern 052525 octal ? [Y/N] > Y
Test pattern 000000 octal ? [Y/N] > Y
 
(You may hit the "ESC" key at any time to determine the number of
blocks processed so far)
 
11:42:27 Begin test pattern 177777
 
11:42:28 Begin test pattern 125252
 
11:42:30 Begin test pattern 052525
 
11:42:31 Begin test pattern 000000
 
11:42:34 Testing complete
 
 
RL01 Unit 0 Bad Block Table
 
The Bad Block Table is empty
 
Do you know of any other bad blocks on this disk ? [Y/N] > N
 
What would you like the new label of this disk to be ?
(up to 22 characters, enclosed in quotes) ? > DSM11
Like this: "THE NEW LABEL"
What would you like the new label of this disk to be ?
(up to 22 characters, enclosed in quotes) ? > "DSM-11"
 
What 3-character uppercase name do you wish to give this volume set ? SYS
Now initializing DL0 for use as DSM-11 volume...
Loading the DSM-11 Version 3.3 system utilities onto the system disk:
 
%BLKWT %BN %CRF %CRF1 %CURSOR %D %DH %DIAL
%DO %DOC %E %EB %ED %EDI %EDIEDT %EDIFIL
%EDIINS %EDILST %EDIMAC %EGD %ER %ET %FGC %FGR
%FGR1 %FGR2 %FGR3 %FGR4 %FGT %FL %G %G1
%G2 %G3 %G4 %GCH %GD %GE %GEDIT %GGP
%GL %GL1 %GLO1 %GLO2 %GLOMAN %GR %GRT %GRTINI
%GRTR %GRTS %GS %GS1 %GSEL %GSEL1 %GTI %GTO
%GUCI %H %HD %HDR %HDR1 %HELP %HELPED %HELPH
%HELPMEN %IOS %IOS1 %JOB %LIB %LNKMP %MENLIS %MENU
%MTCHK %NAKED %OD %OVR %P %PC %PCMP %PCOMP
%PCOPY %PCR %PD %PDEL %PEXC %PFL %PL %PP
%PR %PRIO %PS %PSD %PSE %PSEDIT %PSEL %PXR
%RCE %RCMP %RCOPY %RD %RDX %RM %RM1 %RML
%RR %RS %RSE %RSEL %STRTAB %SUM %SUM1 %SUM2
%SUM3 %SUM4 %SUM5 %SUMSEL %SY %SYR %SYSROU %T
%TDN %UTL %VAR %WU ACTJOB ALLOCAT ATTACH AUPAT
AUPAT0 AUPAT1 AUPAT2 BACKCRE BACKCRF BACKCRG BACKFL BACKHELA
BACKHELP BACKJRN BACKLOGO BACKMGA BACKMM BACKMMGO BACKMNT BACKONE
BACKPRT BACKSET BACKSTR BACKUNJR BACKUP BACKUPDO BACKUPPR BACKVARS
BACKVERI BACKVRS2 BBTAB BCS BLDMP BLDMP1 BOOTCOPY BSC
BSCBIT BSCEBC BSCHLT BSCMON BSCPE BSCPEB BSCPER BSCQUE
BSCRCV BSCSTA BSCSTR BSCXMT CARE CONFIG CREATPQ CTK
CTK0 CTK1 CTK2 CTKDAT CTKUTL DAT DBT DBTALLY
DDP DDPCIR DDPCON DDPLNK DDPSRV DDPUTL DDR DEJRNL
DEJRNL1 DEJRNL2 DESPOOL DETACH DGAM DISKMAP DISKPREP DISKSIZ
DISMOUNT DPBBSET DPBEGIN DPFMT30 DPFORMAT DPINIT DPLABGET DPNEWL
DPSYCOPY DPTEST DPUTILOD DSKTRACK FASTDBT FASTGTO FASTIC FIX
FIXDATA FIXDATA1 FIXGD FIXMAP FIXMAP1 FIXPTR FIXPTR1 FIXROU
GC GC1 GLBPLACE IC IC0 IC1 IC2 IC3
IC4 INSTALL JOBTAB JRNALL JRNCOPY JRNCOPY1 JRNCOPY4 JRNDEALL
JRNDKEND JRNGETST JRNINIT JRNL JRNLSHOW JRNRECOV JRNSTART JRNSTOP
JRNSTU KTR KTR1 KTRUDA LABEL LABELMT LABSHO LMAP
LOAD LOADR LOCKTAB MAKESDP MAPMOUNT MAPM1 MBP MBP1
MBP1H MBP2 MBPH MDAT MMD MOUNT MOUNTX MSUROU
MUX MUX1 MUXDEF PARTAB PARVEC PARVEC0 PATCH PATFL1
PATFL2 PATFL3 PATFL4 PATFL5 PCHIST PCHIST1 PCHISTP PEEK
REPTAB REST RESTDO RESTDOMG RESTMAGU RESTMAS RESTMNT RESTRESB
RESTRTNS RJD RMAP RMBLD RMDIS RMSHO RMLOAD RTHELP
RTHIST RTHIST1 RTHISTP SAVBOOMK SAVBOOT SDCCOPY SDP SETHOST
SGAUTO SGBUFF SGBUFFH SGDATA SGDEVS SGDISK SGDMC SGLOAD
SGMAGT SGMEM SGOPTH SGOPTS SGPART SGSOFT SGSUB SPL
SPLALL SPLINI SPLREM SPLSTR SSD STA STU STU1
STU2 STU3 STU4 STUBLD STUBLD2 STUBLDH STUCSR STUDIST
STUSETPV STUSPL SWREG SYCOPY SYS SYSDEF SYSGEN SYSROU
SYSTAB SYSTAB0 SYSTAB1 SYSTAB15 SYSTAB2 SYSWAIT SYTOTAPE TAPCOPA
TAPECOPY TIM TRANTAB TRANTB1 TTTG TTTSHO UCIADD UCIEDIT
UCILI UCITAB UCITRAN UNLOAD UTL V3TAPEGL V3UTILS VER
 
Transferring the system globals:
SYS % %EDI %EDIHELP %HELP11 %MENU %Q
 
 
Now copying the system image onto your new disk,
making it a bootable DSM-11 Version 3.3 system disk...
 
 
DL0 is now a bootable DSM-11 Version 3.3 system disk.
You may dismount the distribution magnetic tape now.
 
Do you wish to proceed directly to SYSGEN ? <Y>
 
System generation for DIGITAL Standard MUMPS
 
Type ? for HELP at any time
 
PART 1: SYSGEN
-------
 
1.1 Would you like extended help [Y OR N] ? <N>
 
1.2 Enter the configuration identifier <1>
 
1.3 Do you wish to Auto-configure the current system [Y OR N] ? <Y>
 
Configuring Host System . . .
 
Processor Type: PDP-11/83
 
Memory Size: 256 KB
 
Processor/Memory Options:
 
Floating Point Unit
Extended Instuction Set
22 Bit Addressing
Cache
 
Name Vector CSR Unit Type Description
 
DKA 220 177404 RK11 Disk Controller
0 RK05 Disk Drive
1 RK05 Disk Drive
2 RK05 Disk Drive
3 RK05 Disk Drive
4 RK05 Disk Drive
5 RK05 Disk Drive
6 RK05 Disk Drive
7 RK05 Disk Drive
 
DMA 210 177440 RK611 Disk Controller
0 RK06 Disk Drive
1 RK06 Disk Drive
2 RK06 Disk Drive
3 RK06 Disk Drive
4 RK06 Disk Drive
5 RK06 Disk Drive
6 RK06 Disk Drive
7 RK06 Disk Drive
 
RHA 254 176700 RH11 Disk Controller
0 RM03 Disk Drive
1 RM03 Disk Drive
2 RM03 Disk Drive
3 RM03 Disk Drive
4 RM03 Disk Drive
5 RM03 Disk Drive
6 RM03 Disk Drive
7 RM03 Disk Drive
 
DLA 160 174400 RL11 Disk Controller
0 RL01 Disk Drive
1 RL01 Disk Drive
2 RL01 Disk Drive
3 RL01 Disk Drive
 
DUA 124 172150 MSCP Disk Controller
0 RD54 Disk Drive
1 RD54 Disk Drive
2 RD54 Disk Drive
3 RX50 Disk Drive
 
MTA 224 172520 Device not supported
 
MUA 130 174500 TMSCP Tape Controller
0 TK50 Tape Drive
1 TK50 Tape Drive
 
DXA 264 177170 Device not supported
 
LPA 200 177514 LP11 Line Printer Controller
 
XHA 270 174440 DEQNA Ethernet Controller
 
YZA 300 160100 DZV11 Asynch Multiplexor Controller
 
YZB 310 160110 DZV11 Asynch Multiplexor Controller
 
YZC 320 160120 DZV11 Asynch Multiplexor Controller
 
YZD 330 160130 DZV11 Asynch Multiplexor Controller
 
1.4 Do you wish to modify this configuration information [Y OR N] ? <N>
 
PART 2: DISK INFORMATION
-------
 
Disk information supplied by AUTOCONFIGURE
 
PART 3: SYSTEM DEVICES
-------
 
System Device information supplied by AUTOCONFIGURE
 
PART 4: CONFIGURE DMC/DMR-11's and DDP
-------
 
4.5 How many DSM nodes are connected to DEQNA #0 > 2
 
PART 5: SOFTWARE CONFIGURATION
-------
 
5.1 Do you wish to use the STANDARD SOFTWARE OPTIONS [Y OR N] ? <Y>
 
PART 6: ASSIGN DEVICE NUMBERS
-------
 
The following single line device assignments have been made:
 
Device Number Controller-Number
 
3 LP11-0
 
PART 7: SOFTWARE OPTIONS
-------
 
SEQUENTIAL DISK PROCESSOR support: Included
 
JOURNAL support: Included
With 2 buffers
 
SPOOLING support: Not Included
 
INTERJOB COMMUNICATIONS support: Included
With 16 communication channels
and a 64 byte default ring buffer size
 
LOADABLE or USER DRIVER SPACE support: Not Included
 
MAPPED ROUTINES support: Not Included
 
UCI TRANSLATION TABLES support: Included
 
MOUNTABLE DATABASE VOLUME SETS support: Included
 
Total System Exec size: 85.42 K Bytes
 
PART 8: MEMORY BUFFER ALLOCATION
-------
 
Number of 512 byte DDP buffers: 40
 
Default terminal RING BUFFER size: 64 Bytes
 
Total space allocated to RING BUFFERS: 3328 Bytes
 
Total number of 1 K byte DISK-TAPE cache buffers: 68
 
PART 9: SYSTEM DATA STRUCTURES
-------
 
Space allocated for DISK-MAP and BAD BLOCK TABLE: 9472 Bytes
Space allocated to UCI TRANSLATION TABLE: 1280 Bytes
Space allocated to GLOBAL VECTOR TABLE: 4096 Bytes
Space allocated to DDP structures: 10752 Bytes
 
Space allocated to the LOCK TABLE: 512 Bytes
 
Number of mountable DATABASE VOLUME SETS: 7
 
PART 10: JOB PARTITION DEFINITION
--------
 
PARTITIONs are allocated in 1024 byte increments.
 
The following PARTITIONs have been defined:
 
JOURNAL system job 1 KB
GARBAGE COLLECTOR system job 1 KB
Job #1 (to guarantee one 9 K byte PARTITION) 9 KB
 
Default partition size: 9 K Bytes
 
Space remaining for PARTITION allocation: 34.00 K bytes
 
The remainder of memory is assigned to the DYNAMIC PARTITION POOL
 
PART 11: DATABASE PARAMETERS
--------
 
WRITE CHECK after WRITE on disks: Not Included
 
System default global characteristics are:
 
8 Bit Subscripts: Yes
Journaling: No
Collating sequence: Numeric
 
PART 12: BASIC SYSTEM PARAMETERS
--------
 
Default UDA disks that are dual-ported. NONE
 
View buffer device protection: Included
 
ZUSE command protection: Included
 
LOGIN SEQUENCE CHARACTERS: echoed
 
Default APPLICATION INTERRUPT key: 3 (CTRL/C)
 
Default PROGRAMMER ABORT key: 25 (CTRL/Y)
 
Time delay for POWER FAIL RESTART: 40 seconds
 
Time delay for TELEPHONE DISCONNECT: 15 seconds
 
Number of significant DIGITS for DIVISION: 12
 
12.9 Is the LINE FREQUENCY 60 HZ [Y OR N] ? <Y> N
 
12.10 Enter the 3-character Programmer Access Code (PAC) > xxx\xxx\XXX
 
Please enter your initials > KRM
 
Enter comment (max. 200 chars.) >
 
The system global ^SYS has been built by SYSGEN.
^SYS is a reserved global and should not be altered.
 
 
If you wish to customize your new configuration by modifying:
 
. Terminal speed settings or other parameters
. Magnetic tape default format
. UCI's or database VOLUME SETS
. TIED TERMINAL table
. UCI translation table
. Default GLOBAL CHARACTERISTICS/PLACEMENT
. Routine maps
 
then login to the manager's UCI and type "D ^SYSDEF"
 
You do not have a startup command file,
Do you wish to remain in baseline mode ? <N>
 
Begin defining a new startup command file.
 
Configuration ? <1> 1
Apply patches to memory [Y OR N] ? <N>
Start up the Journal [Y OR N] ? <N>
Startup Distributed Database Processing [Y OR N] ? <N>
Start the Caretaker background job [Y OR N] ? <Y>
Enter the Printer Number for system error messages <1>
Automatic logging of DSM errors [Y OR N] ? <N>
Mount additional disk volumes [Y OR N] ? <N>
Make this the new startup file for configuration 1 [Y OR N] ? <Y>
 
Re-configuring memory...
Memory re-configured
 
Mounting SYS as Volume Set number S0
Volume 1 on DL0 has 4800 blocks 3261 available.
Total in volume set: 4800 blocks 3261 available.
 
Building terminal control blocks...
 
Caretaker is now running as job number 2.
 
DSM-11 Version 3.3 1 is now up and running!
Exit
 
DSM-11 Version 3.3 Device #1 UCI: mgr:xxx
<NOPGM>:1 G ^xxx
Exit
 
DSM-11 Version 3.3 Device #1 UCI: MGR:XXX
>
 
>D ^SSD
 
1 JOB IS CURRENTLY LOGGED IN.
LOGINS ARE NOW DISABLED.
 
1. Display Logged-In Jobs
2. Perform Timed Shutdown
3. Terminate All Jobs, Perform Immediate Shutdown
 
ENTER OPTION > 3
 
THE FOLLOWING JOBS ARE STILL LOGGED IN:
 
JOB # PRINCIPAL DEVICE ROUTINE
 
2 1 CTK0
 
 
DO YOU WISH TO KILL THESE JOBS AND SHUT DOWN NOW (10 SECONDS TO ANSWER)
[ Y/N ] ? <Y>
...Caretaker stopped.
 
DDP shutting down ... DDP shutdown complete
 
... JOB # 2 HAS BEEN KILLED
 
READY TO HALT
 
Exit
 
Simulation stopped, PC: 007702 (INC R3)
sim> quit
Goodbye
bash-3.00#
 
   
 
Then booting from the installed disk - an RL02 pack
 
bash-3.00# /export/home/simh/machines/pdp11
 
PDP-11 simulator V3.8-1
sim> at rl0 dsm_working_rl.dsk
sim> boot rl0
 
Booting DSM-11...
 
DSM-11 Version 3.3
Now running the baseline system.
 
Please enter today's date <28-Sep-98>
Is today Monday ? <Y>
Please enter time [ HH:MM:SS ] > 11:47
Is this 11:47 AM in the Morning ? <Y>
 
Start up the default system (1) [Y/N] ? <Y>
 
Re-configuring memory...
Memory re-configured
 
Mounting SYS as Volume Set number S0
Volume 1 on DL0 has 4800 blocks 3259 available.
Total in volume set: 4800 blocks 3259 available.
 
Building terminal control blocks...
 
Caretaker is now running as job number 2.
 
DSM-11 Version 3.3 1 is now up and running!
Exit
 
DSM-11 Version 3.3 Device #1 UCI: MGR:XXX
>
 
