Please enable JavaScript to view this site.

A-Shell Development History

Navigation: Version 4.6, builds 699-791

758.1 — 8 December 2000

Scroll Prev Top Next More

1. Fix another problem with XCALL AMOS and OPTIONS=AMOS_RUNSBR with commands that start with neither RUN nor ORUN. (They weren't getting executed at all.)

 

2. Expand reach of OPTIONS=AMOS_RUNSBR to handle nearly all LIT commands specified to XCALL AMOS (or the BasicPlus AMOS statement) within the current process. (Previously only RUN and ORUN were eligible for this treatment.) The only commands that cannot be handled within the current process are command files and DO files (whether or not preceded by "DO" or "MDO". These will always execute in a separate job/process.)

 

In order for a command given to XCALL AMOS to be processed within the current job, the command must begin with a simple filename (e.g. "ERASE", "RUN", "SET") with no colons, commas or brackets prior to the first blank space or / in the command line. A-Shell then checks to see if there is a SYS:cmd.LIT for the specified cmd. If so, (and assuming OPTIONS=AMOS_RUNSBR was set) then it executes the entire command as a subroutine within the current job/process. Otherwise it does it the old way, by launching a new temporary process/job.

 

Because the new method is much faster and more similar to the way XCALL AMOS works under AMOS, we recommend that virtually everyone set OPTIONS=AMOS_RUNSBR. (The sample miame.ini has been updated accordingly, but we didn't change the default so as to not introduce unexpected changes into existing applications.)

 

Some differences to be aware of when using OPTIONS=AMOS_RUNSBR are:

 

A. Since the command is running within the current job, it shares the jobname, jobnumber, file locks, and other environmental conditions of the calling program. And on return, the calling program may inherit changes made by the subroutine. For example:

 

 XCALL AMOS,"SET HEX"

 

Without OPTIONS=AMOS_RUNSBR, this would do nothing because the  change would only affect the temporary job that was launched to  run the command. But with OPTIONS=AMOS_RUNSBR, the new hex status will affect the calling program.

 

B. Although in either case, the command specified to XCALL AMOS is given its own memory space, the default sizes are different. If OPTIONS=AMOS_RUNSBR, then the default size is 360K but  may be overridden by adding a second size to the MEMORY= statement in miame.ini. (See the notes for edit 746 below.) Otherwise the command gets a fully sized partition, using the size specified as the first number following MEMORY=.

 

3. As a side effect of the above changes, the default memory allocation for SBX's (XCALL routines written in Basic) is now 360K as well (up from 128K). Also, a problem with using the ERASE command and multiple files in the BasicPlus AMOS statement has been fixed. E.g. AMOS /S "ERASE X.LST,Y.LST" now works.