Sending Data

First, bring up the old BASIC and run BXSND. 64 pages or more should be allowed for BXSND. The XSND utility will prompt for the names of files. Enter one file name per line. Some versions of BXSND will allow an asterisk "*" at the end of the name to specify a directory scan. For example, if "ABC*" is entered, BXSND will look for files beginning with "ABC". This feature is supported on BASICs that may access directories as files. All versions support filelists, which must have an extension of ".f". For BB7, filelists are assumed to be in the /util/fl/ directory. When finished entering file names, just press CR at the FILE or FILELIST.f:prompt.

A filelist can be created on any UNIX system, or on Windows using the MKS toolkit, using the following command:

find . -type f -print >filelist.f

Or under Windows using COMMAND.COM or 4DOS.COM:

dir /s /b >filelist.f

Both of those commands will create a filelist called "filelist.f" containing all the files in the current directory tree (including all subdirectories). Use that filelist in any of the BXSND programs (LISTING.XXX).

Next, BXSND will ask for the name of an output file. This will be the file that will be read by BXRCV. If many programs and data files are being sent at once, this file will need to be rather large, since it must hold all of the information. Depending on the BASIC being used, the user might be asked for a disk number and possibly a file size. If running on a Basic Four with BB3 or BB4, an output file must already exist as an indexed file with record size 128. BXSND will not attempt to create the file itself due to the inability of the BOSS operating system to simply define a file without concern for sector numbers. Finally, BXSND will output each file given while showing its progress on the screen.

Receiving Data

Once BXSND is finished, PRO/5 should be loaded and then BXRCV should be run. Allow about 127 pages for BXRCV. The XRCV utility will prompt for an input file. Enter the name of the file that was created with BXSND. The BXRCV utility will then tell the user which BASIC it believes this file came from. Depending on the BASIC, BXRCV may ask more questions. Finally, BXRCV will ask for an output directory. This directory will be added at the front of the name of each file being received; it requires a trailing slash ("/"). In order to test the validity of the directory, BXRCV will attempt to define a string file called BXRCV.ERR using that directory. If this fails, make sure the drive and path indicated by the directory exists and that unused floppy drives are DISABLEd. A null directory is perfectly valid. (The files will then be created in the current directory.)

Once the directory is entered, BXRCV will read the input file and use that information to build programs and data files. Any errors occurring along the way will be recorded in the string file called "BXRCV.ERR" which will be created in the output directory. These errors will typically be program lines that were invalid for PRO/5. However, BXRCV will also flag the usage of some language features with an error in order to alert the programmer to possible incompatibilities. This will be done by inserting a question mark "?" in program lines where an incompatibility is suspected (such as FID() usage).

The programmer can use BXRCV.ERR as a guide to locate these areas and fix them. This normally should not require any rewriting of algorithms, just a few substitutions. BXRCV.ERR is an ASCII text file. A new BXRCV.ERR file is created each time the convert is run; therefore, if the user wants to run the convert several times to the same output directory, they might want to RENAME BXRCV.ERR each time in order to preserve all error logs.