Google
 

Trailing-Edge - PDP-10 Archives - bb-d549g-sb - twice.ctl
There are 6 other files named twice.ctl in the archive. Click here to see a list.
;%1(62) - VERSION # OF TWICE.CTL   26 MAR 80 TONY WACHS /TW
; TO MAKE TWICE.EXE FROM TWICE.MAC
; SUBMIT WITH COMMAND  .QUEUE I:=TWICE/RESTART:1/TIME:10:00
;
; REQUIRED FILES:  (LATEST RELEASED VERSIONS)
;	PIP.EXE
;	DIRECT.EXE
;	COMPIL.EXE
;	MACRO.EXE
;	LINK.EXE
;	LNK???.EXE
;	TECO.EXE
;	FILCOM.EXE
;	MAKLIB.EXE
;	CREF.EXE
;	DDT.REL
;	JOBDAT.REL
;
; FILES THAT MUST BE ON SELF AND MUST ALL BE APPROPRIATE
; TO THE SAME MONITOR LOAD; I.E., COMMOD, TOPL10,
; AND MONGEN MUST HAVE NO VERSION SKEW
;
;[SELF]	TWICE.MAC
;	TWICE.RND
;	S.MAC
;	FKL.MAC
;	COMMOD.MAC
;	MONGEN.EXE
;	FGEN.HLP
;	TOPL10.REL
;	MONITR.VER	; TXT FILE WITH MONITOR VERSION NUMBER
;
; OUTPUT FILES:
;	TWICE.EXE
;	TWICE.MAP
;	TWICE.LST
;	TWICE.LOG
;	TWICE.DOC
;
;
;THE FEATURE TEST SWITCHES FILE, FKL.MAC, IS NEEDED TO ASSEMBLE COMMOD AND
; TWICE.  IF IT IS ALREADY PRESENT IN OUR DISK AREA, IT MAY OR MAY NOT
; BE CORRECT, THAT IS, IT MAY OR MAY NOT REFLECT THE VERSION OF FGEN.HLP
; WHICH WE ARE USING.  IF RUNNING MONGEN WITH THIS FGEN.HLP PRODUCES A
; FILE IDENTICAL TO THE FKL.MAC ALREADY ON OUR DISK AREA, IT IS BETTER TO
; USE THE OLDER FKL.MAC (TO AVOID UNNECESSARY ASSEMBLIES, AND TO AVOID
; CONFLICT WITH MONITOR MAKING FILES WHICH FREQUENTLY ARE RUN
; CONCURRENTLY.  THEREFORE, WE WILL OVERWRITE FKL.MAC WITH A NEWLY
; CREATED FILE ONLY IF IT IS DIFFERENT.  THIS TAKES SOME SLEIGHT OF HAND......
.DELETE FKL.FAK
.IF (ERROR)  ;O.K. ONLY FOR REENTRANCY
.R PIP
*FKL.FAK/R_FKL.MAC
.IF (ERROR)  *FKL.FAK_TWICE.CTL
.GET DSK:MONGEN 15
.VERSION
.IF (ERROR)  .E 137
.START
*
*F
*FKL
*KLFULL
*Y
;MONGEN HAS JUST CREATED A STANDARD KL10 FEATURE TEST SWITCHES FILE, FKL.MAC.
;NOW WE COMPARE IT TO ITS PREDECESSOR FKL.MAC (RECENTLY RENAMED TO FKL.FAK)
.R FILCOM
*FAK.FAK_FKL.FAK,FKL.MAC
.R TECO
*ERFAK.FAKYZ=C
.IF (NOERROR)  .GOTO NEWF
;THIS ERROR HAPPENS ONLY IF FILCOM WROTE A ZERO-LENGTH FAK.FAK FILE.
;IN THIS CASE, RETAIN THE PREVIOUS FKL.MAC BECAUSE IT IS IDENTICAL.
.DELETE FKL.MAC
.RENAME FKL.MAC=FKL.FAK
NEWF::
.DELETE FAK.FAK,FKL.FAK
.IF (ERROR)  ;OKAY
;END OF DIDDLING WITH FKL.MAC......
;
.SET WATCH VERSION
;
; DEFINE A MAXIMAL POSSIBLE DISK SYSTEM FOR USE IN MAKING
; TWICE.EXE USER-MODE REFRESHER THAT WILL RUN ON ANY SYSTEM
;
; FORCE USE OF WHATEVER VERSION OF MONGEN IS NOW ON USERS AREA
;
.RUN MONGEN
*
*HDW
*HDWMAX
*1090
*1	;NUMBER OF CPU'S
*MAXIMAL DISK SYSTEM
*9998	;CPU0 SERIAL NUMBER
*Y	;EXCLUDE MONITOR OVERHEAD ?
*Y	;EBOX/MBOX RUNTIME ACCOUNTING?
*Y	;EXCLUDE PI TIME FROM USER RUNTIME?
*N	;ACCOUNT VERIFICATION
*N	;MOS MEMORY?
*4	;DF10 DATA CHANNELS (TWICE ONLY CARES ABOUT UNITS--NOT CHANNELS)
*DF10C	;CHANNEL TYPE
*2	;RC10'S ON CHANNEL 0
*4	;FHA'S
*4	;FHB'S
*0	;RH10'S FOR RS04
*2	;RH10'S FOR RP04
*8	;RPA'S
*8	;RPB'S
*0	;RP10'S
*0	;TM10B'S
*0	;TM02
*DF10C	;CHANNEL TYPE
*0	;RC10'S ON CHANNEL 1
*2	;RH10'S FOR RS04
*4	;FSA'S
*4	;FSB'S
*2	;RH10'S FOR RP04
*8	;RPC'S
*8	;RPD'S
*0	;RP10'S
*0	;TM10B'S
*0	;TM02
*DF10C	;CHANNEL TYPE
*0	;RC10'S ON CHANNEL 2
*0	;RH10'S FOR RS04
*1	;RH10'S FOR RP04
*8	;RPE'S
*2	;RP10'S
*8	;DPA'S
*8	;DPB'S
*0	;TM10B'S
*0	;TM02
*DF10C	;CHANNEL TYPE
*0	;RC10'S ON CHANNEL 3
*0	;RH10'S FOR RS04
*2	;RH10'S FOR RP04
*8	;RPF'S
*8	;RPG'S
*0	;RP10'S
*0	;TM10B'S
*0	;TM02
*0	;TM10A'S
*4	;DTE'S ON CPU0
*0	;TERMINALS ON CONSOLE FRONT-END
*0	;LINE PRINTERS ON CONSOLE FRONT-END
*0	;CARD READERS ON CONSOLE FRONT-END
*100	;JOBS
*0	;MAX PAGES CORE/USER
*256	;TOTAL CORE
*60	;TICKS/SEC
*5	;REAL TIME DEVICES
*	;GUARANTEED CORE FOR NON-LOCKED JOBS
*5	;HPQ'S
*Y	;METER
*Y	;SYSCHK
*Y	;KASER
*Y	;MSGSER
*Y	;PSISER
*Y	;IPCSER
*Y	;ENQ/DEQ
*Y	;MONBTS
*1	;CDR
*Y	;CDP
*Y	;CP10D
*N	;DIS
*1	;TD10 (DECTAPE CONTROLLER)
*8	;DTA'S
*2	;LPT'S
*N	;LPT0 LOWER CASE
*N	;LPT1 LOWER CASE
*2	;PLT
*Y	;PTP
*Y	;PTR
*0	;DA28'S
*0	;DN60'S
*100	;PTY'S
*	;DECIMAL VALUE DEFINITIONS
*A00VER,66666
*A1090,0
*RP1,360	;DEVICE CODE FOR 2ND RP10
*	;END OCTAL VALUE DEFINITIONS
*	;SIXBIT VALUE DEFINITIONS
*	;DEV,PI
*	;DEV,PI,#
*	;DEV,PI,AC
*	;ERSATZ DEVICE
;
; PUT CORRECT MONITOR VERSION NUMBER INTO TWICE
;
.R TECO
*ERMONITR.VER
.IF (NOERROR) .GOTO B1
; IF NO VERSION NUMBER FILE, MAKE ONE ASSUMING 70000
.R TECO
*EWMONITR.VERHKI70000HPEF
B1::
.R TECO
*ERMONITR.VERYAZJI00000BJ.,.+5XA
*EBHDWMAX.MACY<N66666;-5DGA0TT>EF
;
;
;COMPILE, LOAD, AND SAVE; PRODUCING MAP AND CREF FILE
;
.R MACRO
*NUL:,NUL:_FKL
*NUL:,NUL:_S
*COMMOD.MAX_HDWMAX,COMMOD
.IF (ERROR)  .PLEASE COMMOD.MAX ASSEMBLY ERROR--TWICE PROCEEDING
.R MACRO
*NUL:,NUL:_FKL
*NUL:,NUL:_S
*TWICE,TWICE/C_HDWMAX,TWICE
.IF (ERROR)  .PLEASE TWICE ASSEMBLY ERROR--PROCEEDING
;
.R CREF
*TWICE.LST=TWICE/O
.IF (ERROR)
;
; EXTRACT THE OTHER REQUIRED FILES FROM TOPL10.REL
.R MAKLIB
*RELS=TOPL10/EXTRACT:(VJBDAT,FILFND,FILIO,FILUUO,ONCMOD,REFSTR)
;
;NOW LOAD TWICE USING LINK-10, THE SUPER-LOADER......
.R LINK
*/NOINITIAL /HASH:5000 TWICE/SAVE ,TWICE/MAP = /LOCALS /MAXCOR:50K -
*RELS,COMMOD.MAX,REL:DDT,DSK:TWICE -
*/NOSYSLIBRARY /PATCHSIZE:100 /GO
.IF (NOERROR) .GOTO CONT
.PLEASE ERROR LOADING TWICE--ABORTING
.GOTO ERROR
CONT::
.GET DSK:TWICE
.VERSION
.IF (ERROR) .E 137
;
;TRY IT JUST TO MAKE SURE IT DOESN'T BOMB IMMEDIATELY
.RUN DSK:TWICE
;
.R RUNOFF (TWICE)
.IF (ERROR)
;
.DIRECT /CHECKS DSK: 'NOT' ACCESS
;
;
.PLEASE TWICE SUCCESSFUL
;
;
.GOTO B2
%ERR::  ;
%CERR::  ;
ERROR:: .PLEASE TWICE.CTL FAILED
.GOTO B2
B2::  ;
; REMOVE ALL TEMPORARY FILES
.DELETE HDWMAX.BAK,RELS.REL
.IF (ERROR) ;DON'T CARE IF FAILED
%FIN::  ;
;[END OF TWICE.CTL]