FUSION 2R4A--FUllscreen Simulation by Intercepted Output Nesting
FUSION is a utility for speeding up terminal output in MASM programs. The ERs to PRINT$/APRINT$, TREAD$/ATREAD$, and READ$/AREAD$ are intercepted by means of a procedure. Output images are saved and built up in a buffer. When this buffer becomes full, or a READ$ or TREAD$ is done, the complete buffer is displayed on the screen using an ER SYMB$.
FUSION is best suited for interactive programs that have a relatively small amount of input compared to their output (instructions, explanatory screens, displays of lists and tables, etc.). The fact that FUSION can be incorporated into existing programs with little modification is an additional advantage.
The FUSION package consists of the following:
FUSION$DEF - a MASM Definition omnibus element.
FUSION$/level - a relocatable subroutine to be collected with the program. This contains the code used to manage the FUSION buffer and interface with the user program.
FUSION$BNK/level - another version of the FUSION$ routine, designed to support banking the FUSION buffer and, optionally, some of the FUSION$BNK code. See the section on MAPping and Banking, and the 'BDR' FUSION packet parameter.
FUSION$-AEP$ - two small relocatables for intercepting calls to the EDIT$/AEDIT$ routines EPRINT$ and APRINT$ (see 'EP$' FUSION packet parameter).
FUSION$PKT/GENERIC - a source and relocatable element containing a default packet and buffer that may be included with FUSION programs. (Instructions on generating your own FUSION packet are in a later section.)
FUSION$PKT/GENERIC-INF - the source and relocatable for a packet identical to FUSION$PKT/GENERIC, but with the 'INF' tag set, to accommodate processor calls.
FUSION - a Utility Processor for establishing FUSION usage at your terminal for the duration of a demand session.
PKTGEN$ - a MASM Definition omnibus element required when using the FU$PKT call to generate a FUSION packet.