


	SESSION NOTES FOR RX014  SYSTEM MANAGER'S ACTIVITIES PANEL


		System-wide Command Files

----------------------------------------------------------
			Edward Cetron
			Center for Biomedical Design
			3168 MEB, University of Utah
			Salt Lake City, Utah   84112

		copyright @ 1983
----------------------------------------------------------

	The following software is released under the following
restrictions and conditions:

		1. Ownership is maintained by, and is not relinquished
	by distribution, E. Cetron and the University of Utah.
		2. It is requested that the above credit lines be included in
	all applications of these command files.
		3. Neither E. Cetron, nor the University of Utah take
	any responsibility for the correctness, functionality or damage
	caused by the use of these command files.


.;	[1,2]Startup.cmd
.;
.ENABLE SUBSTITUTION
.disable lowercase
.enable quiet
set /slave=ti:
SET /NOLOGON
.;RMD
.; assign system globals (lx for error logging, cl for console listings)
asn dl1:=lx:/gbl
asn tt16:=cl:/gbl
asn dl0:=zz2:/gbl
.1:
.ASKS TIM Enter date and time ( dd-mmm-yy hh:mm )
.5:
TIM 'TIM'
.IF <EXSTAT> <> 1 .GOTO 1
tdy
.DISABLE QUIET
.ASK OK ARE YOU SURE THE DATE AND TIME IS 'TIM'
.ENABLE QUIET
.IFF OK .GOTO 1
TIM 'TIM'
.IF <EXSTAT> <> 1 .GOTO 1
.disable quiet
;    Thinking.......
.enable quiet




ACS SY0:/BLKS=700.
CON ONLINE ALL
.; slave terminals connected to outgoing modems
set /slave=tt23:
set /slave=tt34:
set /slave=tt35:
.;RMD
.;
.;  remove .; on several of the next groups
.;	of code to enable interactive startup
.;
.;.ask reslib Install F4PRES
.;.iff reslib .goto nores
SET /TOP=GEN:-1000
SET /MAIN=F4PRES:147000:1000
INS [1,1]F4PFSL/PAR=F4PRES
INS [1,1]F4PCLS/PAR=F4PRES
.nores:
.;RMD
.;.ask vdisk Start Virtual Disk Package
.;.iff vdisk .goto novrt
ins $mtaacp
LOA VE:
LOA VS:
CON ONLINE ALL
INS $AVE
INS $DVE
.novrt:
.;RMD
.;.ask clis Initialize CLIs
.;.iff clis .goto noclis
CLI /INIT=DCL/TASK=...DCL/cpr="<15><12>/dcl]/"/dpr="<15><12>/]/"
CLI /INIT=lgocli/TASK=...ogl/lgo/cpr="<15><12>/lgo>>/"/dpr="<15><12>/>>/"
ins $rtcli/cli=yes/task=...rtm/pri=156.
cli /init=rtcli/task=...rtm/dpr="<15><12>/?/"/cpr="<15><12>/rtcli>/"/message
ins $cadcli/cli=yes/task=...cad/pri=126.
cli /init=cadcli/task=...cad/dpr=""/cpr=""
.noclis:
.; start up Bruce Mitchells idle terminal monitor
run bigbro
SET /PUB=DL1:
MOU DL1:/OVR
SET /PUB=DL2:
MOU DL2:/OVR
ELI /LOG/LIM
SET /PAR=LABCOM:177677:71:DEV
.;RMD
.;.ASK ACCT Do you want to start accounting
.;.iff acct .goto noacct
SET /UIC=[1,4]
PIP [1,4]CUMLOG.LOG=[1,4]CONSOLE.LOG;*/ap/NM
PIP [1,4]CUMLOG.LOG/PU
PIP [1,4]CONSOLE.LOG;*/DE/NM
pip [1,4]*.*;*/pr/sy:rwe/ow:rwed/gr/wo
pip [1,4]acctlog.log;*/pr/sy:rwe/ow:rwed/gr/wo:rwe
SET /UIC=[2,1]




