

06/11/92 85C-0446 KC010446/KS020610
====================================

CARS ADDRESSED:

C-216: Space to EOD hit PEOT running SCTAPE in 8200C mode. Seed
852.

- Corrected retry mechanism for reading 8200c FM, SM, and EOD. 

CUSTOMER UNIQUE CODE ENHANCEMENTS (NO CARS ADDRESSED):

- Fixed problem in previous change. The sense of the EEPROM option
for EOM at LBOT was reversed. Now, it is fixed. 

06/10/92 8CC-0444 CC010444/KS020581 ======================== 
         85C-0445 KC010445/KS020580  

CARS ADDRESSED:

C-1026: FSC 99 on Write test 8516 writes size records. Test varies
buffer 1 block/CDB 1000 CBD's size=2561.

- Fix to no disconnect code. Bug was discovered while debugging.

CODE ENHANCEMENTS (NO CARS ADDRESSED):

- Add another fix to previous change -- loaded and pack loaded
interrupts were not being disabled correctly and a pack
loaded interrupt was occurring.

06/09/92  CC010443/KS020581
===============================================

CARS ADDRESSED:

C-2037: Disconnect without Reconnect.  

- A Single Azimuth Write did a STOP_XFR for retry of Write EOD
failure which failed with a 95 error. The STOP_XFR condition was
never cleared so subsequently, Write did not respond. The
fix clears XC_BITS3._82C_TRACK for any Single Azimuth Fatal error.

C-2042: Running HTX, SK=04 on Read, FSC 19; Read compression
failure.

- Fix to Abort handling so it no longer destroys the link. 

K-2903: System issues a read command, drive hangs in data transfer,

- Change in Request Sense operation. Now, there is only sense for
each host. Global sense is used when there is no error. This
will prevent interactions between hosts from occuring.  

CODE ENHANCEMENTS (NO CARS ADDRESSED):

- Changed code to prevent multiple B_ABORT messages from being sent
to the command handler when SCSI is aborted multiple times.
This is done by checking to see if an abort is in progress. This
fix will make the managers simplier in the abort handling.  

06/08/92 CC010441/KS020581
         KC010442/KS020580
==============================================

CARS ADDRESSED:
              
C-1088: Read hang 512 byte blocks in compression with pattern
AA,55,00,FFB.
C-2034: Verified that hang problem in CAR C-1088 still exists in
code version CC01043U.

- Add code to fix BENC problem with flushing the last part of a
compressed data on speeds of above 2.5 MB/S.

C-218: Iport fixed to clear zero fill bit in Ben 8040 register
under certain conditions.      

- By ensuring that the zero-fill bit on BEN is off during all
regular read operations.   

C-0076: +Write/Read - failed on Read command.
C-2023: Hardware error on a Read Write pass completed - failed on
Read.

- Modified routine for putting specials in BRT in 8200 mode.
Current code would hang if special (media error) was
declared.

C-0087: Drive failed to return form a read command causing a
timeout.
C-211: SCSI bus hang running +W/Read in 8200C mode.
C-213: Hang on Write.

- Iport needed some changes to keep track of how many blocks were
being written, properly control interrupt handling, and
correctly report status to the write manager. A fix was also made 
to LEOT processing in 8200c mode.

C-216: Space to EOD hit PEOT running SCTAPE in 8200C mode.

- Changed numbering of special types so jump table in space will
work. Special BRT handling.

C-1094: Send Diagnostics self test 2 (10 07 00 00 00 00) fails with
Hardware error. Dump show 1D0000000000 - CDB issued was
1D0700000000.           

- Forced write of non-compressed no-crc data. The compression mode
will be saved and restored after the diagnostic is complete.  

C-219: Backspace block incorrectly gives FSC 32. Hit a filemark on
Space. SCTAPE in 8500 mode.     

- Removed check of XF_BUSY bit. If in write mode we now always do
a rewind without checking if a flush was in progress.  

C-2038: Hangs on Verify command using SCTAPE.

- Another fix for compression verify immediate so that when we
disconnect during a verify immediate (ie, another command to
tape) we give up the BEN for compression. 

C-215: Drive goes to sleep on Verify command running SCTAPE.

- Modifications for verify.  

C-217: SCSI Abort hang SCSI bus - running SCTAPE with seed 367.

- Fix for abort of write when the host sends commands between the
abort and the abort done. This caused a tape command to go into
data phase even though it shouldn't.


CODE ENHANCEMENTS (NO CARS ADDRESSED):

- Added ability to log certain values for diagnostic purposes.

- Moved XD_PASSES to the save area which is not cleared on a reset
so it will be preserved when the drive resets. 

- Added flags for doing the diagnostic write. 

- Fixed bug where we did not read LBOT after a Send Diagnostics
reset. This is because we checked for SD busy, not if just
headsync tape.

- Added slowdown handling for motion. This will tell Dportr that
the search speed has changed from 75x to 10x because of the
approach of a physical tape boundry. Space manager now knows
that the servo is slowing down on a HSS.  

- Fix for dump from the EVT rack. Prevents a disconnect/reconnect
loop when doing the 8200C Stop transfer while positioning to
write. 

- Changed interrupt handling to prevent breaking Verify.

- Clear the FSC if the zero after request sense option
(CF_BITS13.6) when do a GOODSTAT.

- May hang on Verify immediate. Only affects Verify immediate in
compression code. 

- Initialize log threshold data on Send Diagnostics reset.

- Changed code to give bus back to Iport if disconnect on
status/command complete and doing a verify. This allows
immediate verify to work.

- For Request Sense, report log sense threshold page/parameter # in
bytes 15-17. Otherwise, in 8 and 9.

- If broken or soft_brok, report machine sense in request sense.

- Added Log Select functionality.

CUSTOMER UNIQUE ENHANCEMENTS:

- Clear all bytes of request sense when CF_BITS13.6 option is set.

- Force UA on other units when doing a predictive UA (CF_BITS7.3
option with busy). This is to fix a customer unique UA problem
where we won't get an UA on other initiators for C1 (tape
changed).

06/03/92 8CC-0440 CC010440/KS020581
=======================================

CARS ADDRESSED:

C-2021: Filemark detected on read BEN3 non-compressed.

- While adding code to fix a problem with ILI, a bad LID had
deleted a line of code which caused the BRT pointer to point
to the wrong byte. This resulted in bad BRT type hang.

CODE ENHANCEMENTS (NO CARS ADDRESSED):

- Added code to fix a problem with reading all data before a
FM/EOD.


06/02/92 85C-043Y KC01043Y/KS020580
======================================

CARS ADDRESSED:

C-0088: Motion failed on command Space. Drive continued to try to
Space after I/O timeout.  

- Prevent reverse searches from going into an infinite loop if they
read more than 2 meg after a High Speed Search backward. The 2
Meg limit should only have been used for forward searches. 

K-2097: FSC 8C - Hang on a Read.

- After an FSC 3A, the force HSS flag was set which was causing an
8200 mode block space to go out if it was the command following
the 3A space. Now the block space will check the buffer if
FORCE_HSS is set and there is data in the buffer and will return a
MEDIA ERROR if there is no buffered data. 

