While some machine-specific routines have been retained, the present FORTRAN version of the library has been made as FORTRAN-77 compatible as practical. Where the code is not FORTRAN-77 compatible, it is so noted in the source code. Most exceptions were made for efficiency's sake and can be easily be modified or be left out of the final library.
The largest FORTRAN-77 incompatibilities occur in the Ramtek packages which can be left out of the library (see notes below). Note that some routine and common block names exceed the 6 character standard of FORTRAN-77. The auxilary, MASTER, and 3d plotting routines are FORTRAN-77 compatible with a few minor exceptions (e.g. INTEGER*2 is used to save space) These exceptions are noted in the source code file headers. Source code contains tabs (control-I) and trailing comments (separated by exclamation points (!). The program NOTABS (which is FORTRAN-77 compatible when a line is commented out) is designed to remove tabs and trailing comments.
Routines in RAMLIB REFLIB and CURSORLIB are very machine specific and may require extensive modification for use on other machines. A file NORAMLIB.FOR replaces all RAMLIB subroutines to produce a no-Ramtek version of the library.
Unless specificially stated, integers are all assumed to be the standard default machine length. On the VAX this is INTEGER*4. A 2's complement representation is assumed for negative integers when specifying the line type bit pattern (various routines and programs) and in storing the pen motion data in the routines SYMBOL, SYM3D, and SYM3DH. The cursor routines CURMOTION, CURRECT, CURBAND use the machine dependent routine INXTCHR to read escape sequences from the terminal. Note, however, that the library can be used without these cursor routines.
The VAX extended FORTRAN data type "BYTE" (for an 8 bit variable) is used in the REF and Ramtek library package.
VAX routines %LOC() and %VAL() are used in MVAX5D and VAX5D to determine the address of an array. These routines may be modified or deleted as desired.