Data File Compatibility
Both random data files and ISAM 1.x files (.IDA and .IDX) are 100% compatible between A-Shell and AMOS. It is possible to transfer them as direct binary images between machines.
Sequential files are compatible, but stored in the local operating system format. For AMOS, this means each end of line is marked with a Carriage return/Linefeed pair. This is true also of Windows, although sequential files can sometimes terminate with a ^Z end-of-file marker. Under UNIX, new lines are indicated with a single character, \n (linefeed). A-Shell is capable of reading both DevPPN-format and host-system-format sequential files. All newly created files are normally written in the current host-system-format.
You can force A-Shell to use CRLF terminators in sequential output under UNIX by setting OPTIONS=CRNL in miame.ini; see Configuration for details.
Despite the minor format differences between sequential files on the various platforms, you can generally just transfer them between systems with no conversion, since all of the major A-Shell utilities (VUE, COMPIL, BASIC INPUT, etc.) will accept either format.
VUE will accept files with either style of line terminator and always write them back in the native format, providing another way to convert source programs if necessary. You can override the terminators used by VUE with the CRLF=<Boolean> entry in the ini.vue file. Note that you should not save UNIX configuration files and scripts with CRLF terminators, and this may render them undecipherable to UNIX. If you are using the native operating system executable version of VUE for such, you can prevent this by creating an /etc/ini.vue file which contains CRLF=FALSE.
ISAM 2.0 or ISAM Plus files are implemented using C-ISAM by Informix or D-ISAM by Byte Designs. Because of this, the format of the data and indices are not compatible, and the files must be transferred by first dumping them with ISMUTL.LIT on the host system, and then reloading them with the A-Shell version of ISMUTL.LIT.
For those who object to this procedure as being too slow, due to the need to manually run ISMUTL to generate the new files and especially due to the time it takes to dump the old files on some slower machines, we have developed a pair of utilities which speed up and simplify this process; see the SOSLIB.
Program Compatibility
The A-Shell runtime interpreter (RUN.LIT) is compatible with programs compiled under most versions of AMOS using either the 1.3 (OCMPIL.LIT) or 1.4 (COMPIL.LIT) compiler. It is not compatible with the RP files generated by BASIC Plus. On the source code side, the A-Shell compiler is compatible with all A-BASIC source code written for the version 1.3 compiler, and virtually all source code written for the version 1.4 compiler as well. The A-Shell compiler also supports most of the BASIC Plus source code (but not the compiled object code.) See PLUS Extensions for details on which BASIC Plus code is supported.
The A-Shell compiler (either COMPIL or OCMPIL) will nearly always generate the exact same RUN file, right down to the hash code, as will the corresponding AMOS COMPIL and OCMPIL will. Thus, except for BASIC Plus, you have compatibility in both directions for both your source code and compiled programs.
A-Shell and MIAME
A-Shell was originally developed as part of a larger system called the Machine Independent Alpha Micro Environment, "MIAME" for short (pronounced like the beach in Florida). MIAME is no longer considered a viable product or software environment apart from A-Shell, but many references to MIAME remain in the A-Shell system.