UltraShell 1.07

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 program.

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.

Exit Code
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 resident.

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.

Optional API
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 complete control.

Reference Manual
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 regular mail.

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 control.)

No Royalties
Distribute program files that have been treated with UltraShell without ever paying any extra fees or royalties.

Our Guarantee
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)

Delivery Options

©1997 - 2013 Information Management Systems, Inc. All rights reserved. Send questions and suggestions to webmaster@infoms.com.