

The information contained herein, is solely for the use and 
benefit of EXABYTE customers.  It is not intended for 
distribution beyond the internal use of our customers.

 
      		Librarian	 4$25 CODE LINE


4$25	===================================================
2500	New Revision - for list of changes between 4$24 and 
2501	4$25 see 241D release notes.  This code is 241D
2502	(and its variations) reassembled with the new
2503	identifiers.
2507


425A	1/29/90 ===========================================

	NOTE: This is a branch off of 4$25 and the fix is not 
	included in the main line until later.

	1) ER# 616
	Fix a hardware race condition that would corrupt data
	when being written.


2504	8/30/89 ===========================================

	2) Prevent disconnect w/o reselect if Read command
	received with buffer below reconnect threshold but
	tape stopping because of buffer full.


2508	9/19/89 ===========================================

	3) Send/Receive Diagnostic commands now report the
	write recovery counter in data byte 5.


2509	10/2/89 ===========================================

	4) Prevent Second disconnect if motion finishes
	during first disconnect.


250A	11/20/89 ==========================================

	5) Unique assembly of 4$25.

250C	2/05/90 ===========================================
	
	NOTE: This is a branch off of 2504 and the fix
	is not included in the main line of code.

	6) ER# 616
	Fix a hardware race condition that would corrupt data
	when being written.


250D	2/06/90 ===========================================

	NOTE:  This is a branch off of 2508 and the fix 
	is not included in the main line of code.

	7) ER# 616
	Fix a hardware race condition that would corrupt data
	when being written.


250E	2/08/90 ===========================================
	
	NOTE:  This is a branch off of 2509 and the fix is
	not included in the main line of code.

	8) ER# 616
	Fix a hardware race condition that would corrupt data
	when being written.


250F	2/08/90 ===========================================

	NOTE:  This is a branch off of 2502 and the fix is
	not included in the main line of code.

	9) ER# 616
	Fix a hardware race condition that would corrupt data
	when being written.

250G	2/08/90 ===========================================
	
	NOTE:  This is a branch off of 2501 and the fix is
	not included in the main line of code.

	10) ER# 616
	Fix a hardware race condition that would corrupt data
	when being written.


250H	2/09/90 ===========================================

	NOTE:  This is a branch off of 2500 and the fix is
	not included in the main line of code.

	11) ER# 616
	Fix a hardware race condition that would corrupt data
	when being written.


2510	10/5/89 ===========================================

	12) Implemented read back check on ATM of filemark   
	and LBOT writes.

	13) ER# 685 
	Prevent servo command reject caused by Write TM	
	while flushing buffer if write retry occurred.

	14) ER# 530 and 532
	Prevent hang at PEOT caused by trying to flush	
	the buffer on the clear leader if executing a Rewind
	or Backspace Filemark command.

	15) Ignore Reconnect threshold parameter of Mode 
	Select command if Logical Block Disconnect mode 
	selected.

	16) Send BUSY status rather than Reservation Conflict
	if same host selects reserved drive while disconnected.

	17) ER# 370
	Prevent loss of Sense data of current LUN if
	operation on unsupported LUN is requested.

	18) ER# 513
	Send Illegal Request to host if illegal command
	received with Unit Attention pending.

	19) ER# 674 
	Prevent servo command reject caused by tracking
	status received immediately after timeout occurred.
	This resulted in sending two stop commands to servo.

	20) ER# 534
	Treat a push of the front panel button as a
	hard reset if a servo error has occurred.  This
	allows systems that don't support the Bus 
	Device Reset message.

	21) ER# 679
	Force hole search if false blank tape occurs
	at end of file.

	22) ER# 676
	Prevent occurrence of two DTM stripe tapemark
	writing, which results in 09 errors.

	23) ER# 516
	Prevent disconnect without reselect caused by
	Iport not at reconnect threshold, but Dport shutting
	down becouse of buffer full condition (such as many
	gap blocks).

	24) Corrected calculation for determining if write
	recovery routine should be invoked. 

	25) ER# 681
	Prevent hang caused by issuing disconnect command
	to SCSI chip twice. 

	26) ER# 688
	Prevent disconnect without reconnect on Rewind. 


2511	10/6/89===========================================
2512
	27) Cleared up inconsistencies in BUSY, READY, and 
	NOT READY reporting.

2513	10/13/89 ==========================================

	28) Fixed one cause of erroneous media errors
	during backspace block operations.


2514	10/13/89 ==========================================

	29) Implemented special reselect time out option.


2515	10/18/89 ==========================================

	30) Prevent reporting Volume Overflow (x0Dh sense
	key) at LEOT if buffer not empty.

	31) ER# 713
	Prevent read hang caused by attempting to
	reconnect twice when handling ILI.

	32) Replaced call to routine that tells Monitor
	program drive is Running after a reset.  This 
	call was accidentally removed during a previous 
	development effort.

	33) Send/Receive Diagnostic commands now report the
	write recovery counter in data byte 5.
	
	34) Corrected the method of indicating when an 
	adjustment of the SCSI pointers is necessary
	after an Abort message.


2517	10/27/89 ==========================================

	35) Merged in the RDLEOT functions (and fixes) 
	from 4$25.

	36) Report unbuffered mode in Mode Sense if past
	LEOT.

	37) Report PEOT in Request Sense data.

	38) ER# 704
	Prevent hang waiting for SCSI chip to take
	abort command.

	39) Set Info bytes and Valid bit if variable mode
	and PEOT reached.

	40) Prevent hang caused by IPORT shut down by
	reselect time out.

	41) Prevent ORL of media error and hardware
	error into 07 sense key.

	42) Added conditionals for NOBOT and 512 byte 
	blocks.

	43) Added conditional for tighter threshold test
	for Mode Select parameters.

	44) Decrease Ready response time after reset.

	45) Prevent unexpected bus free after reset
	message.

	46) Prevent occasional tape eject on power up.


2518	11/6/89 ===========================================

	47) Corrected LED funtions during rewind and tape
	load.


2519	11/7/89 ===========================================

	48) Added offset tracking on read retries with
	conditional flag.


251A	11/9/89 ===========================================

	49) Corrected LED function at power up.

251C	11/20/89 ==========================================
251D

251E	50) Prevent false media error on backspace block
	operation.

	51) Improved sense data reliability with multiple 
	requests or hosts.

	52) Prevent hang on Send Diagnostic command if
	read test fails.  


251F	12/8/89 ===========================================

	53) Prevent skipping blocks when reading in LBD		
	mode with block sizes < 1k.

	54) Clean up Bad Stack after a write media error.

	55) Prevent servo error on Rewind at PEOT.

	56) Implemented stack trace table compression -
	An entry of FFxx indicates the total count of 
	schedules of the previous address.


251H	12/19/89 ==========================================

	57) Corrected fix #55 to prevent reset at PEOT.

	58) Added conditional Autosizing code (disabled).


251G	1/9/90 ============================================

	59) Don't reconnect too soon if drive flushing
	buffer in unbuffered mode.

	60) Check for PEOT before tape clean if write
	error occured.

	61) Shut down Dpath at PEOT error handler before 
	delaying for servo shut down to prevent Dpath 
	underruns.

	62) Prevent infinite hole search when bad block
	type is read from tape.


251J	1/10/90 ===========================================

	63) Added vendor specific mods.


251K	1/18/90 ===================================

251L

	64) Corrected queue overflow trap error in TRACEN.

	65) Corrected INTEL microcontroller compatibility
	problem.

	66) ER# 728
	Add check for underflow in PID calculation after fast 
	backspace.  Increased HMBACK constant to cover variations 
	in backspace speed among drives.

	67) ER# 616
	Fix a hardware race condition that would corrupt data
	when being written.

	68) ER# 609
	Corrected hanging disconnect condition with
	permanent read error, logical block mode, 
	and one block in the buffer.

	69) ER# 605
	Corrected response to ILI condition when
	disconnected.

	70) ER# 601
	Corrected problem with servo missing a
	change of PREVENT/ALLOW Media Removal state.


251M	===================================================
251Q

	71) Add the assembly flag NOENHDIAG that does not allow
	type 2 Send Diag. (i.e. SelfTest, DevOfl, UnitOfl must
	be zero in the Send Diag command).

251N	1/31/90 ===========================================

	NOTE: This is a branch off of 2511 and the fix is not 
	included in the main line until later.

	72) ER# 616
	Fix a hardware race condition that would corrupt data
	when being written.


251P	2/01/90 ============================================

	NOTE: This is a branch off of 251M and is not in the main
	stream of code.

	73) ER# 613
	Whenever we get a SCSI READ Command, clear
	FSF_ADAPT to clear up no reconnect problem.


251R	2/01/90 ============================================

	NOTE: This is a branch off of 2518 and is not in the main
	stream of code.

	74) ER# 616
	Fix a hardware race condition that would corrupt data
	when being written.
	

251S	2/05/90 ============================================

	NOTE: This is a branch off of 251A and is not in the main
	stream of code.

	75) ER# 616
	Fix a hardware race condition that would corrupt data
	when being written.
	

251T	2/05/90 ============================================

	76) Reset the Buffer chip whenever the chip does a power
	on or soft reset.

	This is based on 251Q.

251U	2/05/90 =============================================
 
	NOTE: This is a branch off of 2512 and is not in the main
	stream of code.
	
	77) ER# 616
	Fix a hardware race condition that would corrupt data
	when being written.


251V	2/09/90 ============================================

	NOTE: This is a branch off of 2517 and is not in the main
	stream of code.

	78) ER# 616
	Fix a hardware race condition that would corrupt data
	when being written.


251W	2/10/90 ============================================

	NOTE: This is a branch off of 251D and is not in the main
	stream of code.

	79) ER# 616
	Fix a hardware race condition that would corrupt data
	when being written.


251X	2/07/90 ============================================
2521
	80) Correct LBLKTODO underflow/overflow problem on
	saving the sense.  This fixes a problem with incorrect
	Information Bytes on a Request Sense.


251Z	2/09/90 =============================================
251Y
	81) Add Write Filemark macro (now able to write a
	filemark after any filemark). This is a option.
	
	82) Add Write Macro (Now able to write after any filemark).
	This is an option.

	83) If Backward Motion, no check condition at 
	LEOT.  This is an option.

2520	2/13/90 ============================================

	NOTE: This is a branch off of 2515 and is not in the main
	stream of code.

	84) ER# 616
	Fix a hardware race condition that would corrupt data
	when being written.