C-2001: Read data miscompare caused by bad data being written from
buffer afterall aborted write caused by a forced SCSI bus
parity error.

- Forced an iport Write Abort command when a parity error occurs
even if iport has completed the write. 

CODE ENHANCEMENTS (NO CARS ADDRESSED):

- Added 130H to IPORT and 30H to M8500 in two bank compression code
to fit some fixes in. 

- Changed a couple of commands which did not assemble correctly
after some changes to another module.           

05/29/92  043V  043V/KS929570
=========================================

CARS ADDRESSED:

C-205: SW-HANG on Locate CMD running SCTAPE - FSC 8C was not
reported to the Host.

- Locate LID search position correction.

C-208: Software hang PC=2E57 when trying to reset the drive using
the eject button following a servo error.

- Fixed code to use GEN_RESET when a BENC problem occurs. The drive
needs to reset from the button under certain circumstances (such
as certain death) and we need to make sure we can tolerate a
bank switch to 0 when we do it. There is a function in FUNCTLIB
that allows this.  

C-2021: Filemark detected on read BEN3 non-compressed.

- Added code to fix a problem with bad LID and Filemark detected
prematurely. This problem could have caused CRC errors in some
cases.

K-1557: Block Space (read only) failed on Space, E034 hardware
error, FSC 8C.

- Removed use of the REVERSE bit outside of high speed search
operations since it is also used by the fill manager in using
search fields to do holemode searches.  

K-1560: Motion failed on command Space.

- Fix to abort of the fill manager before doing back space block.

K-172: Write Hang with Customer controller.

- Fix for 8200 mode space. Bid position code was leaving flag set
which can cause an 8C if a mode switch is done before the bit is
cleared by a space operation.  
             
K-2011: FSC 8C on Space EOD 8200 mode BEN3 drive.

- Fixed synchronization after search in 8200 mode. SET_ID
synchronization was being attempted when 8200 mode does not
support setmarks.  

K-2096: Sense byte 2 not correct.

- Changed criteria for using machine sense instead of saved sense
(for request sense cmd). In fix of 5/6/92, used the FSC to
determine whether or not to allow machine sense. Changed to use   
the machine sense key and only return machine sense if there is no
host error pending and if the sense key is less than 2 (ie, no
sense or recovered error). This puts it back to where it was   
before 43F (as good as it was plus a little improvement -- no UA to
the wrong host). Use an EEPROM option to clear old sense data
for a host on multiple req senses.

CODE ENHANCEMENTS (NO CARS ADDRESSED):

- Added abort messages to write filemark and rewind managers. They
still don't abort but need to know in case they were in the
process of disconnecting. 

- Added bit flags for the rewind/load/unload manager to handle it's
communications with busif correctly.  

- Added handling for delayed receipt of B_CCB_ACK so we can handle
cases where the rewind completes before busif can do it's job. 

- Added abort message handling. Still don't abort but if an abort
occurs while disconnecting we won't get discon done so we act
like the abort is a disconnect done(B_CCB_ACK in this case). 

- Added abort messages to write filemark and rewind managers. They
still don't abort but need to know in case they were in the
process of disconnecting. 

- Added abort message handling. Still don't abort but if an abort
occurs while disconnecting we won't get discon done so we act
like the abort is a disconnect done. 

- Put in code to generate EC# from the EEPROM instead of the
code itself. Now, can change 8 bytes of the EC# (the
remaining 2 must be blanks).

- Changed hard-coded constants for determining whether or not a
schedule should be put in the mail trace or not. These constants
caused SCSI interrupts to be placed in the mail trace in      
4-bank code. Now, we use the location of the operating system from
database instead. (only affects tracability, not
functionality).

- Change NO_BLOCKS timeouts to 1/8X and 1X for 8500 and Compression
HW respectively.

- NO_82BLK always clears BLKTIMER to reinitialize timeout flag for
sequential commands.

- Correct overwrite of ECC count in external memory caused by log
sense compile flag.

- Fixed problem of forezone count decrementing to -1 after pack
loaded interrupt. Also fixed LEOT processing when in 8200c
mode.  

05/29/92    8CC-043U  CC01043U/KS020571
====================================

CARS ADDRESSED:

K-2026: High rewrites and read ECC's.

- Clear flag which allows abort to complete and return status. 

K-2095: FSC 26 on a write filemark after LEOT. FSC 26 on Locate to
filemark after LEOT then Write.
 
- Fixed bug in block type checking routine so it ignores the past
LEOT flag.  

C-155: No status returned on a load command issued following a
Space command - drive not  responding the the unload button
either.

- Added trap for infinite loop. Loop destroys information needed to
catch the bug. 

CODE ENHANCEMENTS (NO CARS ADDRESSED):

- Fix to prevent Space manager from disconnecting when it is
working with another manager. This bug was introduced on the
28th with the always disconnect before buffer search fix. 

- Changed code added on 5-22 to let IPORT interrrupts loose only if
record is compressed. This  will prevent overruns when in
compressed mode but data are not compressable.

05/28/92    8CC-043S  CC01043S/KS020571  CC01043T/KS020570
================================= 

CARS ADDRESSED: 

K-2089: FSC AC on a Test Unit Ready.

- For the Search File Reverse command, allow a command complete
primary status of 0x52 (Motion,EOT,Cartridge In) in case we begin
the search at EOT. 

K-2091: FSC 33 mispositioning error.

- Fix bug with block space back to Physical beginning of tape for
8500 drives when in file 0.  

C-175: No status sent to Host on Verify command (SCTAPE).

- Moved busif so that it would fit in compression code because of
fix for BENC feature when BENC is doing verify. 


CODE ENHANCEMENTS (NO CARS ADDRESSED):

- Took out changes to SENDTRIG, REPLYTRIG, REPLYSTAT so that the
sender id must be present in SENDERSLOT.

- If SAME parameter in SENDTRIG, makes same length expansion in all
banks.

- Changed macros using SENDERSLOT to not load the slot when sending
from a module with SENDERSLOT set to 0. This allows shoe to
compile to the same size for both banks (required for hang
code).

- Added new count for number of times LBOT read

- Always disconnect before searching the buffer. Some servers have
a problem with the max time we can spend searching the buffer. 

- Changed maximum compression synchronous negotiation speed from
5Mhz to 3.33Mhz to fix possible IPORT problem. This can easily
be reversed if need be.

- Changed SENDERSLOT back to INT_START (not doing this distorted
the trace).

- Changed all occurances of SENDTRIG to have parm SAME. This makes
the macro the same length for all banks.

- Add new count for number of times LBOT read. 

- Fix 8200 Mode Underruns - Caused by previous fix.   


05/27/92    8CC-043R   CC01043R/KS020561
===================================

CARS ADDRESSED:

K-2003: Read hang during positioning test.

- Modified code which has added on 5-12-92 to fix LOCATE problem in
order to save SPACE and time.

K-2025: Customer unique driver expects the Unit Attention for tape
loaded to come before the Busy status'. 8200 gives Unit
Attention and then Busy until it comes ready.   

