PowerBASIC Compiler for DOS

Instant TSRs, built-in assembler, new data
types, BCD variables, direct array operations
(sort, scan, insert, delete), fast math, and
many other BASIC firsts make this the new standard
of comparison for BASIC compilers.

And PowerBASIC continues to improve with each
release because our development team listens
to you, our customers. We respond to your needs
at every opportunity. Our latest revision offers
even tighter, faster code, and the ability to
create add-on help files which integrate seamlessly
into the PowerBASIC IDE.

If you are a DOS BASIC programmer who wants
his compiler to continue to improve, PowerBASIC
is clearly the upgrade choice. PowerBASIC is
nearly 100% compatible with Quick Basic syntax,
so the move up to PowerBASIC couldn't be easier.

"BASIC developers who
write DOS applications expect the same from
their programming tools as anyone else does:
powerful language syntax, a high-productivity
development environment, a fast and efficient
compiler, solid documentation, a good selection
of third-party tools, and intangibles such as
the vendor's dedication to the language and
its user base. These are tough criteria, and
almost every product we looked at came up short.
But not PowerBASIC. Our Editor's
Choice in the DOS category, it delivered in
almost every regard."

-PC Magazine

Features

Virtual Arrays
Now you can store your arrays (numeric, fixed-length
string and user-defined type) in expanded memory.
Make room in lower memory for more code and
dynamic string data. Create arrays up to 16
megabytes in size, limited only by available
EMS memory.

Instant TSRs
Create TSRs in an instant with just five lines
of code. A 600K TSR can "pop-down" to a memory
image of just 4K, with automatic memory swapping
to EMS or virtual disk. TSRs can be activated
by practically any stimulus: a hot key, a timer,
inactivity, even a message from a foreground
program. They can be safely uninstalled under
internal program control, or by external request.
Even BIOS keystroke stuffing is available. In
fact, multiple TSRs can activate each other
repeatedly, with two-way communication throughout.

Built-in Assembler
Looking for even better performance? The new
built-in Assembler may be just what you need.
For the first time, you can write Assembler
code and mix it with your PowerBASIC code line
by line. Hand optimize the most critical sections
for absolute performance. PowerBASIC handles
all the details automatically. You can reference
your variables, parameters, labels and functions
by name -- even debut at the CPU register level
in the expanded environment.

Direct Console I/O
As the importance of the Internet grows, so
does the need for DOS programs to communicate
with Web servers. PowerBASIC allows DOS applications
to use Direct Console I/O for communication
with a web server through a CGI interface. Using
Standard Input, DOS programs can read form data
from a web page, process it (such as a database
lookup), and create an output page through Standard
Output for display to the end user.

BCD Variables
Finally you can eliminate round-off errors,
even those associated with currency variables
in other languages. You aren't forced to 4 decimal
places. Instead you make your choice: from 0
to 18 digits, and always with automatic rounding
to the precise level of your needs. In PowerBASIC,
all BCD variables are implemented as scaled
integers for fast calculation.

Array Operations
Built-in Array Sort, Scan, Insert, and Delete,
with optional collate sequencing for international
or special character sets.

Fast Math
An optional procedural float package offers
startling speed. Without a numeric co-processor,
it's 40% to 500% faster than emulation. Yet
it still uses the '87 when available. It's IEEE-compatible,
so you can intermix procedural, emulated, or
'87 specific code as needed.

BASIC Firsts
PowerBASIC is the first to offer both user-defined
TYPES and UNIONS, unlimited dynamic strings,
and a true handle-based string memory manager.
There are code pointers (to any sub/function/label),
conditional compilation ($IF/$ELSE/$ENDIF),
even viewports for screen text display. Then
add Huge Arrays (greater than 64k), Absolute
Arrays (at a specific address), even EXIT FAR
to allow multi-level sub/function exit (beats
the LONGJMP in C, any day).

Structure
Create BASIC programs with any level of structure
desired. Free-form or absolute, the choice is
yours. You can even choose to require variable
declaration before use. Another first for PowerBASIC.

Bit Operations
PowerBASIC offers a full complement of bit operations
including: SHIFT, ROTATE, TEST, SET, RESET,
and TOGGLE. Even implied bit arrays of up to
512K bits are supported.

Communications
Here's where PowerBASIC shines. Serial port
communication is available for COM1 through
COM4. BAUD rates up to 115200. Any combination
of non-standard IRQ lines. Explicit control
of DTR, even after program termination. Automatic
error detection or masking is available, with
optional flush of erroneous data.