2522	2/13/90 ============================================

	NOTE: This is a branch off of 251Z and is not in the main
	stream of code.

	NOTE:  This is a vendor unique version for test.


2523	2/14/90 ============================================

	NOTE: This is the new tip of code after 251Z and is
	in the main stream of code.

	85) Vendor unique now not set for the Que_bsy mode.


2524	2/23/90 ============================================

	NOTE: This is the new tip of code after 2523 at mainline.

	86) ER# 623
	If a Capstan error occurs while in Hole Mode, now turn
	off the hole mode search.

	87) ABORT has now been merged into the mainline of code.
	This is an option.

2525	3/03/90 ============================================

2526
	88) ER# 622
	Restart the tape if buffer is empty and we get an
	error.  This will start hole mode search.

	89) The Green LED is off during a load until ready for 
Vendor Unique.


2527	3/08/90 ============================================

	90) Vendor Unique now gets Not Ready and the Green LED is 
off
	during a load until ready.


2528	3/16/90 ============================================

	91) ER# 626
	The handling of the ATN on reselect for No-Op
	messages has been corrected.

	92) ER# 629
	Alleviate the problem of not being able to read after a 
	writing a tape that has a media error or volume overflow.

	93) ER# 618
	The unit will now process block available status 
	when it arrives instead of waiting for SCSIPCMD or BMGR_SPC1
	to finish their routines.  This fixes a problem of not being 
able
	to stream on a read.

	94) Error detection for Track Errors has been added.


2529	3/19/90 ===========================================
252A
252B	95) ER# 625 - The unit will no longer go into hole mode to
 	search for a block that is not there.

	96) ER# 627 - At PEOT the unit will no longer give the bus
	control back to the host until the unit is done handling 
PEOT.

	97) Make the HOOK code from fix 79 conditional.

	98) OFFSET - Fix bug in counting offset tries.

	99) Save the Last 4 Offset values sent to the SERVO in 
OFF_0, OFF_1,
	OFF_2, and OFF_3 where OFF_3 holds the oldest value.  OFF_0 
is at
	DDH, OFF_1 is at DCH, OFF_2 is at DBH, and OFF_3 is at DAH 
in backram.

	100) Make a Vendor Unique a conditional assembly.


252C	3/20/90 =============================================

	This version was built as a tip for GENERIC.


252F	04/??/90 ==========================================

	NOTE: This version is built from 251Y and straightens up the 
	problem with the green LED's.


252G	04/06/90 ==========================================

	This code has been built off of the main line specifically
	252C.

	101) ER# 625
	Stop our machine from getting caught up looking for a block 
that 
	isn't there. 
	
	102) ER# 630
	Fix a problem of skipping over the File Mark and missing 
data. 


252H	04/09/90 ============================================

	NOTE: This version was built from 252F.

	103) ER# 642
	The amber light will remain on during the RAM Test.


252J	04/11/90 ============================================

	104) ER# 642
	The amber light will remain on during the RAM Test.

	105) ER# 630
	Fix problem with hole searches that can occur in the 
	space operation branch of the code.


252K	04/20/90=============================================

	106) ER#636
	If an error occurs when writing the DTM of 
	a filemark then clean up WBLOCK.  This will keep later 
writes
	from messing up.

	In RAMTEST at SND_DIAG a check for SHRT_DIAG was added so
	that if a customer wishes to have the short table returned
	when they issue a RECEIVE DIAGNOSTICS command then they will 
	be able to only if FLAG (SHRT_DIAG) is set at compile time.

	At SCSI_MT3, code has been added so that our machine will 
now
	accept a 10 byte cdb.  It will then output an ILLEGAL 
REQUEST
	after all 10 bytes are recieved. It requires a compile 
switch
	to operate.


252L	04/24/90=============================================

	NOTE: This code was built from the tip (252K) and is 
configured
	for a unique customer specific configuration.

	107) ER# 630 
	At TMRCN_LB we now empty the rest of the data that is in
	the buffer before returning.

	108) ER# 630
	At TMRCN_C9 instead of clearing RDIGNR on the jump, it is
	cleared in TMRCN_LB after the buffer has been emptied.

252M	04/26/90 ============================================

	NOTE: This code was built from 252L and is vendor unique.

	A switch was added for VALIDLEOT which will cause our 
machine to
	return VALID with the info bytes equal to 0 after we have 
written
	a filemark after LEOT.


252N	04/26/90 ============================================

	NOTE: This code was built from 252M. 
	
	NOTE: This is a unique customer specific configuration.


252P	04/27/90 ============================================

	109) Fix bug in CATCH_09 code (Rolling Thunder Error).
	Need to turn off Blank tape timer if a 09 error occurs.

	Note: This fix is placed in Main Line but this version 
	of code is a branch off of 252N.

	- This is a unique customer specific version with CATCH_09 
enabled.


252Q	04/30/90 ============================================

	110) Optimize RAM Test Code for faster execution.

	111) ER# 649
	Fix Light Problem when doing a RAM Test and the
	front panel unload switch occurs.

	NOTE:  This code is BUSY code.

	- This is a unique customer specific version.


252R	05/02/90 ============================================

	NOTE: This code was built from 252Q and is NOT READY Code.

	- This is a unique customer specific version.

252S	05/11/90 ============================================

	NOTE: This code was built from 252Q.  It is the tip and it 
was
	assembled with vendor unique configuration.

	112) ER 653
	BFLUSH has been cleared in the servo motion  
	error handler (MTNERR & M1RTN7_C4) so that if there are
	any pending commands when the servo failure occurs, then 
	that command will be discarded.

	AUTOSIZE has been incorporated in this version.


252T	05/16/90 ============================================

	NOTE: This code was built from 252S and it is the tip.

	113) ER# 758
	NOBUSY (NBE bit) was hard-coded in 2510 and that has been 
removed.

	This is a unique customer specific version.


252U	05/16/90 ============================================

	NOTE: This code was built from 252P and is a branch.

	NOTE: This code is for Debug only.

	114) Catch Fire and Hang if DPATHOVRN and WRERPEN are set in 
BMD_WRTF.

115) Catch Fire and Hang if DPATHERR but not Tapefast or 
DPATHOVRN error from the DPATHSNS register.

	116) Save the last 4 servo sense bytes.

	117) NOBUSY (NBE bit) was hard-coded in 2510 and that has 
been removed.

	This is a unique customer specific version.

252V	05/18/90 ============================================

	NOTE: This code was built from the tip (252T) and has been 
configured
	          for GENERIC.

	It has a unique customer inquiry header.


252X	05/22/90 ============================================

	NOTE:  This code has been built from the tip 252V.  It has 
been built
	          for GENERIC.

	118) ER #752
	In RAMTEST the routine RTF0 has been replaced by 
RT_WRITE_READ_F0. 
	This occurrence will reduce the RAMTEST time.

	119) ER #753
	In EXLD_ULD a check for D_MEMTST was added so that the front 
panel 
	button will be ignored during the diagnostics.

252Z	05/22/90 ============================================

	NOTE: This code is the same as 252X it just has a unique 
inquiry 
		 header.

2530	05/23/90 ============================================

	120) ER #729
	Changes were made to three files to disable Selection during 
RAM
	filling:

				MTNMGR.ASM
				RAMTEST.ASM
				DATA_P4.EQU

In MTNMGR.ASM under header MTNRS1: a conditional assembly 
was put in to not schedule #SCSIRSTP. SCSIRSTP sets up the 
WD chip and enables Selection which we don't want to do 
until done with RAM filling.

	In RAMTEST.ASM under headers RTEN: and DIAGMTNS: a 
conditional assembly 	was put in to schedule #SCSIRSTP now that 
the RAM filling or RAMTEST 
	is done.  Under header DMS01: a conditional assembly was put 
in to not 
	schedule #SCSIRSTP for same reason done in MTNMGR.ASM.

	NOTE:  This is a unique customer specific version.

2533	05/29/90 ============================================

	NOTE:  This code was built from 2530 and is the tip of 
mainline.

	NOTE:  This code is configured for NOT_RDY.


2534	05/29/90

	NOTE:  This code was built from 2533 and is the tip of 
mainline.

	NOTE:  This code is configured for GENERIC but has a unique 
customer
                  inquiry.


2537	05/31/90 ============================================

	NOTE:  This code was built from 2534 and is the tip of the 
mainline.

	NOTE:  This is a customer unique assembly.

	121)  ER #729
	If we are Send Diagnostics, then the rescheduling of 
SCSIRCSTP
	is not done.

	122)  ER #762
	After we have tried to write the ATM twice, then in 
MRTM7_ERR
	we clear BOTPOS.


2538	06/01/90

	NOTE:  This code was built from 2537 and is the tip of the 
mainline.

	NOTE:  This is a customer unique assembly and NOT_RDY.

2539	06/08/90 ============================================

	123) In MRTN4 some code has been added to make the mainline 
compatible 
	with	vendor unique code.

	124) In DPORTRW at S_BPCAP3, WRERPEN is cleared so that when 
S_ERPGO 	receives a Hardware Error then after it is handled we 
will not 
	continually attempt to handle the problem due to the bit 
being set.


253C	06/19/90 ============================================

	NOTE: This code was built from the tip and was assembled for 
	GENERIC.

	125) ER #761
	The Abort on a Rewind was not reconnecting properly and this 
has 
	been fixed.


253D	06/19/90 ============================================

	NOTE: This code was built from the tip (253C) and is 
customer unique.

126) The code will conditionally (HALF_ILI feature) report 
ILI only 	for those times when the Byte Count is less than 
what is present on tape.


253E	06/26/90 ============================================

	NOTE: This code was built from the tip (253D) and is a 
customer
	unique assembly. 
	
	127) The code will now report ILI when the Byte Count is 
greater than the
	CDB count when running the unit in SILI mode.

253F	06/26/90 ============================================
253G

	NOTE: This code was built from the tip (253E) and a customer
	unique assembly.

	128) All of the changes needed for the Western Digital Chip 
(93A) has been
	merged into the code.

	-- VARIATIONS --

	253G - This is a vendor unique configuration.


253H	06/28/90 ============================================

	NOTE: This code was built from the tip (253F).

	129) ER #783
	At WRT_CT9 after checking to see if the Byte Count is 
greater than 
	the maximum allowed count and finding it to be true, a check 
for BOTPOS 
	is issued. If the unit is at BOT then it is switched to READ 
mode and 
	re-setup for BOT operation.

	130) ER #777
	Fixed write hang caused by scheduling RSXFRDTA twice by 
