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]