.noacct:
SET /COLOG=ON/NOCOTERM	
.DELAY 2S
BRO CO: START-UP - ANOTHER DAY, ANOTHER DOLLAR
.WAIT BRO
.;RMD
.;.ask qmger Start Queue Manager
.;.iff qmger .goto noqmg
.;
.;    *** note: the following lines MUST be in
.;    ***  SYSVMR.CMD for  STARTUP.CMD to work:
.;	INS BPR			! Batch processor
.;	INS LPPFSL/TASK=TT17	! Line printer despooler
.;	INS LPPFSL/TASK=TT16
.;	INS QMGFSL			! Queue manager
.;	INS [3,54]QMGCLI
.;	INS [3,54]QMGCLI/TASK=...PRI
.;	INS [3,54]QMGCLI/TASK=...LTR
.;	INS [3,54]QMGCLI/TASK=...SUB
.;	INS [3,54]QMGPRT/TASK=PRT.../SLV=NO
.;
QUE /START:QMG
QUE TT16:/CR/NM
QUE TT16:/SPOOL/FLAG:1/FORM:0/SHR/LOWER
QUE TT16:/ASSIGN:PRINT
QUE TT17:/CR/NM
QUE LTRQAL:/CR/NM
QUE TT17:/SPOOL/NOFLAG/NOJOB/FORM:0/SHR/LOWER
QUE TT17:/ASSIGN:LTRQAL
QUE BAP0:/CR:BA/NM
QUE BAP0:/BA
QUE BAP0:/ASSIGN:BATCH
.noqmg:
.10:
.; Update the login message
set /uic=[1,2]
COK >COK1.TXT
PIP LOGINB.TXT=BASELOGIN.TXT,COKHEAD.TXT,COK1.TXT,SPACE.TXT/ME
PIP dl0:LOGIN.TXT=dl0:LOGINB.TXT,dl1:[2,1]MEMO.TXT,dl0:[1,2]ENDLOGIN.TXT/ME
PIP *.TXT/PU
.; Setup automatic login message update
pip *.txt;1=*.txt;*/re
submit /noprint/nolog/af:1:00:tommorrow=dl0:[1,2]newlogin.cmd
set /uic=[1,377]
.;RMD
.;.ask vdd Load the Virtual Disks
.;.iff vdd .goto novdd
PIP DL2:[0,1]*.DSK;*/UN/NM
PIP DL1:[0,1]*.DSK;*/UN/NM
AVE VE00:=DL2:[0,1]KLAUS1.DSK
AVE VE01:=DL2:[0,1]REES1.DSK
AVE VE02:=DL2:[0,1]SANDY1.DSK
AVE VE03:=DL2:[0,1]TONY1.DSK
AVE VE04:=DL2:[0,1]JAY1.DSK
AVE VE05:=DL2:[0,1]PETE1.DSK
AVE VE06:=DL2:[0,1]DAVE1.DSK




AVE VE07:=DL2:[0,1]THOMAS1.DSK
AVE VE10:=DL2:[0,1]JOHN1.DSK
AVE VE11:=DL2:[0,1]TODD1.DSK
AVE VE12:=DL2:[0,1]SAM1.DSK
AVE VE13:=DL2:[0,1]ED1.DSK
AVE VE14:=DL1:[0,1]BRUDSK.DSK
AVE VE15:=DL1:[0,1]SCRATCH.DSK
AVE VE16:=DL1:[0,1]TEMP.DSK
REM AVE
REM DVE
.; Install often changed and system-specific tasks
INS DL0:[7,7]KERMIT.TSK/TASK=...KMT/PRI=95.
INS $HPFIX/TASK=...ZHP/PRI=150.
.enable timeout
.ask [:10s] hsmd Do you want high-speed memory disk?
.ift hsmd @[1,2]LOADFX.CMD
.novdd:
SET /LOGON
set /noslave=TI:
BYE
.20:



.;	[1,2]Shutup.cmd
.;
.enable quiet
SET /COLOG=on/nocoterm
FRE DL0:
FRE DL1:
fre dl2:
BRO CO: SHUT-DOWN.......
.WAIT ...BRO
set /colog=off
SET /UIC=[1,4]
ASN DL0:=SY:
PIP CUMLOG.LOG=CONSOLE.LOG;*/ap
PIP CUMLOG.LOG/PU
PIP CONSOLE.LOG;*/DE
eli /show
INS $DVE
DVE VE0:
DVE VE1:
DVE VE2:
DVE VE3:
DVE VE4:
DVE VE5:
DVE VE6:
DVE VE7:
DVE VE10:
DVE VE11:
DVE VE12:
DVE VE13:





.;  [1,2]syslogin.cmd
.;
	.enable substitution
	.ENABLE TIMEOUT
	.enable control-z
	.enable quiet
	.DISABLE lowercase
	.disable display
	.SETF RNO1NC
	.setf TT0
.;	
.;	initialize line (incoming modems are sometimes /noecho and
.;		mou appropriate virtual disk as set bye ACNT)
.;
	MOU SY:/OVR/VI
	SET /ECHO=TI:
.;
.;	Determine which terminal is being logged on
.;
	.testfile TI:
	.parse <filspc> ":" trmdev a1
	.sets term trmdev[3:*]
	.if trmdev eq "TT23" .goto cadcam
	.if P5 ne "P" .goto nomess
	.if <uic> eq "[2,1]" .goto acct
	.sets ssmmsg " User is "+p4+" "+p3+", system account "+p2
.; log privilege logon
	ssm Privileged logon terminal: 'trmdev''ssmmsg'
	.goto tsttrm
.nomess:
	set /nopriv=ti:
;
;	get accounting information
;
.tsttrm:
	.if trmdev ne "TT0" .goto acct
	.if <uic> eq "[2,1]" .goto acct
.disable quiet
;	You have just logged onto TT0: unless you have a
;		very good reason, please use one of the other
;		terminals.
;	Since this activity is being recorded, please enter
;		your reason below (default is immediate logoff,
;		and maximum length is 35 characters).
;
.ENABLE QUIET
.asks [::"bye":35s] reason Reason - 
	.ift <tImout> .goto tmout
	.if <strlen> eq 0 .goto byeoff
	.if reason eq "BYE" .goto byeoff
.sett TT0
.acct:




.;	
.;	get billing account
.;
.DISABLE QUIET
;
;	PLEASE TYPE * FOR A LIST OF VALID ACCOUNTS.
;
.ENABLE QUIET
	.asks [::"hoho":35S] acctnm What account (same as on time sheet)?  
	.IFT <TIMOUT> .GOTO TMOUT
	.IF <STRLEN> EQ 0 .GOTO ACCT
	.if acctnm eq "hoho" .goto acct
	.IF ACCTNM EQ "CBD RNO" .GOTO TTT
	.GOTO SSS
.TTT:	
.IFT RNO1NC .GOTO SSS
.SETT RNO1NC
.DISABLE QUIET
;	CBD RNO is only to be used for general lab word processing.
;	If you are doing word processing for your thesis, please use
;	THESIS WORK.  If your activities are not covered under the 
;	CBD Development umbrella, please use a different account.
.enable quiet
.goto list
.SSS:	.IF ACCTNM NE "*" .GOTO OKNAM
.LIST:
.DISABLE QUIET
;
;	VALID ACCOUNTS ARE:
;	
;	MYOLAB		PRODUCT ARM	ARM CONTROL	TERMNL DEV
;	ONR - HAND	IONTOPHORES	CAD/CAM		MASS DIFF
;	MIT - FINGER	INSULIN	CATH	DISNEY		IBM
;	NON-LIN FIL	MICRO ARM	CLASS WORK	DARPA MOTOR
;	UBTL            THESIS WORK	CBD RNO		MICROFIELD
.IF <UIC> NE "[2,1]" .GOTO NOSYS
;	SYS MAINT	
.NOSYS:
.IF <UIC> NE "[300,300]" .GOTO NOGLAS
;	SUNGLASSES
.NOGLAS:
.IF <UIC> eq "[300,150]" .goto mmm
.if <uic> eq "[4,4]" .goto mmm
.goto nomeg:
.mmm:
;	MEG
.NOMEG:
.if <uic> ne "[300,120]" .goto nosam
;	SAMS ROBOTICS
.NOSAM:
;
.ENABLE QUIET
.GOTO ACCT
.OKNAM:




.;
.; verify active accounts
.;
.IF ACCTNM EQ "DARPA MOTOR" .GOTO NAMCHK
.if acctnm eq "MICROFIELD" .goto namchk
.if acctnm eq "DECUS" .goto namchk
.if acctnm eq "RN RESEARCH" .goto namchk
.IF ACCTNM EQ "SAMS ROBOTICS" .GOTO NAMCHK
.IF ACCTNM EQ "MYOLAB" .GOTO NAMCHK
.if acctnm eq "UBTL" .GOTO NAMCHK
.IF ACCTNM EQ "CBD RNO" .GOTO NAMCHK
.IF ACCTNM EQ "THESIS WORK" .GOTO NAMCHK
.;IF ACCTNM EQ "CBD GENERAL" .GOTO NAMCHK
.IF ACCTNM EQ "ARM CONTROL" .GOTO NAMCHK
.IF ACCTNM EQ "PRODUCT ARM" .GOTO NAMCHK
.IF ACCTNM EQ "TERMNL DEV" .GOTO NAMCHK
.IF ACCTNM EQ "ONR - HAND" .GOTO NAMCHK
.IF ACCTNM EQ "IONTOPHORES" .GOTO NAMCHK
.IF ACCTNM EQ "CAD/CAM" .GOTO NAMCHK
.IF ACCTNM EQ "MASS DIFF" .GOTO NAMCHK
.IF ACCTNM EQ "MIT - FINGER" .GOTO NAMCHK
.IF ACCTNM EQ "INSULIN CATH" .GOTO NAMCHK
.IF ACCTNM EQ "DISNEY" .GOTO NAMCHK
.IF ACCTNM EQ "IBM" .GOTO NAMCHK
.IF ACCTNM EQ "NON-LIN FIL" .GOTO NAMCHK
.IF ACCTNM EQ "CLASS WORK" .GOTO CLASS
.IF ACCTNM EQ "SYS MAINT" .AND .if <UIC> EQ "[1,2]" .GOTO NAMCHK
.IF ACCTNM EQ "SYS MAINT" .AND .if <UIC> EQ "[2,2]" .GOTO NAMCHK
.IF ACCTNM EQ "SYS MAINT" .AND .if <UIC> EQ "[2,1]" .GOTO NAMCHK
.IF ACCTNM EQ "SYS MAINT" .AND .if <UIC> EQ "[1,1]" .GOTO NAMCHK
.IF ACCTNM EQ "SYS MAINT" .AND .IF <UIC> EQ "[1,4]" .GOTO NAMCHK
.IF ACCTNM EQ "SYS MAINT" .AND .IF <UIC> EQ "[0,0]" .GOTO NAMCHK
.IF ACCTNM EQ "MICRO ARM" .GOTO NAMCHK
.IF ACCTNM EQ "SUNGLASSES" .AND .if <UIC> EQ "[300,300]" .GOTO NAMCHK
.IF ACCTNM EQ "MEG" .AND .IF <UIC> EQ "[4,4]" .GOTO NAMCHK
.IF ACCTNM EQ "MEG" .AND .IF <UIC> EQ "[300,150]" .GOTO NAMCHK
.GOTO LIST
.cadcam:
	bro tt0: CV Logger online on TT23:
	set /noecho=ti:
	set /term=ti:0
	SET /SPEED=TI:9600:9600
	.XQT RUN $ORWELL/TASK=CVLOG
	run dl0:[6,6]parchk.tsk
	set /slave=ti:
	.sets acctnm "CV LOGGER"
	.goto namchk
.CLASS:
	.asks [::"hoho":35S] clasno What Class Number (i.e. 532)
	.IFT <TIMOUT> .GOTO TMOUT
	.IF <STRLEN> EQ 0 .GOTO class
	.if clasno eq "hoho" .goto class
.NAMCHK:
.;
.;	construct the billing file message packet and send it off
.;




	.testfile TI:
.sets mssg "  Login on "+<date>+" at "+<time>+" on terminal "+trmdev+"."
	.sets mssg2 "      User is "+p4+" "+p3+", system account "+p2
	.if acctnm eq "CLASS WORK" .SETS ACCTNM "CLASS WORK - "+CLASNO
	.sets mssg3 "      Billing Account is "+acctnm+"."
	.sets space "    "
	.opena lb:[1,4]acctlog.log
.enable data 
	'mssg'
	'mssg2'
	'mssg3'
	'space'
.disable data
	.close
.iff TT0 .goto fincmd
	.opena lb:[1,4]tt0log.log
.enable data 
	'mssg'
	'mssg2'
	'mssg3'
	'space'
	'reason'