setting 
	flag IGNRSEL under label BMI_ABR11: and clearing it under 
label 
	BMI_CC0:.  Problem was caused by being at LEOT and doing Gap 
	processing at the same time.

	131) Changed checking of DIAGMODE bit to checking SSND_DIAG 
BIT in 
	variable DIAGSTAT to determine whether we are processing 
SCSI Send 
	Diagnostic command or not.	


253J	07/02/90 ============================================

	NOTE: This code was built from the tip (253H).
	
	132) ER #782
PROBLEM: After LEOT is encountered a WRITE FILEMARK 0 
command will 
	not return a check condition.

	SOLUTION:  After checking for the WRITE FILMARK 0 command, a 
check 
	for LEOTSCSI is issued so that a check condition will be 
returned
	if the unit is past the Logical End of Tape.

	
253K	07/02/90 
==========================================================


	NOTE: This code was built from the tip (253H) and assembled 
for the 2600 
	baseline release.

	113) ER #782
	PROBLEM: After LEOT is encountered a WRITE FILEMARK 0 
command will not 	 	return a check condition.

	SOLUTION:  After checking for the WRITE FILMARK 0 command a 
check for 
	LEOTSCSI is issued so that a check condition will be 
returned
	if the unit is past the Logical End of Tape.		

	-- Variations --
	
	253K -  This is a customer unique configuration


253L	07/11/90 
===========================================================

NOTE: This code was a merge of 253K (the tip) and 253A which 
contains the customer unique trap code.  The code was then 
placed at the tip of the customer unique test code line.


253M  07/11/90  
==================================================

	NOTE: This code was built from 253K.

	114) ER #203 
	PROBLEM: When Recieve Diagnostics is issued with an 
allocation length 	greater than 0 but not 6 the unit will still 
return with 6 bytes of data.

	SOLUTION: The RCV_DIAG routine was set up to only send the 
amount of 
bytes that the ADDITIONAL LENGTH field sets up.  The code 
has now been changed to return the amount asked for in the 
ALLOCATION LENGTH field along with the 	
ADDITIONAL LENGTH field.				


253N	07/17/90 
====================================================

	NOTE: This code was built from the tip (253M) and assembled 
for the
	generic.

	115) 
PROBLEM: Motion test on WD93A chip would go bus free in 
middle of
	data transfer.

SOLUTION: New WD93A chip returns SCSI command phase register 
= 46 which the plain 	WD93 chip did not do. Added code 
under labels WRRW_ERR: and RDRW_ERR: to check for this new 
(46) status.

		
253P	07/19/90 
=====================================================

NOTE: This code was built from the tip (253N) and assembled 
for customer unique configuration.

	116) ER #784
PROBLEM: After aborting on a READ and doing a Back Space 
Block, the    next READ would return a BLANKTAPE message 
instead of reading the block.

SOLUTION: Code was added so that the WBLOCK would get 
cleared in the abort handler for the SCSI status of 14H when 
the command was completed.  

	117) ER #785
PROBLEM: The stack of the 8051 was being overflowed when 
aborted REQUEST SENSE commands were repeatedly issued.

SOLUTION: The stack is decremented to clear off CMDCOMP1's 
address whenever there is an error that causes the routine 
to jump out instead of returning.
		

253Q	08/02/90 
=====================================================

NOTE: This code was built from the tip (253N) and assembled 
for a customer unique configuration.

	116) ER #784
PROBLEM: After aborting on a READ and doing a Back Space 
Block, the next READ would return a BLANKTAPE message 
instead of reading the block.

SOLUTION: Code was added so that the WBLOCK would get 
cleared in the abort handler for the SCSI status of 14H when 
the command was completed.  

	117) ER #785
PROBLEM: The stack of the 8051 was being overflowed when 
aborted REQUEST SENSE commands were repeatedly issued.

SOLUTION: The stack is decremented to clear off CMDCOMP1's 
address whenever there is an error that causes the routine 
to jump out instead of returning.


	-- Variations --
	253Q - Customer unique configuration


253R	Generic

253S   NOT_RDY

253T	08/10/90 
=====================================================

NOTE: This code was built from the tip (253N) and assembled 
for a customer unique configuration.

	116) ER #784
PROBLEM: After aborting on a READ and doing a Back Space 
Block, the    next READ would return a BLANKTAPE message 
instead of reading the block.

SOLUTION: Code was added so that the WBLOCK would get 
cleared in the abort handler for the SCSI status of 14H when 
the command was completed.  

	117) ER #785
PROBLEM: The stack of the 8051 was being overflowed when 
aborted REQUEST SENSE commands were repeatedly issued.

SOLUTION: The stack is decremented to clear off CMDCOMP1's 
address whenever there is an error that causes the routine 
to jump out instead of returning.

	-- Variations --

	253Q - Customer unique configuration
	253R - Generic
	253S - NOT_RDY
	253T - Customer unique configuration




253U	08/10/90 
======================================================
253V	08/10/90

	NOTE: This code is built for a customer unique 
configuration.

	118) ER #786
PROBLEM: A repeated parity error was causing the CTS unit to 
disconnect	       
	and never return to the host.									    

SOLUTION: The code to handle the parity error adjustment for 
the buffer was restructured so that the unit would be 
correctly cleaned up after the error.

	119) ER #791
PROBLEM: ILI was not being reported for a requested block 
size that was greater than what was on tape


SOLUTION: The code modification for a customer unique 
configuration with the assumption that the unique 
configuration would be running in SILI mode so for the case 
of them running without SILI was added so that both will 
work.

	120) ER #794
PROBLEM: When a Back Space Block command was issued when the 
unit was just before LBOT the CTS would return with a check 
condition with BLANK CHECK in the sense bytes instead of NO 
SENSE.


SOLUTION: Code that was added for EOD detection was modified 
to take this above case and handle it correctly. 	



Code was added for FCC testing so that the unit will write 
to PEOT then reset itselfand then write to PEOT again.  It 
will continue to do this until power is shutoff and 
different MX code is inserted. 
	
	-- Variations --

	253V - Customer unique configuration 


253W	08/15/90 ===================================================

NOTE: This code was built from the tip (253V) and assembled 
for NOP.

A new configuration NOP was added into the code so that the 
two commands (RESERVE, RELEASE) would be treated as no 
operation commands.

	120)  ER #773
PROBLEM: After issuing a Forward Space Block command 
following a write operation the unit would return BLANK 
CHECK instead of the correct status of ILLEGAL REQUEST.

SOLUTION: In the Forward Space Block code a check to see if 
the machine is in a write mode is done so that the ILLEGAL 
REQUEST will be posted when a FSB is issued after a WRITE.		

253X	08/17/90 
======================================================

	NOTE: This code was built from the tip (253W) and is GENERIC

	121) ER #794
PROBLEM: When a Back Space Block command was issued when the 
unit was just before LBOT the CTS would return with a check 
condition with BLANK CHECK in the sense bytes instead of NO 
SENSE.

SOLUTION: Code that was added for EOD detection was modified 
to take this above case and handle it correctly. 	

	
	122)  ER #795
PROBLEM: Write hang at LEOT caused by the scheduling of 
RSFRDTA twice.         
SOLUTION: Added code at FSX_CT0 so that LEOT  and GAP_PRS 
will be checked for before setting the bit RSLCTXFR.  This 
will keep the routing RSFRDTA from being scheduled twice.


253Y	08/17/90  
======================================================
253Z	08/24/90

	123)  ER #786
PROBLEM: A parity error would cause the CTS to eventually 
disconnect and never return. The IPORT status register was 
left running when the SCSI chip had control. There were 
other problems noticed.  The Current Logical Block I.D. 
(CLBKID) was never being adjusted after the parity error.

SOLUTION: In the handler BMIW_ER0 it will now call a routine 
that shuts the IPORT down. A new routine called CLBKID_ADJ 
was added so that the CLBKID would be 	
adjusted to the last valid CLBKID before the parity error.	

	124)  ER # 620
PROBLEM: Write Recovery problems was causing the CTS to roll 
the tape to EOT.      

SOLUTION: The bit WRERPEN is now cleared in the code 
handling Write Recovery from head 3.

	125)  ER #797
PROBLEM: Hang on Rewind Cmd. after Write Cmd. Rewind Cmd. is 
not getting  linked back from ERSESTP: instead a Rewind and 
Unload cmd. is sent to the Servo.

SOLUTION: Set BFLUSH under label NOLD_ULD: so we link back 
to the Rewind cmd. after ERSESTP: This closes the window 
where we receive a Rewind Cmd. and the Servo is busy so we 
disconnect, after we disconnect the Servo is no longer busy 
and BFLUSH is not set but should be.

	126)  ER #803
PROBLEM: A Backward Space Block after a Forward Space File 
was resulting in an ILLEGAL REQUEST. 

SOLUTION: The Forward Space File was not leaving the 
pointers for the buffer management in their proper state so 
the BSB would result in the ILLEGAL REQUEST. Code was added 
so that the pointers would be correctly alligned.

-- Variations --

	253Z - Customer Unique Configuration 


2540	08/29/90 
======================================================
2541
	127)  ER #801
PROBLEM: A Back Space Block close to LBOT was taking longer 
than the 4$25 code.	

SOLUTION: A check for LBOT compared to the actual Physical 
Position of Tape is now done so the fastest method of Back 
Space Block code can be used.

-- Variations --

	2541 - GENERIC

2542	08/29/90 
======================================================
2543

127)  PROBLEM: The REWIND command is hanging the drive.

SOLUTION: The fix for ER #797 had to be removed till a 
better solution for it is found

	-- Variations --

	2542 - Customer unique configuration
	2543 - GENERIC
	2544 - HSS
	2545 - Customer unique configuration
		

2544	08/31/90

2545	09/05/90

	127)  PROBLEM: The REWIND command is hanging the drive.

SOLUTION: The fix for ER #797 had to be removed till a 
better solution for it is found

	-- Variations --

	2542 - Customer unique configuration (GENERIC)
	2543 - GENERIC
	2544 - HSS
	2545 - Customer unique configuration (NOT_RDY)


2546	09/05/90  ==================================================

128)	PROBLEM: After a RESET and an issuance of a command, 
the amount of timebetween command complete to when the drive 
drops BSY is over 6 ms.

SOLUTION: The routines RTBLOCK and RLBLOCK are not going to 
be scheduled until the 8200 drive disconnects from the bus.  
This will keep those routines from being run concurrently 
while a command is being done. 

