Login
Back to forumSee the full topicGo to last reply

Posted By

JamesD
on 2013-08-10
16:32:26
 Re: Z80 GUI: SymbOS

Check the speed comparison for loading a game using different DOS versions from the FAQ:
Std DOS 3.3**- 8.9 sec
DavidDOS- 2.8 sec
DiversiDOS- 2.9 sec
EsDOS- 2.3 sec
ProntoDOS v1- 3.0 sec
ProntoDOS v2- 3.0 sec

Even the slowest alternative DOS is almost 3 times faster than DOS 3.3 and the fastest is almost 4 times as fast in that benchmark.

Your benchmark doesn't mention what interleave was used on the disk. With the wrong interleave you can force only 1 sector to be read a rotation which will minimize the disk transfer rate.

Did you copy files to a new disk to make sure the disk wasn't fragmented?

Etc...


As for your 6502 cycles numbers...

Do the math based on your clock cycle estimates. Figure out how many clock cycles you think would be required to read bits from the disk. Now calculate how many bits could be stored on a track with your estimated data rate using the known rotation time of the disk. Is that enough to hold 16 sectors containing 256 bytes each? If the answer is no then your speculation is wrong and something else must be going on.

You appear to be counting cycles per bit. That assumes the CPU is reading bits. It isn't. The Disk II uses a ROM that automatically encodes/decodes the bit stream. This was the ingenious part of Woz's design. It was buried in some of the info on one of the links I posted.

BTW, GCR encoding requires 5 bits for every nibble.


After the last bit of research, I believe the time between reading sectors isn't for decoding, it's for moving the data from the DOS buffer to the destination address.

That implies that wiith a custom DOS that directly reads to consecutive 256 byte memory pages rather than a buffer, you *might* be able to read a track in a single rotation. It wouldn't be very useful for general I/O purposes but for reading in a large block of data in a fixed memory range it could be twice as fast. But that *is* speculation since I haven't looked at the existing DOS code.



Back to top


Copyright © Plus/4 World Team, 2001-2024