Full Description of File
PCX2TPI - A programmers tool to convert 16-
color PCX images into a format that can be
linked into a Turbo Pascal program and
displayed with the PutImage() procedure.
Includes an example program with source code.
Requires Turbo Pascal and BINOBJ.EXE.
Shareware from Bob's Software.
Keywords: PCX TURBO PASCAL PROGRAMMING BOB
Author: Bob Hayes;Version: 2.0;Date: 12-29-92
Contents of the PCX2TPI.DOC file
PCX2TPI.DOC -- Copyright 1992 Bob Hayes. All Rights Reserved.
PROGRAM NAME: PCX2TPI - .PCX to Turbo Pascal Image File Converter
RELEASE DATE: 12-29-92
PURPOSE: To convert 16 color PCX images into a format so that
they can be linked into the executable and displayed
REQUIREMENTS: Turbo Pascal and BINOBJ.EXE (supplied with Turbo Pascal).
USE: PCX2TPI FILENAME
where: FILENAME (optional) is the PCX file to be
converted. If the filename is not supplied
on the command line, you will be prompted for
one. The file must be in the current directory.
PCX2TPI will convert 16 color PCX images into a format that will allow
them to be linked into the executable and displayed with the Turbo Pascal
PutImage() procedure. There are benefits for including the graphics that
your program needs in the executable. First of all, the user can not
accidently delete a needed graphic file. Second, your graphics are more
difficult for someone else to use. If you are writing games, or any kind of
program that requires graphic files, you will find PCX2TPI a useful tool.
The files produced with PCX2TPI have been tested with Turbo Pascal versions
5.0 and 6.0. They may work with Turbo Pascal 7.0 and with Turbo C, no
The PCX files must be 16 color images with 1 bit per pixel and 4 color planes.
Because of the 64K limit on the size of a segment, an object linked can not be
bigger than 64K, so there is a limit to the size a graphic can be. For
PCX2TPI that limit is 64,000 and the product of the number of color planes
multiplied by the number of bytes per line multiplied by the vertical size (in
pixels) of the image (an image about 400x300) can not be greater than 64,000.
You can use READPCXH, a utility included with PCX2TPI, to check if your file
meets these requirements. Basically you can't have a full 640x480 screen
(640x200 is at the limit). If you don't have enough space left in you
programs main code segment, you can link the graphic into units (see the
The Shareware version of this program only allows conversion of one file at a
time and displays a "reminder", with a 5 second delay, when you exit the
HOW TO USE PCX2TPI
Included with PCX2TPI is an example with source code, for purposes of
illustration those file names will be used.
1. Create or convert a graphic using a program that will produce 16-color
PCX files. The example uses two PCX files: GRAPHIC1.PCX and
2. Run PCX2TPI for each PCX file to convert. The file produced will have
the same name as the PCX file, but the extension will be TPI. NOTE: You
will not be prompted if the file already exists, it will be over
written. For the example the two files will be GRAPHIC1.TPI and
3. Run BINOBJ for each TPI file. Refer to your Turbo Pascal documentation
for more info about BINOBJ. For the example the two command lines are:
BINOBJ GRAPHIC1.TPI GRAPHIC1.OBJ GRAPHIC1
BINOBJ GRAPHIC2.TPI GRAPHIC2.OBJ GRAPHIC2
This produces the two files GRAPHIC1.OBJ AND GRAPHIC2.OBJ with the
necessary stuff so that they can be linked into your program.
4. Write and compile your code. Refer to the example LGEXAMP.PAS that is
included with this file.
The following files should be included with PCX2TPI:
DESC.SDI - description file.
EGAVGA.OBJ - a copy of EGAVGA.BGI that can be linked into the example
FILE_ID.DIZ - description file.
GRAPHIC1.OBJ - a convert PCX image after running BINOBJ for the example
GRAPHIC1.PCX - a PCX image file for the example
GRAPHIC1.TPI - a convert PCX image for the example
GRAPHIC2.OBJ - a convert PCX image after running BINOBJ for the example
GRAPHIC2.PCX - a PCX image file for the example
GRAPHIC2.TPI - a convert PCX image for the example
LGEXAMP.EXE - a compiled version of the example
LGEXAMP.PAS - source code for the linked graphic example
LGUNIT.PAS - source code for the linked graphic unit for the example
LGUNIT.TPU - a compiled version of the unit used by the example
PCX2TPI.EXE - the converter
PCX2TPI.DOC - this file
READPCXH.EXE - a utility to display the information in a PCX header
READPCXH.DOC - documentation for READPCXH.EXE
Copy PCX2TPI.EXE to a directory on your hard drive that is on you path or use
it from the directory where it is located.
This copyrighted program is being distributed as Shareware. You may try
this program for 30 days, and if you like it, or find it useful, and wish to
continue using it, you are expected to register with the author. You are free
(and encouraged) to copy this program and distribute it to anyone, as long as
no fee, other than a nominal fee for the disk and shipping/handling, is
charged for the program, and as long as this documentation file and all of the
files listed in the "FILES" section of this document accompany the program.
The registration fee is $5. To register, send your name, address, the program
name and version, where you got the program, and $5 to:
10104 Blue Tee Terr.
Gaithersburg, MD 20879
Registered users will receive a copy of PCX2TPI that allows batch processing
and does not have the Shareware reminder. Commented source code is also
available for an additional $5.
If you have any questions or comments about the program, please send them to
the above address, or, on CompuServe at 71224,3202.
WARRANTY AND LEGAL NOTICES
PCX2TPI is provided AS IS without any warranty, expressed or implied,
including, without limitation, implied warranties of merchantability and
fitness for a particular purpose. Any use by you of the software is at your
own risk. In no event shall Bob Hayes be liable for any damages whatsoever
(including, without limitation, damages for loss of business profits, business
interruption, loss of business information, or other pecuniary loss) arising
out of the use or inability to use this product.
Product names are trademarks or registered trademarks of their respective
The author is in no way affiliated with ZSoft Corporation or Borland
Please use PCX2TPI for good not evil.