129)  PROBLEM: Doing a READ of 1026 bytes after writing a 
1025 byte record hangs the drive.	
			
SOLUTION: The HALF_ILI code now mirrors the SPILI code in 
every way so the handling of a ILI situation is handled 
correctly in the code. The unit will still respond with a 
CHECK CONDITION with ILI only when the amount of data 
requested is less than what is present on tape.

	-- Variations --
	
	2546 - Customer unique configuration


2547    09/06/90 
=================================================

128)  PROBLEM: After a RESET and an issuance of a command, 
the amount of time between command complete to when the 
drive drops BSY is over 6 ms.

SOLUTION: The routines RTBLOCK and RLBLOCK are not going to 
be scheduled until the 8200 drive disconnects from the bus.  
This will keep those routines from being run concurrently 
while a command is being done. 

129)  PROBLEM: Doing a READ of 1026 bytes after writing a 
1025 byte record hangs the drive.	
			
SOLUTION: The HALF_ILI code now mirrors the SPILI code in 
every way so the handling of a ILI situation is handled 
correctly in the code. The unit will still respond with a 
CHECK CONDITION with ILI only when the amount of data 
requested is less than what is present on tape.

	-- Variations --
	
	2546 - Customer unique configuration
	2547 - Customer unique configuration (GENERIC)

2548	09/17/90  
======================================================


130)  ER #797
PROBLEM: Hang on Rewind Cmd. after Write Cmd. Rewind Cmd. is 
not getting linked back from ERSESTP: instead a Rewind and 
Unload cmd. is sent to the Servo.

SOLUTION: Set BFLUSH under label NOBUSY_TST: so we link back 
to the Rewind cmd. after ERSESTP: This closes the window 
where we receive a Rewind Cmd. and the Servo is busy so we 
disconnect, after we disconnect the Servo is no longer busy 
and BFLUSH  is not set but should be.

	131)  ER #813
PROBLEM: Read hang at LEOT caused by not scheduling RSFRDTA. 
This was caused by changes put in for ER #795.

SOLUTION: Added check under FSX_CT0 so if we are in READ 
mode then always set bit RSLCTXFR.
	
	-- Variations --

	2548 - Customer unique configuration (NOT_RDY)

2549	09/19/90  ===============================================

	Built from 253G for customer unique configuration.

254A	09/20/90  ==============================================

	Built from 253G for customer unique configuration.

254B	10/01/90 
=====================================================
         
	NOTE: This code was built from the tip 2548.

132)  ER #810
PROBLEM: A mode select which requires page 2 information was 
returning with a CHECK CONDITION.

SOLUTION:A check for Logical Block mode is done to see if 
the user defined RCTHRESH should be ignored for a specific 
byte of data on Page 2.  This keeps the CHECK CONDITION from 
occuring.

133)  ER #811
PROBLEM:  When one host issues a RESERVE command and then an 
ERASE, if it then aborts out of the erase and another 
initiator selects the 8200 and issues a command, the unit 
will return a BUSY status instead of the RESERVATION 
CONFILCT that it is supposed to return.

SOLUTION:  At the beginning of a command a check to see if 
the 8200 is RESERVED is done after the check for 
disconnected. If the unit is RESERVED and the same host 
issued the command then BUSY will still be returned, but is 
the unit is RESERVED and another host initiated the command 
then a RESERVATION CONFLICT will be returned. 

134)  ER #812
PROBLEM: On the STATUS phase of a command, if ATTENTION was 
raised then the unit would not handle each message 
correctly.

SOLUTION: The STATUS phase message handling code was re-
written so that any message returned from the host would be 
handled correctly.


	-- Variations --

	254B - Customer unique configuration 


254C	10/02/90  ==================================================
         
	NOTE: This code was built from the tip 2548.

	132)  ER #810
PROBLEM: A mode select which requires page 2 information was 
returning with a CHECK CONDITION.

SOLUTION: A check for Logical Block mode is done to see if 
the user defined RCTHRESH should be ignored for a specific 
byte of data on Page 2.  This keeps the CHECK CONDITION from 
occuring.

133)  ER #811
PROBLEM: When one host issues a RESERVE command and then an 
ERASE, if it then aborts out of the erase and another 
initiator selects the 8200 and issues a command, the unit 
will return a BUSY status instead of the RESERVATION 
CONFILCT that it is supposed to return.

SOLUTION: At the beginning of a command a check to see if 
the 8200 is RESERVED is done after the check for 
disconnected. If the unit is RESERVED and the same host 
issued the command then BUSY will still be returned, but is 
the unit is RESERVED and another host initiated the command 
then a RESERVATION CONFLICT will be returned. 

134)  ER #812
PROBLEM: In the STATUS phase of a command, if ATTENTION was 
raised then the unit would not handle each message 
correctly.

SOLUTION: The STATUS phase message handling code was re-
written so that any message returned from the host would be 
handled correctly.

	-- Variations --

	254B - Customer unique configuration 


254C	10/02/90  
===================================================

	135)	PROBLEM: A Space operation was returning with ILI 
indicated in the sense when it should return with 
BLANKCHK instead.

SOLUTION: The HALF_ILI code needed to be unwound from the 
Suppress ILI code	ER #816 for the space operation.  The 
Suppress ILI was used for other purposes and the HALF_ILI 
couldn't be used in that case.

	-- Variations --

	254C - GENERIC

254D    10/02/90  
==================================================

Built from 253G for Customer unique configuration w/changed 
INQUIRY HEADER 21F8646100290

254E	10/02/90 
====================================================

Code was added so that EOD would be shown for a customer 
unique configuration Request sense.

	-- Variations --

	254E - Customer unique configuration

254F	10/02/90 
=====================================================
Code was added so that EOD would be shown for a customer 
unique configuration Request sense.

	-- Variations --

	254E - Customer unique configuration
	254F - Configured for customer unique configuration

254G	10/16/90   =============================================
Code added to fix Write hang at LEOT for a customer unique 
configuration. Set BFLUSH under label NOBUSY_TEST so we link 
back to Rewind Cmd. after ERSESTP:. This was NOT made from 
the tip, it was made from 251X with the above fix in it 
only.

	-- Variations --
	254G - Customer unique configuration

254H	11/06/90 ===================================================
	See code version 2535 for 254H information.

254J	11/29/90 =================================================

	Code taken from 2527 Customer unique configuration
	PROBLEM: BWD_FLG not being cleared for forward motion 
commands		

	SOLUTION: Clear BWD_FLG for all forward motion commands 
which include:
Space forward, Write, Read, Write filemark. This was made 
from 2527 Customer unique configuration.

	-- Variations --
	254J - Customer unique configuration

254K	02/22/91 ================================================

Code was taken from 251K generic. Modifications were made so 
that this version will support WD93A chip besides WD93 plain 
chip.

	-- Variations --
	254K - Generic 

254L	03/14/91  
====================================================
Customer Unique

Code was taken from 2521 which is really 251X and CAR 877 
was applied.	ER #877 BFLUSH was left set causing SPACE or 
READ to be pended and rerun.

254M	04/10/91 ==================================================
Customer Unique

	See 252J above.

*****************************************************************



      The information contained herein, is solely for the use and benefit of
      EXABYTE customers.  It is not intended for distribution beyond the
      internal use of our customers.

 
           Librarian  BASELINE 2600 CODE LINE


2600  10/11/90 ====================================================

      Baseline release for 2600. 


2601  10/11/90 ====================================================

      High Speed Search
      
      PROBLEM:  In previous versions of HSS there was an arbitrary window in
      the MX which required the Servo to land within the window or a hardware
      error would be reported. 
      
      SOLUTION: Now the boundary of the window on the BOT side has been
      re-moved to further enhance HSS.


2602  10/19/90 ======================================================
      Customer unique configuration 2600 baseline code release.


2603  10/19/90 ======================================================

      Customer unique configuration 2600 baseline code release.
      
      -- Variations --
      2603 - Customer unique configuration


2604  10/19/90 ======================================================
      
      NOTE 1 - Customer unique code release with NOBOTEMS equate set to 1. 
      NOTE 2 - This code will not set "End of Media" at the beginning of tape.

2605  10/19/90 ====================================================
      
      PROBLEM 1: A Disconnect without ever reconnecting occured
                 intermittently on a HEAD.

      SOLUTION:  The HALF_ILI code was modified so that it won't affect any
      code other than the reporting of ILI.

      PROBLEM:  If a PARITY Error occurs on a byte of the CDB consecutively
      the 8200 will keep sending the RESTORE DATA POINTERS message
      continually.

      SOLUTION:  The 8200 will now only send the message 15 times and on the
      16th PARITY ERROR the drive will report a CHECK CONDITION with the
      sense key set to 0B (ABORTED COMMAND)

2606  10/24/90 ===================================================

      PROBLEM 1:  ER #825 A Disconnect without ever reconnecting occured
      intermittently  on a READ.

      SOLUTION:  The HALF_ILI code was modified so that it won't affect any
      code other than the reporting of ILI.

      PROBLEM:   If a PARITY Error occurs on a byte of the CDB consecutively
      the 8200 will keep sending the RESTORE DATA POINTERS message
      continually.

      SOLUTION:  The 8200 will now only send the message 15 times and on the
      16th PARITY ERROR the drive will report a CHECK CONDITION with the
      sense key set to 0B (ABORTED COMMAND)

      -- Variations --
      2606 - NOT_READY

2607 11/05/90 ======================================================
      
      PROBLEM:  During a REWIND or an ERASE operation there is no way of
      telling that the operation is currently running.

      SOLUTION:  The GREEN light will now flash while doing the above
      operations.

      PROBLEM:   The REQUEST SENSE format for the customer unique EOD would
      not reflect EOD but blank check.

      SOLUTION:  For EOD in the customer unique code the REQUEST SENSE
      format was  changed so that EOD will be reported as opposed to blank
      check.

2608

2609  11/07/90 ====================================================
      
      PROBLEM:  During a REWIND or an ERASE operation there is no way of tell-
      ing that the operation is currently running.

      SOLUTION:  The GREEN light will now flash while doing the above
      operations.

      PROBLEM:   The REQUEST SENSE format for a customer unique EOD would
      not reflect EOD but blank check.

      SOLUTION:  For EOD in the customer unique code the REQUEST SENSE
      format was changed so that EOD will be reported as opposed to blank
      check.

      -- Variations --
      2607 - Customer unique configuration
      2608 - Customer unique configuration
      2609 - Customer unique configuration


