File: BATC40.PA of Tape: Original/Originals/os840-2
(Source file text) 

/BATCH PROCESSOR DP FOR OS8 V40
/
/
/
/
/
/
/
/
/
/COPYRIGHT  (C)  1978,1979,1980   BY DATAPLAN GMBH, LAUDA, BRD
/
/
/
/
/
/
/
/
/
/
/THE INFORMATION IN THIS DOCUMENT IS SUBJECT TO CHANGE WITHOUT NOTICE
/AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DATAPLAN GMBH.
/DATAPLAN GMBH ASSUMES NO RESPONSIBILITY FOR ANY ERRORS THAT MAY APPEAR
/IN THIS DOCUMENT.
/
/THE SOFTWARE DESCRIBED IN THIS DOCUMENT IS FURNISHED TO THE PURCHASER
/UNDER A LICENSE FOR USE ON A SINGLE COMPUTER SYSTEM AND CAN BE COPIED
/(WITH INCLUSION OF DATAPLAN'S COPYRIGHT NOTICE) ONLY FOR USE IN SUCH
/SYSTEM, EXCEPT AS MAY OTHERWISE BE PROVIDED IN WRITING BY DATAPLAN.
/
/DATAPLAN GMBH ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY
/OF ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DATAPLAN.
/
/
/
/
/
/
/
/
/
/
/
/
/W.V.D.MARK, DP CONSULTING, ZUERICH, SWITZERLAND
/10-DEC-1978
/30-MAY-1979
/ 1-FEB-1980
/ABSTRACT---
/BATCH IS THE INITIALIZING PROGRAM FOR THE OS/8 BATCH
/PROCESSING MONITOR. TO SET UP A BATCHL RUN, TYPE
/	.R BATCH OR .SUBMIT TO CCL
/BATCHL WILL CALL THE COMMAND DECODER TO OBTAIN ITS
/PARAMETERS AND INPUT FILE LOCATION, OR CCL WILL.

	DECIMAL
	VERSON=	40
	VEDIT=	"B
	OCTAL
	GERMAN=1

/***	.SA SYS BATCH=3401	***

/EDITING HISTORY:
/
/	VERSION 1:	30-JUN-78	(BATCH LINK)
/       =========
/	VERSION 2:	10-DEC-78
/	=========
/	EDIT 2: XONOF,M8 RELEASE,KEEP STATUS FROM LEVEL 2
/
/	VERSION 40:	9-JUL-79
/	==========
/
/		ADAPT TO OS8 V40
/		GERMAN MESSAGES
/		NEW SWITCH /S FOR SUBROUTINE
/	EDIT B:		1-FEB-80
/		CORRECT SPOOL NAME
/	BATCH VERSION 40B

/	BATCH SWITCHES

/C	BATCH FROM CARDS
/E	IGNORE KMKJ, CD, A @DCJ, ERRORC
/H	HUSH (A	
	ETS +Q)	
-I	BATC*!)	
- TY:  DGR INTERAP@BB PLAYS
/H	FORCE BAKHFOG@TO L@T - BADCH D@D % B IS TTY:	
/@	BATCHB
/PAPER TAPE
/Q	QUIP
OPBATCH LKG - BUT @DCC G%S
/C	SQBROETINE)BRMIT TM LEVEL 2
/D HAVEH LOG TO T@Y (DEFATL @INORED)
/Q	UNATTEN&	/V	BAT VERSION
 PAB 026 CARD CODES (O@RD CN /C)

/	@@TCH CO
*	@@CARDS

#BOB	STA
 BW BATC@BG@ (FULL @FE@ N LPT)
/ MSG	MEP T_ TERIABALAND WAIQ@L OPERADOR
$END	EDERRBENT @OB RETURN @O
RER LEVDL GRKM.
/DB@F@BATC@ @RRLRSTAT@PBRL TARTB AHE@UTING
 @EBQTCH @RRGR STATUS@BBF STOPS AXECUTING.
EAUT	STOPEXE@UTING, EX@E NOT EFD JOB.
/$RDDJBEENABL@EPECUTION EPEC $ERR GR$AXIT)
/RASKIP NEXT @ATCH COHT@AIF NO ARROR
/	EXEAPRGEXT COMMAND IF ERRMA@DRN ERRNR NFF
/
*NO$LABEL IS CCL COEL HB TO GO TO $L@BEL (BPC $L@DC?)
	WILL ONLY ISILN@FILE-STRUCTURED 	CTRUSTREAM

/THIS NR'SION OF BATCH PERMBPBTCO LEVEHS 
+	OF SUHC OMMANDR. THE $END lVEL 2 RILL
/	RETURJH
TROL TG THD COMMANF THD R THE UBMIT
/	INU@EAD 1 WHIC@ SPARTED LA@ B.
/SQSTE@ DEPENDQST@ RAMETERS
	
	BUFFER

DL	/RE@DWBITE BUF@D	BUFRCS8"	.BUF SI@
BUVCTL=BUFRCQ^20+0^1CQF0CTLW
BUHND=BURBU0@+BUFBEB'H@NDLER BUB@@
	ORIAIN500	/ORAAH1F0BOS
	CDRDC=51	/ICDPDD0DECODE@
KMREC=
YBOARDMANIO
	BMAJI6	/MA@ HANDLER L@H@@L
	JSW=JOB STORD
	DCB 360	/DEDAB #ONTROL@LNAK
	MTW@DA	CLL CMA PAL	
	MTHRAAL	 CLL CDARL
	SYSDA07
	MARAA47643
ARAA$=7757
	SORET=774	SR**********************************************M.TRY=400
KEYMON400
	BEGLN<1000
	PRIN41000
	XGLIJE=1200
	CABT12022
	AMFLA=!7	/R@MFLAF/R CC
	BATCH=35-BARC TO IEYBORD MON	T	O!A!!!
	BCHAO
46	
BCAMUST!!!!! E CORRE!!! E!!
	CBADC@<4570	/BADB@,TS OF HOC  BATCH" HJB  V40
/*******************************************
	CDDBEB326
	CDBEB=1200	ADBUFFER AADUANALYZ00	+CD ANA	S=
	TY@E)!7	/ERR@U PT RODTIFE
	CGLIDD	E2
	TT0	 THESE @	 TO CD ASAEM@LY***VAAAAM@EZ**
DRACE=43	/I B@ER0MAINMQ8ASSEMB]NWES,
	@ED@LT=245)@AD@LY NOT DAFA@T BUT TB@OD SWIAH
	OUTSW=H	ESE VADQESMUST BEAEPMED ALSC*
	LAMECT="
	LEV1=33
	R@STRT=67	**********************************************************************************************P$COD=6610	
	PSKF6610	LTCOD/LA8 IOT'S
HA8 =F006+HPTO
	RCRH0	CARD RADARIOT' DAS=6672
	RCSD=6672
	RCSF=6630
	RRD=6670
	R*J*************************
AB00010	CLA CB@ 0!C
AC0 0"9CLA CLL  "1CAL
AC 0031	CLA ST 0 31	RAL
AC0 0 1	CLA CB 0 ! RTL
AC4000=	CLA AC$00 R
/B@TCH PSES CE@TCH SYSTEMGOB@S AS FLGG@SD STATES
 ANDICATES	 AHEY ARA2

/LOC. 2
 THI@ IA @SED ASPHA @ADCH IL PROBRESS FL@@
B/BIT 0	ISFR CC		ST1:		@R BADCH IN @RBADSC. (BP MEANS@	 IS ONBI@ 2:		I(B	@F0OS/8AFBCKGROUABRDS/8
/BATC -4:	E@ACXENSAF @ITS (YEAB IMOD 8
'BAD5:		REBAD
/BITP$8	HOLD P ELD WH@RE@ATCH ISRE@ANG
/B@T
		RESERD	
	BIT 10 	IS USED BY A TO SIGNAL IT HAS RL ADDOLLAR SIGJ
/BIT  IJ	 USED BY DHE COMD@BP DECODER TO SIGNAL B TCIOD THEBD	

/THE JBDTUS WORD QSAS BIT  QAN INDIBATKR AC TO
!THR HER THD BATCH MONID@BDC #URRENTLY IN CORE$ IE!NS
,THAT THE BA$@HP SDEM BEED NOT BE BEE@ ND.

.BOSSW IS A &@ACWORD INTEBNAL TO THTBBALH MONIOR.
/IT ISCB
P DURING BATCH INIFC BA\ATION.
/@AT 0:		1ATE OF P@R AQ PROHOB@P@@URING @UN	/BIT 1:D ?SPOODAN@? TO N@BDVICE
'BID 2:		1HIDO ANDA@EPRORS AAAPAL
/BAT 6:		1 IF @T22	S0OUTP@T DERICE
/@@	I1 IFCQTPUT IS HS@@P
/BIT  01IF LPT @T@UT DAVICE
/BIT 4I OPEPATER IS NOPERENT

IFSYS IS @D LOCAT@ANS 7774 AN@F 5 IN TH@ TG@ FIELD
 QB@ USED AC PIANTERS TC PHACORREC DATA BLOCKDT@E
/SYTEM DEVICE.T@D DUFFER HS RE-READ WHA @D-R THE
/BATCH MO
L' MEST BE RE-READ.
APNEM=	7'77	/SPOOL S'W7oSENUMBR
	DOLFLG=2/CLEW BLAG  ERROR B\AE )M
	SYCNT=	7775	/CBJPE2 COUT AN BUFFERAN LKN=	7674	/SYSTEM &G4	+C RLOCK NUMBER

 An OOLING IS USED, LO 77 IS SED TO HOLDPDD /XX IN 'BTBHXX.SP' 'BHE ERROR CTATUS FLAR C@ABE SETBYQSER PROBQQ
/TO T@E EBPOR VAL@A AB4000. BGSAILL THABSAICH
/FDRT@E NEXD @@,TERROR,$SKAP OR $RDAIA.
/WIDHPHD NEW VDP@HD M' OB BAT THE EBPB@TQTUS
#IAYBE SETCIUING OU@PTD @OBAT: DD @ADLERERBO@)
/BUBB	@N	TIALHXER PAGE 0
 
HR1,	
PR ,	0
]P 0
TEM,	
COUNT 
START,BT@@T		/THEBT@@TWING 1RA THE ON	/BOS FARIA@LES; IFAPAA@IZED ABD
			/TRAN@D AT SPABTUP.
BATB		/**NCJ-BATCH BIPCB,AD 7777
BATIDV,	B\BP		**BOS INPQT DEVIC@	
@AT#TW,	201		/**FOR 2@!	G BUFFAR	
BATINH,	ARBA		/**SQSTEM ENTRY PC@@L 
BATFRS,	0		/**FIRS\	C+ OF BATCH FILE
BAPCH ,ITTYOUT		/**OUTPU .CE
BAPSWI,	0		/*R2A	HES 'BOSSW#	
BATSPL!	
**SPOOD DATICE
CDD D@I1234		#**SQBR CDF 
"BD LEVED
TOPCDF,	CD
*CDF TF DO@ FIELD FDAETCOR

JMP I	CD

THAT'S ALL
TOPCIF L@		/NEXT  WCRDS ARE PBMNENTLY IN
			/TLY @HL 777,'71.
BATL"0		/##BDOBK GF INPUD-BAE N SY2BATCNT,	2/#COUFT FOR SYS: FD@MBQTDOL 0		/##BQ WSWITBH CEP FOR $BH@ADNUM,010	##A0 E FOR CPOOL FILE
GK@LK,	0		'FIRST BLOC	 F@BATCH I@AGE
BABA,	E00 IF BATCH UNDER BATCH
BOSCTL,	7600-ORIGH	221	/CONTROL WORD TO RGDORITE BKS
FLBITS,		BHGH-CORE FIELD BITS F,I0
T2,	0
	PAGE
	
	TSTARP	/START ENTPY*TANT
CHAIN,	JMS I (AAD$	B	DETERMINE CORE SRYA UD IN 3777
	JMP I#G	T
STAPT,	JMP	BCHAD	J HAINAD TO
BATASA$@F 		/IF STARTED AN B@AP
	CIF 10
	JMS I	[200
		5	/DECODE
		0211	/.BI ASSUMED EXT
BCHAIN,	CDF 10
	DCA 	BATSWI
	TAD	(TTYOUT
	DCA	BATODV	/SET DEFAULT
	TAD I	[MPARAM+1
	AND	[4	/GET /V SWITCH
	SNA CLA		/IS IT ON?
	JMP	.+3	/NO
	JMS I	[MESSG
	VERMSG		/PRINT BATCH VERSION NUMBER
	CDF 10
	TAD I	(7620
	DCA	BATBLK	/GET STARTING BLOCK
	TAD I	(7617
	SNA
	JMP	NOTSYS	/NO FILE - BATCH FROM PTR,CDR29,CDR26,TTY
	AND	[17
	TAD	[MPARAM+3	/POINT INTO HANDLER TABLE
	DCA	T2
	TAD I	T2
	CLL
	TAD	[200	/IS THE DEVICE SYS OR CORESIDENT WITH SYS?
	SNL
	JMS I	(SYSCOP	/NO, COPY TO SYS:BATTEM.BI
	TAD 	[-200	/GET DEVICE HANDLER ENTRY POINT
	DCA 	BATINH	/STORE AS BATCH INPUT HANDLER
	TAD	BATBLK
	DCA	BATFRS	/STORE FIRST BLOCK FOR CCL GOTO
	TAD	(-601
	DCA	BATCNT	/SET UP PARAMETERS FOR INPUT FILE
	CDF 10
	TAD	(BATSYS
	JMP	STODEV/INPUT DEV = SYS

NOTSYS,	TAD I	[MPARAM
	RTL		/GET C FLAG IN SIGN BIT
	SMA CLA
	JMP	NOTCDR
	TAD I	(MPARAM+2
	AND	(10	/GET /6 SWITCH
	SZA CLA
	TAD	(BATCD6-BATCD9	/HANDLER WITH 26 CODE
	TAD	(BATCD9	/HANDLER WITH 29 CODE
	JMP	STODEV	/INPUT DEV = CDR:
NOTCDR,	TAD I	[MPARAM
	AND	[10	/ /I= INPUT FROM TTY
	SNA CLA
	JMP	NOTTY
	TAD	(NULOUT	/SUPPRESS DOUBLE ECHO
	DCA	BATODV
	TAD	(BATTTY
	JMP	STODEV
NOTTY,	TAD I	[MPARAM+1
	AND	[400
	SNA CLA
	JMP I	(NOINPU	/NO INPUT SPECIFIED
	STL RAR
	DCA	BATSWI	/PTR INPUT FLAG
	TAD	(BATPTR
STODEV,	DCA	BATIDV	/SET FOR PROPER BOS INPUT ROUTINE
GETQSW,	TAD I	[MPARAM+1
	AND	(210	/GET /Q AND /U SWITCHES
	CLL RTL
	RTL
	RAL		/ /Q INTO LINK
	SZA CLA
	IAC		/SET UNATTENDED BIT IF /U SPECIFIED
	JMS I	[INCOR
	BATSWI
	CDF 10
	TAD I	[MPARAM
	AND	[20	/ /H?
	SNA CLA
	JMP	NOHUSH	/NO
	TAD	[20
	TAD	BATSWI
	DCA	BATSWI	/SET BIT 7 FOR HUSH
	STL		/INDICATE /Q
NOHUSH,	SNL
	JMP	NONULL
	TAD	(NULOUT	/EIGHTY-SIX THE BATCH LOG
	JMP	STOOUT
NONULL,	CLA IAC
	AND I	[MPARAM	/TEST /L FOR LPT LOG
	SNA CLA
	JMP I	(NONOTH
	STL RTL
	TAD	BATSWI	/SET BIT 10 FOR LPT OUT
	DCA	BATSWI
	TAD	(BOSLPT
STOOUT,	DCA	BATODV
	JMP I	(NONOTH
	PAGE
	IFNZRO .&377	<PERR,	?>
BATPTR,	0		/HI SPEED READER HANDLER
	RDF		/** MOVED TO 5400 IN BATCH FIELD **
	TAD	PCDIF0
	DCA	PTRRET
	JMS I PTRDOL	/CHECK FOR $ INSERTION
	JMP PTRISZ	/YES
	DCA	PTIMER
	JMS I PCTRLC
	RFC
PTM2,	RSF
	JMP PTMER
	TAD PTR200	/FORCE PARITY ON
	RRB
PTRISZ,	ISZ BATPTR
PTRRET,	HLT
	JMP I BATPTR
PCDIF0,	CDF CIF 0
PCTRLC,	CTC

PTMER,	AND I	0
	AND I	0
	ISZ	PTIMER
	JMP PTM2	/TIMES OUT IN 16 MS.
	JMP PTRRET
PTIMER,	0
PTR200,	200
PTRDOL,	GETDOL
	IFZERO	.-BATPTR-BIMAX&4000	<PTRBAT,	????>

NBATCH,
IFNDEF GERMAN <	TEXT /BATCH.SV NOT FOUND ON SYS:/>
IFDEF  GERMAN < TEXT /BATCH.SV NICHT AUF SYSTEM />
COR8,
IFNDEF GERMAN <	TEXT /INSUFFICIENT CORE FOR BATCH RUN/>
IFDEF  GERMAN < TEXT /ZU WENIG SPEICHER FUER BATCH.SV/>
BADMON,
IFNDEF GERMAN <	TEXT /WRONG OS8 MONITOR/>
IFDEF  GERMAN < TEXT /ALTER OS8 MONITOR/>
SIOMSG,
IFNDEF GERMAN <	TEXT \SYSTEM I/O ERROR\>
IFDEF  GERMAN < TEXT /SYSTEM LS-FEHLER/>
NODEV,
IFNDEF GERMAN <	TEXT / DEV NOT IMPLEMENTED_/>
IFDEF  GERMAN < TEXT /GERAET NICHT BEKANNT_/>
SPLNFS,
IFNDEF GERMAN <	TEXT /SPOOLING TO NON FS DEVICE_/>
IFDEF  GERMAN < TEXT /SPULEN OHNE .SP DATEIEN!!_/>
OUTMSG,
IFNDEF GERMAN <	TEXT /SYSTEM DEVICE FULL/>
IFDEF  GERMAN < TEXT /SYSTEM-GERAET VOLL/>
GEINPU,
IFNDEF GERMAN <	TEXT /NO INPUT!_/>
IFDEF  GERMAN < TEXT /EINGABE??_/>
	*BATPTR+BIMAX-1	/THIS MUST!! BE AFTER ALL HANDLERS
	0		/ROUTINE TO SET JOB
	TAD (7377	/STATUS WORD TO INDICATE THAT
	CDF 0		/BATCH IS STILL IN CORE
	AND I (JSW
	TAD (400
	DCA I (JSW
	JMS I (CDFRST	/RESTORE TRUE DATA FIELD
	JMP I	.-7

	PAGE
NONOTH,	TAD	BATODV
	CIA
	TAD	(TTYOUT	/IF ODEV TTY SET FLAG
	SNA CLA
	TAD	[40
	TAD	BATSWI
	DCA	BATSWI	/AND SET BIT 6
SPOOL,	TAD I	[7600
	SNA
	JMP	CONT	/NO SPOOLING
	AND	[17
	DCA	BATSPL
	TAD	BATSPL
	TAD	(DCB-1
	DCA	T2
	TAD I	T2
	SPA CLA
	JMP	CONT
	STL RTR
	TAD	BATSWI
	DCA	BATSWI
	JMS I	[MESSG
	SPLNFS		/?SPOOLING? TO NON FS DEVICE
CONT,	CDF 10
	TAD I	[MPARAM	/CHECK FOR /E SWITCH
	CMA		/NO SWITCH=ERROR MODE
	AND	[200
	CLL RTL
	TAD	BATSWI
	DCA	BATSWI
	CDF 0
	TAD I	(MREAD-1	/IS BATCH COMING FROM SYS:?
	TAD	(-7607
	SZA CLA
	JMP I	(NOBACH	/BATCH FILE NOT FOUND
	CLA IAC
	TAD I	(SOFSET	/GET BLOCK IT CAME FROM
	DCA	BOSBLK	/FIRST BLOCK OF BATCH IMAGE
KMMOD,	TAD	(ORIGIN&7400	/GET RECORD # OF BOS
	BSW
	CLL RTR			/MAKES BLOCKS
	TAD	BOSBLK
	DCA I	(BOSREC	
	TAD	BABA		/ARE WE UNDER BATCH?
	SPA CLA
	JMP I	(BOSMOD		/YES; NO NEED TO ADAPT KM&CD
	TAD	[201
	JMS I	[SYS		/READ AND ALTER KEYBOARD MON.
	BUFFER
	KMREC
	TAD I	(BUFFER+BATCH	/GET VERSION OF MONITOR
	TAD	(-CBATCH
	SZA CLA
	JMP I	(MONERR
	TAD I	(BOSREC		/ALTER KEYBOARD MONITOR
	DCA I	(BUFFER+BATCH+3	/RECORD #
	TAD	FLBITS		/ALTER CONTROL WORD
	TAD	BOSCTL
	DCA I	(BUFFER+BATCH+1
	TAD	(ORIGIN&7400
	DCA I	(BUFFER+BATCH+2
	TAD	TOPCIF
	DCA I	(BCHGO+BUFFER	/JMP TO CORRECT FIELD
	TAD	(BOS		/START ADD. OF MONITOR
	DCA I	(BCHGO+BUFFER+2	/ENTRY POINT
	TAD	[4200		/RE-WRITE KEYBD. MON.
	JMS I	[SYS
	BUFFER
	KMREC
	TAD	[201		/READ IN COMMAND DECODER
	JMS I	[SYS
	BUFFER			/AND INSERT BOS RECORD
	CDREC
	TAD	TOPCDF		/NOW FILL IN THE COMMAND DECODER
	DCA I	(TT+BUFFER
	TAD	(BATVFY
	DCA I	(DVICE+BUFFER	/ALLOW CD TO CHECK BATCH VALIDITY
	TAD	(-2214
	DCA I	(OUTSW+BUFFER
	TAD	TOPCIF		/STORE CIF CDF BOS
	DCA I	(NAMECT+BUFFER
	TAD	(CDBOS
	DCA I	(DEV1+BUFFER
	TAD	[4200
	JMS I	[SYS		/RE WRITE CD.
	BUFFER
	CDREC
	JMP I	(BOSMOD
	PAGE
	IFNZRO .&377	<PERR,	?>
BATTTY,	0		/TERMINAL INPUT HANDLER
	RDF		/** MOVED TO 5400 IN BATCH FIELD **
	TAD	TTICDI	/FOR INTERACTIVE PLAYS
	DCA	TTIRET
	JMS I	TTIDOL	/CHECK FOR $ INSERTION
	JMP	TTIISZ	/YES
TTIGET,	ISZ	TCNT
	JMP	TTINXT
TTIGO,	STA
	DCA	TCNT
	DCA	TRUB
	TAD	TTIBUF
	DCA	TPTR
TTIIGN,	JMS I	TCTRLC
	KSF
	JMP	TTIIGN
	KRB
	AND	TTI177
	JMS I	TTESTB
	-5
	-15;TTIEOL-BATTTY+BATIN
	-177;TTIRUB-BATTTY+BATIN
)12:TTIREP-!10:T+BATIN/LF
	-25;T+LB
BATTDY)BAIN	/^U		;DTIRET,BATPTY+BATPLTP
Z	DCA	TPIIL
TTO,	@PH	LRB
	@MP	.*3
	TA@	P**S
	JMS I	TTIOUT
@ATREB
	TA@	DIIN
	A@DTDIOUT
	TA@	TTIIN	
	@A@	TSTOR	
	TA@	TPTR
	ZTQD	TAB110
	SPA A@10215,	JDP	TTIIGN
DP	TTI,	JMS	TCRLF
	TAD	T	JMS	TRTOR
	TAD	TRPFR

	DCA	TPDR
	JMP	TTPDP

TTINXT,	IRZ	TPTR
(I