MMO'SVA:  Save Screen Area

Bit value:  131072

This opcode tells INMEMO to save a copy of the screen area to be covered by the memo prior to putting the memo up on the screen. (As of release 2.0, INMEMO only supports the AM72 save and restore area TCRT's and any emulator, such as the Tracker or A-Shell.) If INMEMO cannot fulfill the save area request (because the appropriate support hardware or software is not present), it will continue to perform the operation specified by the remainder of opcode, and will return the exit status, MMX'SAF (Safe Area Failure) in the EXTCOD variable (if the EXTCTL parameter is specified.) Your application should use this information to trigger some other method of restoring the screen display.

Note that opcode MMO'SVA can be combined with other opcodes (such as MMO'EDT or MMO'DSP) or used by itself. It must be coupled eventually, though, with a call specifying opcode MMO'RSA to restore the saved area. The memory used to store the saved areas (whether inside the AM72 or in system memory) is handled like a stack - the last area saved will be the first one restored. If you don't issue a restore request for every save area request, you will eventually fill up the memory allocated, thus disabling the feature. Also note that in the case of the AM72, no error is reported by the terminal to indicate that its save area buffer is full. (The terminal has enough memory to save the equivalent of 1 entire copy of the screen.)

Also note that if using Tracker on a field terminal (like an AM62A or Wyse 50), and extra blank column will be used on either side of the memo box in order to prevent field attributes from spilling over into the memo area.