260A  11/07/90 ===================================================

      PROBLEM 2: ER #832 - After aborting a READ command a subsequent back
      space block command would return an ILLEGAL REQUEST.
       
      SOLUTION:  The pointers for the BRT were modified after the ABORT to be
      positioned correctly.

      PROBLEM 3: ER #834 - After HOST 1 issues a RESERVE command, another
      command and aborts that command, then another host selects the drive
      and issues a command the status returned is RESERVATION CONFLICT. This
      is correct but if HOST 1 issues another command it also will get a
      RESERVATION CONFLICT instead of BUSY status.

      SOLUTION:  The reserving host's ID is stored in memory so that if
      another command is issued to the drive while it is busy then the stored
      ID is compared to the current SCSI SOURCE ID. If the IDs do not match, 
      then a RESERVATION CONFLICT will return, else BUSY.

      PROBLEM 4: ER #835 - After aborting a REWIND the drive goes bus free
      but at the completion of the REWIND it will attempt to reconnect.

      SOLUTION:  A check to see if the REWIND was aborted is now done before
      the drive attempts to reconnect.

      PROBLEM 5: ER #836 - After aborting a SPACE command, issuing a WRITE
      command then a WRITE Filemark then the drive will return with Tape
      Motion Errors.

      SOLUTION:  Cleaning up after the aborted SPACE command is now done
      properly.

      PROBLEM 6: ER #806 - WRITE hang using WD93A chip.

      SOLUTION:  On power up determine whether WD93 or WD93A chip is present.
      Only send one ABORT command to WD chip if 93A is present.

260B 11/09/90 ======================================================

      PROBLEM:   The code above for 260A has a problem reporting correct
      status.

      SOLUTION:  The register used to access the back RAM was assumed to
      have a value in it that could not be changed at the beginning of the
      REQUEST SENSE. For ER #834 that register was used to access the back
      RAM and was consequently erasing the correct sense.  This problem has
      now been rectified.

260C  11/20/90 ====================================================

260D  11/26/90 CS=F1CA ============================================

      PROBLEM:  ER #837  Write Filemark of zero(0) in Read mode at a filemark
      erases user data before and after the filemark. 

      SOLUTION:  At label TMSET3: in scsiintf.asm a check was added, if in Read
      mode and requested number of filemarks to write = 0 then just return
      Command complete and do nothing.

      -- VARIATIONS --
      260D - Customer unique configuration

260E  11/26/90 =====================================================
      PROBLEM:   ER #842  A REWIND after an aborted REWIND would never
      reconnect.

      SOLUTION:  When the new command is recieved a check to see if it is a
      REWIND command is done.  If it is, then the drive is configured to
      reconnect instead of
      skipping the reconnect as it would if only the aborted REWIND was done.

260F  11/29/90  ===================================================

    See 2601 above.

260G  12/05/90 ====================================================

      PROBLEM:   ER #214 EXB-8200 isn't recognizing Non-8200 tapes.

      SOLUTION:  Currently we treat both blank tape and non-8200 tape asblank
      tape. Differentiation has been made based on SCSI-II specification, i.e.
      If it is a blank tape, then SNSKEY=08H, ASC=00H, ASCQ=00H
      If it is a foreign tape, then SNSKEY=08H, ASC=30H, ASCQ=02H
      Five files have been changed and they are DATA_P4.EQU, INITDEF.ASM, 
      DPORTRW.ASM MTNMGR.ASM and SCSIINTF.ASM

      -- VARIATIONS -- 

      260G - GENERIC


260H HSS ======================================================
      PROBLEM:   ER #214 EXB-8200 isn't recognizing Non-8200 tapes.

      SOLUTION:  Currently we treat both blank tape and non-8200 tape as
      blank tape. Differentiation has been made based on SCSI-II
      specification, i.e.
      If it is a blank tape, then SNSKEY=08H, ASC=00H, ASCQ=00H  
      If it is a foreign tape, then SNSKEY=08H, ASC=30H, ASCQ=02H
      Five files have been changed and they are DATA_P4.EQU, INITDEF.ASM, 
      DPORTRW.ASM, MTNMGR.ASM and SCSIINTF.ASM

      -- VARIATIONS -- 
      260H - HSS

260J  12/13/90 =====================================================

      Customer Unique Configuration

      PROBLEM:  ER # 826,834,839
      The drive is returning an incorrect residual when a wrong size block is
      asked for.  If this initial problem is left alone then the drive will end up
      returning with a HARDWARE error due to a servo command reject.

      SOLUTION: Instead of reconnecting to the host and sending ILI status
      with command complete, the drive will now disconnect (if ILI is set) and
      wait for all of the blocks in the logical block to be read from tape and
      deallocated in the buffer.  The drive will then reconnect after all of the
      blocks have been deallocated.

      PROBLEM:  ER # 847
      Aborting a SPACE FILEMARK command repeatedly would cause the drive to
      hang.

      SOLUTION: The drive didn't know that it was aborted and so a link was put
      in to acknowledge the abort and to shut down.

      PROBLEM:  ER #214 
      The drive wasn't recognizing a foreign tape when a SPACE FILEMARK
      command was issued.

      SOLUTION: The code has been modified to recognize the non 8200 tape
      when the SPACE FILEMARK is issued.

      -- VARIATIONS -- 

      260K - Generic

260M  01/10/91 ======================================================
       Customer Unique Code

260N   Customer Unique Code

      PROBLEM:  ER #833 After Aborting a command after the disconnect
      message in is sent  will sometimes result in the drive attempting to
      reconect.

      SOLUTION: In the IPORT after the command is disconnected, the routine
      now knows this for the non-buffered, variable write mode and it will
      abort correctly.

      PROBLEM:  ER #861 A reel motion failure on a WRITE FILEMARK was causing
      the drive to never reconect.

      SOLUTION: The bit BFLUSH was being cleared when it was needed for the
      re-link to the reconect. This has been changed so the the bit will stay
      set.

      PROBLEM:  ER #241 On Back Space Block commands near LBOT the drive is
      experiencing many Tape Motion errors.

      SOLUTION: The bit SBKWFST is cleared when it is determined that a back
      space file would be faster than a back space block.  This will keep the
      drive from positioning the Servo over blanktape and causing tape motion
      errors when it attempts to get on track.
      
      -- Variations --

      260N - Customer Unique Configuration

260P  01/11/91 CS=AFC4 ============================================

      PROBLEM:  ER #227 Servo System failure. Command Reject MX to Servo,
      undefined command sent MX to Servo.

      SOLUTION: In MNTMGR.ASM at Label OFF_INC: added checking of OFFCTR to
      ensure it doesn't get incremented beyond 59H so illegal command of 5AH
      will not be sent to Servo. (BD)

      PROBLEM:  ER #234 When drive is Reserved by initiator A and initiator B
      sends a Request Sense command with the RC bit set we don't return
      Status of Reservation Conflict and our spec. says we will.

      SOLUTION: In SCSIINTF.ASM at RQSTSNSE: added code to check for Reserved
      and RC bit set, if they are we return a Reservation Conflict Status (BD).

      PROBLEM:  ER #862 Write hang during Write Filemark. Cause found under
      label WRTTMST:, after call to DISCNSEQ: we were checking the Carry
      flag.....only problem was the Carry flag wasn't ever getting changed in
      DISCNSEQ: when the Host doesn't allow disconnects. Using the Carry flag
      is sometimes hazardous to MX code's health. 

      SOLUTION: Replaced checking the Carry flag under labels WRTTMST: and
      RDCOMP_ILI with checking of DISCT_ABRTED bit in BACKBITS1.
      DISCT_ABRTED bit in BACKBITS1 is set in MSG_DATA to indicate an Abort
      msg. was received while trying to disconnect. DISCT_ABRTED bit is always
      cleared when we enter WRITETM:.  (PBD)

      -- Variations --

260Q  01/22/91 =====================================================

      PROBLEM:  ER #833 This was previously noted and though to be fixed in
      260M.  It wasn't totally fixed in that code level.

      SOLUTION: At BIW_DEC the check to see if the WRITE command was aborted
      is also done.  This will keep the unit from continuing the WRITE      
      operation and correctly abort the command.


      PROBLEM:  ER's #843/826/839 These were thought to be fixed in 260J and
      it appears that ER #839 was. ER's #843 and 826 are still being reported
      though.

      SOLUTION: Part of the code to fix the problem was not being run.  This
      has been fixed so that the new code will be initialized for this problem.

      PROBLEM:  ER #798 For large block sizes the drive would intermittently
      fail at LEOT because it was possible that while the drive is writing the
      gap stripe signifying the end of the WRITE another block will come in
      through SCSI.  With all that is going on at LEOT this condition will
      confuse the drive and cause the hang.

      SOLUTION: The drive will not reconnect until all of the data in the
      logical block has been recieved.  The reconnect will occur later.

      PROBLEM:  ER's #220/233 It has been shown that for block sizes greater
      than 16Mb that the drive would hang.
      
      SOLUTION: Some of the math used to handle the large block sizes was
      coded in such a way that the addition of a logical block was not done
      correctly.  The algorithm for this summation has been changed so that
      it still accomplishes the same thing without the hang.

      -- Variations --

      260R - Customer Unique Configuration

260S  01/22/91  ===================================================

      PROBLEM:  ER #843 The drive was never sending status and command
      complete after an underlength ILI report

      SOLUTION: The reconnect code wasn't set properly so that the drive
      would go through the completion code.  This has been changed.

      -- Variations --

      260S  Customer Unique Configuration

260T   01/30/91  CS=99ED ===========================================

      PROBLEM:  ER #843 The drive was never sending status and command
      complete after an underlength ILI report.

      SOLUTION: The reconnect code wasn't set properly so that the drive
      would go through the completion code.  This has been changed.

      -- Variations --

      260T - Customer Unique Configuration

