File: SI43NS.LS of Disk: V50/Source/Source-Listing-PAL-1
(Source file text) 


/SYS.IND. M43 NONSYS HANDLER		  PAL8-V50X 09-JUN-87 PAGE 1

		/SYS.IND. M43 NONSYS HANDLER
		/
		/
		/
		/
		/
		/
		/COPYRIGHT  (C)  2015   BY WVDMARK, ZURICH
		/
		/
		/
		/
		/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.
		/
		/
		/
		/
		/WVDM, ZURICH, 1-SEP-80
		/
		/
		/OS/8 V3 NON-SYS HANDLER FOR MOD 43

		/ORIGIN:/SYSTEM INDUSTRIES, INC.
			/535 DEL REY AVENUE
			/SUNNYVALE, CALIFORNIA  94086

		/THIS HANDLER WILL SUPPORT TWO
		/SERIES 43 DISK DRIVE ON PORT 0 & 1
		/OF A 3040 DISK CONTROLLER
		/RK(A-B)0 AND RK(A-B)2 RESIDE ON THE
		/FIXED PLATTERS
		/RK(A-B)1 AND RK(A-B)3 ARE ON THE
		/REMOVABLE PLATTERS
		/RAL 6/74
		/WVDM 9/74
		/NEW DATE: 1-SEP-80

	0030			VERSION="X&77
	0050	DCODE=50			/CONTROLLER DEVICE CODE

	6501	DSDD=10^DCODE+6001
	6502	DLCR=10^DCODE+6002
	6504	DCSR=10^DCODE+6004
	6511	DSDE=10^DCODE+6011

/SYS.IND. M43 NONSYS HANDLER		  PAL8-V50X 09-JUN-87 PAGE 1-1

	6512	DLSR=10^DCODE+6012
	6513	DSRR=10^DCODE+6013
	6514	DLTR=10^DCODE+6014
	6517	DWCA=10^DCODE+6017

	6300	DOFF=146^40
	0000	UNIT0=0^10
	0010	UNIT1=1^10
	0002	PLATTER=1^2
	0204	TEMP=DKTR1
	0270	DKERCT=DK0
	0263	DKWD1=DKNO
	7002	BSW=7002

/SYS.IND. M43 NONSYS HANDLER		  PAL8-V50X 09-JUN-87 PAGE 2



				/HEADER BLOCK
	0000	*0
000000  7770	-10				/10 (8) DEVICES

000001  2311	DEVICE SIDK;	DEVICE RKA0;	4400;	DK0+0-200;	ZBLOCK 2
000002  0413
000003  2213
000004  0160
000005  4400
000006  0070
000007  0000
000011  2311	DEVICE SIDK;	DEVICE RKB0;	4400;	DK0+1-200;	ZBLOCK 2
000012  0413
000013  2213
000014  0260
000015  4400
000016  0071
000017  0000
000021  2311	DEVICE SIDK;	DEVICE RKA1;	4400;	DK0+2-200;	ZBLOCK 2
000022  0413
000023  2213
000024  0161
000025  4400
000026  0072
000027  0000
000031  2311	DEVICE SIDK;	DEVICE RKB1;	4400;	DK0+3-200;	ZBLOCK 2
000032  0413
000033  2213
000034  0261
000035  4400
000036  0073
000037  0000

/SYS.IND. M43 NONSYS HANDLER		  PAL8-V50X 09-JUN-87 PAGE 3



000041  2311	DEVICE SIDK;	DEVICE RKA2;	4400;	DK0+4-200;	ZBLOCK 2
000042  0413
000043  2213
000044  0162
000045  4400
000046  0074
000047  0000
000051  2311	DEVICE SIDK;	DEVICE RKB2;	4400;	DK0+5-200;	ZBLOCK 2
000052  0413
000053  2213
000054  0262
000055  4400
000056  0075
000057  0000
000061  2311	DEVICE SIDK;	DEVICE RKA3;	4400;	DK0+6-200;	ZBLOCK 2
000062  0413
000063  2213
000064  0163
000065  4400
000066  0076
000067  0000
000071  2311	DEVICE SIDK;	DEVICE RKB3;	4400;	DK0+7-200;	ZBLOCK 2
000072  0413
000073  2213
000074  0263
000075  4400
000076  0077
000077  0000