- Added Eeprom option (with code modifications). The code can now
be configured to report C1H Unit Attention before reporting Busy.

K-2042: Hang on Write filemark. 

- Change iport code (8500 only) so the block complete interrupt
handler only sets the BEN transfer enable bit when necessary.
Unconditionally setting it can cause problems for BUSIF code. 
   

K-2066: Write hang.
              
C-2020: After a Write operation which fails with SK=03/FSC 9E, a
Request Sense and TUR command is issued.
     
- Changed reserve/release to work even if drive is broken.


CODE ENHANCEMENTS (NO CARS ADDRESSED):

- Added new entry point for ejecting tape. This entry point was
forgotten when Compression was first implemented. The missing entry
point caused a hang if the button was pushed when a command was
in progress. 

- Added slow motion read to compression code.

- Cleared the HOLEMODE bit when the fill manager is complete; the
switch from Read to Write uses BID search which checks this
value to determine splice location to search for. This        
problem was causing FSC 0x95 errors. 

- Watchdog Timeout due to excessive EOS (End of Stripe) VRBCs due
to Uncorrectable on last block of stripe pushing the WOQ past
the EOS point before the EOS Inturrupt. Fix skips RBC if
Uncorrectable Interrupt occurs when WOQ readback pointer is at
block 7 on stripe 1 or block F on stripe 2.

- Changed the MC_TRACK command for Compression, and 8500 drives. If
we are in 8200 mode, it behaves the same as 8500 mode now.

CUSTOMER UNIQUE ENHANCEMENTS:

- If bits 0 and 1 of CF_BITS6 are set, there will be a test 100 of
send diagnostics to fake a selftest if a tape is in the
drive. If there is no tape, operation is normal. The response from 
receive diags will be the same regardless of the test occuring.



05/26/92    8CC-043Q   CC01043Q/KS020551
===================================                

CARS ADDRESSED:

K-2664: Write hang.- Modified fix that was added on March 5.  

C-1094:- Fix to abort processing.  

CODE ENHANCEMENTS (NO CARS ADDRESSED):

- Changed code to perform the CLEAN ATM operation after F_Customer
Unique is done. We need to do this in 8200C mode to ensure that
the transfer is stopped before we try to track (because we need
to put the Formatter in 8200 mode).     

- Fix for 8200 mode block space back bug. Bug was only in
Compression code, where a SCHEDULE macro was used on a normal entry
point instead of a mailbox. 

- Changed counter used for request sense data extension. 

- Extended the timeouts for Compression and 8500 for servo powerup.

- Added Space manager scheduling address to fix an 8200 mode Back
Space Block bug on Compression machines. 

- Added code to fix a problem when starting a Read at the address
3FCH of the 3RD logical block. This is a BENC bug which was
fixed for LOCATE. It could also happen for read at higher
transfer speeds. The IPORT interrupts now are not disabled when in
8500 mode. This  will always let IPORT packet registers be
loaded before the prvious one finishes. This will prevent the 3RD
logical at 3FCH from happening during a Read.

- Added new compile flag around a LOGIT macro call that could not
compile because the routine LOGVALUE is not compiled when
EXT_ADR_SPACE is off. 

- Start blinking the amber LED before the UNLOAD on a hardware
error so in case the unload fails, the LED will still blink.  


CUSTOMER UNIQUE ENHANCEMENTS:

- Added trap for infinite loop from a car.  


05/22/92    8CC-043P   CC01043P/KS020551
=================================== 

CARS ADDRESSED:

K-2014:- Fix so a backward space will return hit PBOT even if the
tape is blank.  


CODE ENHANCEMENTS (NO CARS ADDRESSED):

- Modifications to support Compression code.

- Defined LOG_SENSE control bit for use in inline counter
incrementing routine.  

- Changed code to support Compression. The record size is bigger
(54E28h) and a bit is set in the control byte (ie, what to
load) to indicate Compression.

- Fixed a problem where setting the compression LED was disabling
the Formatter - Servo couldn't detect the tape.   

- Added routine for Compression code to read a byte out of any
bank.

- Temporary fix added to force data into bank 0 before doing a code
load for Compression code. 

- Put read bytes count back into 8500 code because it is used for
extend sense command. 

- Removed slow motion code from track capture. 

- Added log sense changes for new control byte and thresholding.

- Modified search algorithms that were stopping on equivalence for
PID, BID, or LID. 

- Fix check in pack loaded interrupt handler for buffer empty.  


05/21/92 85C-043N  KC01043N/KS020550
=====================================

CARS ADDRESSED:

C-0083: Hang on Write (IPORT Xfr stopped - Formatter 8200 bit set.)

- Remove setting Formatter in 8200 Mode if 'Single_Az' in Subr
'DEFUP_RDMD'. 

C-0086 and C-0173:  Write Hangs- Fix for 8200C mode problem at
LEOT. Now all available blocks are released before flush is
initiated.

C-0171: The logical Write manager does not terminate a BUSIF
transfer when the physical Write shuts down, causing a
hang in BUSIF.  

- Added new state (S-state 13h) to indicate we were requested to
disconnect when there was no disconnect privledge. This allows
drive to recover from a shutdown error when a data transfer is
inactive and we are not disconnected.  

C-2002: Hang on Read. Tape written in Write Dammit mode. Read
failed (FSC 08). Issued another Read, returned check condition
without any data transfer, issued another read then hang. 

- Added code to fix reading of "special" blocks.


C-2013: Tape written in compressed density (8C). Shows 8C after
forward space. Host issued Mode Select 8C, following Mode
Sense shows density 15.                        

- Copy the write control to the default when we reset. Fixed by not
reporting the default write density ever. Always report the
current read or write density.


CODE ENHANCEMENTS (NO CARS ADDRESSED):

- Removed SYS6EXT hardware type since it no longer exists. 

- Changed bankswitch routine address declaration so the correct
addesses are given for all machine types. 

- Rewrote segment positioning and length declarations for clarity
and added Compression declartions. 

- Added macros for mail (and other) entry points.

- Modified TIMEOUT macro for setting interrupt bank number.

- Modification so that PPOBIT2 is now the high bit of the bank so
we can select.  

- Added masks for bankswitching. 

- Removed entry point and link extern and public declarations which
are now made at the entry point in the manager file. 

- Changed the segment names to conform to the new segment naming
convention needed for 4 code bank implementation. 

- Changed entry point names. Now use macros on entry point names so
extern and public declarations are made automatically for
Compression. 

- Put the Formatter into 8200 mode for 8200C codeload and headsync
tapes so that track 2 is not FIFO'ed - this lets the Servo track
since the Block Ready Signal is now real time. 

- Added argument to TIMEOUT macro calls to automate assembly for
any bank. 

- Added a label XW_WRITE_BYPASS so the command handler can jump
directly to the write manager and avoid the scheduling overhead.
This is done to decrease the write access time. The    new label is
needed because the manager entry point, that was used by the
command handler previously, has different names depending upon
how the code is assembled and the new label avoids that problem.


- Return DCE based on tape if the READDEN option is set and we did
a read after a possible mode select. This is used to allow echo
of both the density and DCE. Now, DCE operates like density with
this option.

