DFS fault codes

for bbc micro/electron hardware, peripherals & programming issues (NOT emulators!)
User avatar
DutchAcorn
Posts: 1726
Joined: Fri Mar 21, 2014 9:56 am
Location: Maarn, Netherlands
Contact:

DFS fault codes

Postby DutchAcorn » Wed Apr 18, 2018 8:42 pm

I have a faulty 40T single sided drive that I am hoping to fix. It came with an Exidy Sorcerer.

Trying to get catalogue a disc with it using a BBC fitted with DFS 1.2, it moves the head to track 0 and after some time it returns the error "Disk fault 18 at 00"/00. It would help finding the fault knowing what that fault number tells me, but so far I have not been able to find a comprehensive list of error codes for the DFS. Is there such a list?

Thanks!
Paul

User avatar
billcarr2005
Posts: 1189
Joined: Fri Sep 09, 2005 3:01 pm
Location: UK
Contact:

Re: DFS fault codes

Postby billcarr2005 » Wed Apr 18, 2018 8:47 pm

From
DFS Error messages
http://chrisacorns.computinghistory.org ... AN/019.pdf

I've not come across 0A or 14 on a standard BBC B (since "Sector not Found" would cover a disk not being formatted in a recognised way), might be a later Acorn machine, since the document is from 1992

Code: Select all

Error 08 (clock error)
During a disc read operation a clock bit was missing.

Error 0A (late DMA)
During a disc transfer the processor did not respond fast enough, most likely due to a faulty disc interface card.

Error 0C (ID Field CRC error)
The cyclic redundancy check derived from the data read back differed from that stored on the disc.

Error 0E (data CRC error)
The cyclic redundancy check derived form the data read back differed from that stored on the disc during a disc read.

Error 10 (drive not ready)
During a transfer the disc stopped rotating. Often caused by a badly inserted disc.

Error 14 (track zero not found)
Controller failed to find track zero. Often an unformatted disc.

Error 18 (sector not found)
Controller failed to find required sector. Either a corrupted or an unformatted disc.
Last edited by billcarr2005 on Wed Apr 18, 2018 8:50 pm, edited 1 time in total.

User avatar
DutchAcorn
Posts: 1726
Joined: Fri Mar 21, 2014 9:56 am
Location: Maarn, Netherlands
Contact:

Re: DFS fault codes

Postby DutchAcorn » Thu Apr 19, 2018 7:32 am

Thanks Bill! The document does not say if these are reported as disk fault or drive fault. Perhaps only the reported code is relevant?

I also believe there are more errors than these? I have found a code 16 (write fault) and 12 (write protect). And of course there are the file system errors such as disk full.
Paul

User avatar
jgharston
Posts: 3028
Joined: Thu Sep 24, 2009 11:22 am
Location: Whitby/Sheffield
Contact:

Re: DFS fault codes

Postby jgharston » Thu Apr 19, 2018 12:25 pm

Code: Select all

$ bbcbasic
PDP11 BBC BASIC IV Version 0.25
(C) Copyright J.G.Harston 1989,2005-2015
>_

Kazzie
Posts: 76
Joined: Sun Oct 15, 2017 7:10 pm
Location: North Wales
Contact:

Re: DFS fault codes

Postby Kazzie » Thu Apr 19, 2018 2:18 pm

My experience is that hardware-based errors that aren't explained in the DFS manual are actually error codes from the Intel 8271 controller forwarded on.

There's a copy of the 8271 datasheet on 8bs, but it is a bit of a deep read. Furthermore, the errors are listed bitwise instead of in hexadecimal as the Beeb prints them.

A basic naming of the error codes is on the OSWORD page jgharston linked to (under 'Results'). If you cross-reference these with the table on page 14 of the 8271 datasheet, you can get a slightly longer explanation of what the floppy disk controller thinks is wrong.
Pudsey - BBC Model B 32k issue 7, Sidewise ROM board with 16K RAM
Archimedes 420/1 upgraded to 4MB RAM (mid- restoration)

User avatar
1024MAK
Posts: 7295
Joined: Mon Apr 18, 2011 4:46 pm
Location: Looking forward to summer in Somerset, UK...
Contact:

Re: DFS fault codes

Postby 1024MAK » Thu Apr 19, 2018 5:21 pm

Keep in mind that a floppy disk drive is fairly dumb.

It switches the motor on/off and steps the head forward or back on in response to the control signals from the computer. Also if the drive is to write to the disk, and the write data.
With double sided drives, the computer can also choose which drive head is active.

The drive then sends signals back to inform the computer if there is a disk present (optional), the drive and disk are ready (optional), the disk is write protected, the drive has detected the index hole, plus a few others (depending on the actual drive). And of course it sends the read data back.

Both the write and read data are the pulses to/from the disk, not any normal serial data format. It is the job of the floppy disk controller chip to convert to/from the data byte from the CPU and the pulses to be written to or read from the drive.

Note that all the signals mentioned above are TTL level signals and they are all on the 34 way drive connector. You can monitor them with a logic probe etc...

Mark
For a "Complete BBC Games Archive" visit www.bbcmicro.co.uk NOW!
BeebWiki‬ - for answers to many questions...

User avatar
DutchAcorn
Posts: 1726
Joined: Fri Mar 21, 2014 9:56 am
Location: Maarn, Netherlands
Contact:

Re: DFS fault codes

Postby DutchAcorn » Sat Apr 21, 2018 8:17 am

Thanks all! The fault is caused by the fact that there is no data sent from the disc drive to the computer / controller. None at all...

The interface is quite simple but the PCB does the translation from reading the magnetic flux changes on the diskette, amplifying it, filtering it, detecting crossover, detecting false cross overs, etc. :roll:

I am lucky to have detailed documentation with the disc drive describing exactly how the logic works. But the quality of the included circuit diagram is appalling so tracking down the cause of the fault costs some time...
Paul