/SYS.IND. M43 NONSYS HANDLER		  PAL8-V50X 09-JUN-87 PAGE 4



	0200		*200
000200  0000	DKE,	0		/DON'T MOVE!!!
000201  6502	DKHLP,	DLCR		/SET CONTROLLER BREAK FIELD
000202  6504		DCSR		/CLEAR STATUS
000203  4204		JMS DKTR1	/GET POINTER
000204  0000	DKTR1,	0		//ALSO USED AS TEMP BUFF
000205  1204		TAD DKTR1
000206  1377		TAD (DKWCT-DKTR1
000207  6517		DWCA
000210  7300		CLA CLL
000211  1376		TAD (DLTR
000212  3241		DCA DKIOU	/SET UP FOR READ
000213  1263		TAD DKWD1
000214  7510		SPA
000215  2241		ISZ DKIOU	/CHANGE TO WRITE
000216  7002		BSW
000217  0375		AND (7000	/GET DATA BUFFER FIELD
000220  3204		DCA TEMP
000221  7402	DKST2,	HLT		/GET CONTROL TABLE ENTRY
000222  3267		DCA DKWCT+3
000223  1267		TAD DKWCT+3
000224  0374		AND (10
000225  1204		TAD TEMP
000226  6502		DLCR		/EMA + UNIT
000227  7300		CLA CLL
000230  1266		TAD DKWCT+2
000231  0373		AND (17
000232  6512		DLSR		/OUTPUT SECTOR ADDRESS
000233  7300		CLL CLA
000234  1266		TAD DKWCT+2
000235  0242		AND M20
000236  1267		TAD DKWCT+3
000237  7012		RTR;RTR		/13 BIT WORD
000240  7012
000241  7402	DKIOU,	HLT		/OUTPUT TRACK ADDRESS AND PLATTER
000242  7760	M20,	SMA SZA SNL CLA	/-20; CLA, MAY SKIP BUT JMP .-1
000243  6501		DSDD
000244  5243		JMP .-1		/WAIT FOR DISK TO FINISH
000245  1300	DKTAD,	TAD DK7600
000246  6034		KRS		/CHK. FOR ^C
000247  1372		TAD (-7603
000250  7650		SNA CLA
000251  6031		KSF
000252  5255		JMP DCTL1
000253  6203	DKCDI,	CIF CDF 0
000254  5700		JMP I DK7600
000255  6511	DCTL1,	DSDE		/WAS THERE A DISK ERROR?
000256  5346		JMP DKNORM	/NO, GO EXIT
000257  2270		ISZ DKERCT
000260  5201		JMP DKHLP
000261  7120		CLL CML
000262  5350		JMP DKERR	/AVOID EXIT FIXER

/SYS.IND. M43 NONSYS HANDLER		  PAL8-V50X 09-JUN-87 PAGE 5



000263  0000	DKNO,	0
000264  0000	DKWCT,	0
000265  0000		0
000266  0000		0
000267  0000		0

		/THIS IS REAL ENTRY CHAIN

			IFNZRO 270-. <NZERR>	/DK ENTRY POINTS 70-77

000270  0030	DK0,	VERSION
000271  2263		ISZ DKNO
000272  2263		ISZ DKNO
000273  2263		ISZ DKNO
000274  2263		ISZ DKNO
000275  2263		ISZ DKNO
000276  2263		ISZ DKNO
000277  2263		ISZ DKNO

000300  7600	DK7600,	7600		/CLEAR AC
000301  1263		TAD DKNO
000302  7040		CMA
000303  1245		TAD DKTAD
000304  3313		DCA DKST1
000305  1313		TAD DKST1
000306  1371		TAD (DKOFFS-DK0
000307  3221		DCA DKST2
000310  7332		CLA CLL CML RTR	/=2000
000311  1313		TAD DKST1
000312  3351		DCA DKOUT	/SET UP ENTRY RESTORE
000313  7402	DKST1,	HLT		/GET CALLER ADDRESS
000314  3200		DCA DKE		/PUT IT IN A CANONICAL LOCATION
000315  6214		RDF		/FIND OUT CALLER'S FIELD
000316  1253		TAD DKCDI
000317  3354		DCA DKFLD	/FIX UP EXIT FOR FIELD CHANGING
000320  1600		TAD I DKE	/
000321  3263		DCA DKWD1
000322  2200		ISZ DKE
000323  1600		TAD I DKE
000324  3265		DCA DKWCT+1	/SAVE CORE ADDRESS
000325  2200		ISZ DKE
000326  1600		TAD I DKE	/BLK #
000327  3266		DCA DKWCT+2	/PICK UP ALL THE ARGUMENTS
000330  2200		ISZ DKE		/PARTIALLY FIX THE EXIT

/SYS.IND. M43 NONSYS HANDLER		  PAL8-V50X 09-JUN-87 PAGE 6



		/STILL MORE INITIALIZATION TO DO

000331  1263		TAD DKWD1
000332  0356		AND DK3700
000333  7450		SNA		/IS WORD COUNT = 0?
000334  5346		JMP DKNORM	/YES, TAKE NORMAL EXIT
000335  7104		CLL RAL
000336  3264		DCA DKWCT	/GENERATE WORD COUNT FOR DATA X-FER
000337  1242		TAD M20		/THIS SEEMS QUITE LARGE
000340  3270		DCA DKERCT	/FOR ERROR COUNT
000341  1266		TAD DKWCT+2
000342  1357		TAD LGLBLK	/CHECK FOR LAST LEGAL BLK
000343  7630		SZL CLA
000344  5350		JMP DKERR	/FATAL:LINK ON
000345  5201		JMP DKHLP	/GO DO REAL WORK


000346  7300	DKNORM,	CLA CLL
000347  2200		ISZ DKE		/EXIT CONTROL - NORMAL EXIT
000350  1370	DKERR,	TAD (ISZ DKNO
000351  7402	DKOUT,	HLT		/RESET ENTRY ISZ
000352  3263		DCA DKNO
000353  7210		CLA RAR
000354  7402	DKFLD,	HLT		/CHANGE BACK TO CALLERS FIELD
000355  5600		JMP I DKE	/EXIT

000356  3700	DK3700,	3700
000357  1520	LGLBLK,	-6260		/- LENGTH OF RK COMPATIBLE DISK

		/EQUATION FOR DKOFFS IS:
		/	TRACK OFFSET*40+PLATTER BIT*2+UNIT BIT*10
		/	PLATTER BIT IS 1 FOR REMOVABLE PLATTER, 0 FOR FIXED
		/	UNIT BIT IS 0 FOR UNIT 0, 1 FOR UNIT 1
		/	\OOO\OOO\OHU\0P0\

000360  0000	DKOFFS,	UNIT0			/RKA0
000361  6300		UNIT0+DOFF		/RKB0

000362  0002		UNIT0+PLATTER		/RKA1
000363  6302		UNIT0+PLATTER+DOFF	/RKB1

000364  0010		UNIT1			/RKA2
000365  6310		UNIT1+DOFF		/RKB2

000366  0012		UNIT1+PLATTER		/RKA3
000367  6312		UNIT1+PLATTER+DOFF	/RKB3
000370  2263
000371  0070
000372  0175
000373  0017
000374  0010
000375  7000
000376  6514

/SYS.IND. M43 NONSYS HANDLER		  PAL8-V50X 09-JUN-87 PAGE 6-1

000377  0060
	0400		PAGE
			$$$$

/SYS.IND. M43 NONSYS HANDLER		  PAL8-V50X 09-JUN-87 PAGE 7

DCODE  0050      
DCSR   6504      
DCTL1  0255      
DKCDI  0253      
DKE    0200      
DKERCT 0270      
DKERR  0350      
DKFLD  0354      
DKHLP  0201      
DKIOU  0241      
DKNO   0263      
DKNORM 0346      
DKOFFS 0360      
DKOUT  0351      
DKST1  0313      
DKST2  0221      
DKTAD  0245      
DKTR1  0204      
DKWCT  0264      
DKWD1  0263      
DK0    0270      
DK3700 0356      
DK7600 0300      
DLCR   6502      
DLSR   6512      
DLTR   6514      
DOFF   6300      
DSDD   6501      
DSDE   6511      
DSRR   6513      
DWCA   6517      
LGLBLK 0357      
M20    0242      
PLATTE 0002      
TEMP   0204      
UNIT0  0000      
UNIT1  0010      
VERSIO 0030      



ERRORS DETECTED: 0
LINKS GENERATED: 0