.disable data
	.close
.fincmd:
;
;	clear override bit
;
;
;	set noslave if necessary
;
.slav:
	.if P6 = "S" .goto stlslv
	set /noslave=ti:
;
.stlslv:
.4321:
	cli /unovr
	.disable quiet
	.sets file p1+p2+"login.cmd"
	.testfile 'file'
	.if <filerr> = 1 .chain 'file'/lo
.GOTO FIN
.TMOUT:
.DISABLE QUIET
;
;  SORRY,
;      YOU DID NOT COMPLETE LOGON BY ANSWERING WITHIN 40 SECONDS.
;
	.testfile TI:
.sets mssg "  Login on "+<date>+" at "+<time>+" on terminal "+trmdev+"."
	.sets mssg2 "      User is "+p4+" "+p3+", system account "+p2
	.sets mssg3 "      Billing Account is INCOMPLETE LOGIN."
	.sets space "    "
	.opena lb:[1,4]acctlog.log




.enable data 
	'mssg'
	'mssg2'
	'mssg3'
	'space'
.disable data
	.close
.byeoff:
BYE
.FIN:


.;	[1,2]syslogout.cmd
.;
.5:
.10:
	.enable decimal
	.enable substitution
	.enable control-z
	.enable quiet
	.disable display
	.if <cli> eq "DCL" set term mcr
	set /slave=ti:
	.disable quiet
.;
.;	test for usage of temporary virtual disks and
.;		clean them up if necessary....
.;
	.setf theirs
	.setf ours
	.setf mount
	.setf mountn
	.setf mountf
	.setf noones
	.TESTDEVICE ve15:
.PARSE <EXSTRI> "," A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14
	.; ******  '<exstri>'   ********
	.setn count 14.
.55564:
	.if count eq 0 .goto 432
	.sets demo a'count'
	.; a'count' 'demo'
	.gosub eval a'count'
	.setn count count-1.
	.goto 55564
.432:
	.ift theirs .goto 5643
	.iff mount .and .ift noones .goto 5643
	.ift ours .and .ift mountn .and .iff mountf pip ve15:[*,*]*.*;*/de/nm
	.ift noones .and .ift mountf dmo ve15:
	.ift noones .and .ift mountf all ve15:
	.ift noones .and .ift mountf mou ve15:/for
	.ift noones .and .ift mountf .sett ours
	.ift ours .and .ift mountf ini ve15:scratch/mxf=500./inf=250.
			/bad=[noauto]/indx=beg (continued only for publication,
						it should actually be on the
						top line as one long line....)




	.ift ours .and .iff mount mou ve15:scratch
	.ift ours .and .iff mount pip ve15:[*,*]*.*;*/de/nm
	.ift noones .and .ift mount .and .iff mountf pip ve15:*.*;*/de/nm
	dmo ve15:
	dea ve15:
.5643:
	.setf theirs
	.setf ours
	.setf mount
	.setf mountn
	.setf mountf
	.setf noones
	.TESTDEVICE ve16:
.PARSE <EXSTRI> "," A1 A2 A3 A4 A5 A6 A7 A8 A9 A10 A11 A12 A13 A14
	.; ******  '<exstri>'   ********
	.setn count 14.
.55565:
	.if count eq 0 .goto 433
	.sets demo a'count'
	.; a'count' 'demo'
	.gosub eval a'count'
	.setn count count-1.
	.goto 55565
.433:
	.ift theirs .goto 5644
	.iff mount .and .ift noones .goto 5644
	.ift ours .and .ift mountn .and .iff mountf pip ve16:[*,*]*.*;*/de/nm
	.ift noones .and .ift mountf dmo ve16:
	.ift noones .and .ift mountf all ve16:
	.ift noones .and .ift mountf mou ve16:/for
	.ift noones .and .ift mountf .sett ours
	.ift ours .and .ift mountf ini ve16:temp/mxf=500./inf=250.
			/bad=[noauto]/indx=beg (continued only for publication,
						it should actually be on the
						top line as one long line....)
	.ift ours .and .iff mount mou ve16:temp
	.ift ours .and .iff mount pip ve16:[*,*]*.*;*/de/nm
	.ift noones .and .ift mount .and .iff mountf pip ve16:*.*;*/de/nm
	dmo ve16:
	dea ve16:
