Re: Another DOS oddity...

From: Rhialto <rhialto_at_falu.nl>
Date: Sun, 26 May 2013 19:12:31 +0200
Message-ID: <20130526171231.GA1319@falu.nl>
On Sun 26 May 2013 at 10:02:54 +1000, Julian Perry wrote:
> AS I had recalled, "Inside Commodore DOS" by Immers & Neufield
> confirms the bug. (I remember seeing it myself)
> Apparently there are 2 bugs.
> One: the "referred blocks" occasionally will give you track 18 (!)
> Two: if a B-A is given to an already existing block, the error channel
> will return the next free block, but allocate all blocks on the
> requested track! (which is what you're seeing)

That probably happens because the cached part of the BAM for that track
is not written back.

Normally, when a track's BAM is manipulated, it is copied from the disk
sector to a special cache location. While it is there, the disk sector
has that track's BAM cleared for safety.  It seems likely (which means:
I haven't checked this at all) that in the error case, the cached BAM
part is simply never put back in the disk sector. So you end up with a
fully allocated track.

-Olaf.
-- 
___ Olaf 'Rhialto' Seibert  -- The Doctor: No, 'eureka' is Greek for
\X/ rhialto/at/xs4all.nl    -- 'this bath is too hot.'


       Message was sent through the cbm-hackers mailing list
Received on 2013-05-26 18:00:03

Archive generated by hypermail 2.2.0.