(AAAREADME.AAA) Machiavelli Systems / Wittenoom and Associates B4S" and "BASIC MINUS 2" B4S is a preprocessor set up by Dean Elsner in an attempt to make BP2 compile and run at a finite speed and fit into a reasonable area of disk at a time when both time and space were critical. There would be little justification for taking such a course on today's hardware. However at the time (1982) it was a lifesaver. It could still be of great use to those with old, small, slow systems who are using Basic Plus 2.. B4S takes a file of basic code without necessarily any line numbers. It inserts its own numbers as required, taking note of any numbers which may have been included. This means that spource modules can be made more easily portable, as line numbers can be effectively ignored in most cases. B4S makes provision for "include" pre-processing, by including the name of the required file in curly brackets. e.g.: {BL:[101,5]FNFCSCHK.B4S} This is very useful in the case of large MAP or COMMON definitions which must be included in each of several modules. A key link in trying to make Basic Plus 2 acceptable was to throw out RMS and write a series of BP2 and MACRO subroutines using the FCS routines for file access. These have proved very successful in the relatively straightforward world of engineering where there is no great need for ISAM capabilities. These routines and the relevant libraries are in [274,101]. AS number of "include" modules treated as library modules are in [274,105]. This system is referred to as "BASIC MINUS 2" (BM2). Typically, task file sizes were reduced by anything up to 75% (e.g. from 240 blocks using RMS to 60 blocks using BM2. Task builds sped up by a substantial amount (measured in cups of coffee). A full example of how the basic minus 2 system is used is given in [274,6]. This area includes the sources for a Hardy Cross network analysis utility written in "BM2" as an example only. Much of our site's forward programming is in DECUS-C. However BM2 is still used almost all the time by our young draftsmen for routine engineering software development. We often find that the quickest way to get something up and running is to throw it together in B4S and when you know what is actually required, re-write it properly in C. Meanwhile, your office has been making money with the interim B4S utility. There have also been a number of times when I have faced a delivery deadline of 8 a.m., abandoned the C code in which I have been trying to follow pointers off random parts of the end of the earth, and written a quick hack in BM2 which worked slowly but adequately in the morning. Richard Wittenoom Phone 09-3-222-777