README.TXT      30-Jan-2010

XPLPX is a 32-bit optimizing compiler. It generates code that runs
significantly faster than previous versions of 32-bit XPL (such as XPLP),
and it generates much faster floating-point code than even the optimized
version of 16-bit XPL (XPLX). This, along with its built-in hi-res VESA
graphics, makes it ideal for writing animated graphic demos and computer
games.

It is assumed here that you are familiar with XPL0. If not, you should
probably look at the 16-bit version first.

XPLPX compiles programs that run in 32-bit protected mode. It uses a
built-in DOS extender called PMODE. A DOS extender is an interface
between DOS, which runs in 16-bit real mode, and XPL code, which runs in
32-bit protected mode.

XPL0 programs run under DOS and, usually, all versions of Windows. The
exceptions being programs that use graphics modes and attempt to run
under Windows Vista or Windows 7.


REQUIREMENTS

  * TASMX 3.1 (MASM 6.11 is required to assemble NATIVEPX)
  * TLINK 5.1, Borland's Turbo Linker (Microsoft's LINK won't work)
  * '386 PC (or better)
  * '387 math coprocessor (or '486-DX, or better)
  * DOS 4.0 (or later)
  * At least 2 megabytes of RAM

Today's Pentiums and Athlons are way more than sufficient.


USAGE

The files in this distribution package should be copied into a directory
called CXPL on your C drive (C:\CXPL). Most XPL programs expect to find
the file CODES.XPL in this directory.

You must have an assembler and linker, such as Borland's TASMX and TLINK.

Once your system is properly configured, programs can be compiled by
simply typing: "XPX filename", where "filename" is the name of an .XPL
source file. For example: XPX BIGSIEVE

XPX is a batch file that compiles, assembles and links to form an .EXE
file.

Some example programs are included to help get you started.

BIGSIEVE is the classic Sieve benchmark but with a 1-million byte array.
The answer, by the way, should come out to 148933 primes.

HD is a utility that displays a Hex Dump of a file. Run: "HD filename.ext".

XPONG is a short demo using graphics and floating point.

RAY is a ray tracer that demos 24-bit color. The viewpoint can be shifted
using the arrow keys. The "<" and ">" keys (both shifted and unshifted)
move forward and back. The "I" key (both shifted and unshifted) adjusts
the index of refraction of the glass balls. Hit Esc to exit.

KALITOR displays a kaleidoscopic torus in 16 million colors. This demon-
strates the Paint intrinsic (81), which is the key for fast, animated
graphics. The arrow keys adjust the size of the window. To get fast speed
on a slow processor, it might be necessary to shrink the window.

VMOUSE shows how to make a mouse pointer work with VESA graphics.

Finally, a very extensive example is the compiler. XPLPX can compile
itself.


LICENSE

XPLPX and its related programs are free; you can redistribute them and/or
modify them under the terms of the GNU General Public License version 2
as published by the Free Software Foundation.

They are distributed in the hope that they will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
details.

You should have received a copy of the GNU General Public License along
with this code (in the file LICENSE.TXT); if not, write to the Free
Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.



I'm always glad to hear from people who use XPL0. If you have any
comments, problems, suggestions, or especially bug reports, please email
me at: loren.blaney@idcomm.com

Updates can be downloaded from:
http://www.idcomm.com/personal/lorenblaney/

Thanks for your interest in XPL0!

-Loren Blaney
