Now you can swap your programs out of conventional memory during a shell,
providing maximum memory for the child program! UltraShell modifies .EXE
files created by PowerBASIC 3.0 or later, intercepting every call to the
SHELL statement to provide enhanced shell services, including swapping to
XMS, EMS, or disk and returning the errorlevel and exit code of the child
Swap Out During a Shell
During a normal PowerBASIC shell, your entire program (code and data)
is kept in memory while the "child program" runs. Obviously, if
either your PowerBASIC program or the child program is large, you
will run out of memory. By contrast, UltraShell swaps your program
(code and data) out of conventional memory during a shell, leaving
less than 4k resident. That means child programs have a lot more
memory available during a shell.
Uses XMS, EMS, or Disk
By default, UltraShell swaps your program and its data out to XMS,
EMS, or Disk, in that order of preference. Using the optional API,
you can direct UltraShell to ignore any of those options, however.)
During a normal PowerBASIC shell, the errorlevel set by the child
program is irretrievable, making it difficult to test for successful
completion of the child program. UltraShell allows you to read the
errorlevel with a simple function call.
UltraShell can also tell you how a program ended. It detects normal
termination, termination by the user pressing Ctrl-C, termination by
a critical error handler (e.g. the user selects Abort to the "Abort,
Retry, Fail" prompt), or if the program terminated and stayed
Easy to Use
After compiling your program, just run the UltraShell program. It
will add the swapping code to your .EXE file and alter the runtime
library to send all SHELL calls through the UltraShell engine. The
UltraShell code only adds about 5k to the size of your .EXE file.
UltraShell includes an optional API that you can link into your
programs to give you even greater control over your shells.
Graceful Error Handling
If there is insufficient XMS and EMS memory and not enough disk space
to create a swap file, UltraShell performs a normal PowerBASIC shell.
If the child program requires a lot of conventional memory, you can
use an API call to disable this feature. With UltraShell, you get
The Reference Guide explains how to use UltraShell, lists the four
UltraShell fatal error messages (and explains what they mean and what
conditions cause them), and documents the functions calls in the API.
Free Technical Support
Our staff is available to answer your technical questions via
telephone, fax, e-mail, or
No Extra Code
Add UltraShell to your .EXE files without adding a single line of code.
(You can, of course, link in the optional API to give you greater
Distribute program files that have been treated with UltraShell
without ever paying any extra fees or royalties.
All of our PowerBASIC Add-On products carry an unconditional, 90 day money
back guarantee, including shipping charges! No return authorization
numbers, no restocking fees, no hassles, no hard feelings, and no
risk to you.
Price: $59.95 (plus shipping and handling)
Requires: PowerBASIC (DOS) 3.0
UltraShell Revision History
Download a demo!
UltraShell API version 1.07 (usapi.obj)
©1997 - 2013 Information Management Systems, Inc. All rights reserved. Send questions and
suggestions to firstname.lastname@example.org.