.5644:
.;
.;	chain to users logout.cmd
.;
	.sets file p1+p2+"logout.cmd"
	.testfile 'file'
	.if <filerr> = 1 .chain 'file'/lo
	.goto 333
.;
.;	subroutine to evaluate testdevice for significant status bits
.;
.eval:
.sets temp 'comman'
.if temp eq "MTD" .sett mountn
.if temp eq "FOR" .sett mountf
.ift mountf .or .ift mountn .sett mount
.if temp eq "ALU" .sett ours
.if temp eq "ALO" .sett theirs
.if temp eq "NAL" .sett noones
.return

.;
.; default terminal logout conditions
.;
.333:
	.testfile TI:
	.parse <filspc> ":" trmdev a1
	.sets term trmdev[3:*]
	.if trmdev eq "TT34" .GOTO 453
	.IF TRMDEV EQ "TT35" .GOTO 453
	.if trmdev eq "TT23" .goto 453
	set /noslave=ti:
.453:



.;
.;	[1,2]newlogin.cmd
.;		update login message every day
.;
$job
$data
sys maint
$eod
$COK >COK1.TXT
$PIP LOGINB.TXT=BASELOGIN.TXT,COKHEAD.TXT,COK1.TXT,SPACE.TXT/ME
$PIP dl0:LOGIN.TXT=dl0:LOGINB.TXT,dl1:[2,1]MEMO.TXT,dl0:[1,2]ENDLOGIN.TXT/ME
$PIP *.TXT/PU
$pip *.txt;1=*.txt;*/re
$SUBMIT /NOLOG/NOPRINT/AF:1:00:TOMMORROW=newlogin.cmd
$eoj



.; LOADFX.CMD (after Glenn Everhart)
.; Load the FX: disk, and install the files on it.
.ENABLE SUBSTITUTION
SET /TOP=GEN:-40000
SET /PAR=FXDISK:107000:40000:SYS
LOA FX:/HIGH/PAR=GEN
ALL FX:
MOU FX:/FOR
INS $BAD
.IFINS ...BAD bad fx:
.IFINS ...BAD .IF <EXSTAT> NE 1 .EXIT
REM ...BAD
INI FX:FXDISK/INDX=BEG/LRU=1/WIN=1/INF=30/MXF=40
DMO FX:
DEA FX:
SET /PUB=FX:
mou fx:FXDISK
UFD FX:[1,1]
UFD FX:[1,2]
ufd fx:[1,54]
UFD FX:[3,54]
UFD FX:[2,54]




PIP FX:[1,1]/CD=LB:[1,1]SYSLIB.OLB,LABDEVLIB,PLTLIB,F4P*.OLB,hplib
PIP FX:[1,2]/CD=LB:[1,2]F77COM.MSG
REA ...F77 6. FX:
REA ...F77 7. FX:
REA ...F77 9. FX:
REA ...TKB 8. FX:


.; Backup.cmd
.;     automates the BRU backup and restor of multiple
.;	disks to tape.....
.;
.enable substitution
.5:
.asks in What unit number for input disk
.if <strlen> eq 0 .goto 10
.asks out What device and unit for output
.asks name What is the volume name
;    Copying 'name' on dl'in': to 'out':
.ask ok Is this ok
.iff ok .goto 5
.ask app Append to previous backup set
.ask ver Verify input disk
.ask puf Purge input disk
.ask verout Verify output
.iff verout .sets ve ""
.ift verout .sets ve "/ve"
.iff app .sets append ""
.ift app .sets append "/append"
.;enable quiet
.ifnins ...bad ins $bad/inc=40000
.ifnins ...vfy ins $vfyfsl/inc=50000
.ifnins ...bru ins $bru
mou dl'in':'name'
.ift ver vfy dl'in':
.ift ver vfy dl'in':/lo
.ask ok Everything ok
.ift ok .goto 7
.disable quiet
;   typ uns ...at. to continue
.;enable quiet
.pause
.7:
.setf flag
.if out eq "ms" .goto 45
.if out eq "MS" .goto 45
.XQT bad 'out':/li
.sett flag 
.45:
.ift puf PIP DL'IN':[*,*]*.*/PU
.ift puf PIP DL'IN':[*,*]*.*;*/TR
.ift flag .WAIT BAD
dmo dl'in':/dev
mou dl'in':/for
mou 'out':/for
bru've''append' dl'in': 'out':




