[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Hi-speed serial interfacing from A2



On 07/18/2010 02:45 AM, Ewen wrote:
Steven,

What is the overall picture in terms of max serial rate for the various
machines - slot-based card, //c, IIGS?

In general, it is not the speed of the serial port that is the limit,
but the speed of processing the data on an Apple II or IIgs. For sending
data, it will depend on how fast the code that is used can retrieve it
from disk and send it out. For receiving data, most comms software will
used an interrupt driven buffer to capture the data, and then save it
out as and when it can.

Yes, for comm software you'd need to do that. In the general case the serial driver does not know the length of the incoming data nor its ultimate destination.

What makes the disk driver different is that the driver knows exactly what's coming and when:

- Called from, e.g. ProDOS filesystem code
- Request sector N over the wire
- Block on receive
- Transfer 512 bytes (or whatever) to designated buffer
- Return to logical filesystem code
- etc, etc.

For this type of file I/O the logic can be fully synchronous. The requesting application cannot proceed until the disk transfer is finished anyway.

Spectrum relies on the hardware handshake of the serial connection to
conrol the incoming flow, and in the case of interfaces such as the
Uthernet card, relies on the onboard buffer on that card to smooth
things out.

Agreed - in the general case. But I still maintain that disk block I/O has a different character. With a simple polling loop that needs to transfer exactly 512 bytes as quickly as they're available I see no need for handshaking, _provided_ that the CPU is fast enough in the absolute.

The accelerated speed of the computer can help in processing the data,
but not necessarily makes much difference to the serial port itself.

Certainly, yes.

I have a feeling that a Transwarp or ZipChip equipped IIe, or IIGS, can bit-bang the game port considerably faster than 57.6k. The Tandy CoCo, with a 1.9Mhz. clock, can manage 115k.

Steve