<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Sun, 05 Nov 2006 23:19:12 +0000
From   : jgh@... (Jonathan Graham Harston)
Subject: DFS on 3.5inch - Is this supposed to work?

>Message-ID: <454B130E.4040808@...>
 
Richard Gellman <splodge@...> wrote:
> My initial thought was that a modern PC floppy drive wouldn't be able to
> handle the 200K single density format of DFS. But when I tried
> 
> Now my question is, is this working perfectly, or is there some sort of
> half-way format that I've created where single-density data is being
> recorded in a double-density mode or some such silliness? I.e. if I put
 
Double-density *IS* single density. Single density *IS* double
density. The only difference is how the bitstream is encoded. As
far as the disk and the drive is concerned, it's just 50,000 bits
of data. What the *controller* does with that data is completely
irrelavant.
 
It's like the difference in encoding binary data as:
 
00DC53796E7461783A204D44756D7020 
 
or as:
 
|@...|!\Syntax: MDump 
 
There's no such thing as a single density disk or a single density
drive. Single density disks/drives are double density disks/drive
and vis versa. You should call them "low density" in contrast to
"high density" disks, the black ones with two holes.
 
Low density 3.5" disks have a magnetic surface that requires a
field strength of 600 oersteds to write data. The magnetic
granularity allows up to 50,000 bits states to be recorded. All
3.5" drives and standard BBC 5.25" drives rotate at 300rpm. That
requires a controller capable of a 250kHz data bitrate.
 
(50,000*(300/60) = 250,000; 50,000 bits = 6250 bytes)
 
Single density data format uses Frequency Modulated (FM) encoding.
What this means is that every other bit is recorded as a '1' to
create a clock bit to sycronise the data when read back in. So,
using single density encoding uses up 3125 of the available bytes
on each track, leaving only 3125 bytes left over for data.
 
8-bit BBC filing systems us 256-byte sectors. Each sector has an
overhead of about 40 bytes - sector run-in, sector ID, header and
data CRC, etc.) Each data bit has one clock bit. 6250/(2*(256+40))
gives 10-and-a-bit, so single density encoding will fit 10 sectors
of 256 bytes per track. This gives the classic BBC 400K per disk.
 
Double density data format uses Modified Frequency (MFM) Encoding.
This uses *THE* *SAME* *NUMBER* *OF* *BYTES* recorded at *THE*
*SAME* *DENSITY* written on a disk with *THE* *SAME* *MAGNETIC*
*SURFACE* with *THE* *SAME* *MAGNETIC* *GRANULARITY* to encode a
greater amount of user data.
 
Instead of using 5 data bits in every 10 as clock bits, it uses an
average of 2 bits in every 10, allowing 8 bits in every 10 to hold
user data.
 
Again using 256-byte sectors gives 6250/((10/8)*(256+40)) giving
16-and-a-bit. This gives the classic BBC DD-DFS or ADFS-L of 640K
per disk.
 
All with the same disk and the same drive. The *ONLY* difference
is how the *CONTROLLER* encodes the data. The 8271 can only do
single density encoding. The 1770 can do both single density and
double density encoding.
 
Another matter to know is that very few PC disk controllers can
actually do single density encoding. The vast majority only
understand MFM and many PCs have crippled BIOSes that only allows
reading and writing of 512-byte sectors.
 
High density records data at 500kHz - twice low density. All
controllers that can record high density do so with MFM encoding.
As the data bitrate is exactly twice the low density bitrate
exactly twice as much data can be recorded. The main barrier to
using HD recording with BBCs is processor speeds. The CPU needs
time between each controller data byte to process each byte. Some
members on the group have had success with very tight custom disk
controller code.
 
To fit twice as much data on the disk the magnetic surface has to
be different. The surface needs a field strength of 720 oersteds
to write data. To pack more data in the magnetic surface has to be
*less* sensitive, and so a *greater* field is needed to write
data.
 
A 3.5" drive that is capable of writing to HD disks (black, two
holes) senses that there is an extra hole and writes at 720
oersteds instead of 600 oersteds.
 
(Some drives have a "media select" line that allows the controller
to overide this.)
 
This is why you cannot drill a hold in a DD disk and format it at
HD - the 720 oersted HD write current is so strong it will write
the data too strongly into the magnetic surface.
 
When you cover up the hole in a HD disk the drive will attempt to
write to it, the drive will record with the 600 oersted DD write
current. 600 oersteds is insufficient to properly write the data
and it will fail.
 
However, 600 oersteds is fairly close to 720 oersteds. Certainly
closer than the 300 oersted/600 oersted difference between 5.25"
DD and HD disks. People have reported success covering HD media
holes and thereby tricking drives into recording at DD.
 
I've been buying off-the-shelf 3.5" drives and just plugging them
straight into BBCs and just using them for 16 years now.
 
-- 
J.G.Harston - jgh@...                - mdfs.net/User/JGH
There are three food groups: brown, green and ice cream.
<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>