260U  02/05/91 CS=D195 ===============================================
      Customer Unique Configuration

      PROBLEM:  ER #288 Send Diagnostic Command, test 101 was not ejecting
      the tape at the end of the test.

      SOLUTION: Under label EXLD_ULD: in mtnmgr.asm we now test to see if we
      are doing a Send Diag. Cmd. if so then we don't check to see if we are
      doing a Memory test, we just continue with the tape unload.

      PROBLEM:  ER #865 If we had a Ram test failure we were not blinking both
      LEDs.

      SOLUTION: Under label ENDD3:, in ramtest.asm we now schedule INIT_LIT to
      blink both LEDs after a Ram test failure.

      PROBLEM:  ER #224 On Send Diag. command 110 for Customer Unique (CDB =
      x1d x06 00 00 00 00 ) Green LED will stay on after test even though no
      Cartridge is present.

      SOLUTION: Under label ENDD4:, in ramtest.asm added check to turn Green
      LED off if no Cartridge present for the Customer Unique configuration.

      PROBLEM:  The Customer Unique Configuration REQUEST SENSE is
      returning EOM when it encounters End of Data.  They do not like this and
      wish for this to change so that it reports BLANK TAPE instead of EOM.

      SOLUTION: The REQUEST SENSE code was changed for this Customer unique
      configuration.

      -- Variations --

260V HSS   02/15/91 =================================================

      PROBLEM 29:  ER #871 the tape was being written and could not be Read
      correctly.

      SOLUTION: The fix to ER #837 was clearing the buffer pointers when a
      WRITE FILEMARK (0) is issued when the drive is in READ mode.  This fix will
      not go to the code which clears out the buffer pointers.

      PROBLEM:  A WRITE of 0 bytes will not return a Check Condition if the
      tape is Write Protected.

      SOLUTION: The code will now conditionally check to see if the tape is
      Write Protected when a WRITE of 0 bytes is issued.

      -- Variations --
      260W - GENERIC
      260X - Customer Unique Configuration
      260Y - Customer Unique Configuration
      260Z - Customer Unique Configuration

2610 GENERIC 03/08/91 ============================================== 

      PROBLEM 30:  ER #291 Drive was doing disconnect after transmitting data
      to do ILI processing.  SCSI implies save data pointers are required
      before reselection. The disconnect was part of the ILI fix for ER #843.

      SOLUTION: Always return save data pointers prior to disconnect. 
      Configuration switch turned on (SAVEPTRO).

      -- Variations --
      2611 - High Speed Search
      2612 - Customer Unique Configuration
      2613 - Customer Unique Configuration

2614  03/08/91 =============================================
Customer Unique Configuration

      PROBLEM 31: ER #877   Difference in SCSI timings during covert
      integration of Customer Unique controller causes MX processor to
      ultimately hang in CHK_LCI routine.  This hang occurs while the MX
      processor is responding to a SCSI Test Unit Ready command which follows
      a SCSI Read command with ending status being a check condition. BFLUSH
      is left asserted.
      
      SOLUTION: Add program logic after label RDSCLBLK in SCSIINTF.ASM to
      reset BFLUSH in case it was pended during previous space operation.
      NOTE:      This fix was included in version 2610 on 03/08/91 and will be
      found in all succeeding releases.
      
2615 03/08/91 ==============================================

      PROBLEM 32:  ER #875 The drive was returning a Data Miscompare on a
      Read operation.

      SOLUTION: The problem is that the buffer was out of sequence due to a
      Read failure (the drive stopped Reading).  The initial solution is to flag
      the error (checking to make sure that the Logical IDs are in sequence)
      and then to drop off the bus setting up the the Sense data to a Media
      Error with bit 3 of byte 21 set). 
           
      A more complete fix will follow with the error being flagged and then a
      Check Condition set with the same sense as above.

      PROBLEM 33:  A Back Space Block command was failing with an ILLEGAL
      REQUEST.

      SOLUTION: This is an implementation issue.  The forward space block
      command issued before the back space positioned the drive on a wrong
      block (not a Start block) and when the Back space command is issued then
      an ILLEGAL REQUEST was returned instead of media ERROR.

      PROBLEM 34:  A fixed mode Write followed by a Rewind and a Fixed mode
      Read (with different block size) was resulting in a Permanent Read Error
      problem.

      SOLUTION: The new code for the fix to ER #843 was missing the check for
      fixed mode change and this was put in.  

2616  03/15/91 =================================================

      PROBLEM 32: ER #875 The drive was returning a Data Miscompare on a
      Read operation. 
      
      SOLUTION: The continued solution to this problem involved implementing
      the fix for back space block and upon detecting the buffer miscompare
      the drive will now complete normally with a CHECK CONDITION - MEDIA
      ERROR. User Sense Byte 3, Bit 3 will also be set.

2617  03/18/91 ======================================================
Customer Unique HSS

      PROBLEM 35: ER #289 Send Diagnostic Command "101" was not ejecting tape
      and leaving both LEDs on at completion of test.

      SOLUTION: In file scsiintf.asm under label SDWHATNW: we now schedule
      EXLD_UC0: instead of EXLD_ULD: so the tape is unconditionally unloaded.
      In mtnmgr.asm under EXLD_ULD: a check is now made if we are in Send Diag.
      Command (D_SNDTST bit) then we won't unload tape if someone pushes the
      eject button on front of drive.(BD)

2618  Generic 03/19/91 =============================================

2619  Customer Unique Configuraton =================================

      PROBLEM:  The Save Data Pointers message is still not being sent at the
      end of the Read.

      SOLUTION: The code has been changed so that the Save Data Pointers
      Message will always be sent at the end of the READ when it was done with
      ILI. 

      - Variations --
      261A - HSS
      261B - Customer Unique Configuration
      261C - "
      261D - "
      261E - "
      261F - "

261G  3/25/91 CS=7289  ========================================
261G  Customer unique configuration 3/22/91

      PROBLEM:  New specification from the customer unique configuration

      SOLUTION:  Add two conditional assembly flags SOFTID & SOFTWP.SOFTID=1
      enables logic which implements the SCSIChange Target ID command (0c1h). 
      SOFTWP=1 enables logic to process the Software Write-Protect (SWWP) bit
      in the SCSI Mode Select command parameter list header field.

      -- Variations --
      261G - Customer unique configuration

261J  4/5/91 ===================================================

      PROBLEM:  New Vendor Unique SCSI Write Buffer Command implemented for
      Customer Unique Configuration.

      SOLUTION:  Implemented WRITE_BUF_CMD: that is Vendor Unique for
      customer unique configuration which takes the data from the host and
      throws it away. New lookup tables for SCSI command processing of Group1
      commands was also added. Added Assembly flag (unique)_WRT_BUF around
      vendor unique WRITE_BUFFER_CMD. Customer unique wants this command
      for a display that uses the data.

      -- Variations --
      261K - Customer Unique Configuration - (WRT_0_PROT, NOBOTEMS)

04/15/91   261L  CS=1E8E =========================================
Customer Unique Configuration

      PROBLEM:  Medium Error, instead of Blank Check, was reported under the
      following repeated sequence of WRITE 1KB, REWIND and READ 32KB in no
      disconnect mode.

      SOLUTION:  The cause is that the buffer is considered to be full, yet is
      not, thus ending into hole_search.  To fix it, checking if hole_criterion
      is added to determine if we should go into hole_search or transfer data
      from buffer to host.

      PROBLEM:   Backspace block is too slow.

      SOLUTION:  There are two phases in the view of causing the problem.  One
      is because how the code handles the command currently, the other is
      because a bug created in a fix made in ER #801.  Under label
      SP_BID_CHECK code has been added to fix the bug created in ER #801.  As
      for another phase, code has been written and tested which shows an
      improvement of 400% in most cases, but not added here. We are waiting
      T/S to decide.  

      PROBLEM:  Hang during Write Command caused by Host not ACKnowledging
      our REQuest for a long period of time.This slow Acknowledge caused
      the MX to empty its buffer and stop the tape, the code was in the
      process of aborting the WD93 chip but the WD93 chip couldn't complete
      the abort until the data byte was Acknowledged. When the abort finally
      completed there was no mechanisim to continue the transfer.

      SOLUTION:  To fix a problem added a conditional assembly after label
      BIWRTN: that will insure we continue with the transfer if there is room
      in the buffer for more data. Conditional Assembly flag is SLOW_ACK.
      (PBD).

      PROBLEM:  Disconnect no reconnect on Write. Caused by Host not
      Acknowledging our Request of the Save Data Pointer Message for over
      5 seconds. This slow Host caused the MX code to stop the tape, and as
      above, no mechanism to continue the transfer.
                            
      -- Variations --

04/16/91   261M  CS=C574 ============================================
Customer Unique Configuration

       See 2618 above.

04/25/91   261P  CS=912A ========================================      
Customer Unique Configuration

      PROBLEM:  Attention was being asserted at the end of the Command Phase
      and the 8200 was not handling this condition.

      SOLUTION:  The lower byte of the SCSI interrupt vector (PCL_INTF) was
      being corrupted at the beginning of the WRITE setup.  After removing
      this corruption this problem was alleviated.

      PROBLEM:  Attention being asserted during the reselection phase caused
      a CHECK CONDITION to be setup without any Sense information.

      SOLUTION:  The code was modified for the special Attention case so that
      when the unit tries to do a Reselect and Recieve WD93 command and
      recieves a status of 24 with a phase of 10, then the code will now
      properly handle this situation without setting a CHECK CONDITION.   
                

05/02/91   261Q CS=23C5
================================================
Customer Unique Configuration

      PROBLEM :  Issuing Prevent/Allow Medium Removal commands repeatedly
      during cartridge loading caused hangs.

      SOLUTION:  "CALL CMDCOMP1" was moved from under PAMED_CHANGE to under
      PAMED_LINK.                
                
      PROBLEM:  Issuing an WRITE after an Aborted write will cause a
      subsequent READ to fail with a Buffer Sequence Error.

      SOLUTION:  In CLBKID_ADJ, code was added to check for Fixed or Variable
      mode of operation. If in variable mode, then the adjustment of the
      CLBKID will always be 1, but if in Fixed mode, then the code would execute
      the same as before.

05/16/91   261S CS=7373 ================================================

      PROBLEM :  Issuing WRITE at LBOT after write filemark 0 reported medium
      error.

      SOLUTION:  Under TMSET3, code was modified so that WRITETM command
      shall change nothing and wrap up correctly.
                 
      -- Variations --
      261T - Generic NOT_RDY
      261U - HSS

06/03/91   261W  Fast_Burst Space EOD ================================
Customer Unique Configuration

      PROBLEM:  Write hang large variable block sizes.

      SOLUTION:  Fix  caused RSXFRDTA to get scheduled twice causing a hang.
      Changed SLOW_ACK conditional assembly to set IGNRSEL under label
      BIWRTN:,IGNRSEL is then cleared under label BMI_WRT:.(PBD) 
 
      PROBLEM:  Pushing the front button before the drive starts motion
      butjust after a buffer flush on a REWIND command will cause the drive to
      hang with a MX to SV Command Reject.

      SOLUTION:In the Unload code for HOTBUTTON, a check is now done for the
      bit WRT_CLN to see if the drive is currently doing a Write Clean
      operation. If it is set, then the code will not send the SERVO a 0A
      (MTNFWD) command again.

      -- Variations --
      261X - Generic
      261Y - SLOW (Generic w/SLOW_ACK)