- Fixed non-LBOT check of DCE setting to conform with both the read
density option (ie, must be same as tape status on read) or work
the old way where DCE is based on the write density.

- Added V_KM_MNGR for expanded KM functions. 

- Redid public mail entries (with calls to banksw) to use macros
which automatically allow movement out of bank0.  

- Timer interrupts now use a byte for storing bank of interupt
routine. The old bank is stored on the stack.

- Scheduler changed so that triggers, etc where sender is
identified by high byte of calling address is changed. For
non-bank0, macro will put the high byte of the mail entry segment
(as in BUSIF for BUSIF_MAIN code) when do call. This gets rid of
code which is dependent on locations of modules (and speeds it
up too).

- Added new command for writing logical beginning of partition,
MC_WLBOP.

- Changed the primary status from 0x42 to 0x4A to include BOT for
the partition measurement command.   

- Added code to handle host initiated write aborts which were not
working due to BENC zero-fill problem.  

- Modified Mid Tape Wakeup so it will act like a Locate command and
not hit filemarks. 

- Fixed code error in the read pack loaded interrupt handler.

CUSTOMER UNIQUE CODE ENHANCEMENTS:

- Added _READDEN and _CLRREQSEN to CF_BITS13. Customer unique
requirements.

- Rewrote density selector for mode select. This was done to allow
the option of comparing the given density to the tape density,
not the write density, when not at LBOT.  

- Customer requests 0Dh, not D0h for differential card in the
inquiry data.  

- Added code to optionally clear the request sense data when
request sense is executed (without error).  

05/15/92  8CC-043M  CC01043M/KS020511
================================

CODE ENHANCEMENTS (NO CARS ADDRESSED):

- Added code to prevent disabling Deformatter before enabling it
for early EOS or RBCs.

- Fix bug in Load Trace.


05/14/92 85C-043K  KC01043K/KS020530 
         8CC-043L  CC01043L/KS020511
=====================================

CARS ADDRESSED:

C-164: FSC 8C on a Read in 8200C mode.  

- Read media problem executed an illegal thread in the code.
Illegal thread was fixed.


CODE ENHANCEMENTS (NO CARS ADDRESSED):

- Added flag to detemine if anything has been written when
switching back to read mode. - Development for setmarks.

- Added code to separate hardware failure write ABORT form Host
sending Abort message to  Abort Write operation.

- Added code to fix problem with Locate when at 3rd block and less
than two byte are left of the 3rd record.


CUSTOMER UNQIUE ENHANCEMENTS:

- Changed mode sense to allow an EEPROM option to only return pages
1, 2, F, 10, 20, 21, 22  when ask for all pages. All other
operations of mode sense and mode select are SCSI-2         
standard. It is now possible to access pages A and 11 directly.
This is to conform with the customer unqiue Engineering
Specification.  


05/12/92  8CC-043J CC01043J/KS020511
===================================

CODE ENHANCEMENTS (NO CARS ADDRESSED):

- Added flags for writing LBOP.

- Change processing so as to not reset the enable transfer bit if
it is already set.  This situation can occur if busif processing
finishes before iport gets started.  


05/11/92  8CC-043H  CC01043H/KS020511
====================================


CARS ADDRESSED:

C-167: Write hang - Aborted Write command returns wrong FSC on
subsequent request sense, and no status is returned on the
subsequent load command.

- Fixed abort so that we turn off flag which indicates DMA
transfer. Before, we entered data phase after abort of write
(sometimes). 

C-169: FSC 8C on Erase command.

- Fixed bug introduced inadvertantly in code optimization. 

C-170: FSC 8C running motion in 8500 mode Space filemark command.

- Changed location of sync variables such that thhey are not
cleared at search field initiation, but only at LBOT

C-2006: Missing reporting of the Save Data Pointers bit in Page 20.

- Added RSDP to mode sense of page 20h per customer unique request.
The mode select was there but not the mode sense.  


CODE ENHANCEMENTS (NO CARS ADDRESSED):

- Changed code so that we can abort out of a transfer from the
drive properly. 

- Added PID search for all versions of code

- Modified searches for changing partitions and LBOP search during
formatting, and PID search, and a little bit more. 

- Fix defect in Write Setmark algorithm. Increment Set Number from
SETMARK before storing into CURSN for Search Fields. 


05/08/92  8CC-043G CC01043G/KS020511
====================================

CARS ADDRESSED:

C-165: No status returned on Write command. Data transfer had
completed while trying to stop the transfer in 8200C mode,
but no status was returned to Host.

- Corrected code to send status when the transfer is complete.

C-166: FSC 8C on a Write command.

- Modified code so that 8200C stop transfer occurs before Write can
occur.

C-1095: After SCSI bus reset, TUR issued and expect a check
condition with a Unit Attention. Another TUR is issued and
expects a good status but a check condition is returned.    

- Get saved copy of tape handling flag. This byte is checked and
updated every time the primary status is changed. The byte is
preserved through reset.

CODE ENHANCEMENTS (NO CARS ADDRESSED):

- Modified code to report Write protect only when a cartridge is in
the drive (or soft write protect for a customer feature).
Before, the drive would return write protect after eject.

- Fixed reporting of RTF/WTF so it matches density returned in mode
sense when the density is the read tape format. Before, would
not match under some circumstances, such as fix 3.

- Fixed reporting of density of tape when tape is of unknown format
or blank. Before, we could get 15h density on 8200c.  Now, we
report the write density whenever there is no tape or blank tape
or unknown format tape.

- Copy default compression mode when eject tape. Before, we only
copied the basic density type. Now, all modes are retained.  

- After servo finishes its selftest, check if the drive is a
8200c. If so, don't turn off the amber LED if the drive
needs cleaned. 

- Fixed ILI problem detected during SCTape testing.

- Fixed Abort processing while in Write suspend mode.

- Development for partitions.


05/07/92  CC01043F/KS020511
============================================

CARS ADDRESSED:

C-1087: A rewind after an aborted Write posts a check condition -
FSC 9B. Status is not cleared after Abort.

- Added code to set the Logical ID, Block ID and Available Blocks
to the status prior to the aborted record.


CODE ENHANCEMENTS (NO CARS ADDRESSED):

- Development for setmarks and partitions.

- Fixed a bug in the partition measurement command. Expect a
primary status change of 0x42 instead of 0xC2.  

- Fixed true density so we default correctly on 8200c.

- Changed request sense so machine sense never returned if the FSC
is in the range of 0C0h..0F9h (ie, SCSI cmd errors).This is for
multi-host.

- Fixed Abort processing during Write to allow interrupts to
continue when Abort command is received. 

- Fixed problem with decrementing counter to FFFFH during ILI when
the record on tape is longer than the requested record.


CUSTOMER UNIQUE ENHANCEMENT:

- Changed special byte of inquiry to give value 0D0h with the
differential card.


05/06/92  CC01043E/KS020511
============================================

CARS ADDRESSED:

K-1550: Drive failure during component qualification test.

- Fixed problem in reporting Power On Self Test failure. We only
have 2 possible failures. They are ram and servo. We will return
FSC A4 for ram and FSC AD for servo. Before, we did not report
correctly.  

