[comp.sys.cbm] 1571 ROM update

fred@cbmvax.cbm.UUCP (Fred Bowen) (12/13/86)

                          1571 DOS ROM RELEASE NOTES
        Commodore Electronics, LTD.                     5 December 1986

     1571 ROM RELEASE NOTES: 310654-04   (32K byte, 300ns, checksum=$D8C6)

  THE FOLLOWING MODIFICATIONS HAVE BEEN MADE TO THE  310654-03  ROM  CODE  TO
  CREATE A NEW ROM  RELEASED  ON  12/05/86.  THIS  RELEASE IS MADE TO  CREATE
  MASKED ROMS FOR PRODUCTION OF THE 1571 (NON-CR) MODEL DISK DRIVE ONLY. 

       1.  The Set_Overflow flag was not disabled when exiting the 1571
           controller.  This is the cause of many seemingly random  and
           difficult-to-reproduce problems.  This particularly explains
           most of the Relative file problems.

       2.  TSTATN  caused  'DEVICE NOT PRESENT'  errors because the IRQ
           source was  never  cleared.  This  has been fixed.

       3.  The BAM swap bug.  When all the buffers are allocated by the
           application,  the  DOS frees up the BAM buffer by marking it
           out of memory.  When it was  reread it would also reread the
           BAM for side one. If the side-1 BAM was 'dirty', it would be
           corrupted.  The fix uses a new RAM location, $1B6 for a swap
           flag,  and rebuilds  the  side-1  BAM  upon  a reread.  This
           usually occurs with multiple  files  open  and sectors being
           allocated on both sides of the disk.

       4.  Previously BAM allocation on side one would  cause  the  BAM
           image to be written every access. This has been fixed.

       5.  SAVE-@ (SAVE with replace) is fixed.  The variable  NODRV is
           now a 16-bit addressable var,  and the STLBUF routine steals
           the buffer locked by drive one.  Original 1541 bug.

       6.  Previously an  active  collect  in 1541 emulation mode would
           write a zero to the double sided flag in the  BAM.  This has
           been fixed.

       7.  Applications which addressed tracks beyond 35  (on any side)
           previously  used  incorrect  bit  cell densities because the
           table TRKNUM only listed up to track 35.  The tables  TRACKN
           and WORKTABLE  replace TRKNUM and WORKTBL, respectively, and
           extend the tables to track 40.  Same situation on 1541's.

       8.  A 1541 ROM revision changed the variable TIM from $3A to $20
           which resulted in problems for some applications. It is once
           again $3A, like the original (-05) 1541 ROM.

       9.  USEDTS returned a  'BLOCK  NOT  AVAILABLE'  status  when the
           number of blocks free was equal to 3.  This has been fixed.

      10.  Previously during a  BURST  GCR  FORMAT the activity led was
           not activated.  This has been fixed.

      11.  The 1571 BURST LOAD  routine  would not load 'Locked Files'.
           This has been fixed.

      12.  Previously while loading files using the BURST LOAD routine,
           retries were not performed.  This has been fixed.

      13.  Motor acceleration time for the MFM controller was too long,
           which affected performance when reading  and  writing in MFM
           format.  This has been fixed.

      14.  Previously determining  whether  a diskette was double-sided
           or single-sided  GCR  would  take too long due to valid sync
           pulses found on 'flippy diskettes'  and MFM diskettes.  This
           has been fixed.

      15.  SPINP interrupts  from  SP  (fast  serial  input)  were  not
           enabled properly.  This has been fixed, but has no affect on
           the operation of the serial bus.

      16.  Previously if a copy was performed addressing drive one, the
           error channel would return status  '00,OK,00,00'.   This has
           been fixed.

      17.  Previously the ROM test did not check the  first page in ROM
           memory.  This has been fixed.

      18.  The ROM checksum at $8000 and $8001 is now $23, $C0.

      19.  The ROM signature at $C000 is now $D3.
-- 
Fred Bowen			uucp:	{ihnp4|seismo|caip}!cbmvax!fred
				arpa:	cbmvax!fred@seismo.css.GOV
				tele:	215 431-9100

Commodore Electronics, Ltd.,  1200 Wilson Drive,  West Chester,  PA,  19380