Short: ASCII IBM<->ISO converter, asynchronous Author: j.tevessen@line.org (Johnny Tevessen) Uploader: j tevessen line org (Johnny Tevessen) Type: util/conv Version: 1.7 Replaces: util/conv/ibmiso.lha Requires: AmigaOS 2.02 Architecture: m68k-amigaos Distribution: NoCD ibmiso is a fast replacement for 2iso (c) 1995 by Patrick Hess. It converts between IBM codepage 437 and ISO-8859-1 ASCII files and corrects line terminations according to the conversion. Its main advantages are: * Fast. I tried it with "ZConnect3.1draft" (iso, 339k, 6816 lines) on my A1k2 (030 @ 28 MHz, 2+8 MB) from disk cache to an existing file on RAM:. 2iso needed 18 secs, ibmiso about 2.5 secs syn- chronous (an older version) and 1.2 secs asynchronously. I think this is a nice speed improvement, uh? * Written in 100% plain C, runs on every available 680x0 processor. Scheduled code (I hope I didn't hit a SAS/C scheduler bug) for 68040+. I tried to compile an 68020+ version, but the code was exactly the same. It should also run on 68000 machines (not tested). * You can fine tune it to the DMA rates of your system by changing the number of buffers to use. This can lead to much more speed because asynchronous I/O depends on how good CPU and DMA speed match together. Buffers are quad-longword aligned to support 68040 DMA. When increasing the number of buffers, remember: ibmiso allocates roughly BUFFER*2048 bytes when converting to iso, and BUFFER*3072 bytes when converting to ibm. * Reliability. I think I caught almost all possible error conditions. However - packet I/O can lead to strange errors if eg. someone removes a floppy disk while writing to it. This can result in getting error codes from trackdisk.device. Don't worry---the program should display the error and quit quite fine. Template: FROM/A,TO/A,ISO2IBM/S,BUF=BUFFER/K/N: ? FROM/A : File to read data from TO/A : File to write data to ISO2IBM/S : Convert iso->ibm rather than ibm->iso BUF=BUFFER/K/N : Number of 512 byte buffers BUFFER/K/N defaults to 8. ibmiso returns 0 (RETURN_OK) for success, 5 (RETURN_WARN) if it was stopped by CTRL-C and 20 (RETURN_FAIL) in case of occurence of an error. Suggestions are always welcome. Send bug-reports to Johnny Tevessen