C-0067: Append - Failed on a command Read FSC BC

- Fix for positioning after read abort.  

C-0161: Servo error encountered on Read command results in a hang.
The error condition is not  reported to the Host. 

- Fix causes buffer positioning code to resync pointers which can
be left in an improper state by the abort.  

CODE ENHANCEMENTS (NO CARS ADDRESSED):

- Development for setmarks and partitions. 

- Set flags if an erase is issued from LBOT. This prevents trying
to read a tape that has just been erased.

- Compression drives require the character - or \ in the
codeload header. Previously (ie,last 2 months), no particular
character was required for these drives. As a result, only very   
ancient code will not be able to take the new codeload tapes and
this change is temporary until this version of code has propagated
and allows us to check for \. In summary, this is in preparation
for making sure 8500 tapes go to 8500 only.

- Modified handling of codeload fail information storage.

- Changed code to make 8200c dump servo from 2000h. This also
changes the length of the tape file for these devices. It is now
length 34628h.
==> WARNING <==.  8200C REQUIRE MANUAL LOADING OF THIS            
    CODE VIA SCSI OR MONITOR BEFORE THE CODELOAD CAN WORK.

- Fix to reposition after read abort (compression drives only).  

- Fixes for 8200C stop transfer while positioning.  

- Fix to abort code. No longer send a message to terminate the
transfer if disconnected because of buffer full.  

- Made a RSmk default to 1 for an EEPROM with 0 in the position.
This is done so that the default enables reporting of setmarks.

- Added code to report overflow of log counter when RLEC bit set.

- Fixed bug with log parameter overflow marking. 

- Clear update bit on log counters when RLEC goes from 0 to 1 on
mode sel.

- Added code to write abort processing to handle abort command
while in suspended (buffer full) mode.  

05/01/92 CC01043C/KS020511 
         KC01043D/KS020520 =====================================

CARS ADDRESSED:

K-2055: Drive reports NOT READY with tape loaded and green LED on.

- Force broken state on servo timeout so when servo dies on
power-up, we know about it and tell the host.  


CODE ENHANCEMENTS (NO CARS ADDRESSED):

- Added flag in external memory for logical write 8200c processing
of buffer full. 

- Added flags to resolve BEN conflict. The flags are used during
buffer full processing and when the STOP TRANSFER and RESUME
TRANSFER messages are received from the logical write manager.

- Development for Mid Tape Wakeup.

- Removed test code for missed ATM problem. 

- Fixes for 8200C stop transfer while positioning, and restart of
transfer after suspension for buffer full. 

- Fix to partitioned LBOT.

- Corrected overwrite of Accumulator during erased gap processing. 

- Corrected setmark search command to retrieve desired setmark.

- Corrected SPACE verification of search field partition which was
overwritting on chip memory.
 
- Added LBOT processing for partitions.

- Added verification searchs don't change partition.

- Modifications to facilitate assembling of code. 

- If we get a "needs cleaning" interrupt from servo and it's a
standard 8200C drive, flash the amber LED.  

- Modification for 8200c mode to detect if buffer is full (need to
suspend write) while writing the last block of a write command.


04/23/92  85C-043B  KC01043B/KS020490
==================================

CARS ADDRESSED:

C-156: Motion test - 8200 mode - read command hangs following space
command due to infinite loop.   

- Changed code to insure that all types of filemarks are detectable
at all times and that filemark detected status is properly
returned to the manager.   


CODE ENHANCEMENTS (NO CARS ADDRESSED):

- Added a new flag for Fatal Error Codes.

- Added bit definition for set number. 

- Deleted some unused mail messages.

- Added Set_Id offset definition in BRT.

- Changed Mid Tape Wakeup fault symptom code definitions. 

- Numerous fixes for 8200C BEN stop transfer problems. 

- Allow length of 32768H for read/write buffer.  

- Fixed page A of mode sense to return length of 6 (was 8).  

- Enhanced log sense/select implementation. All counters returned
by log sense will return 0 until the updates for the counters
are changed. 

- Added special request sense to return number of physical bytes
read. This is cleared on reset, by log select, and by clear
counters bit of request sense.

- Added page A to mode select/sense of compression drives. This is
used to enable the log sense comparisons. This will affect
anyone who uses page 3F (all pages) for mode sense. 

- Fixed problem in Write Setmark algorithm.

- Enhanced LBOT processing for tracking errors.

- Fixed a problem so now if prevent media removal is set and an
UNLOAD command is issued, or a Servo Error occurs which would
normally cause reject, the tape will not eject.  

- Added code to force selection of compression densities via page
F, not by the block descriptor (current method).  


CUSTOMER UNIQUE ENHANCEMENTS:

- Customer unique amber LED handling for a servo hardware error.  


04/17/92  KC010439/KS020471 ==================================
          CC01043A/KS020472

CARS ADDRESSED:

K-1535: Drive failed on a command Space. 

- Modified processing of window of reverse ATM search and timing
out on hitting it during a block space operation. 

K-2018: When a command is not queued, the drive will return status
back on checks.

- Changed the resulting FSC, ASC, ASCQ set to report not ready but
becomming ready if the drive will be ready. This is done when a
command is not queued either because there is already a queued
cmd, action cmd, or queueing is not allowed and should report not
ready.  

K-2024: The load command doesn't clear a check condition, but
unload, rewind, etc. will.

- Clear flag for media error when doing a load command, assuming
there are no errors in the CDB. This will clear errors such as
9E and allow the drive to run again. 

C-153: SCSI bus hang running Write/Read test with new Ben.

- Corrected check of number of blocks in buffer. The check is made
in the 8500 read interrupt handler (pack-loaded).  

C-1075: 8500 doesn't report a unit attention on load in the same
fashion as an 8200.

- Modified routine to check for tape available. Now, we return a
status on whether or not the SCSI command given requires a tape
for operation.  

C-1076: Synchronous Negotiation problem.

- Changed the code to allow message reject msg (07h) after target
initiated synchronous negotiations. If this occurs, we
will go back to asynchronous mode.  


CODE ENHANCEMENTS (NO CARS ADDRESSED):

- Added messages to IPORT to stop and resume transfer of data. Also
added status response to stop transfer message. 

- Added Mid Tape Wakeup support.

- Added temporary trace table for 8200 missed ATM problem. 

- Added code for the 8200C position to write tracking problem. 

- Added flag to indicate that a stop transfer message was received
and drive is waiting to abort data flow.

- Added support for log select.  

- Add handling for Stop/Restart transfer message flow for Single
Azimuth Position for Write Tracking. 

- Added clean up after LSI tests that corrupted the interrupt
control registers.    

- Added jump table entry for monitor so it can make a tape with
only EEPROM which is  generated by the monitor.  

- Modified the criteria for clearing the flag for Space/Locate
operations on tapes containing setmarks. 

- Changed flags to defer sending STATUS and setting Formatter to
8200 mode (for SA Track-ing). Instead, send Trigger to cause
transfer to stop. 

- Changed physical write command parser to wait to change Formatter
to 8200 mode.  

