Changes in FUSION 2R4A
- Add 'FCR' FUSION parameter, to function as 'FCX' but with a specific FCC, to
be used when a terminal's default background doesn't match the current
FUSION program's. This FCC will also be used when clearing the screen to
avoid background clashes.
- Add [A]PRINT$/[A]PRTCN$/[A]PRTCS$/[A]READ$ proc definitions to FUSION$
element to ensure they only generate 2 words instead of 3.
Changes in FUSION 2R4
- Add ability to bank FUSION buffer and, optionally, part of FUSION$ code.
This includes adding FUSION packet argument 'BDR' and new routine
FUSION$BNK. (Older programs may need to include FUSION$ explicitly if they
were not, to avoid MAP ambiguities.) See new section, "MAPping and Banking".
- Add new action to 'PSX' reply table: 2 - Suspend pausing and continue.
- Enhance 'FCM' parameter: if stored negative, force 'FCX'.
Changes in FUSION 2R3D
- Use TS/TCS protocol when using synchronized AREAD$/APRINT$ for forced
transmit to read screen size. Also, ensure forked activity unlocks cell
after TS acquires it from main activity's lock.
- Above changes also made to SCRSIZ$/SCRLIN$ routines.
- The method of ER interception for the three library routines that use it --
FUSION, PIPE$, and ERPFX$ -- has been reorganized to facilitate using more
than one of them in a single program.
Changes in FUSION 2R3C
- Add EOF condition test to 'PSX' reply table.
- Clarify documentation for 'PSX' reply table.
- Add 'FCM' parameter, to set right margin for FCC cutoff ('FCX').
- A$EFCC proc was remaining in $ASCII mode if called in $FDATA mode.
- Internal prompt line garbled if timed printing in effect in @@INS mode.
- @FUSION,O was not always getting the correct current insert point.
Patched FUSION 2R3B - 2009/03/25
- Fixed bug that would cause the FUSION Utility Processor to hang if it could
not read screen data on an O option call. Will now print message and exit.
Patched FUSION 2R3B - 2008/12/18
- FUSION Utility Processor was not correctly showing Y option or DB2
parameters on @FUSION,R.
Changes in FUSION 2R3B
- Add the 'TIM' parameter, to define the maximum milliseconds that may elapse
without clearing the print buffer. Also add the FU$TIMCLR utility proc to
check if 'TIM' has elapsed when no print has been done.
- Fix bug that could erase bottom line if a FUSION program got a hard EOF when
in @@INS mode.
Changes in FUSION 2R3A
- Improve how FUSION$ exits from a program in @@INS mode when using FU$EXIT.
In some cases the bottom screen line could be erased.
- Create separate FUSIONPKT for FUSION Utility Processor with absolute row and
column maximums set to 80 and 256. This will improve initializing FUSION on
terminals with more than the standard 24 X 80 limits. It will eliminate the
need to hard-code rows and columns on the @FUSION call, provided the
emulator and EXEC both recognize current rows, columns, and insert point.
- Improve SCRSIZ$ and SCRLIN$ routines to use only one line when obtaining
screen size. SCRLIN$ also now returns screen columns in A1.
Patched FUSION 2R3 - 2008/02/06
- Fixed bug that could lose a line when a FUSION program in FULL mode FU$EXITs
after scrolling some lines (vs. clearing the screen), and the new tag 'ERD'
(AREAD$ on exit, also set by @FUSION Q option) is set. This would only have
affected programs generated with FUSION 2R3 that used this new feature.
- Clarify in the documentation that 'ERD' applies only to FU$EXIT, not to an
intercepted ER EXIT$.
Changes in FUSION 2R3
- Added ability to split very large buffer into two or more ER SYMB$ calls.
- Allow 'MAX' value of n to reserve n times the maximum buffer size (3071).
- Increased absolute maximum rows ('RMX') from 63 to 80.
- Added FU$FCCSU and FU$FCCRE procs to suspend and resume a terminal's
FCC capability. This is intended for FUSION programs that use PIPE$.
- Added 'D' and 'P' to A$EFCC emphasis string characters, denoting
time-shifted emphasis FCCs to be applied either following the next text
character or before the previous one. Also added 'B' to leave consecutive
blanks as they are in preparation for 'D' or 'P'.
- Expanded meaning of 'PSX' parameter to allow coding the address of a table
of possible replies and actions to the internal pause message.
- Added 'XXC' tag to discard FUSION buffer on next clear due to interrupt.
- Added 010, 020, and 040 values to 'FIL' parameter to specifically bypass
@@INS mode, 'CTC', and FCC bits from the FUSION$FLAG file.
- Reorganized 'CTH' bit definitions to add bit for display of 0200-0237.
- Added '2' to Fusion Utility Processor's call field (eltname) to enable the
display of characters 0200-237. By default they are replaced with 'CRH'.
- Replaced 'CTL' value for replacing high value and control characters with
'CRH' for values over 0177 and 'CRL' for values less than 040. 'CTL' may
still be used; it will apply to both 'CRH' and 'CRL' if set in the FUSION
packet, or to 'CRH' only if set by FU$SET.
- Added ability to supply rows and columns to FUSION Utility Processor.
- Added 'ERD' FUSION packet parameter, to force an AREAD$ on exit, regardless
of whether the screen is cleared or scrolled up.
- Added Q option to FUSION Utility Processor to set 'ERD' in FUSION programs.
- Added O option to FUSION Utility Processor to create SGS screen info file.
- Eliminated 'QRY' parameter that makes FUSION$ ask user whether to use full
screen. This is best handled by the program or the FUSION Utility Processor.
- Changed default location counter of FUSION buffer to 2, vs. 0 for packet.
Patched FUSION 2R2K - 2006/02/24
- Fixed bug that in cases of an internal pause receiving an EOF when
intercepted ER SYMB$ PRINT$s filled the screen, could cause the next PRINT$
to have an incorrect character count, resulting in truncation or garbage.
Changes in FUSION 2R2K
- Changed default FUSION mode to partial (vs. full). This was done after the
default mode had been full for some time, based on users' complaints about
losing the bottom screen lines when calling a FUSION program. Although the
FUSION Utility Processor can be called to set up either mode for the
duration of the session, it's probably better if full mode is an "opt in"
rather than an "opt out" choice.
- Added option, currently on, to use APRINT$/AREAD$ vs. ATREAD$ when doing
forced transmits to determine screen size, and coordinate them via TS.
- Added 'FIL' value of 4 to retrieve terminal type & screen size only.
- Added ability to include tab stop with an internal FCC.
- Revised control character handling and 'CTH' parameter to allow controlling
the display or replacement of all characters in the ranges 01-037 &
0177-0377. 'CTH' defaults to 010, which is compatible with previous levels
except that 0177 is now displayed, usually as a solid block.
- Added ability to force use of alternate bar and/or dash characters using
FUSION Utility Processor: @FUSION,F [BD]. This way a FUSION program can use
them without having to be modified.
- Revised generic FUSION packets to use defaults from FUSION$DEF and remove
an obsolete parameter.
- Cancel color FCCs at end of internal pause so rest of screen not affected.
- Fixed bug that could clobber data when reading forced transmits.
- @FUSION,R would not correctly display B option if set.
- Improved EOF handling in SCRSIZ$/SCRLIN$ routines.
Patched FUSION 2R2J - 2004/10/01
- Ensure scroll values current at start of FU$BUFCLR.
Changes in FUSION 2R2J
- Added 'RSZ' parameter, to cause a program to read a terminal's size directly
from the screen. Extended cursor addressing used for reading or positioning
beyond column 80.
- Added 'MAX' parameter, to set maximum sizes for 'RMX', 'CMX', & buffer size.
- Increased maximum buffer size to system limit of 3071.
- Added screen size to FUSION's status line & FUSION$FLAG file's qualifier.
- Redid code for calculating and using scroll threshold. Redefined 'SCR'
parameter as on/off flag & introduced 'SCF' parameter. 'SCF' & 'SCI' now
both default to 0, so any programs that explicitly set any of these three
parameters may need to be changed.
- Scroll 1 less line at first FU$BUFCLEAR after initializing, if scrolling.
- Changed granularity of 'PSE' parameter from seconds to half-seconds. This
only affects programs that do consecutive non-TREAD$ PRINT$s; e.g., ZIP.
- Handle FU$EXIT better if final output scrolls; next XMIT rolls fewer lines.
- Added 'IRD' parameter, to allow prevention of @@INS default reset.
- Added non-FUSION routines SCRSIZ$ and SCRLIN$, to obtain current screen
size and insert point from any program.
- Reorganized HELP lines in FUSION Utility Processor.
Changes in FUSION 2R2I
- Use ER DMGC$ vs. ER PCT$ to obtain run type and breakpointed status.
- Change CTH parameter default to 0.
- Modify two instructions that were storing a row value in a sixth of a word.