Please enable JavaScript to view this site.

A-Shell Reference

If you are migrating from AMOS, A-Shell provides binary file compatibility with all of your data files and in most cases your program source code (*.bas, *.bsi, etc.) as well. The only files that must be converted are any ISAM PLUS files, which you must first dump using ISMUTL, and then use a binary transfer method to get the dumped file to the Unix or Windows box, where you can reload it using the A-Shell version of ISMUTL.LIT.

Source files (BAS, CMD, DO) and other text files are binary compatible between AMOS and Windows. Under Unix, these files normally have line terminators of LF instead of CRLF, but since A-Shell can accept either format, the easiest approach is to just transfer all your files using the binary transfer method. The main down side of not using an ASCII or text transfer method to transfer your source files to Unix is that VUE will give you a warning that the file is in AMOS format and will be converted. (You can, however, turn off the warning; see CVTWARN.) On the other hand, by not converting the line terminators from CRLF to LF, you preserve the hash code and size of the files, which allows you to verify the transfer results by comparing the hash codes using DIR/H and/or VERIFY which are implemented on both AMOS and A-Shell.

RUN files compiled under AMOS should run as is under A-Shell. In most cases, you can recompile the source code and re-generate the identical RUN file, although this takes some care to use the right compiler switches. In most cases, however, it makes more sense to use the full range of A-Shell BASIC (ASB) enhancements (see the COMPIL /x:2 and /px switches), which will result in RUN files which may work the same as before but are no longer compatible with the original AMOS RUN format. See VERSYS.LIT for a way to examine the RUN file compatibility level.

Because of the difference in directory structures between AMOS, Windows and Unix, it is virtually impossible to do wildcard transfers of files involving multiple PPNs and devices. Instead, it will be necessary for you to manually specify the Unix or Windows path that corresponds to the PPN for each directory. (See the discussion of the DEVICE parameter of miame.ini for information on how PPNs are mapped to directories.) The only way around this with FTP transfers is to use an FTP package that allows programmatic scripting.