1. A-Shell/Linux now includes the SWPSBR.SBR and VUESCR.SBR. These were part of the "Swap" package under AMOS, and were previously included only in the OpenServer version of A-Shell. The calling formats are as follows:
XCALL VUESCR, ST, ROWS, COLS, STROW, STCOL
This edits a rectangular text region (similar to INMEMO). ST must be mapped as an array of ROWS elements, each COLS of bytes long. The text is supplied and returned there.
SWPSBR has many calling formats, and performs various screen tracking-related operations. Note that A-Shell includes its own screen tracking system (TRACKER) so the functions described here are implemented using that system rather than the Swap system.
XCALL SWPSBR, 0, ACT
returns "Y" (supposedly "SWAP" is active, but we are assuming that screen tracking is the relevant feature)
XCALL SWPSBR, 7, SROW, SCOL, EROW, ECOL, SIZ
ignore this call since we don't need to map any buffer with TRACKER
XCALL SWPSBR, 3, SCREEN
XCALL SWPSBR, 3, SROW, SCOL, EROW, ECOL, SCREEN
saves entire screen (first example) or specified box (second example)
XCALL SWPSBR, 8, SROW, SCOL, EROW, ECOL
restarts attributes on right side of box (not currently implemented)
XCALL SWPSBR, 9, SROW, SCOL, EROW, ECOL
clear box
XCALL SWPSBR, 1, SROW, SCOL, EROW, ECOL, SCREEN
XCALL SWPSBR, 1, SCREEN
restore window or entire screen
XCALL SWPSBR, 128, SROW, SCOL, EROW, ECOL, FLAGS
FLAGS: B=BORDER, T=TAG R SIDE, C=CLEAR, O=BORDER TCRT, I=TEXT TCRT
ex: XCALL SWPSBR,128,SR,SC,ER,EC,"T,C,B,O=162,I=158"
do several actions
XCALL SWPSBR, 129, SCREEN, "FILESPEC"
save screen, vue file, restore on exit