Path: utzoo!utgpu!watmath!isishq!f171.n221.z1.FIDONET.ORG!izot From: izot@f171.n221.z1.FIDONET.ORG (Geoffrey Welsh) Newsgroups: comp.sys.cbm Subject: Simultaneous disk & RS-232 access Message-ID: <1446.23E5B7F0@isishq.FIDONET.ORG> Date: 28 Jan 89 05:05:59 GMT Sender: ufgate@isishq.FIDONET.ORG (newsout1.25) Organization: FidoNet node 1:221/171 - Izot's Swamp, Kitchener ON Lines: 55 Joe: When the C64 first came out and Steve Punter's simple terminal was ported from Pet to 64, the only change was that the printer log option was removed because the C64 couldn't run the serial printer/disk bus reliably while receiving on the RS-232 port. This has also prevented C64 implementations of high-throughput streaming protocols like ZMODEM. On the other hand, my RS-232 drivers were written to execute as quickly as possible (to the point where obscure code was used because it acheived the same effect in one or two less clock cycles), and I have a theory: Given the new, much briefer NMI interruptions caused by the RS-232 I/O, it might be possible to run the serial port while receiving on the RS-232 port! Serial port timing specs show that the most stringent handshaking requirement is 200 microseconds, and I think that my NMI code runs under 100 clock cycles for the most part. Thus, an interrupted handshake would be resumed and completed before the timeout caused hanging problems. I have yet to test this theory, but high-throughput protocols could be a real boon to C64 and C128 users trying to download long files at 2400, 1200, or even 300 bps. Here is a POSSIBLE chart of improvements for downloading a 10K file to a 1541: XMODEM ZMODEM Speed % eff. time % eff. time 2400 60% 1m 10s 95% 0m 45s 1200 70% 2m 95% 1m 30s 300 75% 7m 25s 95% 5m 50s You'll notice that XMODEM efficiency decreases with increasing speed; that is because, although the data transfer goes faster, the disk writes and handshaking delays do not, meaning that doubling the speed does not double the transfer rate. With ZMODEM, which never stops transmitting, near-100% efficiencies are possible at ANY baud rate (assuming that the transmaiiting computer can fetch the data as fast as it can transmit it; when uploading from a C64 using XMODEM, 4800 bps isn't much faster than 2400 bps because of the time it takes to open a channel to the 1541, read the data, and then close the channel again). Comments welcome. Geoff uucp: watmath!isishq!izot internet: Geoffrey.Welsh@f171.n221.z1.FIDONET.org "I've posted my full sig to this newsgroup enough this week" -- Geoffrey Welsh - via FidoNet node 1:221/162 UUCP: ...!watmath!isishq!171!izot Internet: izot@f171.n221.z1.FIDONET.ORG