[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Write Signal on Disk II Question



On 17 Nov., 04:00, "Michael J. Mahon" <mjma...@aol.com> wrote:
>To improve reliability, you must recover the clock and adjust your
>nibble framing *dynamically* during the track, as the Disk ][ Controller
>does.
I think I do what the Disk ][ Controller does: Read the data multiple
times and reset the delay every time I get a change. The Disk ][ does
not have a PLL to sync to the data stream.

I said that I didn't know why speeding up the loop helped. now I know:
The loop which reads the 7 data bits is in correct timing end ends
exactly at the right moment to get the next bit. But the data needs to
be stored before reading the next bit, which also takes some time.
That's why speeding up the read loop helped. Now I added a JMP to
skip  the loop in the last bit, increasing the reliability when
reading data with a trailing 1.
> Sounds like you still are going to have reliability problems with
> small variations in disk speed--which can happen *within* a track.
I know these happen, but then (I think) only some sectors would be
affected. The errors are spread over the sectors with the error rate
increasing with the track number.
If I look at the read signal of my drive (on track 34) I wonder why
this noise with some data in it can be read at all.

> You can do the clock recover and framing after reading, but you will
> need a higher sampling frequency and a software algorithm to recover
> the framing from the bit stream.
I'll never get a high enough sample rate using the parallel port.

Well, I have written arm movement code now, and managed to get the
denibbilization working by looking at the original DOS routine.
I own a copy of Beneath Apple DOS, but I didn't really understand the
scheme.
>.dsk or .do: 35 tracks of 16 sectors of 256 un-nibblized data, sectors
>are ordered in the track as DOS numbers them. No file or track headers.
Thank you! I just dumped the data from my games disk to a file and
wrote it back to another disk using ADT. The copy worked!
The image can be downloaded at http://sbscs.game-server.cc/appleii/disk2pc
.
You'll also find the program and its source code there.

But I think there is no possibility to write a .nib image, since there
is no way to determine if the data was read correctly. And when I read
one disk I get ~30 read errors which is definitely to much.
I still might be able to drop this value but I don't expect to get no
errors at all.
So all the work was of very little value I think.
And I don't think it's possible at all to read a whole disk without
any error with the original disk ][ controller.

Ferdinand