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


/SYS. IND. M43 SYS HNDLR		  PAL8-V50X 01-JUN-92 PAGE 1

		/SYS. IND. M43 SYS HNDLR
		/
		/
		/
		/
		/COPYRIGHT  (C)  2015   BY WVDMARK, ZURICH
		/
		/
		/
		/
		/
		/WVDM, ZUERICH, 1-SEP-80

		/SI MOD43 SYS HNDLR OS/8 V3

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

		/THIS SYSTEM HANDLER IS CONFIGURED
		/FOR OS/8 VERSION 3, ALLOWING IT TO BE USED WITH
		/SYSTEM INDUSTRIES MODEL 3400/3500 STORAGE SYSTEMS.

	0031			VERSION="Y&77
		/DEFINITIONS:

	0146	DOFF0=146			/QUARTER SIZE MOVING-HEAD DISK
	0050	DCODE=50			/DEVICE CODE OF CONTROLLER
	7002	BSW=7002
	6501	DSDD=10^DCODE+6001
	6502	DLCR=10^DCODE+6002
	6504	DCSR=10^DCODE+6004
	6505	DRSR=10^DCODE+6005
	6511	DSDE=10^DCODE+6011
	6512	DLSR=10^DCODE+6012
	6513	DSRR=10^DCODE+6013
	6514	DLTR=10^DCODE+6014
	6517	DWCA=10^DCODE+6017

/SYS. IND. M43 SYS HNDLR		  PAL8-V50X 01-JUN-92 PAGE 2






	0000		*0		/DESCRIPTOR TABLE
000000  7775		-3		/TWO HANDLERS + SYS
000001  2311		DEVICE SISY;DEVICE SYS;4400;2007;0;6260
000002  2331
000003  2331
000004  2300
000005  4400
000006  2007
000007  0000
000010  6260
000011  2311		DEVICE SISY;DEVICE RKA0;4400;1007;0;6260
000012  2331
000013  2213
000014  0160
000015  4400
000016  1007
000017  0000
000020  6260
000021  2311		DEVICE SISY;DEVICE RKB0;4400;DSKDRV&177+1000;0;6260
000022  2331
000023  2213
000024  0260
000025  4400
000026  1071
000027  0000
000030  6260
000031  7731		BOOTA-BOOTB	/# OF WORDS IN BOOT

/SYS. IND. M43 SYS HNDLR		  PAL8-V50X 01-JUN-92 PAGE 3






		/BOOTSTRAP PROCEDURE:

		/TOGGLE IN FOLLOWING INSTRUCTIONS

			NOPUNC

	0000		*0000		/SET ADDRESS AND EXT. ADD. TO 00000

000000  6502	BOOTA,	DLCR		/ASSURE DATA FIELD 0 (ALSO WORD COUNT)
000001  0000		0000		/START CORE ADDRESS
000002  6517		DWCA		/SET WC, CA FROM 0 AND 1
000003  6512		DLSR		/SECTOR 0
000004  7332		CLA STL RTR	/UNIT BIT 2000
000005  0010		AND	BOUNIT	/GET USER SPEC. UNIT AND NOTHING ELSE
000006  6514		DLTR		/READ FROM TRACK ZERO, UNIT 0 OR 1
000007  5007		JMP	.	/WAIT FOR DSDD;JMP .-1 OVERLAY
000010  0000	BOUNIT,	0000		/OR 2000 FOR RKA1 BOOT

		/START THE BOOT AT ADDRESS ZERO
		/NOTE:
		/	THE -AC- MUST BE ZERO.

		/OLD BOOTSTRAP MAY ALSO BE USED FOR UNIT 0 (FIXED)

	0000		*0000		/SET ADDRESS AND EXT.ADD. TO 00000

000000  6502		DLCR		/ASSURE DATA FIELD 0 (ALSO WORD COUNT)
000001  0000		0000		/START CORE ADDRESS
000002  6517		DWCA		/SET WC, CA FROM 0 AND 1
000003  6512		DLSR		/SECTOR 0
000004  6514		DLTR		/READ FROM TRACK ZERO, UNIT 0
000005  5005		JMP	.	/WAIT FOR DSDD;JMP .-1 OVERLAY

			ENPUNC

/SYS. IND. M43 SYS HNDLR		  PAL8-V50X 01-JUN-92 PAGE 4






			/SECONDARY BOOTSTRAP

	0000		RELOC BOOTA

