[Coco] toolshed tools lock up on ?FS ERROR disks

Arthur Flexser flexser at fiu.edu
Mon Feb 6 15:05:18 EST 2017


You don't really need a disk zapper for this.  Here's a Basic program that
would copy T0S2 to T17S2:

10 DK=256*PEEK(&HC004)+PEEK(&HC005)  'DSKCON exec address
20 POKE&HEA,2  'Read
30 POKE&HEB,0  'Drive 0
40 POKE&HEC,0  'Track 0
50 POKE&HED,2  'Sector 2
60 POKE&HEE,6:POKE&HEF,0  'Put data at $600
70 EXEC DK  'Read Track 0 Sector 2 to $600
80 POKE&HEA,3  'Write
90 POKE&HEC,17 'Track 17
100 EXEC 'copy data at $600 to Track 17 Sector 2

(Disclaimer: this is off the top of my head, not tested.)

You could easily modify this to write the original T17S2 to $700 for
comparison to the data from T0S2 at $600 to make sure they look very
similar before resetting the buffer parameter to $600 and doing the final
EXEC.

I strongly suspect that the great majority of ?FS errors arise from the GAT
being erroneously written to Track 0 Sector 2 due to Basic's table of the
drive head positions containing erroneous data.  Most commonly, this would
be due to people modifying the drive mask table for double sided drives
without making another modification that tells Basic to keep the track
position for Drive 2 in sync with that of Drive 0, for example, since Drive
2 is the back of Drive 0. But it can also happen with single-sided drives
due to the fact that a cold start causes Basic to think all drives are at
Track 0.  I never saw another ?FS error after I put a fix for this into
ADOS.

Art


On Sun, Feb 5, 2017 at 10:07 PM, Allen Huffman <alsplace at pobox.com> wrote:

> > On Feb 5, 2017, at 8:32 PM, Arthur Flexser <flexser at fiu.edu> wrote:
> >
> > ?FS errors are generally caused by a bad GAT.
> >
> > Sometimes, this is caused by the GAT having been written to Track 0,
> Sector
> > 2 instead of Track 17, Sector 2, due to a bug that hits when the drive
> head
> > gets confused about what track it is on and hits the Track 0 stop in
> > seeking the correct track.  So, you might want to look for data
> resembling
> > an intact GAT in Track 0, Sector 2 and, if you find it, see if the FS
> error
> > goes away when you copy this sector to Track 17, Sector 2.
>
> Thanks, Art. I’ll do some poking around with … COLORZAP? Whatever the one
> is that looks like just OS-9’s dEd.
>
>                 — Allen
>
>
>
> --
> Coco mailing list
> Coco at maltedmedia.com
> https://pairlist5.pair.net/mailman/listinfo/coco
>


More information about the Coco mailing list