Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83; site ut-ngp.UUCP Path: utzoo!watmath!clyde!burl!mgnetp!ihnp4!zehntel!hplabs!hao!seismo!ut-sally!ut-ngp!anthro From: anthro@ut-ngp.UUCP (Michael Fischer) Newsgroups: net.micro Subject: Re: C64 and 1541 drive speed Message-ID: <746@ut-ngp.UUCP> Date: Sat, 21-Jul-84 02:52:06 EDT Article-I.D.: ut-ngp.746 Posted: Sat Jul 21 02:52:06 1984 Date-Received: Wed, 18-Jul-84 01:49:33 EDT References: <1527@sri-arpa.UUCP> Organization: Comp. Center, Univ. of Texas at Austin Lines: 32 <> I agree in general that the serial bus is not as fast as it should be, but not by the factor indicated. 4min.img handles about 725 cps. I'm not certain, but I think that it works by setting up the block read and write, and then lets the reading drive handshake the writing drive. This would be about the right speed, since the 64's internal rom routines are capable, even with the screen off, of reading about 850 cps, and the range of variation in 64s is great enough to settle on some 750 or so (atn sequences take a long time...a normal (not 4min.img, I dunno) ATN byte is 1ms all by itself. The reason for the slowness in the 64 rom routines is bad design. The bit handshake routines are written as subroutines, which effectively doubles the amount of time that each bit operation will take. The actual data bit handshake is inline, but the control is not. What this does is create windows some 24 us wide, and to accomodate the variable 64s, worst case must be assumed by the sender. These 24 us here and there add up, and lower the effective possible speed by some 15%. Then there is an enormous amount of time between bytes, some 100-200 us typical. In a IEEE-488/serial interface I wrote, I had time to handshake the IEEE-488 byte free on the gap between bytes. ARG. If the routines were tidied up, and the speed constant (VIC cycle stealing complicates this) I estimate that the 64 could handle some 1200-1300 cps. As is it can easily handle 710 (the speed of my interface) for generic 64 and 780 for a 'tuned' 64. It is interesting to note that LOADING is slower than SAVING. The respective speeds are 850 and 930. The serial disk only goes about 450 cps, and is the real weak link in the bus, since any 64 can better that speed by 250 cps. Mike Fischer anthro@utngp