000000* 7600	BOSTO,	7600		/POINTER TO LOAD SYS PAGES
000001* 7605	BOSTRT,	7605		/MONITOR LOAD ADDRESS
000002* 0113	BTDATE,	-7666+1		/DATE AND SIUNIT SKIP LOC
000003* 7666	DBUNIT,	SIUNIT		/SIUNIT LOCATION
000004* 6501		DSDD
000005* 5004		JMP	.-1	/IN CASE OLD BOOTSTRAP IS USED
000006* 6501		DSDD		/LOAD DSDD OVER DLTR
000007* 5006		JMP	.-1	/NOW REPLACE JMP . AND START SEC. BOOT
000010* 6511		DSDE		/ANY ERRORS ?
000011* 5020		JMP	BOOT	/NO
000012* 6505	DATTMP,	DRSR		/CLEAR AC AND LOAD STATUS REGISTER
000013* 7402		HLT		/QUIT AND DISPLAY ERROR
000014* 5014		JMP	.	/CATCH SMART GUYS
000015* 0177	BOXR5,	BOOTA+200-1	/PAGE FOR FIELD 0
000016* 7777	BOXR6,	BOOTA+000-1	/PAGE FOR FIELD 1
000017* 1700	DATMSK,	1700

		BOOT,			/AC CONTAINS UNIT FROM PRIMARY BOOT
000020* 3403		DCA I	DBUNIT	/STORE IN SPECIAL LOC
000021* 1446		TAD I	BATCCL
000022* 0017		AND	DATMSK	/ONLY DATE BITS
000023* 3012		DCA	DATTMP	/SAVE DATE EXTENSION
000024* 1415	BOLOOP,	TAD I	BOXR5	/LOAD FIELD 0
000025* 3400		DCA I	BOSTO	/NOT INCED YET
000026* 1416		TAD I	BOXR6	/LOAD FIELD 1
000027* 6211		CDF 10
000030* 3400		DCA I	BOSTO
000031* 6201		CDF 0		/MAIN FIELD 0
000032* 1000		TAD	BOSTO
000033* 1002		TAD	BTDATE	/ARE WE AT DATE AND SIUNIT LOC ?
000034* 7640		SZA CLA
000035* 5041		JMP	BOCONT	/NO, GO ON
000036* 2015		ISZ	BOXR5
000037* 2016		ISZ	BOXR6
000040* 2000		ISZ	BOSTO	/BUMP ALL 3 POINTERS OVER IT
000041* 2000	BOCONT,	ISZ	BOSTO	/INC DEPOSIT POINTER
000042* 5024		JMP	BOLOOP	/IF NO SKIP, GO ON
000043* 1012		TAD	DATTMP
000044* 3446		DCA I	BATCCL	/RESTORE DATE EXTENSION
000045* 5401		JMP I	BOSTRT	/THAT'S IT!
000046* 7777	BATCCL,	7777		/DATE AND BAT AND CCL

	0055	BOOTB,	RELOC		/END OF SECONDARY BOOTSTRAP
	0200		PAGE

/SYS. IND. M43 SYS HNDLR		  PAL8-V50X 01-JUN-92 PAGE 5






	0200		*200

	7600		RELOC 7600

007600* 0000		ZBLOCK 7

		/INITIALIZATION CODE

007607* 0031	SHNDLR,	VERSION		/ENTRY/EXIT POINT
007610* 7300		CLL CLA		/NEVER TRUST THE USER TO PASS A CLEAR AC
007611* 1266	SIMERG,	TAD	SIUNIT	/SET UNIT
007612* 3303		DCA	SYSDSK	/AND TRACK OFFSET
007613* 1607		TAD I	SHNDLR
007614* 3302		DCA	WRD1	/GET FUNCTION CONTROL WORD TO LOCAL STORAGE
007615* 2207		ISZ	SHNDLR
007616* 1607		TAD I	SHNDLR
007617* 3270		DCA	CORADR	/GET DATA BUFFER ADDRESS
007620* 2207		ISZ	SHNDLR
007621* 1607		TAD I	SHNDLR
007622* 3277		DCA	DADR	/GET DISK BLOCK-ADDRESS
007623* 2207		ISZ	SHNDLR	/PARTIALLY FIX EXIT
007624* 6214		RDF
007625* 1305		TAD	KCDIF
007626* 3333		DCA	SHNXIT+1	/SET UP FIELD CHANGER FOR EXITING
007627* 1302		TAD	WRD1	/CONVERT PAGE COUNT TO WORD COUNT
007630* 0263		AND	M3700	/CLEAN OUT JUNK BITS
007631* 7104		CLL RAL
007632* 3267		DCA	WDCNT
007633* 1265		TAD	KM20
007634* 3300		DCA	ERRCNT	/INITIALIZE RETRY COUNTER
007635* 1277		TAD	DADR
007636* 1304		TAD	LGLBLK	/CHECK FOR LAST LEGAL BLK.
007637* 7630		SZL CLA
007640* 5332		JMP	SHNXIT	/FATAL:LINK ON

/SYS. IND. M43 SYS HNDLR		  PAL8-V50X 01-JUN-92 PAGE 6






		/ALL INITIALIZATION CODE IS NOW DONE, PROCEED WITH REAL WORK