- Added changes to fix SCSI hang and prevent conflict between IPORT
and DPORT for access to IPORT registers. 

- Development for setmarks. 

CUSTOMER UNIQUE ENHANCEMENTS:

- Fixed problem with asserting ATN during information transfer to
host in synchronous mode. This caused the problem with a customer
unique mode sense. Now, raising ATN will not cause the drive to
hang.


04/13/92  8CC-0438  CC010438/KS020422 ============================

CODE ENHANCEMENTS (NO CARS ADDRESSED):

- Added definitions for the future implementation of log
sense/select with full implementation of the commands. 

- Added support for the sense buffer command (also for single
azimuth).

- Mid tape wakeup development.

- Setmark and partition development.

- Fixed overflow condition in a byte counter.


CUSTOMER CODE ENHANCEMENTS:

- Changed code so that when a customer unique bit is set in the
customer unique mode select, density code 90H is illegal in mode
select and DCC is ignored if the current write mode is 14h or 15h
(ie, non-compressed).  

- Changed code so that if customer unique mode select is choosen
and the eeprom flag ALLOW_RAW is off, the DDE bit is ignored and
always returns 1.  


04/09/92  85C-0437  KC010437/KS020430
=====================================

CODE ENHANCEMENTS (NO CARS ADDRESSED):

- Added a variable for Mid Tape Wakeup to the image area of the
EEPROM to allow accurate reporting when the EEPROMs lifetime has
been used up. 

- Added Partition development.  

- Corrected FSC 8C caused by an incorrect indexing during ECC count
correction processing. 

- Mid Tape Wakeup development.


04/08/92  85C-0435  KC010435/KS020410
                    CC010436/KS020422
====================================          
CODE ENHANCEMENTS (NO CARS ASSOCIATED):

- Development for Setmarks.

- Added code to detect and move us over valid erase gaps and retry
on head clogs.   

- Changed holemode mailing so it will not send the trigger after
the status.

- Fixed bug in writing Set Number to Buffer. Caused 8C on WFM.

- Fixed bug in parsing block types when filling the WOQ. Any
compression write got 8C.

- Added code to fix a problem with missing data packets (BRTS)
during a Read operation. This resulted in CRC failures for the
Compression units. And ILI, Read hangs for 8500 and 8200.


04/07/92    85C-0434   KC010434/KS020410
================================          
CARS ADDRESSED:

K-1526: Failed on command Space (blk space).

- While trying to track, declare a servo software error if we don't
get motion, tracking, cartridge in or motion, tracking, eot,
cartridge in. Error is not corrected, it is only reported sooner. 

K-1528: Failed on command Write. 

- With as FSC 8C, the timer is in use by MOTION when DPORTW
attempts to time LOAD Interrupts. This problem is caused by a
deficiency in the Bad Splice handling of servo off track errors.


C-13: Mode Select data compression enable (DDE) bit off a variable
read resulted in a hung bus.

- Changed Test Unit Ready to report FSC C9 instead of FSC C4 when
ejecting due to a button press.  


CODE ENHANCEMENTS (NO CARS ASSOCIATED):

- Changed flag so that setmarks are always part of compression
code.

- Fixed assembly errors.

- Modified code so that if we are doing an UNLOAD with single
azimuth and if the No Auto Load bit is set, we check the LOADED
bit by doing a show status byte 03. 


04/06/92 85C-0433 KC010433/KS020400
========================================

CARS ADDRESSED:

C-139: FSC 99 on a Write test 8516. Writing in 8200 mode size=2561
1BLK/CDB 1000 CDBS.              
- Fixed for no disconnect mode in 8200 mode on compression drives
which caused the drive to think the buffer was full when it was
not. When the drive attempted to flush the empty buffer it caused
a FSC 99 error.  


CODE ENHANCEMENTS: 

- Added more development for Setmarks and Partitions.

- Added retryable error codes.

- Added new bit flag indicating motion busy while performing a
backhitch.

- Added variable for storing failure point of mode select (the byte
number) so we can return that instead of the FSC when an error
occurs.

- Added logic to stop additional motion commands from being issued
when read recovery recovers blocks close to EOD. This was causing
an FSC 0x8C.

- Fixed code so that if EEPROM has prevent on, any allow by a host
will clear it.

- Fixed problem with FSC EA. The ASC was not returned (was 0). Now,
it returns the correct ASC. This occurs when using compression
mode while in wrong density.

- Added a 10 sec. extension for single azimuth. It takes Single
Azimuth longer to Post.

- Added more Mid Tape Wakup development.

- For Single azimuth drives, we increased the timeout to 45 seconds
on an UNLOAD due to an error. 


03/31/92    8CC-0432   CC010432/KS020342
=============================== 

C-120: FSC 95 is reported incorrectly after a new tape is loaded.

- Clear the soft broken flag (ie, media error flag) when a tape is
loaded. This will make sure that deferred errors such as 95h are
cleared on a new tape. The 95h error will report until the new   
media is present. This is done to preserve the error but to make
sure it is cleared at the new load time.  



CODE ENHANCEMENTS (NO CARS ADDRESSED):

- Add restriction to IPORT interrupts for read mode. The
restriction was removed due to the SCSI hang problem with
BENC-1.

- Changed code to check for overflow of M_PARAMETER. Now it remains
as 0xFF.  

- Added code to fix problem with Single Azimuth Mode when it
switches to 8200 mode. This switch could result in zero filling
some Physical Blocks, and not returning an FSC-99.

CUSTOMER UNIQUE ENHANCEMENTS:

C-1067: Drive returns check condition (Not_Ready) status instead of
good status during a load operation when polled with test unit
ready.  

- Problem was detected in a customer unique version for Test Unit
Ready.  

- Changed inquiry to put 'A' or 'R' as last byte of revision level.
The rest of the revision is shifted over 1 character.

03/31/92    85C-0431   KC010431/KS020370
==================================    
CARS ADDRESSED:

K-1502: Issued mode select to set No Disconnect bit.

- Added code to check for range of thresholds. 


CODE ENHANCEMENTS (NO CARS ASSOCIATED):

- Development for setmarks and partitions. 

- Fixed bug in bad splice prevention.


03/27/92    85C-0430   KC010430/KS020360
===================================  
CODE ENHANCEMENTS (NO CARS ASSOCIATED):

- Fixed a problem with tracking retry.

- Mid tape wakeup development.


03/26/92   85C-042Z   KC01042Z/KS020340
====================================

CODE ENHANCEMENTS (NO CARS ASSOCIATED):

- Added setmark definition.

- Remove test code for read recover.

- Mid Tape Wakeup development.

- Removed timer being set when a permanent error is declared,
causing motion to "hang" due to the timer in use.

- Add track with averaging as first read recovery.


03/25/92   85C-042Y  KC01042Y/KS030320
=====================================

CARS ADDRESSED:

K-2618: Wrote large logical blocks 240K & residual count is still
too large based on 8500 buffer size.

- Modified residual value to reflect number of logical blocks
rather than physical blocks on a fatal write error.

C-1054: Write hang, disconnect no reconnect. 

