Re: 1541 ROMs question

From: William Levak (wlevak_at_cyberspace.org)
Date: 2001-12-19 05:37:22

On Tue, 18 Dec 2001, Daniele Gratteri wrote:

> ----- Original Message -----
> From: "William Levak" <wlevak@cyberspace.org>
> To: <cbm-hackers@cling.gu.se>
> Sent: Tuesday, December 18, 2001 7:42 AM
> Subject: Re: 1541 ROMs question
> 
> 
> > The 1541-II ROMs do not have the "save with replace" bug that all previous
> > ROMs had.  The 1541 is much more reliable with the 1541-II ROMs.
> 
> Can you tell me something about this bug? I don't know very well the 1541...

This is a bug that was present in the CBM drive operating system from the
first version in the 2040 drive.  For years, users complained that the
drives occasionally garbled the contents of a floppy disk.  Finally, a
series of articles in "Compute" and the "Transactor" demonstrated the
existence of this bug and determined it's cause.  

When an error occured in the drive, the operating system would mark the
contents of the buffer as bad, and allocate another buffer to use.  If you
had a number of errors in a row, you could use up all the buffers.  At
this point, the operating system would use the BAM buffer for data,
swapping the BAM into memory as needed.  It was this swapping routine that
was defective,  resulting in incorrect information being used for the BAM,
thus garbling the disk.

The fix changed the swaping routine and also changed the way the system
handled "bad" buffers.  Instead of just marking the buffer "bad", it
recovers the buffer for future use.

It was called the "save with replace" bug because it occured most often
when using the drive's "save with replace" command.  This is because it
uses more buffers.  The bug is not restricted to the "save with replace"
command, but can occur any time all the buffers are used.  This became an
even greater problem with the 1540/1541 drives because they have fewer
buffers than the older IEEE drives.



       Message was sent through the cbm-hackers mailing list

Archive generated by hypermail 2.1.1.