[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Apple II Disk Drive Question
"David Empson" <dempson@actrix.gen.nz> wrote in message
1hc3ki3.10zs31r14ulie6N%dempson@actrix.gen.nz">news:1hc3ki3.10zs31r14ulie6N%dempson@actrix.gen.nz...
> Bryan Parkoff <none@nospam.net> wrote:
>
>> "David Empson" <dempson@actrix.gen.nz> wrote in message
>> 1hc37c1.zm35pr1p8py2mN%dempson@actrix.gen.nz">news:1hc37c1.zm35pr1p8py2mN%dempson@actrix.gen.nz...
>> > Rotation speed is about 300 rpm. Data rate is nominally 250 kbps (4
>> > microseconds per bit), derived from the Apple II CPU clock which runs
>> > at
>> > about 1.023 MHz, with one bit every 4 clock cycles, so about 255.75
>> > kbps.
>>
>> I have a question. If RPM is to be between 280 and 310. Can you
>> please
>> tell how many KBps per second will be. For example -- 300 RPM is
>> 250KBps.
>> 280 RPM may be 220KBps. 310 RPM may be 280KBps. Please list KBps each
>> RPM
>> like 280, 281, 282, and so forth until 310. I am curious.
>
> It isn't as simple as that.
>
> The data rate is fixed when writing: it is determined by the controller,
> which will write one bit every four CPU cycles, no matter how fast the
> disk is spinning.
>
> The read speed is somewhat variable, to allow for differences in
> rotation speed between the drive which wrote the disk and the drive
> which is reading it.
>
> According to the manual for my Apple 5.25 drive, the optimal rotation
> speed is 299 rpm. Can anyone else confirm this is the actual optimal
> midpoint for the rotation speed?
>
> For the purposes of the following, I'll assume all machines are running
> at exactly the same clock speed. In reality there is a noticeable small
> difference between PAL and NTSC models, since PAL Apple II models have a
> master clock frequency of 14.25 MHz, while NTSC is 14.31818 MHz, and
> there will be minor variations between individual machines (in the order
> of tens or perhaps hundreds of parts per million, well under 1%). The
> following could be done experimentally with two drives on the same
> computer, adjusting the speed of the two drives to create the necessary
> differences.
>
> If the writing and reading drive are operating at exactly the same
> rotation speed, then one bit will be read from disk every four CPU
> cycles (32 CPU cycles per byte).
>
> If the writing drive is spinning faster than the reading drive, then the
> bits will be somewhat shorter from the reading drive's point of view,
> resulting in bytes taking less than 32 CPU cycles to read (on average).
>
> If the writing drive is spinning slower than the reading drive, then the
> bits will be somewhat longer from the reading drive's point of view,
> resulting in bytes taking more than 32 CPU cycles to read (on average).
>
> I assume the range you quote (280 to 310 rpm) allows for worst case,
> then a disk written at 280 rpm must be readable at 310 rpm, and vice
> versa. This will be determined by the amount of variability allowed for
> in the disk controller read hardware. At the extremes, there might be
> limits due to the worst case magnetic response from the disk and
> sensitivity of the read hardware, risking interference between adjacent
> bits or read errors with too much time between flux reversals (one
> bits). The software might also be timing sensitive, not able to keep up
> with the data if it is arriving too fast, or regarding the data as
> invalid if the bytes are too short or too long.
>
> If you want to calculate the actual duration of each bit, you need to
> know the rotation speed of both the writing and reading drives, and it
> is a simple proportional calculation.
>
> At the extremes: 280/310 is about 0.90, so bits written and read at
> opposite extremes will 90% of the expected duration (write at 310, read
> at 280) or 110.7% of the expected duration (write at 280, read at 310).
>
> This works out at 3.6 CPU cycles per bit (on average) in the shortest
> case (284 kbps), 4.4 CPU cycles per bit (on average) in the longest case
> (232 kbps).
>
> --
> David Empson
> dempson@actrix.gen.nz
David,
Thank you very much for your answer. It looks like that 6502 CPU must
be involved for writing to disk, but Disk II card does not need to depend on
6502 CPU for reading because it is done through slate sequencer. Right? I
can't remember exactly when I read "Understanding the Apple //e" book
chapter 9. It is explained very well.
It is only a possibility to implement Disk II's speed like 280 to 310
RPM. It is almost impossible, but there are many ways to overcome
limitation which it is done through timing. However, Disk II speed is
independent from the timing because the rotation is at constant speed, but
it can be done using variation resistor adjustment. Correct?
Bryan Parkoff