007641* 6502	SHNDLP,	DLCR		/INSURE INTERFACE DATA FIELD=0
007642* 6504		DCSR		/CLEAR STATUS REGISTER
007643* 1310		TAD	WCCALC
007644* 6517		DWCA		/TELL INTERFACE WHERE TO FIND CONTROL WORDS
007645* 1306		TAD	KIONS
007646* 3317		DCA	SHNIOU	/SET UP ACTUAL I/O READ
007647* 1302		TAD	WRD1
007650* 7510		SPA
007651* 2317		ISZ	SHNIOU	/SET UP FOR WRITE
007652* 7002		BSW
007653* 0264		AND	M7000
007654* 6502		DLCR		/LOAD DATA BUFFER FIELD
007655* 1277		TAD	DADR
007656* 0261		AND	M17	/FOR 256 WD/SECTOR DISKS
007657* 6512		DLSR		/LOAD SECTOR ADDRESS REGISTER
007660* 5311		JMP	DGO	/GO TO DLTR START

007661* 0017	M17,	17
007662* 0377	M377,	377
007663* 3700	M3700,	3700
007664* 7000	M7000,	7000
007665* 7760	KM20,	-20

			IFNZRO 7666-. <UNTERR,	_ /SPECIAL UNIT LOCATION >
007666* 0000	SIUNIT,	0
007667* 0000	WDCNT,	0
007670* 0000	CORADR,	0

/SYS. IND. M43 SYS HNDLR		  PAL8-V50X 01-JUN-92 PAGE 7






		/-DSK- DRIVER FOR SI DISK

			IFNZRO 7671-. <ENTERR,	_ /RK ENTRY POINTS 70-77 >

007671* 0031	DSKDRV,	VERSION		/ENTRY-EXIT POINT
007672* 7300		CLL CLA
007673* 1271		TAD	DSKDRV
007674* 3207		DCA	SHNDLR	/FOOL -SHNDLR- INTO THINKING IT WAS CALLED
007675* 1307		TAD	KOFSET	/SET -DSK- OFFSET ON UNIT 0
007676* 5211		JMP	SIMERG	/GO ENTER NORMAL SHNDLR

007677* 0000	DADR,	0
007700* 0000	ERRCNT,	0
			IFNZRO 7701-. <USRERR,	_ >
007701* 7402		HLT		/CATCH USER LOOKING FOR-USR-IN WRONG FIELD

007702* 0000	WRD1,	0
007703* 0000	SYSDSK,	0

007704* 1520	LGLBLK,	-6260		/101.5 CYLINDERS
007705* 6203	KCDIF,	CIF CDF 0
007706* 6625	KIONS,	DLTR-WDCNT
007707* 0314	KOFSET,	DOFF0^2
007710* 7667	WCCALC,	WDCNT

007711* 7300	DGO,	CLL CLA
007712* 1277		TAD	DADR
007713* 7012		RTR
007714* 7012		RTR
007715* 0262		AND	M377	/DEVELOP TRACK ADDRESS
007716* 1303		TAD	SYSDSK
007717* 7402	SHNIOU,	HLT		/A REAL TRACK LOAD AND GO IS PLACED HERE
007720* 7300		CLL CLA
007721* 6501		DSDD
007722* 5321		JMP	.-1	/WAIT FOR OPERATION TO FINISH
007723* 6511		DSDE		/WAS THERE AN ERROR?
007724* 5331		JMP	SHNXIT-1	/NO, GO EXIT
007725* 2300		ISZ	ERRCNT	/BUMP ERROR COUNTER
007726* 5241		JMP	SHNDLP	/RETRY UNTIL COUNT EXPIRES
007727* 7120		CLL CML
007730* 7410		SKP
007731* 2207		ISZ	SHNDLR	/BUMP EXIT ADDRESS TO TAKE NORMAL EXIT
007732* 7210	SHNXIT,	CLA RAR
007733* 7402		HLT		/RESET FIELDS TO THOSE OF CALLER
007734* 5607		JMP I	SHNDLR	/EXIT
	0335		RELOC
			$$$$$

/SYS. IND. M43 SYS HNDLR		  PAL8-V50X 01-JUN-92 PAGE 8

BATCCL 0046      
BOCONT 0041      
BOLOOP 0024      
BOOT   0020      
BOOTA  0000      
BOOTB  0047      
BOSTO  0000      
BOSTRT 0001      
BOUNIT 0010      
BOXR5  0015      
BOXR6  0016      
BTDATE 0002      
CORADR 7670      
DADR   7677      
DATMSK 0017      
DATTMP 0012      
DBUNIT 0003      
DCODE  0050      
DCSR   6504      
DGO    7711      
DLCR   6502      
DLSR   6512      
DLTR   6514      
DOFF0  0146      
DRSR   6505      
DSDD   6501      
DSDE   6511      
DSKDRV 7671      
DSRR   6513      
DWCA   6517      
ERRCNT 7700      
KCDIF  7705      
KIONS  7706      
KM20   7665      
KOFSET 7707      
LGLBLK 7704      
M17    7661      
M3700  7663      
M377   7662      
M7000  7664      
SHNDLP 7641      
SHNDLR 7607      
SHNIOU 7717      
SHNXIT 7732      
SIMERG 7611      
SIUNIT 7666      
SYSDSK 7703      
VERSIO 0031      
WCCALC 7710      
WDCNT  7667      
WRD1   7702      



ERRORS DETECTED: 0
LINKS GENERATED: 0