- Added compression code to get BEN information when disconnecting.
This is used to trap errors where write freezes.  

K-2682: Write hang, write hang reselection.

- Added code to ACK interrupt from SCSI chip when write mode and
BEN is really accessible and not zero filling.  

K-2602, K-2628, K-2656, K-2698: FSC 15

- Modified block timeout value such that it no longer varies in
value depending upon tracking and ampsense. The previous
algorithm was suspected of positioning the tape to far into the   
ATM on short FMs.


CODE ENHANCEMENTS (NO CARS ASSOCIATED):

- Development for Setmarks and Partitions.

- Modifications for new message traffic supporting of Go Slow Servo
for reporting  timeout conditions.

- Modification to deal with the Zero Buffer flag's move to external
memory for setmark and partition implementation. 

- Mid tape wakeup development.

- Fix for bad splices. 

- Added counter for write retries. 

- Changed position for Write failure backhitch from 50h to 12h
stripes.  

- Made a minor improvement to scheduling to save a cycle or 2. 

- Added support for the new read recovery mechanism.

- Changed command to handle an 8500 drive in 8200 mode so that it
behaves the same as 8500 mode now.

- Modification to handle a new primary status change of 0xFF with
extended 40h - this tells us that the tape got stuck while going in
slow mode.

- Added new commands for SETMARK handling to command jump table.All
are invalid at this point. 

- Added new macro code at the bottom of the source code that
computes the size of IPORT. The new code indicates whether the
size is greater than the allotment (and by how much) or within   
the allotment. 


03/24/92  8CC-042X  CC01042X/KS020311
=====================================

- Fix for FSC(95) problems when trying to Append to EOD.

- Fix to abort handling of read for compression drives.  

- Added code to fix reporting of incorrect residual after a
filemark or EOD on very special cases.

- After an ILI, the read fix of several blocks did not work. The
number of records sent to the Host were one less than the number
requested.


03/23/92  85C-042W  KC01042W/KS020320 
==================================

CARS ADDRESSED:
 
K-1512: Mail decode problem. 

- There was a timing window in backspace block space code in 8200
mode where a timed backspace block movement completed at the same
time an ATM was detected. 


CODE ENHANCEMENTS (NO CARS ADDRESSED):

- Fixed FSC(95) problems when trying to Append to EOD. 

- Fixed Abort handling of read for compression drives.  

- Added code to fix reporting of incorrect residue after a filemark
or EOD on very special cases.

- Add code to correct handling of ILI after a read. The number of
blocks sent to the host were less than the number requested.


03/18/92  85C-042U  KC01042U/KS020272 
          8CC-042V  CC01042V/KS020261
==================================

CARS ADDRESSED:

K-2692: Hang on Write (8200 mode)

- Corrected a Mail message decode bug in the switch Read to Write
Manager.

CODE ENHANCEMENTS (NO CARS ASSOCIATED):

- Fix to prevent a bit from causing a bad LBOT to be written when
a non-compression drive overwrites a compression tape.

- Fix for compression to test if we are really on the EOT side of
a filemark when splicing. 

- Added code to fix Read hangs. 

- Added code to support physical block checksum for more data
integrity check. 

- Removed some looping to speed up Write functionality.

- Added code to fix ILI problem with new BENC-2 which caused a CRC
error when the record on tape was longer than the one requested
by the Host.


03/18/92  8CC-042S  CC01042S/KS020261
=======================================
          85C-042T  KC01042T/KS020271

CODE ENHANCEMENTS:

- Removed all of special code for 8200 mode for old BENC-2 and add
code to support new BENC-3. 

- Add code to fix a problem with special block handling.

- Add code to fix the hang problem due to sending 0 status. The
8200 mode of operation from this version on will not support
8200 mode for old BENC-2. It will support all modes for new BENC-3.


03/16/92  85C-042R  KC01042R/KS020261
=====================================

CARS ADDRESSED:

K-2684, K-2685 & K-1509: Drive failed on FSC 8C on a write
filemark. 

- 8C caused by failure to store error code correctly when bad block
type was detected in RBC.


CODE ENHANCEMENTS (NO CARS ADDRESSED):

- Added a command for instructing the space module to perform a
space operation for mid tape wakeup.

- Modified code to prevent reading invalid headsync and codeload
tapes.   

- Added code to set the Servo configuration upon completion of a
LOAD or REWIND.

- Modified backhitch handling - single azimuth Servo will do the
long backhitch to perform write adaption.

- Modified handling when doing a Read 1 LBOT.

- Fixed yet another abort bug. Link was corrupted causing a hang
when the abort done was sent. 

- Correct read LBOT logic pertaining to NON8500 bit used by single
azimuth found in LBOT header.

- Mid tape wakeup sleep/wakeup command development.

- Set the tracking offset to 0xFFFFC3 for single azimuth in
8200/8200C modes.


03/14/92  85C-042Q  KC01042Q/KS020271
=====================================

Servo Change - Corrected a counter to track reel motion failure.


03/12/92  8CC-042P  CC01042P/KS020261
======================================

CODE ENHANCEMENTS (NO CARS ADDRESSED):

- Mid tape wakeup development.


03/12/92  85C-042N  KC01042N/KS020270
=====================================

CARS ADDRESSED:

C-1036: SCSI-2 compliance issue.

- Changed code to allow variable read/write to occur if the logical
block size is >0. This overrides the fixed size and causes a
variable operation.

C-1041: Hang on Read.

- Added code to fix a problem with sending multiple statuses in
8200 mode.

CODE ENHANCEMENTS (NO CARS ASSOCIATED):

- Development for setmarks and partitions.  


03/11/92  8CC-042M  CC01042M/KS020270
====================================

CODE ENHANCEMENTS (NO CARS ASSOCIATED):

- Mid tape wakeup development.

- Fixed an Abort problem.  


03/11/92  8CC-042L  CC01042L/KS020261
=====================================

CARS ADDRESSED:

K-2640: Request Sense bytes 26 and 27 are not cleared when the
drive has a mode switch from a Read to a Write and vice versa.

- Added code to clear the tracking retry counter, read retry
counter, and write retry counter on a switch from read to write
or from write to read.  

K-2660 : FSC 8C on a backspace filemark

- Change FSC 0x8C reported on reading BAD EOD to FSC 0x16.

K- 2674:FSC 8C on a back space block

- Clear "don't corrupt BR" bit when command aborted.

K-2675, 2679: Software hang on a Read

- Clear byte containing bit flags on an abort.

C-112, 114: FSC 8C on a Space

- Set "ALIGNED" flag when read enters a holemode retry to prevent
fast alignment during hole-mode which corrupts the BRT. 

C-1024: Write hang in variable 8200 mode

- Prevented the transfer done from sending status. Now the manager
will wait to send status. 

CODE ENHANCEMENTS (NO CARS ASSOCIATED):

- Fixed a problem with splicing for compression. 

- Development for setmarks and partitions.

- Fixed problem where mode sense length 4 gave error.

- Took out temporary code which defaulted EBD to off in compression
drives. 

- Took out error checking for page number for mode sense. 

- Changed mode sense to use different way of determining which
pages to send.  

