return to main page
return to 1401 Software Development

Van Snyder Utilities
Useful 1401 Programming Utilities from Van Snyder

On October 7, 2005, Van Snyder sent:
for Windows

and on October 11, 2005 for Linux which are now available in

Comments from Van Snyder follow:

Release notes

Here are a new Autocoder (2.3) and new disassembler.

The new Autocoder prints the current encoding option correctly 
(instead of the meaningless subscript for it), prints encodings 
if the -e? option is selected, handles blanks correctly if they're embedded 
within the same field as the option letter, 
e.g., as in a Unix/Linux shell if it is enclosed within quotes, 
such as "-e ?" 
(but it still won't handle -e " ?" correctly), 
and improves the usage description (describes the -bI0 option, 
doesn't bother mentioning the -m option, 
and reorders the -b sub-option stuff to be more natural).

Except in the one-field-per-card (version A diagnostics) format, 
the new disassembler uses ORG instead of a sequence of DCW and
 DC for large blank areas. Admittedly, this may fail to initialize areas 
that the code intended to initialize. The opposite decision could 
initialize areas the code intended _not_ to initialize. 
Except for the one-field- per-card format, the disassembler works 
from a core image created by simulating the loader part of the deck. 

I may develop a revision that pre-fills the core image with a 
non-BCD character, such as "z", so that "uninitialized" can be 
distinguished from "blank". 
It doesn't yet handle Autocoder- and SPS-format EX cards, 
so disassembling sort7 all in one gulp wouldn't work.

I recommend to build only the DisAsm program. 
The five other programs are all subsumed in it.

I've modified the Makefiles for both programs to have a variable 
named O that is the extension of the object files. 
Its default value is "o". If you have cygwin on windows, make Autocoder using

make autocoder O=obj FC=g95 FOPTS=... LDOPTS=....

Since you're not doing development or debugging, the best values
 for FOPTS and LDOPTS may be -O and empty, respectively.

You may need to strip down machine.f90 to get rid of some 
Lahey-specific stuff, notably the getarg subroutine and the 
reference to and printing of the output from the iostat_msg 
subroutine within the io_error subroutine.

Best regards,



I attach gnuzip-compressed files Autocoder-Linux-2.3.z, DisAsm-Linux.z
and CardList-Linux.z, which are, respectively, version 2.3 of my
Autocoder, a deck disassembler, and a viewer/translator for the column-
binary form (*.crd) in the deck repository in your web.  They are
statically-linked executables for Linux, so users won't need the shared
libraries (DLL's in Windoze-speak) for the Fortran run-time.  Ron can
perhaps provide zip files, say etc, of Windoze
versions.  I recommend an un-numbered list in a web page something like


From Van Snyder

Each one displays its usage if it can't figure out the command line.
If you add an option they don't understand, such as -h, you'll see the
usage. If the Windows version is compiled with g95, the --help option
prints the environment variables that affect how the program runs,
before my program gets a chance to notice that it doesn't understand

I'm happy to send source code to anybody who wants it.

van.snyder AT jpl DOT nasa DOT gov You fill in the ... to your liking. Best regards, Van

return to main page