dmo dl'in':
.if out eq "MS" .goto 5
.if out eq "ms" .goto 5
dmo 'out':
.goto 5
.10:
rem ...bad
rem ...vfy
rem ...dsc

.;  dl0stop.cmd
.;	used to dismount the system disk in order
.;	to do an online BRU backup on a running system
.;
.ENABLE SUBSTITUTION
.disable lowercase
abo bigbro
QUE /STO:QMG
SET /NOLOGON
abo cvlog
ELI /NOLOG
SET /COLOG=OFF
mou ms:/for
ACS SY0:/BLKS=0.

.;  dl0start.cmd
.;	used to re-mount the system disk after doing
.;	an online BRU backup on a running system
.;
.ENABLE SUBSTITUTION
.disable lowercase
ACS SY0:/BLKS=700.
run bigbro
ELI /LOG/LIM
SET /COLOG=ON/NOCOTERM	
QUE /START:QMG
QUE TT16:/CR/NM
QUE TT16:/SPOOL/FLAG:1/FORM:0/SHR/LOWER
QUE TT16:/ASSIGN:PRINT
QUE TT17:/CR/NM
QUE LTRQAL:/CR/NM
QUE TT17:/SPOOL/NOFLAG/NOJOB/FORM:0/SHR/LOWER
QUE TT17:/ASSIGN:LTRQAL
QUE BAP0:/CR:BA/NM
QUE BAP0:/BA
QUE BAP0:/ASSIGN:BATCH
SET /LOGON
.20:





.; [1,2]edtsys.edt
.;
.;
show command
set command edtexpert.edt
set text end "[EOB]"
se en wo '	

 ''()[]{},-_+*!@#$%^&";:<>./'
set nofnf
set autorepeat
DEF M WIDTH_132
I=WIDTH_132
DEF K GOLD CONTROL W AS "EXT WIDTH_80."
SE SC 132
^Z
DEF M WIDTH_80
I=WIDTH_80
DEF K GOLD CONTROL W AS "EXT WIDTH_132."
SE SC 80
^Z
def k GOLD 10 as "EXT HELP KEYPAD VT100 32."
DEF K CONTROL B AS "-W."
DEF K CONTROL F AS "+W."
DEF K CONTROL G AS "PASTE=?'Put from buffer: '."
DEF K CONTROL X AS "CUTSR=?'Cut into buffer: '."
DEF K GOLD 12 AS "(-22V)."
DEF K GOLD 13 AS "(+22V)."
DEF K GOLD CONTROL D AS "EXT DELIM_WP"
DEF K GOLD CONTROL G AS "CUTSR=DELETE PASTE=?'Replace buffer: '."
DEF K GOLD CONTROL H AS "(-C D-C C UNDC)."
DEF K GOLD CONTROL W AS "EXT WIDTH_132."
DEF K GOLD CONTROL X AS "EXT CO SELECT TO=?'Copy to buffer: ' ; F L."
DEF K GOLD CONTROL Z AS "EXT EX."
DEF K GOLD . AS "I~~/\~~^Z -6C."
DEF K GOLD / AS "S%~~/\~~%%."
DEF K GOLD B AS "EXT F=?'Goto buffer: '.."
DEF K GOLD C AS "(C SEL W CHGCSR)."
DEF K GOLD F AS "(SEL PAR FILLSR)."
DEF K GOLD H AS "EXT HELP KEYPAD VT100 143."
DEF K GOLD I AS "EXT INC ?'Input file: ' =?' to Buffer: '."
DEF K GOLD K AS "EXT HELP KEYPAD VT100 ?'Key number: '."
DEF K GOLD L AS "EXT F L."
DEF K GOLD M AS "EXT F=MAIN.."
DEF K GOLD O AS "EXT WR ?'Output file: ' =?' from Buffer: '."
DEF K GOLD Q AS "EXT QUIT/SAVE."
DEF K GOLD A AS "EXT QUIT."
DEF K GOLD S AS "EXT SH BU."
SET SEARCH END
SE WR 132
SE TR
SE K
SE M C
F=MAIN
set command edtini.edt