- Added new page code (x11) for compression drives.  


03/06/92  85C-042J  KC01042J/KS020270
======================================

CODE ENHANCEMENTS (NO CARS ADDRESSED):

- Added flags for 8200 LBOT single azimuth processing.

- Increased timeout for tape load from 90 seconds to 3 minutes.

- Added code to sense and eject media (Hi-8 and ME).


03/05/92  85C-042G KC01042G/KS020270
====================================

CODE ENHANCEMENTS (NO CARS ASSOCIATED):

- Development for setmarks and partitions.

- Added flag for parity error ignore when dumping bytes in info
command data out phase (ie, when ignoring bytes of a mode
select).  

- Added support for 8200 mode space to eod. 

- Optimized pointer used in mode select data trace. Also, added end
marker (EE) after last byte transferred.  

- Fixed bug where parity error on byte after bad byte in mode
select data would cause problems.  
- Modified request sense calculation of read/write retry counter
for read. 

- Clear the parity error flag and parity ignore flags when start
new info command. Fix for parity error problem when the drive
gets a parity error on byte in mode select after an incorrect byte.


- Added new error code to the error tables.  


03/04/92  8CC-042F  CC01042F/KS020270
=====================================

CARS ADDRESSED:

K-2624: Drum motion failure

- Added a timeout of 11.5 seconds for the blank sense command.  

K-2638: Inquiry commands with non 0 LUNs in identify message
respond incorrectly

- Added flag into the control byte of the CDB to indicate that
there was a LUN error. This is used to tell inquiry to return
the correct byte value in byte 0. This fixes reporting of device
type on illegal LUN for the inquiry command.  

K-2664: Hang on Write 

- Fix where disconnect was sent before terminate data transfer had
completed. This occurs during LEOT handling after the release of
all data in buffer to physical write. Now the disconnect is   
delayed until the terminate data transfer is received. 

K-2585: FSC 36 on Space Block

- 0B Error on Read due to failure to overwrite old data. Add test
for nonmatching non-gap block types for all corrected RBC'd
blocks having matching PIDs. Matching means WOQ value = Header
value. Permanent Write Error (FSC 9B - F_LD_TER) will result from
mismatch. 

C-0111: SCSI Bus Hang

- Add code to reset all Write flags after switching to Write mode.

C-0113: FSC 8C 
        
- Add code to stop transfer after the 1st CRC error during Read. 


CODE ENHANCEMENTS (NO CARS ASSOCIATED):

- Deleted Fatal Error Codes.

- Added Fatal Error Code for Overwrite Error (1B). 

- Added a family of branch macros which can jump arbitrary
distances. These macros allow the specification of logic at a
higher level of abstraction, which improves readability. 

- Took out conditional assembly flags around code which clears
various read compression flags before LBOT read. This insures
the flags are cleared if an 8C tape was in an 8500 drive and   
then a 15 tape is inserted. 

- Added support for 8200 mode space to eod.

- Added a comment prefix system to show which flags are in effect
at that point in the file. This makes it a lot easier to tell
which code is in which bank or on which hardware. 

- Uncommented "removal" of setmark in search field validation in
preparation of set marks.

- Modified calculation and handling of read retry count return via
SCSI.

- LOG SENSE correct byte count in compressed mode.

- Removed verifiction of non-8500 bit in LBOT. Tape format
acceptablility and hardware set up were moved. 

- Installed trap to catch the WRITE ENABLE not set.

- Allow a change in primary status from 0x42 to 0x02 and 0x46 to
0x02. This is when we are searching to EOD and then we stop.  

- Added code to set the 25th bit BLK_ID to 0 when reseting BENC
IPORT.

02/28/92  8CC-042D CC01042D/KS020155
======================================

CARS ADDRESSED:

K-2662: Request Sense does not update sense byte 19 bits 0 & 1 as
stated in the User's Manual.  
- Modified code so that the TNP and LBOT in USB0 (byte 18 of
request sense) are always current (reflecting active state).


K-2664: Hang on Write

- Defined special Save Data Pointer modes with CF_BITS13 bits 2 and
3. Added feature to force save pointers on any data transfer or
to force save pointers when they terminate a transfer due    to
LEOT.

C-0028: SCSI bus hang on 8200 density Write

- Removed fix for C-0028. The correction to the write density
problem amplified the Write enable 4K boundary SCSI problem
(corrected in the next turn of BENC). 

C-0042: Unexpected timeout doing a fixed Verify command

- If an occurs ILI during a Read or/Verify with small logical
blocks and a buffer empty condition, the IPORT transfer
was disabled. For BENC to calculate the correct residual and    
complete the current record action, the transfer must be enabled.

C-1028: Unexpected status on Read operation

- Fix problem with incorrect LID in filemark block type after the
Write command was stopped due to the detection of LEOT.

CODE ENHANCEMENTS (NO CARS ASSOCIATED):

- Added new commands for spacing to EOD.

- Added variables for storing state of mode select. These are
needed for partitions since mode select must work differently to
support them.

- Added compression flags around PUBLIC/EXTERN for motion's POST
ALERT.

- Added code to ignore the Mode Select density and just do it in
8200C format if making a headsync or codeload tape in a 8200C.

- Added a path for mid tape wakeup when doing an autoload which
stops this manager before actually reloading the tape (since MTW
left the tape already loaded).


CUSTOMER UNIQUE ENHANCEMENTS:

- Only allow switching the compression LED from green to amber or
vice versa, if not customer unique.

- Added abort handling for low speed search.

- Added code to handle the drive needs cleaning interrupt from
servo on power up.  


02/25/92  8CC-042B  CC01042B/KS020155
====================================

CAR ADDRESSED:

C-1013, 1023: Hang on Write

- In certain cases, BENC is not idle but the BYTE-COUNT-0 interrupt
has occured. Add code to handle this case.

C-1019: Incorrect residual on read.

- Modified code which generates partial EEIMAGE to give 1Eh bytes
instead of 16h bytes. This copies all EEIMAGE data in the mode
select part up to but not including CF_BITS0. Before, copied
bytes 1C to 31h. NOTE: This Affects both compression and
non-compression drives (the non-compression drives get more mode
selectable data copied over than before).

C-1027: Read hang.

- Added code for problem with read pause in 8200 mode. This problem
resulted due to out of sequence loaded and pack loaded interrupts
occuring before transfer was active in the main read task.

- Also added code for a problem with not completing a write
command. 


CODE ENHANCEMENTS (NO CARS ADDRESSED):

- Repaired some FATAL ERROR HANDLER logic that caused a servo fatal
error to be reported    with the incorrect FSC (0xc0). This could
have caused reaching LEOT to be reported as a software hang. 

- Additional fixes for Test Unit Ready. When Queuing is set for
Busy mode, we return busy if the drive is working on a command
or ready and it is not idle. We cannot get Not Ready from Test
Unit Ready when Queuing is in Busy mode unless the drive is idle
and the tape is not loaded.

- Increase the backhitch distance by 5 tracks if a Compression deck
until the Servo tracking  Acquisition is improved (tracking timeout
also increased by 5 tracks).



