torkell@ifi.uio.no (Torkel Lodberg) (01/02/91)
In a message, Matti Joutkoski writes: >JR-Comm is truely lazy, and hard load to the Amiga. It have problems >with 38400. Well you can't really blame Jr-Comm. As a matter of fact, it has a very quick Zmodem transfer protocol that should stick with much faster transfer speeds than 38400 baud. The real problem is the Amiga system and the serial.device. Receiving fast wouldn't have been a problem on the Amiga if it had been a single-tasking system. But when multi- tasking, there isn't much CPU left for transfers and any transfer at speeds above 31500 baud *will* give you problems. The only exception is for programs that completely take over the machine and jump straight on the hardware (which isn't a nice thing to do on the Amiga). The buffer will actually overflow, which means that you will loose incoming data. Another very annoying thing is that bringing another screen to front during a transfer at 38400 baud may give the same result even if CTS/RTS has been set. One reason for this may be that CTS/RTS is handled by software (read: serial.device) and not hardware like on other systems. I guess the Amiga would have been better suited for fast transfers if CTS/RTS would had been properly handled by hardware. 38400 baud works pretty well on the A3000 (due to the more powerful CPU) but it is still irritating that data may disappear during a transfer. Especially this makes it very unsafe to use a protocol like Ymodem-G. T.Lodberg InterNet: torkell@ifi.uio.no Fido: 2:502/110 UUCP: ...!cbmvax!cbmehq!cbmnor!lodberg!torkel
jprad@faatcrl.UUCP (Jack Radigan) (01/02/91)
torkell@ifi.uio.no (Torkel Lodberg) writes: >In a message, Matti Joutkoski writes: >>JR-Comm is truely lazy, and hard load to the Amiga. It have problems >>with 38400. >Well you can't really blame Jr-Comm. As a matter of fact, it has a very >quick Zmodem transfer protocol that should stick with much faster >transfer speeds than 38400 baud. The real problem is the Amiga system >and the serial.device. Exact-a-mundo! The problem is due to the internal port not having the ability to buffer multiple bytes, it only buffers the most recently received byte. Add to this the fact that the serial port is addressed in chip ram space and that the cpu has the lowest DMA priority, and you have the added problem of the cpu being locked out while higher priority DMA is taking place. That's why I don't recommend 8 and 16 color screens at 19.2kbps, much less 38.4kbps. Finally, we have the problem of the cpu servicing the serial port interrupt itself. Although the cpu can normally service it with little problem, there are occasions when the cpu is delayed long enough so that the buffered byte is overwritten by the next incoming byte. The most common situations that I've seen cause this are more than two floppy drives and/or hard disk partitions being mounted. AmigaDOS is evidently doing a Disable() long enough to cause data loss when it checks each device for a disk change. Another cause is having a task with a excessively high task priority, usuallyt above 15. >I guess the Amiga would have been better suited for fast transfers >if CTS/RTS would had been properly handled by hardware. 38400 >baud works pretty well on the A3000 (due to the more powerful CPU) >but it is still irritating that data may disappear during a transfer. >Especially this makes it very unsafe to use a protocol like Ymodem-G. Yes, the A3000 and any A2000 w/3rd party serial cards run 38.4kbps without problems. If C= decides on a new Paula chip I hope multiple byte buffering finds its way in there... -jack-