home *** CD-ROM | disk | FTP | other *** search
- byHeart Software
- 620 Ballantree Road
- West Vancouver, B.C.
- Canada V7S 1W3
-
- Tel. (604) 922-6148
- Fax. (604) 987-7621
-
-
-
-
-
-
-
-
-
-
-
-
- PCX_LIB Documentation
- ---------------------
- Version 1.00C
-
-
- by Ian Ashdown, P.Eng.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Released into the Public Domain 91/04/01
-
- 1. Introduction
-
- PCX_LIB is a library of functions for displaying and storing ZSoft's
- Paintbrush (R) PCX-format image files. It was developed expressly
- for release into the Public Domain. Fully commented ANSI C source
- code is provided for all functions, along with complete technical
- specifications for ZSoft's PCX image file format.
-
- Version 1.00B supports the display and storage of images on MS-DOS
- systems equipped with the following display adapters:
-
- Hercules - monochrome
- CGA - Color Graphics Adapter
- EGA - Enhanced Graphics Adapter
- MCGA - MultiColor Graphics Adapter
- VGA - Video Graphics Adapter
-
- All valid MS-DOS graphic modes are supported.
-
- SuperVGA and XGA display adapters are not supported in this release.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- p. 1
-
- 2. DISCLAIMER:
-
- IN NO EVENT SHALL BYHEART SOFTWARE BE LIABLE FOR ANY DAMAGES
- WHATSOEVER INCLUDING, WITHOUT LIMITATION, PERSONAL DAMAGES, 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, EVEN IF BYHEART SOFTWARE HAS BEEN
- ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- p. 2
-
- 3. Disk Contents
-
- The disk includes the following files:
-
-
- 3.1. Documentation
-
- PCX_LIB.DOC - PCX_LIB documentation (this file)
- PCX_FMT.DOC - PCX image file format specifications
-
-
- 3.2. ANSI C Source Code
-
- PCX_COMM.C - PCX image file common functions
- PCX_DISP.C - PCX image file display functions
- PCX_EXAM.C - PCX image file header examination utility
- PCX_FILE.C - PCX image capture functions
- RD_DEMO.C - PCX image file display demonstration program
- WR_DEMO.C - PCX image file capture demonstration program
-
- PCX_EXT.H - PCX_LIB external definitions include file
- PCX_INT.H - PCX_LIB internal definitions include file
-
-
- 3.3. MS-DOS Executables
-
- PCX_EXAM.EXE - PCX image file header examination utility
- RD_DEMO.EXE - PCX image file display demonstration program
- WR_DEMO.EXE - PCX image file capture demonstration program
-
-
- 3.4. Sample PCX Image Files
-
- TEST_04.PCX - 320 x 200 4-color CGA test image (mode 4)
- TEST_06.PCX - 640 x 200 2-color CGA test image (mode 6)
- TEST_16.PCX - 640 x 350 16-color EGA test image (mode 16)
- TEST_19.PCX - 320 x 200 256-color VGA test image (mode 19)
-
-
- 3.5. Miscellaneous
-
- PCX_LIB.BAT - Microsoft C V6.0 program build batch file
-
-
-
-
-
-
-
-
-
-
-
-
- p. 3
-
- 4. Trying It Out
-
- Four test images are included on the disk, one each for MS-DOS video
- modes 4, 6, 16 and 19.
-
-
- 4.1. PCX_EXAM
-
- PCX_EXAM reads a PCX-format image file and displays a summary of
- the information contained in the file header. A full explanation
- of this information is presented in PCX_FMT.DOC.
-
- To run PCX_EXAM with a file (e.g. - "MY_PICT.PCX"), enter:
-
- PCX_EXAM my_pict.pcx
-
-
- 4.2. RD_DEMO
-
- To display any of these images, enter:
-
- RD_DEMO test_xx.pcx xx
-
- where "xx" is the video mode (e.g. - "RD_DEMO test_06.pcx 6").
- Your display adapter must be capable of emulating the specified
- video mode in order to display the image.
-
- Once the image is displayed, press any key to clear the screen and
- return to DOS.
-
- RD_DEMO will also display a PCX-format image if your display
- adapter supports its appropriate video mode. For example, to
- display a PCX-format image file "MY_PICT.PCX" that was created for
- display on 320 x 200 256-color VGA displays, enter:
-
- RD_DEMO my_pict.pcx 19
-
-
- 4.3. WR_DEMO
-
- The demonstration program WR_DEMO will first display a PCX-format
- image file, then capture the image directly from the display
- adapter's memory and create a PCX-format image file called
- "PCX_DEMO.PCX".
-
- To run WR_DEMO, enter:
-
- WR_DEMO test_xx.pcx xx
-
- where "xx" is the video mode (e.g. - "WR_DEMO test_06.pcx 6").
- Your display adapter must be capable of emulating the specified
- video mode in order to display and capture the image.
-
-
- p. 4
-
- Once the image is displayed, WR_DEMO will automatically capture
- it and create the file "PCX_DEMO.PCX" before clearing the screen
- and returning to DOS.
-
- WR_DEMO will also display and capture a PCX-format image if your
- display adapter supports its appropriate video mode. For example,
- to capture a PCX-format image file "MY_PICT.PCX" that was created
- for display on 320 x 200 256-color VGA displays, enter:
-
- WR_DEMO my_pict.pcx 19
-
- WR_DEMO captures the entire screen and all color planes, so the
- size of the resultant PCX_DEMO.PCX file may be different than the
- file it displayed.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- p. 5
-
- 5. Using The Library
-
- The public functions in PCX_LIB (i.e. - those meant to be called by
- application programs) are:
-
- pcx_read - display a PCX-format image file
- pcx_write - capture a displayed image to a PCX-format file
-
- pcx_isvga - determine whether a display adapter supports
- VGA BIOS calls
-
- pcx_init_dsa - set up BIOS to capture EGA color palette
- register updates
- pcx_free_dsa - reset BIOS to state before call to
- "pcx_inst_dsa"
-
- All functions are fully and exhaustively documented in the source
- code files. Example calls to the public functions may be found in
- the source code files RD_DEMO.C and WR_DEMO.C.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- p. 6
-
- 6. Why Public Domain ?
-
- PCX_LIB was written expressly for the public domain. What that means
- is you may do whatever you wish with the executables, source code and
- documentation, including:
-
- 1. Modifying it to meet your requirements.
-
- 2. Including it in commmercial software products.
-
- 3. Marketing it as a commercial product.
-
-
- No royalties are payable to byHeart Software under any circumstances.
-
- byHeart Software does not offer official technical support for
- PCX_LIB. However, if you are having problems with the product
- (including questions relating to other compilers and modifying the
- source code), you are welcome to write, call or fax any questions to:
-
- Ian Ashdown, P.Eng.
- byHeart Software
- 620 Ballantree Road
- West Vancouver, B.C.
- Canada V7S 1W3
-
- Tel: (604) 922-6148
- Fax: (604) 987-7621
-
-
- AUTHOR'S MESSAGE:
-
- byHeart Software took approximately 250 man-hours to research,
- design, code, test and document PCX_LIB. It was conceived as a
- public domain offering, yet written to the most stringent of
- professional engineering standards. Developing PCX_LIB was a
- challenging and rewarding task.
-
- PCX_LIB was written for all programmers, from the individual hobbyist
- to the seasoned and harried professional working for a Fortune 100
- company. It was written to save you the time and effort of
- reinventing the stone tools needed to build the wheel, and without
- the hassles of royalties and copyrights.
-
- If you find PCX_LIB useful, consider exactly how useful it is. Would
- you have spent 250 hours of your time to develop the PCX graphics
- drivers yourself? Would you have otherwise spent $500 or so to
- purchase the source code version of a commercial PCX graphics
- library?
-
- The oft-quoted Jerry Pournelle, BYTE columnist, once related a story
- about somebody who was very helpful. When Jerry had a chance to
- thank the person at a meeting, he used the rhetorical phrase "How can
- I every repay you?". The answer was quite unexpected:
-
- "You don't. You pass the favor on to someone else."
-
-
- Once again, did you find PCX_LIB useful, and if so how useful? We
- have likely never met, and yet I wrote PCX_LIB as a favor for you.
- Like Jerry Pournelle's benefactor, I ask only that you pass the favor
- on to someone else.
-
- The possibilties are many. As an individual, you could write your
- own public domain software. You could contribute time or money to a
- worthy charity. You could simply remember me when a friend or
- stranger needs help and act accordingly.
-
- As a corporation using PCX_LIB in a commercial product, either
- directly or indirectly, you could make a corporate (and tax-
- deductible) donation to a charity - or give the employee who brought
- PCX_LIB to your attention a day off with pay.
-
- As for PCX_LIB, it is simply another favor being passed on within
- our worldwide community. Pass it on, please.
-
-