Login
Back to forumSee the full topicGo to last reply

Posted By

JamesD
on 2013-08-08
11:36:08
 Re: Z80 GUI: SymbOS

There is no speculation, those are the numbers unless you can find an error in my math.
The rotation speed is constant, the amount of data a track can store is fixed for each DOS version and the number of revolutions required to read a track isn't changing except from one DOS to another. I'm assuming that is the optimized DOS btw since everything I've read seems to indicate standard DOS 3.3 or less may only read 1 sector per revolution. Differences in benchmarks after that would involve reducing the head settle time delay before reading again and/or changing allocation of sectors to reduce the number of steps between tracks for a file.

The Wiki is giving the speed for a standard DISK II drive. There are no other floppy drives and hard disks are mentioned separately. My math is also based on floppy specs, not those of a hard drive.

As for modern storage devices...

I have a CFFA compact flash interface and loads are a fraction of what the floppy interface requires. Without the complex encoding/decoding of data, timing data I/O, near instantaneous seek times and almost no delays required between sectors, the I/O routines are much smaller and faster. The driver even lets you take advantage of the 65C02 that comes in later Apple models to speed it up.

The CFFA3000 (which I also have) can use DMA which can transfer a byte every clock cycle which is 1MHz. The CFFA driver hasn't been updated to support DMA yet though... updates have mostly been small optimizations and bug fixes, hopefully DMA will be added soon. The driver supports 65C02 and 65816 optimizations.

FWIW, hard drive interfaces from back in the day could also use DMA. Those require longer seek times than compact flash and some delay between sectors but there is no chance in hell you are going to beat that transfer rate of DMA using the CPU to move data.

*edit*

As for the C64 drive info...

40K / sec huh? Lets do the math and see if that is the case.

300rpm
256 bytes per block
There are 35 tracks
17-21 sectors per track
664 free blocks

Problem one with the info. Blocks and sectors are the same but that's minor.

Problem two... the math doesn't add up.

17 * 256 = 4352 bytes min/track
21 * 256 = 5376 bytes max/track

I'm guessing the 1541 uses a drive controller chip to encode/decode data on the disk so it could read an entire track in one revolution.
Since the rotation speed is the same as the Apple II there are still 5 revolutions per second
5376 * 5 = 26880 bytes or 26K per second MAX for a single track.
4352 * 5 = 21760 bytes or 21K per second MIN for a single track.

There are only two ways the drive could handle 40K / sec internally.
If they count bits used to encode the data on the disk or they are doing a memcopy.
We could do the math for a memcopy but I think it's the first option since the 2nd would be pretty misleading.
I'm not even going to think about calculating bits for MFM or GCR encoding; I dealt with that once on the Amiga to transfer CoCo disks to the Amiga and it's ugly. But I believe the patterns were based on 2 or 3 pulses per bit. 2 * 21K = 42000 so the math is close enough. It's transferring that much data but it's not user data, it's encoded data.

Even at 26K per second, that's not to the computer, it's just to the drive's internal RAM.


Problem number three.

If what I read is correct, the 1541 only has 2K of RAM and you can't even read 1 track of data before transferring it to the main system. It does let you load several sectors though and with the right software (which will take up RAM) it can attempt to always preload the next sectors of a file to maintain peak throughput between the computer and the drive.

*edit*
BTW, I did not include any of the track or sector headers in my calculations.
Disk formats may vary, some systems use the index hole on the disk and some don't, but all of the ones I've looked at use some sort of marker bit pattern at the start of tracks or sectors. Manufacturers might include that in their calculations as well but I only counted user data.

*edit*
Some info on that closed system the Apple II.
The first two links are about Apple DOS and disk formats. It's not for the feint of heart.
http://www.scribd.com/doc/200679/beneath-apple-dos-by-don-worth-and-pieter-lechner
http://www.apple-iigs.info/doc/fichiers/beneathprodos.pdf
Misc documentation
http://www.apple-iigs.info/docaccessoires.php



Back to top


Copyright © Plus/4 World Team, 2001-2024