IDE with Mouse Support Use true compiled code to develop and debug -- the same code
as your EXE file. So you'll never need to deal
with a slow, threaded p-code interpreter. That
means faster development, and the elimination
of subtle differences between interpreted and
compiled results. You can easily customize colors,
keystrokes and compile options to suit your
personal taste. If EMS is present, the editor
will store your source code and help files in
higher memory to make room for larger programs
during debugging.

Third Party Tools
The most powerful and respected tool kits are
available to PowerBASIC users. Libraries from
companies like Crescent, Information Management
Systems, Ansoft, and others make PowerBASIC
the most comprehensive BASIC compiler available
today. A superb monthly newsletter (Basically
Speaking) offers timely advice and examples
specifically aimed at the PowerBASIC programmer.
In a nutshell, with PowerBASIC, you'll never
need to re-invent the wheel.

Help and Support
PowerBASIC includes extensive printed documentation
-- over 700 pages of Programmer's and Reference
Guide. Then, the context-sensitive on-line help
system puts further detail right at your fingertips
just when you need it most. Perfect for the
novice or the professional developer. Technical
support is available from our engineering staff
by telephone, email, mail, fax or our Web based
message forums. PowerBASIC revolutionizes BASIC
by introducing true Pointer variables for the
first time in any BASIC programming dialect.
Now with the addition of Pointers, BASIC has
all the important features of the other major
programming languages like C and Pascal.

"Up to now, BASIC programmers couldn't take
advantage of the power of Pointers," explained
Bob Zale, president of PowerBASIC, Inc. "Our
goal is to continue to add to the power of BASIC,
while at the same time maintaining the ease
of learning and ease of use that are traditional
with the language. Many programmers are now
migrating to PowerBASIC from C, and they require
Pointers to translate their code. Since we are
a customer driven company, we've introduced
Pointers into the latest version of PowerBASIC."

PB/DOS also allows underscores in variable
names, enhanced communications support, including
support for the 16550 UART chip,and added optimizations
in speed when performing DWORD math. In addition
to improvements in the compiler itself, PowerBASIC,
Inc. has enhanced the online context-sensitive
help system by adding information on Code and
Data Pointers, providing more importable source
code examples, and expanding the information
on all of the extensive data types (15 in all)
supported by PowerBASIC. The two-volume documentation
has also been revised and enhanced to aid in
the functionality of this revision.

"The true power of Pointers is in their speed
and flexibility," reported Bruce Tonkin, noted
software industry journalist and programmer.
"A pointer is a variable that holds a 32-bit
(4-byte) address of data located elsewhere in
memory. It is called a pointer because it literally
points to data. The data that is being
pointed to is referred to as the target.
Since the address is defined at run-time, any
target in memory can be referenced by the program
just as if it were a standard PowerBASIC variable."

Traditionally, a BASIC programmer had to use
combinations of DEF SEG, PEEK, and POKE to access
memory. Allowing the programmer to address memory
as bytes, integers, long integers, and strings.
If the target data took any other form, conversion
was necessary.

Pointers allow the programmer to address the
target memory location in any fashion desired.
Even as pre-defined structure. Now with PowerBASIC,
calling DEF SEG and PEEK/POKE is unnecessary,
so the programmer has access to that data much
more quickly.

In addition, Code Pointers allow a programmer
to call a SUB or jump to a label without needing
to know its name. The CALL DWORD extension allow
programmers to call subprograms by address and
pass up to 16 parameters by reference.

Source code examples have been enhanced, and
additional examples have been added. Including
source code to useful programming utilities,
such as a text searching engine, a text file
browser, a source code formatter, a 'whereis'
utility for finding files anywhere on your hard
drive, and our popular QuickBASIC to PowerBASIC
conversion utility.

Minimum System Requirements

IBM PC/XT or compatible running DOS version
3.30 or later

512k of RAM

4 MB of EMS memory is recommended for optimal
compiler performance.

A hard disk with 1.8 Mb available (4.5 Mb with online manuals).

Adobe Acrobat Reader version 5 or later
(for reading online manuals).

CD-ROM drive or Internet connection (for installation)

It's important to note that 64-bit versions of Windows (Win7-64Bit,
WinVista-64Bit, Win 2008 Server) no longer support DOS programs.
For these versions, you should choose PowerBASIC Console Compiler
instead. It offers a very similar syntax, yet creates true Windows
executable programs.

PowerBASIC 3.5 for DOS is available for $99.
The upgrade from PowerBASIC 2.x and 3.x to
version 3.5 is just $49.
Click here for more information about upgrades.

Documentation is included as Adobe Acrobat PDF files. The
Adobe Acrobat Reader requires Windows and
is available free for downloading from
Adobe Systems
Inc. Printed PB/DOS manuals are available
for $29.