06/10/91   261Z   ================================================== 
Customer Unique Configuration

      See 261J above. Code contains inquiry change only.

06/11/91   2620 ===============================================
Customer Unique Configuration

      PROBLEM: Incorrect SCSI Status being sent second time after Initiator
      Detected Error Msg.

      SOLUTION:  At label CMDCMP_R: added saving of SCSI Status into new
      Variable SCSI_STATUS. Under label CMDCMP_IDE: added restoring of
      SCSI_STATUS after Initiator Detected Error, so we will now return the
      same Status to Host after an error in the STatus byte (ie. Parity
      error).(PBD) 

      -- Variations --


06/12/91   2621 CS=C175    =========================================
Customer Unique Configuration

      See 2618 above.



06/13/91   2622  ================================================      
Customer Unique Configuration

           See 2622 above.

06/18/91   2623  ================================================
Customer Unique Configuration

           NOTE: This code was built from 261F.

      PROBLEM :  Drive was incorrectly sizing the 112 meter tapes as 15 meter
                 tapes

      SOLUTION:  The switch AUTOSIZE is now hardcoded so that all customers
                 will recieve this function regardless of their configuration.
                 
06/21/91   2624  =================================================
Customer Unique Configuration

      PROBLEM:   Sense byte 21 is not being reported correctly 

      SOLUTION:  Code was added to make certain that USB2 gets put into R2
                 properly so that the REQUEST SENSE data is correct.

      PROBLEM:   code had no way in which to reset the SERVO system without
                 power cycling when an error occured.

      SOLUTION:  Added the Soft Reset feature to the HOT BUTTON code so
                 that if there is a SERVO error than the front button push
                 would reset the error. 

06/21/91    2625  =================================================
Customer Unique Configuration

           NOTE: This code was built from 261F

      PROBLEM:   Drive was sending the SAVE DATA POINTERS message without
                 disconnecting from the host (No Disconnect was enabled).

      SOLUTION:  The conditional assembly flag (SAVEPCFG) was commented out
                 in the code, this was removed and the message was no longer
                 sent.


06/26/91   2626  ==================================================
                 ===
Customer Unique Configuration

      --Variations--

      2627 - Generic
      2628 - Customer Unique Configuration
      2629 - Generic HSS
      262A - Customer Unique Configuration
      262B - Customer Unique Configuration
      262C - Generic NOT_RDY
      262D - Customer Unique Configuration

07/05/91   262E  ==================================================
                 ===
Customer Unique Configuration

      PROBLEM:   Sense Command with RC set and an allocation length of 19
                 bytes failed to clear a three byte long Read/Write Error
                 Counter.

      SOLUTION:  Now the Error Counter gets cleared before the low byte of
                 this counter is sent to the host because send data module
                 will not return to clear this counter if the low byte is the
                 last byte to be sent.

      PROBLEM:   The host timed out on the Allow Medium Removal Command
                 issued right after Rewind immediate command.

      SOLUTION:  The real reason is that the bus was held in the command
                 phase of the Prevent/Allow Medium Removal (1E) command until
                 the Rewind immediate command was completed, which was
                 implemented to prevent a possible system hang.  Under
                 PAMED_LINK:, a new state was added to make sure that 1E
                 command gets scheduled only once, which prevents both
                 cases of holding bus too long and hanging the system from
                 happening.   

      -- Variations --
      262F - Customer Unique Configuration
      262G - GENERIC

07/15/91   262H  ================================================== 
Customer Unique Confiquration

      PROBLEM:   Back Space Block (BSB) command took too much time when the
                 tape was positioned 4K blocks away from the Logical BOT, and
                 the number of blocks to  space backward was large. 
      SOLUTION:  Code was added under SP_BCT6 such that the execution time
                 of BCB command varies with the Block Length (BL). The
                 thresholds are 4K and 64K (the default is 1K) respectively.
                 A performance improvement of up to 300% can be achieved  
                 in spacing backward large number of blocks for BL < 4K, and
                 up to 200% for 4K < BL < 64K.  It will run as fast as before
                 if BL > 64K. To have this enhanced performance activated,
                 the flag FAST_BSB has to be set in config.equ file.
      PROBLEM:   Drive was disconnecting and not reconnecting with Host
                 during a Write command.
      SOLUTION:  Code was added under BIWRTN: in Iportrw.asm to set RSLCTXFR
                 bit if tape is stopped (ie. ROS_FULL=0). Code was also added
                 to set RESELECTING bit to insure we don't try to reconnect
                 twice by setting RSLCTXFR bit if RSXFRDTA: has already been
                 scheduled. The RESELECTING bit is checked in Dportrw.asm in
                 four places and cleared in SCSIINTF.ASM at two places. These
                 changes all have the conditional assembly flag SLOW_ACK
                 around them.
           
07/19/91   262J  ==================================================
Customer Unique Configuration
        
        See 261C above.

07/22/91   262K  ==================================================
Customer Unique Configuration 

      PROBLEM:   Reported that the tape could not be ejected after Allow
                 Medium Removal Command was issued following Rewind
                 immediately.  

      SOLUTION:  Prevent/Allow Medium Removal Command was re-written to
                 solve CDB error checking routine.

        --Variations--
        262L - Generic 
        262M - Customer Unique Configuration
        262N - Customer Unique Configuration
        262P - Customer Unique Configuration
        262Q - Generic 

08/01/91   262R
           ======================================================
Customer Unique Configuration

      PROBLEM:   The LEDs were flashing for a RAM failure.
                 
      SOLUTION:  The code which runs the flashing LED sequence has been removed.
                 
      PROBLEM:   A false PEOT condition along with a Hardware failure has
                 caused the sense key to report both errors.

      SOLUTION:  The code has been modified so that only one of the errors
                 will 
                 be reported.

        -- Variations --
      262S - Customer Unique Configuration
      262T - Customer Unique Configuration
      262U - Customer Unique Configuration
      262V - Customer Unique Configuration

08/30/91   262W===================================================
           =====
      Added code for Space to End of Data (EOD) command. Changes were made to 
      files SCSIINTF.ASM and MTNMGR.ASM. The conditional assembly flag
SPACE_EOD
      was used around most code changes. 

      PROBLEM:   After a Parity error on a WRITE at BOT, a subsequent READ
                 would send back the data from the Parity error block and
                 then the data from the tape.  This would cause ILI
                 situations as well as buffer miscompares.
      
      SOLUTION:  In the code for adjusting the Logical ID, for Fixed mode, the
                 block in the 
                 buffer that had the parity error was not being deallocated. 
The fix was
                 to deallocate this block.

      
      PROBLEM:   For the WD93A chip, when Attention is raised after a data
                 transfer has occured, and the chip changes to go to message
                 phase then the chip will halt without asserting REQ.

      SOLUTION:  In the WD93A chip, the HA (Halt on Attention) bit will now halt
                 the chip before Requesting any bytes from the host if the
                 Attention line is asserted.  The code has been modified so
                 that whenever we go to either recieve a message or send a
                 message (also Command bytes), then the HA bit will be reset
                 in the Control register.

           262X ====================================================

                 - SPACE TO EOD for Customer Unique Confiquration 09/04/91
      
09/05/91   262Y===================================================
           ===

      PROBLEM:   Drive hung on write filemark command.  The reason behind
                 this
                 is that the servo failed to receive the gotrack (04) cmd which
was sent 
                 immediately after the inhibit cartridge eject (11) cmd.  It happened
                 intermittently and is diagnosed as the cause of hardware
interface time
                 race between 8051 microprocessor and servo microprocessor.

      SOLUTION:  Since neither 10 or 11 cmd generates an interrupt from servo
                 while 04 cmd does, code has been added to make certain that
                 04 cmd gets sent before 10 or 11 cmd whenever both are
                 scheduled one after another.

      PROBLEM:   Request Sense Command showed the Sense Key = 0F for
                 Inquiry Command with 01 in Message In Phase.

      SOLUTION:  EXB8200 does not support 01 message, so it should return 0B
                 (Aborted
                 Command) in the Sense Key.  The above problem only happens
when 
                 Unit Attention is pending.  Code has been modified under
Message
                 Reject Module such that now EXB8200 will report Sense Key
correctly.
      
      262Y - GENERIC
      262Z - GENERIC with enhanced backspace block
      2630 - Customer Unique Configuration

09/16/91   2631  Customer Unique Configuration NOT_RDY 
====================================================

      Built from 262Q NOT_RDY.

09/16/91   2633  ==================================================
                 ====

      PROBLEM:   With RC bit set in Request Sense command, Re-read and
                 Tracking counters were are not getting cleared. 

      SOLUTION:  Added Customer Unique Configuration conditional assembly
                 around setting of F0 before call to CC_SCSI so Re-read and
                 Tracking counters will be cleared when RC bit is set.

      2637 - Customer Unique Confiquration
      2638 - Customer Unique Configuration HSS

10/08/91   263D  Customer Unique
                 Configuration=============================

                 (Fast_Burst with Space to EOD)

10/10/91
==============================================================

      See 263F below. Non-HSS code built from 261C with the HSS Vendor Unique
      Inquiry information.




10/10/91   263E  ==================================================
                 ===

      PROBLEM:   When host indicates that it does not support or want to
                 accommodate disconnection and reconnection, we shall not
                 send save data pointer (02) message after the data phase. 
                 
                 
      SOLUTION:  02 message will not be sent if host sends us an identify
                 message of 80. Instead we go into status phase and message
                 in phase directly.    

10/10/91   263F  ==================================================
                 ===

           Customer Unique Configuration

           Please see note 261C above. Non-HSS code built with HSS Vendor
           Unique Inquiry information.


10/15/91   263H  =========================================== 

       PROBLEM:  Reconnect/disconnect hang.

       SOLUTION: Corrected interference in HOLE_MODE operations.


10/22/91   263J       Customer Unique
                      Configuration==============================

      PROBLEM:   Driver takes a long time to acknowledge the Disconnect
                 
                 Message, so when we return from DISCNREQ the tape has
                 stopped and we have no way of continuing the tranfer. It
                 appears that we don't reconnect so they time out.

      SOLUTION:  Added another fix for SLOW_ACK to the READ algorithm under
                 RDC_CT2. We now check to see if the tape is still moving
                 (TAPEFWD) if not then set RSLCTXFR so we will reselect and
                 transfer data to host.

