Compiling with Absoft Fortran. The Absoft libraries vms.lib and unix.lib are included in the link command. Unix.lib contains the subroutine SIGNAL which conflicts with our Signal subroutine if the 'fold to uppercase' option for F77 is used. Our Signal subroutine must preceed unix.lib in the link command to avoid trouble. (the same problem arises when compiling on a Unix machine). The object library FORGEN.LIB is located in D:\Soft\For. The linker looks for libraries in the local directory, and in the directories listed in the LIB environment variable. By default, LIB is set to D:\ABSOFT\LIB, so the directory D:\Soft\For should be added (separated by a semi-colon). FORSTR.F is selfcontained: it does not call anything that is not contained in the file itself. FORSTR2.F contains platform dependent functions. It calls functions contained in FORSTR.F (e.g. itrim, uppercase, etc.) Bit4to2: there are several ways to extract the lowest 16 bits from an int*4 and put them in an I2: I2 = (I4 .and. '7FFF'X)-((I4 .and. 'FFFF'X)/'8000'X)*'8000'X I2 = (I4 .and. Z'7FFF')-((I4 .and. Z'FFFF')/Z'8000')*Z'8000' I2 = iand(I4,Z'7FFF')-iand(I4,Z'FFFF')/Z'8000'*Z'8000' I2 = iand(I4,Z'7FFF') All four work in Absoft Fortran. The last won't work in VAX-Fortran (there will be an integer overflow if I4 goes out of the range of a signed int*4). The first two don't seem to work on Linux' G77 (can't compare integers in a logical operation. So that leaves the third.