Short: improve reliability of serial transfers Author: Ralph Babel, Robert Miranda Uploader: Matt_H amiga org Type: driver/other Version: 1.7 Architecture: m68k-amigaos *********************************** * GvpPatch 1.7 README, 1993-01-17 * *********************************** The executable "GvpPatch", which this text file is supposed to be accompanied by, is a patch utility that serves to make serial-port transmissions more reliable when using a GVP Series-II host adapter. The problem this patch addresses is neither a deficiency in the GVP hard- or software nor in the serial.device's code, but rather a limitation of the Amiga's on-board serial port, which can only hold a total of one byte of incoming data (plus one byte currently being shifted). The port requires CPU intervention to handle flow control, so any delay (caused by system load, disk activity, etc.) to the CPU's ability to respond to interrupts may - at higher baud rates - cause loss of data while receiving, e.g. during downloads. The GVP Series-II is not the only DMA host adapter affected by this problem, for instance when using fast SCSI drives employing on-board cache memory; one may also encounter this problem on the Microbotics HardFrame, Commodore's A2090 and A2091, and even programmed-I/O cards. In order not to tie up the Zorro-II bus for long periods of time, GvpPatch will therefore transparently split large data blocks into smaller ones while the serial.device is in use. Its syntax is: Run >NIL: GvpPatch -s Sending a Ctrl-C break signal to the process will terminate it. If a device driver other than the serial.device is used, "-s" may be followed by the name of that driver (e.g. "-sgvpser.device") to override the default. Multiple "-s" options can be specified to monitor several device drivers. In addition, using the "-o" option, it is possible to make certain types of Direct SCSI applications work, the authors of which did not interpret Commodore's ambiguous HD_SCSICMD "documentation" the same way GVP did. This option is not required by gvpscsi.device 4.4 and later versions. A standard 68000-based Amiga using a Series-II hard card should be able to handle 19200 baud, even without Fast RAM, provided that system load is not too high. Having several floppy-disk or hard-disk filesystem processes active, or running high-resolution multicolor screens, for example, can degrade system performance enough that even downloads to the RAM disk may cause problems. Using a GVP combo accelerator with 32-bit-wide RAM, transfers at 38400 baud are possible. If you have a 68020 or a 68030, the use of "SetCPU FASTROM CACHE" is strongly recommended with Kickstart 1.3. Note that when using the "CPU" command included with Amiga OS 2.04 instead of "SetCPU", the table of exception vectors is moved into Fast memory as well when using the "FASTROM" option. GVP's original Series-I SCSI host adapters and the GVP AT interface do not need GvpPatch. By the way: the baud rates mentioned above refer to full-speed null-modem transmissions, e.g. ~1800 cps at 19200 baud and ~3600 cps at 38400, not just the usual HST/V.32/V.32bis modem transfer rates, which are usually lower. The following FaaastROM SCSI driver versions are supported: - gvpscsi.device 3. 7 - gvpscsi.device 3.12 (= Omni 3.0 to 3.4) - gvpscsi.device 3.14 (= Omni 3.5) - gvpscsi.device 3.15 (= FaaastROM 4.0) - gvpscsi.device 4. 3 - gvpscsi.device 4. 4 - gvpscsi.device 4. 5 - gvpscsi.device 4.12 - gvpscsi.device 4.13 If you are uncertain as to which driver version is installed in your system, use the CLI command "Version gvpscsi.device" to find out. In the authors' opinion, GvpPatch is just a kludge that attempts to hide a major deficiency in the built-in serial-port hardware and is therefore not officially supported or endorsed by GVP. It is nevertheless released in the hope that it will help certain system configurations. It is provided "as is" without warranty of any kind, either expressed or implied, including, but not limited to, correctness, reliability, and the fitness for any particular purpose. The entire risk as to its quality and accuracy is assumed solely by the user. Ralph Babel Robert Miranda