11/11/91   263K       Customer Unique
                      Configuration=========================

           Generic High Speed Search for Customer Unique Configuration.

11/11/91   263L  Customer Unique Confiquration
                 ===============================

           Built from 2634 with different inquiry.

11/20/91   263Q  Customer Unique
                 Confiquration===============================
                 
           (based on Generic)

11/21/91   263R  Customer Unique Confiquration =========================

      PROBLEM:   Getting Media Errors during Verify command but could Read
                 the tape with no Media errors. 

      SOLUTION:  In Iportrw.asm under label BM_SPERR: added calls to BID_PIDS
                 and LID_CHK to set up the logical ID variables LID_CHKH,M,L.
                 These variables where not getting set up if a Verify
                 command failed with a ILI error. With subsequent Verify
                 Commands if the Logical ID were checked they would not
                 match what was expected and a Media error was reported. 

                            
11/21/91   263S Customer Unique
           Confiquration================================

           Built from 263R - configuration is unique, no code fix included in
           this build.


12/04/91   263V Customer Unique
           Confiquration================================

           Build Customer Unique Confiquration generic from 263U with short
           LEOT.


12/05/91   263W Customer Unique
           Configuration================================

      PROBLEM:   Drive hangs at PEOT in the middle of write.

      SOLUTION:  Code added under BMR_RDI: in DPORTRW.ASM file to handle
                 PEOT correctly, ensuring that the drive always reconnects
                 if it is disconnected at the time when PEOT is hit.


12/13/19   263X Customer Unique
           Confiquration================================

           Code built from 262S. New Unique Configuration used with 1/2 ILI,
           Save Data Pointers.

12/13/19   263Y Customer Unique
           Configuration================================

           Code built from 263W. New Unique Configuration used with 1/2 ILI,
           Save Data Pointers.

12/12/91   263Z Customer Unique
           Configuration=================================

      Used configuration file for fast burst and space to EOD      

      PROBLEM:   In a multi-host enviroment when one host has the drive
                 reserved and is doing reading or writing, it reports
                 reservation conflict if another host tries an INQUIRY
                 command.

      SOLUTION:  The code before this implementation did not support INQUIRY
                 cmd in the above case.  What it did was to throw away the CDB
                 bytes it receives and report either busy or reservation
                 conflict depending upon whether the drive is reserved by
                 another host. Code added in SCSIINTF and DATA_P4 files will
                 handle INQUIRY command correctly in multi-host enviroment.

      PROBLEM:   Space to EOD command reports check conditon following a
                 Write command. Not really a Car since it was designed to do
                 this, it has always been an error if a forward movement
                 command (Space) is issued while still in write mode. 

      SOLUTION:  In SCSIINTF.ASM , under SP_STMW0 added Space to EOD
                 conditional assembly code, if we are in Write mode and
                 receive Space to EOD command then return Good Status,
                 since we know we are at EOD. We will not flush the buffer
                 though. We previously would have returned Check Condition
                 since this was a Write to Read (Space) transion. (PBD)

12/18/91   2640 Generic
           withslow_ack========================================

      Modified Generic cfg file to include slow_ack

      PROBLEM:   Transfer abort fix merged into the main line of code.

      SOLUTION:  In SCSIINTF.ASM, Removed conditional assembly under label
                 ABRT_CHK, so fix to buffer abort problem will be in all code.

12/19/91   2641 Generic with Slow_Ack and Space to
           EOD=======================

01/07/92   2643 Customer Unique
           Configuration=================================

      Generic with enhanced backspace block.

      PROBLEM:   The host timed out because the back space block operation
                 took too long.

      SOLUTION:  Added code in SCSIINTF.ASM to make sure that the right
                 method is used when executing the back space block cmd. In
                 the case where the problem was reported, a timing method
                 should be used.

      PROBLEM:   Tech. support wants the functionality of fast backspace
                 block operation to be available in main line of code. 
 
      SOLUTION:  Conditional flag FAST_BSB was removed in SCSIINTF.ASM,
                 MTNMGR.ASM and DATA_P4.EQU.

01/09/92   2644
           Generic==================================================

      Generic Not_Ready

01/09/92   2645 Customer Unique Configuration
           ============================

      Release Customer Unique configuration to include short diagnostics and
      slow_ack.  

01/09/92   2646 Customer Unique
           Configuration================================

      See 2618 above.

01/09/92   2647 Customer Unique
           Configuration=================================

      Change Customer Unique Configuration to include no enhance diagnostics
      and write buffer.

01/21/92   2648 Customer Unique
           Confiquration=================================

      PROBLEM:   The Device Type Code of standard Inquiry data reports 01
                 when the LUN in identify message of Inquiry command is not
                 zero.

      SOLUTION:  This is a design issue in that the current code does what is
                 defined in the User's Manual, i.e. the Device Type Code
                 reports 7F only when the LUN in the Inquiry CDB is not zero,
                 and 01 for all the other cases.  New code was added to
                 support the request.

01/13/92   2649 Customer Unique
           Configuration=================================

      Built from 263P.  With HSS configuration file. 

01/23/92   265A Customer Unique
           Configuration===============================

      Built from PROM 2618 for Customer Unique Confiquration inquiry. 

01/28/92   265D Customer Unique
           Configuration================================

      Built from 263P.  Changed inquiry header.

01/30/92   265G Customer Unique
           Configuration================================

      Built from PROM 262L, Generic Busy.

02/03/92   265J Customer Unique
           Configuration=================================

      This is the test code to fix the hang on rewind problemwhich happens
very rarely. 

02/24/92 265M
============================================================

      PROBLEM:   Hang on a rewind could happen if rewind command was issued
                 after hitting Physical EOT with write command.  The rate is
                 1 out of 80 or so times. 
                 
      SOLUTION:  Although there is no real application for people to keep
                 writing data till PEOT is hit, code was added in IPORTRW.ASM,
                 DPORTRW.ASM and MTNMGR.ASM files to fix this problem. The
                 hang happened when reconnect & transfer data module was
                 scheduled when the drive was not disconnected.
                   
02/25/92   265N Customer Unique
           Configuration================================

      PROBLEM:   Drive hung when host issued a change SCSI ID command, servo
                 error occured and tape was ejected.

      SOLUTION:  The change SCSI command failed to get to the entry point for
                 processing that command, which in turn couldcause many
                 unexpected errors.  This problem was solved here.

02/28/92   265R Customer Unique Configuration========================

      Built from PROM262L with Customer Unique Configuration.


03/05/92   2680 Customer Unique
           Configuration=================================

      PROBLEM:   Read command was returning a ILI error following a Back
                 Space Block command which was issued after a Write command.
                 The Back Space Block command caused the drive to
                 misposition when proceded by a write 
                 command.

      SOLUTION:  Added FAST_BSB conditional flag so only customers that
                 request it will get it. This conditional assembly flag had
                 been taken out in release 2643. 

03/10/92   2681 Customer Unique
           Configuration=================================

      PROBLEM:   This is a special request.  Density Code to be ignored.

      SOLUTION:  Illegal request will not be reported even if the Density Code
                 is not zero.  IDC which stands for Ignore Density Code was
                 turned on here.

03/24/92   2684 Customer Unique Confiquration
           ================================

      PROBLEM:   Fixed write with No Disconnect, 8200SX goes into Message In
                 phase with Save Data Pointer message.

      SOLUTION:  Moved conditional logic for NO_02_MESSAGE into DISCNSEQ
                 subroutine to inhibit all Save Data Pointer messages that
                 do not preceed a Disconnect message.
03/24/92   2685 Customer Unique
           Configuration==============================

      PROBLEM:   Hang on rewind without reconnection after writing to
                 physical EOT

      SOLUTION:  This is a problem which will not be seen in real applications. 
                 The code was added in files IPORTRW.ASM and MTNMGR.ASM such
                 that the drive will be able to reconnect if it is
                 disconnected and EOT is set. 

      PROBLEM:   In DPORTRW.ASM there is a place where no flag is around bit
                 CONT_DISC. Since this bit is sharing the same address with
                 another bit, this could cause some unexpected problem in the
                 code where this bit is used. 

      SOLUTION:  Put the flag around bit CONT_DISC

03/26/92   2686 High Speed Search
           Generic====================================

      PROBLEM:   The test code built from 261A ran successfully for over 5
                 passes, but 2683 with the same fix in test code failed in
                 first pass.

      SOLUTION:  Used the ROS_CTR instead of STRTTU_MIRROR bit to cover a
                 larger window where DF underrun could happen. Also added
                 code to fix DF underrun which can be caused by write
                 filemark command.

04/01/92   2687
           Generic==================================================

      PROBLEM:   "Invalid Illegal Request".  Read block and forward space
                 commands that  follow a write block or write tape mark cause
                 a check condition with a sense key for illegal request
                 instead or blank check.  This does not conform with the SCSI
                 specification, EXB-8500 operation, or 4$25 Firmware.

      SOLUTION:  Add new conditional flag BLANKER.  This flag enables logic
                 that causes SCSI ending status to be 0x02 (check condition)
                 with sense key value of 0x08 (blank check) for read block &
                 space forward commands that follow a write block or write
                 tape mark command.  When the value of BLANKER is zero, the
                 value of the sense key for the above scenerio reverts to
                 0x02 (illegal request). 












04/17/92    265T  Customer Unique
           Configuration==============================         Built from
           Customer Unique Configuration with generic configuration and     
              unique inquiry.

      PROBLEM:   Customer not able to get needed capacity. Values for number
                 of blocks
                 significantly different between 2646 and 2618.

      SOLUTION:  Enable autosizing in generic.cfg. 




04/30/92    268A  Customer Unique
           Configuration=============================
                 
                 Built from PROM2687 with Customer Unique Configuration



05/04/92    268B  Customer Unique
           Configuration===============================

                 Built from PROM2687 with Customer Unique Configuration.


05/07/92    268C  High Speed Search
           Generic==================================  

      PROBLEM:   2689 Code hung on HSS commands.

      SOLUTION:  Subroutines require to be defined as PUBLIC in the file
                 where they are located and as EXTERN where they are called. 
                 Unfortunately that was not properly taken care of when HSS
                 code was moved from one file to another.


05/07/92    265U  Customer Unique
           Configuration===============================

