8-Bit Software Online Conversion

The Treasurer's Companion Overlaid by D. Ambrose Issue 39 contained a program MERGE, a utility I use in a program to keep track of the members of the society of which I am Treasurer. The original program, which achieved the objects for which I devised PROCmerge and PROCovly in a much less satisfactory way, was published in Beebug - 1991, Vol.9 (9) p.10. Here, by request, is the program revised in accord with my present greater experience and made fit for inspection by others. Although the Editor of Beebug, Mike Williams, accepted my program for publication (and was most helpful with some details of programming that I then had not mastered), he obviously thought my method of entering the details as DATA unorthodox. May be it is, but I much prefer to have them in a form that is immediately and easily accessible by use of normal BASIC commands (and can be transferred to EDIT, which is useful when it comes to the end of the year and all subscription entries have to be cancelled) rather than to use a "file" that requires a special program to write it, and another program to read it - and which, as I understand, one can never view easily as a whole. I have studied "File Handling for All" from Beebug and have not been tempted to change from the method used here that I have found entirely satisfactory. However, change there has been - first in a triviality, that I did not allow for sufficient components in the addresses, and my current program includes one extra - and second, in the method of appending the DATA blocks to the program. The program ADDRESS now offered uses PROCovly that was illustrated in my program MERGE and will successively append and READ from DAT1, DAT2 and DAT3. When the program is RUN I think the questions screened explain adequately what is on offer. If anyone else wanted to use the program he would almost certainly have to amend it to meet his needs, and I do not try to imitate the professional in providing fancy menus. I do not like them and generally remove them, if it is simple to do so, from programs I use that were written by others. Explanation of what is required in the DATA will be found by LISTing the first few lines of the program and examining DAT1, etc. The majority of my members live in only two towns, which I may as well reveal, thus providing the only connection of my DATA with reality, as Kingston upon Thames and Surbiton. I have arranged for these to be abbreviated to a single letter in the DATA and expanded when printed according to line 150. This has two versions of Kingston because "upon Thames" is not needed for my membership list but is added for printing labels for the postman to read. I have a monochrome monitor and always operate in paged (VDU14) mode 131 but have changed to VDU15 for printing. The program then counts lines (E%), stops at the end of the page when E%>=55 (line 1670) and awaits a key press (A=GET) after the insertion of a new sheet, before continuing. A third change to the original program is the addition of *FX15,1 in line 1680. I do not use continuous stationery and the FX command prevents the computer remembering that I have pressed a key too long and continuing to print after reaching the end of the page. My printer is arranged to print a pound symbol when hash appears on screen. I use labels 70 by 36 mm, three abreast, and have found their use to require some care. (I have had to dismantle the roller of my printer more than once because I got a label stuck to it.) Hence A=GET in line 1950, so that only one row is printed at a time. Those with more skill or confidence could alter this. Finally, I should say that my Master has a 65C102 coprocessor and now has room for all my DATA in memory at once. I actually use a program incorporating PROCmerge that was in my previous contribution to append the DATA blocks one after the other, where they remain until I have completed my operations. It is still convenient to keep the separate DATA blocks becaue they are then small enough to load into EDIT.