Please enable JavaScript to view this site.

A-Shell Development History

1. Internal redesign of user memory (now "Version 1.1") to resolve problems arising from additional uses introduced in 805.  You must use the new 2.2 versions of DEL.LIT, MAP.LIT and LOAD.LIT to be compatible with A-Shell build 806.

2. MAP.LIT 2.2(105) improvements: See MAP/? for information. (You'll need the updated LITMSG.xxx files which come with this release.)

3. TRMCHR.SBR now returns an additional 5 fields if they are present in the second calling argument:

XCALL TRMCHR, TC'FLAGS, TC'INFO

MAP1 TC'INFO

MAP2 TC'FLAGS,F,6

MAP2 TC'ROWS,F,6        ! # of rows on the screen

MAP2 TC'COLS,F,6        ! # of columns on the screen

MAP2 TC'COLORS,F,6      ! # colors trmnl supports

MAP2 TC'FORE,F,6        ! Screen's foreground color

MAP2 TC'BACK,F,6        ! Screen's background color

MAP2 TC'WINROW,F,6      ! (New) (Undefined)

MAP2 TC'WINCOL,F,6      ! (New) (Undefined)

MAP2 TC'TSL,F,6         ! (New) top status line length

MAP2 TC'USL,F,6         ! (New) bottom unshifted length

MAP2 TC'SSL,F,6         ! (New) bottom shifted length

4. (WINDOWS) Programmable AutoMouse Translations now implemented.  This is an extension of the default AutoMouse capability whereby left-double-clicking will transmit the "token" (delimited by any non-alpha, non-numeric characters) under the mouse.  The programmable capability extends this by allowing you to define an arbitrary number of patterns and the corresponding translation bytes that will be transmitted when the pattern is left-double-clicked.  To accomplish this, use XCALL MIAMEX,112 as follows:

XCALL MIAMEX,112,OP,STATUS,FLAGS,S1,T1,S2,T2,...S10,T10

where OP (numeric) is one of the following:

0=add (or create new) translation list

1=clear existing translations

2=temporarily disable translations

3=re-enable translations

The remaining arguments are only needed if OP = 0.

STATUS (F,6) returns 0 on success, else an error code.

FLAGS (numeric) affect the way the translations work. Currently the only defined flag value is 1 which indicates that the translation is not case sensitive.

S1...S10 are strings representing the text which may appear on the screen, to be clicked on and translated (to the corresponding T1..T10 value.)  Note that these strings may contain spaces and other non-alphanumeric characters which would otherwise be considered delimiters.  The maximum length  of an individual string to be translated is 132 bytes.

T1...T10 are strings that contain the bytes to be transmitted if the user clicks on the corresponding string defined in S1 thru S10.  The maximum length for these is also 132 bytes.

The translation strings can also be passed as F or B variables, in which case that translation is limited to one byte.

You do not have to specify all 10 pairs of patterns and translations.  (All but the first are optional.)  Interpretation of the parameters will stop at the first null Sx string.  You can call this routine multiple times with OP=0 to add as many translations as you like.  Note that you can change the FLAGS value on each XCALL, as it affects only the translations defined by that XCALL.  Currently the translation buffer can hold up to 4096 bytes (including the pattern strings and the corresponding translations.)

For example, consider:

xcall MIAMEX, 112, 0, STATUS, 0, &

"1. Add Transaction", "1"+chr(13),  &

"2. Change Transaction","2"+chr(13), &

"3. Delete Transaction","3"+chr(13), &

"4. Post","4"+chr(13), &

"ESC to Return to Menu",27

This might make sense in a menu program which feature those options. While the default AutoMouse translations would handle the numeric options in this menu automatically, you would have to click right on the numbers.  After the above call, the user would be able to click anywhere, for example, on "1. Add Transaction" to transmit a "1" followed by a carriage return.  Clicking anywhere on the string "ESC To Return to Menu" would send an ESC.  (Note we can specify the chr(27) for ESC simply as 27, since it is a single byte value. The multi-byte translations require a literal or mapped string, or a string expression.  See the latest MIAMEX sample program for another example.

5. (WINDOWS) OPTIONS=NOAUTOXLT now affects the PageUp/PageDown keys in addition to the END key.