Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!ucbvax!decwrl!jumbo!murray From: murray@jumbo.dec.com (Hal Murray) Newsgroups: comp.sys.mac.programmer Subject: How fast can a MAC-SE drive a serial line? Keywords: serial, fast Message-ID: <13655@jumbo.dec.com> Date: 28 Mar 89 03:16:51 GMT Organization: DEC Systems Research Center, Palo Alto Lines: 36 AppleTalk runs at 256K bits/second. I was expecting the vanilla serial driver to be able to go as fast. I connected the send side of the modem port back to the receiver and wrote a simple test program that uses ASYNC writes and simple/sync reads. It starts a write. Then, while polling for the write to finish, it reads whatever is available. At 19.2K it works as expected: I get almost the full speed when sending to myself. I do go around the poll/read loop several times for each send and I receive all the characters I send. The send side is only single buffered, but each buffer is 1000 characters so the gaps before starting another send don't mess up the timings much. When I turn the clock speed up to 56K, things no longer do what I want. It acts like the interrupts are using the whole CPU: mouse tracking goes crazy and the send is already finished when it returns. I haven't hooked up a scope to see how fast the characters are actually going out, but my program prints out 30K bits/second. When I unplug the echo jumper, I do go around the polling loop and the mouse is happy. (But of course, I don't receive anything.) Am I missing something dumb? How does AppleTalk work? Does an SE get real sluggish when sending or receiving an AppleTalk packet? What I want to do is grab several (say 6 to 10) seconds of data as fast as I can without missing any characters. They will all fit into memory. I'm willing to disable all interrupts if necessary. I can process the info after collection. Is there some easy way to do this, and/or how fast can I go with the normal driver? I've worked with the SCC chip before, so writing a non-interrupt polling loop shouldn't be too hard. The data I want to grab is coming from an A/D. I'm building the hardware myself. It only takes 3 or 4 chips to serialize and level convert so that seemed like a reasonable way to go. Would the SCSI port be simpler at these speeds? I've never worked with either the SCSI hardware or software.