home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World 1997 November
/
PCWorld_1997-11_cd.bin
/
software
/
sharware
/
grafika
/
pcxdump
/
PCXDUMP.DOC
< prev
next >
Wrap
Text File
|
1996-04-26
|
53KB
|
1,272 lines
PCXDUMP Version 9.30
------------------------
THE screen capture program
Documentation and technical notes
July 1st, 1995
Copyright 1991-1995 by
Viper Software
All rights reserved
Disclaimer and warranty
-----------------------
This product is distributed AS IS. The author specifically
disclaims all warranties, expressed or implied, including, but
not limited to, implied warranties of merchantability and
fitness for a particular purpose with respect to defects in the
diskette and documentation, and program license granted herein,
in particular, and without limiting operation of the program
license with respect to any particular application use or
purpose. In no event shall the author be liable for any loss of
profit or any other commercial damage including but not limited
to special, incidental, consequential or other damages.
Licensing agreement
-------------------
PCXDUMP is copyrighted software and all rights are reserved.
PCXDUMP may not be changed or modified in any way except by the
author. PCXDUMP is SHAREWARE and may be freely distributed as
long as it remains in its complete form with all support and
documentation files. It may be used for a 10 day free trial
period. Regardless of how the copy is obtained, it is requested
that all users comply with the following licensing and regi-
stration provisions if they continue to use it after the 10 day
trial period. Should you find this program useful, you must re-
gister it; you will then be provided with the latest releases of
the PCXDUMP system.
Registration of PCXDUMP is based on 'personal usage'. Corporate
or organizational users must register all copies used on an
individual basis; a specific person (name) must be explicitly
assigned to each registrant who will be provided with a new
version of PCXDUMP where the name of the specified person will
be seen to indicate registered usage. Registration grants a
specific person (not a juridical person or corporate entity) the
right to 'use' PCXDUMP.
Shareware distributors may distribute this program. The "per
disk" charge may not exceed $8 and the shareware distributor
will not change the above license agreement for the end user of
PCXDUMP. End users are still required to register each share-
ware copy of PCXDUMP.
The cost as of this writing is $30.00 U.S. per single-user li-
cense. When you register, you receive a copy of the latest
registered version of PCXDUMP, plus any enhancements that have
been added since this document was released. Check "Registra-
tion" for possible discounts. If you obtained this program from
a shareware disk distributor, then you have paid only for the
service of copying this disk, but you have not paid for the
program itself. The author receives no part of the price you may
have paid to a disk distributor for this disk.
PC, XT, PC/AT and PS/2 are trademarks, and IBM is a registered
trademark, of International Business Machines Corporation.
All other products or services mentioned in this manual,
including: VGA, Paradise, Everex, Trident, Video 7, Tseng Labs,
MS-DOS,PC-DOS, PCX, Windows, Hercules, PC Paintbrush, Word-
Perfect, PageMaker, Ventura, GIF, Compuserve are trademarks,
registered trademarks, service marks, or registered service
marks of their respective companies or organizations.
Overview of PCXDUMP
-------------------
PCXDUMP is a program which saves the images on the screen of
your IBM Personal Computer or compatible PC to a disk file.
PCXDUMP is memory resident, which means that having executed it
once, the program is always waiting in the background, while you
continue to run other programs. You tell PCXDUMP to capture the
image currently displayed on the screen by pressing a
combination of keys which PCXDUMP reserves for itself. The saved
images are put on the disk in the PCX-format. A large variety of
word processors, desktop publishers and paint programs are
capable of importing PCX-files, e.g. WordPerfect, PageMaker,
Ventura Publisher, PaintBrush, almost any Windows program and
many, many more.
Many programs, particularly games, prevent capture because they
steal the keyboard interrupt vector and refuse to pass inter-
rupts back to previously installed programs. PCXDUMP is able to
get around this major problem by reprogramming the interrupt
controller to a different set of vectors. When a program steals
the keyboard or timer interrupt it no longer gets first pick,
but a fake hardware interrupt generated by PCXDUMP resident
code. This technique works in all but a few rare instances.
Another implication is that, with some restrictions, screens can
also be captured under Microsoft Windows even though PCXDUMP is
a DOS program.
PCXDUMP recognizes a large number of SuperVGA chips, and is able
to use their resolutions as well. PCXDUMP will also recognize the
HiColor extension of several of these SuperVGA cards. If your
SuperVGA adapter is not directly supported by PCXDUMP, PCXDUMP
will recognize and use every VESA mode available (VESA Version
1.2). PCXDUMP will dump images from every tweaked mode derived
from 320x200, like 320x240, 360x240, 360x480 etc.
PCXDUMP is installed with the most user-friendly interface any
screen grabber provides. In the menu you can change things such
as: the hotkey-sequence to activate PCXDUMP, where to put the
PCX-files and several other features.
With exclusively use of assembler, you will find PCXDUMP to be
on one of the most compact Terminate and Stay Resident (TSR)
programs you ever load. It can use EMS memory, Upper Memory
Blocks provided by an XMS/UMB driver and normal system memory to
maximum effect. Typical system memory use amounts to under 1.5
Kb (on many systems no conventional memory is used at all!).
When loaded on a PC with no EMS or UMB memory, PCXDUMP will use
16 Kb of conventional memory.
Finally, in the package is included a utility, PCXLAB, which
will show all the images that PCXDUMP can produce (2, 16, 256 or
16.7 million color PCX files) on any EGA, VGA or SVGA display
adapter (except EGA mono). PCXLAB will also convert PCX-files to
other file formats, convert color PCX-files to monochrome
PCX-files etc.
PCXDUMP requirements
--------------------
To use PCXDUMP, you will need:
a) An IBM PC, AT, PS/2, or 100% compatible computer.
b) At least one floppy diskette drive.
c) The IBM-PC DOS (Disk Operating System), or MS-DOS,
in a version numbered 3.1 or higher.
d) An EGA graphics adapter card or better.
A Mouse System compatible mouse will also be convenient.
You can NOT use PCXDUMP on XT's or on CGA or Hercules graphics
adapters!
What PCXDUMP is able to capture
-------------------------------
PCXDUMP is capable of capturing graphic images on systems
equipped with any of the following video display adapters:
* Multicolor Graphics Adapter (MCGA)
* Enhanced Graphics Adapter (EGA)
* Video Gate Array adapter (VGA)
PCXDUMP captures images in any of the video modes listed in
the following table, which have been standardized by manufac-
turers of the various video adapters mentioned above:
Video Graphics Adapters
Mode Resolution Colors Supporting
----- ---------- ---------- --------------------
4 320 x 200 4 CGA/EGA/VGA *)
5 320 x 200 4 CGA/EGA/VGA *)
6 640 x 200 2 CGA/EGA/VGA
13 320 x 200 16 EGA/VGA
14 640 x 200 16 EGA/VGA
15 640 x 350 2 EGA/VGA
16 640 x 350 16 EGA/VGA
17 640 x 480 2 VGA/MCGA
18 640 x 480 16 VGA
19 320 x 200 256 VGA/MCGA
*) In these two CGA-modes, PCXDUMP will always use a palette of
Black, Cyan, Magenta and White.
Although PCXDUMP can dump images from mode 4, 5 and 6 (which are
CGA modes), you still need at least an EGA or MCGA card to
install PCXDUMP.
And if you have any of these SVGA-cards, you are able to
capture screens from their SVGA modes as well!
-------------+---------+---------+---------+---------+--------
CHIPSET | 16 col. | 256 col.| 32k col.| 64k col.| 16M col
| up to: | up to: | up to: | up to: | up to:
-------------+---------+---------+---------+---------+--------
Advance Logic|1280x1024|1280x1024| - |1024x768 | 800x600
Ahead A/B |1024x768 |1024x768 | - | - | -
ATI |1024x768 |1024x768 | 800x600 | - | -
Chip & Tech. |1280x1024|1024x768 | - | - | -
Compaq | 800x600 |1280x1024| 640x480 |1024x768 | 640x480
Genoa |1024x768 | 800x600 | - | - | -
Matrox |1024x768 |1024x768 | - | - | -
MXIC |1024x768 |1024x768 | - | - | -
OAK |1280x1024|1280x1024| 800x600 | 800x600 | 640x480
Paradise |1024x768 |1024x768 | 800x600 | - | -
Realtek |1280x1024|1024x1024| - | 800x600 | -
Trident |1024x768 |1024x768 | 800x600 | 800x600 | -
Tseng ET 3000|1024x768 | 800x600 | - | - | -
Tseng ET 4000|1280x1024|1024x768 | - | - | -
Tseng HiColor|1280x1024|1024x768 | 800x600 | - | -
Tseng TrueClr|1280x1024|1024x768 | 800x600 | 800x600 | 640x480
VESA |1280x1024|1280x1024|1280x1024|1280x1024|1280x1024
Video-7 |1024x768 | 800x600 | - | - | -
S3 |1280x1024|1280x1024|1280x1024|1280x1024| 800x600
-------------+---------+---------+---------+---------+-------
PCXDUMP is not designed to work with high-resolution 4-color
images. If you try to activate PCXDUMP in an unsupported video
mode, PCXDUMP will produce a long deep tone.
Text modes
----------
PCXDUMP is able to capture screens in at least these text mo-
des:
Video Text Adapters
Mode Resolution Colors Supporting
----- ---------- ---------- ----------------
0 40x25 16 CGA/EGA/VGA/MCGA
1 40x25 16 CGA/EGA/VGA/MCGA
2 80x25 16 CGA/EGA/VGA/MCGA
3 80x25,80x43,80x50 16 EGA/VGA/MCGA
7 80x25,80x43 2 EGA/VGA
- 80x60 16 Some SVGA cards
- 80x66 16 Some SVGA cards
- 100x40 16 Some SVGA cards
- 100x60 16 Some SVGA cards
- 132x25 16 Some SVGA cards
- 132x28 16 Some SVGA cards
- 132x44 16 Some SVGA cards
- 132x60 16 Some SVGA cards
Text screens can be captured in three ways, either to a text
file (.TXT), to a ANSI-file (.ANS) or to a bitmap (graphic) file
(.PCX).
To dump a text screen to a text file, press hotkey ALT+SHIFT+T.
Instead of the PCX extension on the file it will be the TXT
extension. These text files can be imported to almost any kind
of wordprocessor or desktop program. When you dump to a text
file, only the characters (no colors) are dumped to file.
To dump a text screen to a ANSI-file, press hotkey ALT+SHIFT+A
and PCXDUMP will dump the screen immediately. Instead of the PCX
extension on the file, it will be a ANS extension. These
ANSI-files can be typed (with the DOS command TYPE) and if you
have the device driver ANSI.SYS installed, the correct colors (if
any) will be printed on the screen. If not consult your DOS
manual on how to install this device driver. This option is
great for SysOp's, who wants to capture text screens with colors
for use on their BBS.
All other hotkeys will produce a bitmap file (with the PCX
extension). In all modes except mode 7, you can capture the
screen in both color or monochrome. In text mode, PCXDUMP uses
the RAM resident font to convert the screen into a bitmap. This
means that the resulting bitmap represents the captured text
screen exactly as it appears on the screen, even if the program
loads a specialized font (such as an emulated mouse cursor in
text mode). On EGA or better display adapters it is possible to
show 512 different characters at the same time. PCXDUMP is able
to dump such a screen correctly (but only on VGA or better).
Note that with Ventura Publisher or WordPerfect 5.1 the size of
the image when incorporated into your document depends on the
size of the frame (VP) or figure (WP). For best results, you
must adjust this size (within VP or WP) so that pixels are not
truncated or compressed. You can calculate the best size for the
image in your document based on the horizontal and vertical
resolution of your printer. Lets say you capture a VGA text mode
screen with 80 columns and 25 lines. The font size in this mode
is 8 by 16 pixels. This means that there are 400 (16 times 25)
scan lines in the image and 640 pixels horizontally (80 times
8). You must size the image so that the number of pixels in the
image is evenly divisible by the printer resolution. Therefore,
if you have a laser printer or DeskJet printer which prints at a
resolution of 300 dots per inch (both horizontal and vertical),
a frame size of 2.13 inches by 1.33 or 4.27 inches by 2.67
inches would produce non-distorted output. Note that you must
account for the inside border space and border width when sizing
figures in WordPerfect.
Hotkeys
-------
One of the powerful features of PCXDUMP is the number of
hotkeys. Instead of just one hotkey, as ordinary screen grab-
ber provides, PCXDUMP gives you 9 different hotkeys (C,E,N,R,
I,G,H,T,A).
With these hotkeys you control how you want PCXDUMP to dump the
screen.
5 of the 9 hotkeys (C,N,I,G,H) will draw a frame on the screen
when pressed, and you will be able to decide which part of the
screen you want saved by adjusting the size and position of the
frame. You can use both the mouse (if your mouse driver is
installed) or the keyboard to control the frame. Read the
section "Adjusting framesize" for a precise explanation.
ALT+SHIFT+C dumps a color PCX-file.
ALT+SHIFT+E like ALT+SHIFT+C but without the frame.
ALT+SHIFT+N dumps a black/white PCX-file.
ALT+SHIFT+R like ALT+SHIFT+N but without the frame.
ALT+SHIFT+I dumps an inverted black/white PCX-file.
ALT+SHIFT+G dumps a color PCX-file with the image
converted to grayscale.
ALT+SHIFT+H dumps a color PCX-file with the image
converted to inverted grayscale.
ALT+SHIFT+T will dump a text screen to a TEXT-file.
ALT+SHIFT+A will dump a text screen to a ANSI-file.
This is the default set of hotkeys. It is possible to choose a
custom hotkey sequence (read the section "PCXDUMP installation
options").
When dumping a color PCX-file, the video mode (the available
colors on the screen) determines which file format should be
used (1, 4, 8 or 24 bits format), except when dumping a gray
scaled dump in 32768, 65536 or 16.7 million colors, which will
produce a 256 color PCX-file. PCXDUMP will beep once when
activated and (once) again when having finished dumping gra-
phics. If you activate PCXDUMP in an unsupported video mode,
such as a 4 color hires mode, PCXDUMP will emit a long deep
sound. You can only use the C, E, G & H hotkeys when there is at
least 4 colors on the screen. You can only use the T and A
hotkeys in text mode.
NOTE: if you activate PCXDUMP in text mode, PCXDUMP will dump
the screen immediately.
Adjusting framesize
-------------------
If you have a mouse and your mouse-driver is installed, you are
able to cut out part of the screen with a on-screen frame
controlled by the mouse. This can also be done by using the
arrow keys and <CTRL> or <ALT>.
The frame will appear in GRAPHICS mode only. In text mode the
whole screen is dumped immediately.
The size of the frame is shown in upper left corner.
MOUSE:
Press RIGHT button and move mouse to control frame size.
Press LEFT button and move mouse to control frame posi-
tion.
Press MIDDLE button to adjust horizontal panning (descri-
bed below)
KEYBOARD:
Press the arrow keys to control frame size.
Press <CTRL> or <ALT> and arrow keys to control frame
position.
Press Keypad 5 to adjust horizontal panning (described
below)
BOTH MOUSE and KEYBOARD:
Press <ENTER> to dump graphic within frame.
Press <ESC> to cancel
You can only adjust the frame size when you have pressed one of
these hotkeys: C,N,I,G,H.
Whenever the frame is displayed on the screen, you are able to
press "S" to save the framesize and position and "R" to restore
the framesize and position. Save your favorite framesize and
position just before your first "dump", and re-use the size and
position over and over again just by pressing "R".
NOTE for EGA card users: Just a piece of advice. If you capture
a screen in a program (e.g. a paint program) which is also using
the mouse, "noisy" pixels may appear when the mouse is moved. If
you dump the whole picture without using the mouse (hotkey E &
R) and use PCXLAB to show the PCX-file, you can now use the
mouse to cut out the wanted area.
HORIZONTAL PANNING: Some programs/games uses horizontal scrol-
ling to improve the graphics. PCXDUMP will know which part of
the graphics is currently shown, except for a "few" pixels (1-7
pixels). There is no way to determine these "extra" pixels in a
safe way. If you can see that the frame starts to the left of
the screen, press the middle mousebutton or Keypad 5 to make the
frame position correct. In 16 colors mode the frame can be up to
7 pixels wrong, in 256 colors up to 3 pixels wrong. You can only
adjust horizontal panning if the program uses horizontal scroll.
If the computer is too busy to capture
--------------------------------------
There may be times when you request PCXDUMP to capture your
screen, and nothing seems to happen. This is usually because the
foreground application program is in the middle of a sensitive
task which cannot be interrupted safely. In these cases, PCXDUMP
is aware that you have requested a screen capture, and will pop
up as soon as it becomes safe to do so.
The PCXDUMP environment variable
------------------------------------
Another supported feature is the environment variable PCXDUMP.
You can write your preferred settings into the variable, so you
don't have to write them every time you start the program. For
example, if you have the PCXDUMP variable set as follows:
SET PCXDUMP=/DIR:C:\PICTURES /MONO /SHIFT:1
PCXDUMP will then use these parameters every time it is run,
overriding the defaults so that you only need to type "PCXDUMP"
to access your most used setup.
Note that you still need to write "PCXDUMP /ON" if you do not
want the installation menu to appear. The command line para-
meters will override the environment variable. Thus
PCXDUMP /DIR:C:\TEMP
will put all dumped images in C:\TEMP rather than C:\PICTURES.
PCXDUMP installation options
----------------------------
PCXDUMP is easily installed with the menu that appears, when you
write "PCXDUMP" + <ENTER>. Do not attempt to start PCXDUMP from
a command shell such as Norton Commander or Dosshell.
You can, however, install PCXDUMP with "command line switches"
alone. In this way you will be able to install PCXDUMP from a
batch file, such as AUTOEXEC.BAT.
This section identifies the "command line switches" which
PCXDUMP recognizes and responds to. A command line switch is a
string of characters which you type after the PCXDUMP command
itself.
The purpose of these switches is to allow you to modify the way
PCXDUMP performs certain of its operations. Turning PCXDUMP's
beep sounds off and removing PCXDUMP from memory are just two
examples of functions which the command line switches allow you
to control.
A single command line may contain as many switches as you desire,
in any order, in either uppercase or lowercase letters. Please
note that DOS limits the maximum line length to 127 characters.
Option: /ON
-----------
Installs PCXDUMP. This option is only necessary if no
other options are given.
Option: /OFF
------------
This option removes PCXDUMP from the memory. This is only
possible if the interrupt vectors used by PCXDUMP still
point to its resident code. Normally this will be where
PCXDUMP was the last TSR program loaded. Note that any
other command line switches or parameters will be ignored
if this option is present. Users are advised NOT to use
TSR release programs such as MARK and RELEASE. Only
PCXDUMP can remove itself from memory correctly.
Option: /ANIMATE:number
-----------------------
With this option is is possible to dump the screen auto-
matically every time a certain number of seconds has elapsed.
If you set /ANIMATE:10, PCXDUMP will dump the screen every 10
seconds. While PCXDUMP is dumping the screen, time is stopped.
The screen will be saved immediately and PCXDUMP will automa-
tically determine whether to save the images to a color
PCX-file or to a black&white PCX-file. If PCXDUMP is installed
with the /TIME then PCXDUMP will start the animated dump AFTER
it has installed itself with the /TIME. If you install PCXDUMP
with:
PCXDUMP /ANIMATE:5 /TIME:30
PCXDUMP will install itself after 30 seconds and THEN dump the
screen every 5 sec.
Option: /AUTODUMP
-----------------
This option has no effect unless it is used in conjunction
with the /TIME option. If you install PCXDUMP with
"/TIME:10 /AUTODUMP" this is what happens: after 10 seconds
PCXDUMP will install its own keyboard routine and will
immediately start dumping the screen.
It is not possible to make a grey scaled auto-dump of a color
image.
Option: /BATCH
--------------
This option can only be used from command-line. When this
option is used, PCXDUMP will not write a status screen
after installation. This option is for registered users
only!
Option: /CHIPSET:number
-----------------------
If PCXDUMP somehow fails to recognize your video card
(which is on the list below) the /CHIPSET option is used to
force PCXDUMP to use the correct videocard. The number must
be in the range 2-44:
Number Chipset Number Chipset
---------------------- -------------------
0 UNSUPPORTED 23 Realtek
1 RESERVED 24 Matrox
2 EGA card 25 OAK-57
3 VGA card 26 OAK-83
4 ATI card 27 OAK-87
5 Trident 28 S3-911
6 Genoa 29 S3-924
7 Paradise 30 S3-928
8 Tseng ET 3000 31 S3-801/805
9 Tseng ET 4000 32 S3-864
10 Tseng ET 4000 HiColor 33 S3-964
11 OAK-37 34 Compaq Qvision
12 OAK-67 35 ChipTech 450
13 Video 7 36 ChipTech 455
14 Ahead A 37 ChipTech 456
15 Ahead B 38 ChipTech 457
16 ChipTech 451 39 ChipTech 65520
17 ChipTech 452 40 ChipTech 65530
18 ChipTech 453 41 ChipTech 65510
19 VESA 42 ChipTech 64200
20 Tseng ET 4000 TrueColor 43 ChipTech 64300
21 OAK-77 44 Advance Logic
22 MXIC
Option: /DIR:directory
----------------------
This option places the PCX-files (DUMP????.PCX) in the
specified directory instead of the current directory. Many
programs have some data in other directories than the
startup directory, and this option saves you the trouble
of tracking down the PCX-files after capturing the images.
Example:
PCXDUMP /DIR:C:\ (Will place files in C:\)
PCXDUMP /DIR:C:\PCX\ (If C:\PCX\ exist files will be put
here)
Instead of writing /DIR:C:\PCX\ you can write /DIR:C:\PCX
The /NAME option will allow you to change the name of
files that PCXDUMP will dump the images to. See /NAME.
Option: /GAMMA:number
---------------------
This option can be used to control the light intensity of
the palette. This will only have an effect on grayscaled
PCX-files (hotkey G or H).
A value of 100 is default, a smaller value will make the
image darker and a greater value will make the image
brighter. This value must be in the range 20-400, other-
wise it will be ignored. Lets say you want to dump a
picture to a gray scale PCX-file so you can print it out
to a laser printer. You then discover that the printed
image is too dark. Now just (re)install PCXDUMP will a new
(and higher) GAMMA value.
I have found a GAMMA value near 170 good when dumping
textscreens (and graphics screens too) for printing on
laser printers.
Option: /HELP
-------------
Clears the screen and prints all available command-line
switches.
Option: /H
----------
Same as /HELP.
Option: /HOTKEY:scancode
------------------------
Instead of using the default set of hotkeys (C,E,N,R,I,G,
H,T,A), you can tell PCXDUMP to use a custom hotkey. When
doing so all other hotkeys will be disabled and you will no
longer be able to use the mouse or keyboard to cut out a
piece of the screen. The image will be saved immediately
and PCXDUMP will automatically determine whether to dump a
color or a monochrome image. The scancode must be in the
range 1-88.
Option: /INT:number
-------------------
Use this option if you want to call PCXDUMP from other
programs. You will be able to call PCXDUMP from your own
program via an interrupt, which you specify here. This
interrupt may be any interrupt in the following list:
5, 78, 99, 129, 134, 140, 242, 247
50, 79, 100, 130, 135, 141, 243, 249
69, 96, 101, 131, 137, 142, 244, 252
76, 97, 102, 132, 138, 143, 245, 253
77, 98, 105, 133, 139, 241, 246
If you have chosen, say, interrupt 5, you can call
PCXDUMP from your own program, if you enter this piece of
code in your program:
TURBO PASCAL 4.0 - 5.5 CODE:
----------------------------
Uses Dos;
Procedure DumpScreen(Func:Word);
Var
Reg : Registers;
begin
Reg.AX := $1234;
Reg.BX := Func;
Intr(5,Reg);
Delay(60); (* Remember this delay *)
end;
TURBO PASCAL 6.0 CODE:
----------------------
Procedure DumpScreen(Func:Word);
begin
ASM
MOV AX,1234h
MOV BX,Func
INT 5
END;
Delay(60); (* Remember this delay *)
end;
The AX register must be $1234 or 1234h (hexadecimal), as
this tells PCXDUMP that this interrupt is meant to dump
the screen. PCXDUMP is not called directly, but will pop
up (if it is safe to do so) within the next 6/100 of a
second (that is the reason for the delay). If AX does not
equal 1234h, PCXDUMP will ignore the interrupt and call
the old interrupt. If you use interrupt 5 as the inter-
rupt to call PCXDUMP and press the PrintScreen key which
normally activates interrupt 5, PCXDUMP will not be
activated since register AX is not $1234 (PCXDUMP will
call the original interrupt which prints text screen to
the printer). The BX register holds the function, you want
performed. BX = 0 equals first hotkey "C", BX=1 equals
hotkey "E" etc. BX = 5 equals hotkey "G".
Therefore BX must be in the range 0-8 ("C" - "A").
It is possible to check if PCXDUMP is installed and which
version (again in Turbo Pascal code):
Uses Dos;
Var
Reg : Registers;
Pcxdump_Installed : Boolean;
Pcxdump_Version : Word;
Pcxdump_Interrupt : Byte;
Begin
Pcxdump_Installed := False;
Reg.AX:=$9999;
Intr($28,Reg);
if Reg.AX=$AAAA then
begin
Pcxdump_Installed := True;
Pcxdump_Version := Reg.CX; {Major in CH, Minor in
CL}
Pcxdump_Interrupt := Reg.DL;
end;
if NOT Pcxdump_Installed then
begin
Writeln('PCXDUMP is not installed!');
Halt(1);
end;
Writeln('PCXDUMP version ',Pcxdump_Version/100:4:2,
' is installed');
if Pcxdump_Interrupt<>0 then
Writeln('PCXDUMP uses user-interrupt ',
Pcxdump_Interrupt);
end.
Option: /MEMORY:number
----------------------
PCXDUMP will search your computer for available UMB or EMS
to put most of its code. If your system has 16 Kb of free
UMB, PCXDUMP will install itself there and use no
conventional memory. If you do not have 16 Kb free UMB but
you have EMS available, PCXDUMP will use 16 Kb of EMS and
only just under 1.5 Kb of conventional memory. With this
option you can tell PCXDUMP if it is allowed to search for
upper memory.
/MEMORY:0 (use only conventional memory)
/MEMORY:1 (search for UMB memory)
/MEMORY:2 (search for EMS memory)
/MEMORY:3 (search for both UMB and EMS memory)
Option: /MONO
-------------
The installation menu for PCXDUMP contains a lot of
colors. On color monitors they should not be a problem.
However, on notebook PC's or other computers equipped with
a Black & White monitor it may be difficult to tell the
different colors apart. Applying this option from the
command-line forces PCXDUMP to use Black & White only in the
installation menu. This option can only be used from
command-line.
Option: /MOUSE
--------------
Normally you will activate PCXDUMP from the keyboard. But
if you use this option (by setting it to ON in the in-
stallation menu), you will be able to capture the screen
by using the mouse only.
When PCXDUMP is installed, you can make PCXDUMP dump the
screen by pressing LEFT and RIGHT mouse button AT THE SAME
TIME. PCXDUMP will save the screen immediately and will
automatically determine whether to dump the image in color
or Black & White. As usually PCXDUMP will beep when it is
activated and when it is finished.
Option: /NAME:name
------------------
Usually PCXDUMP will dump the screens to files with the
name: "DUMP0000.PCX". You can change this with the /NAME
option. If you set /NAME:GAMES, PCXDUMP will dump to file
"GAMES000.PCX", "GAMES001.PCX" etc. You can only specifi-
fy a name up to 8 characters, and the name must consist of
letters only, no digits or others characters is allowed.
As the filenumber is increased, it may overwrite some of
the last letters in the name. Example:
PCXDUMP /NAME:TESTING
will produce TESTING0.PCX - TESTING9.PCX and the next will
be named TESTIN10.PCX.
If a file with a particular name already exists, it will
not be overwritten unless PCXDUMP is instructed to. See
/OVERWRITE
Option: /NOSOUND
----------------
Tells PCXDUMP to be quiet.
Option: /OFFSET:number
----------------------
Normally PCXDUMP will save the images to files starting
at offset 0000 (i.e. with the file "DUMP0000.PCX"). But
by specifying a file-offset, you can tell PCXDUMP to save
the images to files starting at a specific offset. If you
install PCXDUMP with this option:
PCXDUMP /OFFSET:20
PCXDUMP will save the first image to the file
"DUMP0020.PCX", the next image to "DUMP0021.PCX" etc.
Option: /OVERWRITE
------------------
PCXDUMP will not overwrite existing files in the default
configuration. Instead the next available filename will
be used.
If you install PCXDUMP and the files DUMP0000.PCX,
DUMP0001.PCX and DUMP0003.PCX (assuming that PCXDUMP uses
the default name for files) already exists in the
destination directory (read elsewhere about the /DIR
option, which will allow you to put the dumped images in a
specific directory), PCXDUMP will dump the first image to
the file DUMP0002.PCX and the next image to the file
DUMP0004.PCX etc.
But if you install PCXDUMP with the /OVERWRITE option,
PCXDUMP will overwrite any existing file with the same name
as the file PCXDUMP wants to save.
Option: /SHIFT:number
---------------------
Instead of using the default hotkey sequence which is
ALT+SHIFT+<some hotkey>, you can tell PCXDUMP to use any
combination of the ALT, SHIFT and CTRL keys.
Number Effect on hotkey sequence
-----------------------------------
0 No shift keys
1 Press SHIFT
2 Press ALT
3 Press ALT + SHIFT
4 Press CTRL
5 Press SHIFT + CTRL
6 Press ALT + CTRL
7 Press SHIFT + ALT + CTRL
Option: /SKIPVESA
-----------------
When PCXDUMP tries to identify your video card it will
always treat your video card as a VESA card if you have a
VESA-driver installed because the very first thing PCXDUMP
checks, is the presence of a VESA-driver. If you install
PCXDUMP with this option no check for a VESA-driver is
performed.
If you have a VESA driver installed some programs will take
advantage of the VESA driver and some programs will not. If
a program uses the VESA driver, you must install PCXDUMP
with VESA capabilities. If a programs does not use the VESA
driver and instead uses the video card directly, you must
install PCXDUMP with the /SKIPVESA switch to make PCXDUMP
ignore the VESA driver. The problem is not PCXDUMP, but
whether a program uses the VESA driver or not.
If you have a VESA driver installed and are using EMM386
(or QEMM) as your memory manager, PCXDUMP may sometimes
cause an exception error. If you use this option it should
fix this problem, but then PCXDUMP will not recognize any
VESA mode. See KNOWN PROBLEMS for another solution.
NOTE: This option can only be used from the command line.
Option: /STEALTH:number
-----------------------
Many programs, particularly games, prevent capture because
they steal the keyboard interrupt vector and refuse to pass
interrupts back to previously installed programs. PCXDUMP
is able to get around this major problem by reprogramming
the interrupt controller to a different set of vectors.
When a program steals the keyboard or timer interrupt it no
longer gets first pick, but a fake hardware interrupt
generated by PCXDUMP resident code.
But PCXDUMP will only reprogram the interrupt controller if
you invoke it with the /STEALTH option. For this purpose
PCXDUMP need a base interrupt vector. This vector must be
in the range 120-224.
PCXDUMP requires a consecutive run of eight unused
interrupt vectors, and it is VERY important that the ones
chosen do not conflict with other software packages or
hardware devices. The range 120-224 is chosen since it is
typically where the unused interrupt vectors can be found.
You are not likely to come across conflicts unless special
hardware is being used. Software packages rarely use
interrupts in this region. If they do it should be
documented. If you ever suffer from system crashes or
hardware lock-ups, suspect this base interrupt value first.
If in any doubt try booting your PC from minimal system
floppy disk.
Please consult Appendix A for an visual explanation of
the /STEALTH technique.
Option: /STEALTH
----------------
Same as /STEALTH:216, see /STEALTH:number!
Option: /TIME:number
--------------------
Use this option to "delay" the installation of INT 09h (INT
09h is the hardware keyboard interrupt, remember). Many
programs (e.g. games like "4D STUNT DRIVE") will take complete
control of INT 09h when loading and never call the original
INT 09h. For that reason PCXDUMP's own INT 09h will not be
called. This obstacle can be overcomed by using the /TIME
option. If it takes your program, say, about 20 seconds to
start up, it is a good idea to delay the installation about
30 seconds. PCXDUMP uses the hardware clock interrupt at INT
08h to keep track of time.
PCXDUMP /TIME:60
will install PCXDUMP, and PCXDUMP will be waiting 60 seconds
before grabbing INT 09h.
Bear in mind that when you use this option, you are not able
to use PCXDUMP after exiting the program (or game) you wished
to save images from. The reason for this is that the interrupted
program remembers the "old" INT 09h address, and when you exit
this program it restores INT 09h and thereby overwrites
PCXDUMP's INT 09h address.
If you want to use PCXDUMP again, you do not have to reboot:
simply remove PCXDUMP from memory by writing:
PCXDUMP /OFF
and then install PCXDUMP again.
NOTE: When using the /TIME option to delay the installation,
PCXDUMP will beep twice when it installs itself. This
is a great help, since you now will know if it was
possible for PCXDUMP to take over INT 09h.
Option: /VIDEO:number
---------------------
Usually PCXDUMP will detect the current video mode cor-
rectly. But sometimes this detections fails. This happens
very seldom, I have experienced this in one game, COMANCHE:
MAXIMUM OVERKILL, a 32-bit protected mode game. By using
this option you can explicitly tell PCXDUMP which video
mode to use. You may need the manual for your video card to
determine the video mode number, since these mode numbers
differs from videocard to videocard. E.g. mode 1024x768x256
on a Tseng ET 4000 card will have mode number 56 (38 hex),
but on an Trident card this mode has the number 96 (62 hex)
and on a Realtek it is 40 (28 hex) and so on. Once you have
told PCXDUMP to use a certain video mode, it will continue
to use this video mode every time you activate it. You need
to un-install PCXDUMP and re-install it to make it
autodetect the video mode again.
Actually, to dump images from COMANCHE, I had to use the
/VIDEO option and the /MOUSE option.
Since COMANCHE can not cope the the reprogramming of the
interrupt controller (see Appendix A), you can NOT use
the /STEALTH option with this game.
As COMANCHE monopolizes the keyboard it is not possible to
dump images from this game using the keyboard! However,
COMANCHE does not use the mouse and this way (by using the
/MOUSE option) it was possible to dump some screenshots. I
also used the /VIDEO option (for the reasons mentioned
above) to dump the right video mode. COMANCHE runs in mode
X (320x240), which is derived from mode 19 (13 hex) =
320x200 pixels with 256 colors. Therefore to dump screens
from COMANCHE, PCXDUMP was installed with these options:
PCXDUMP /VIDEO:19 /MOUSE
Screens were then captured by pressing both left and
right mousebutton at the same time.
NOTE: On some Genoa cards PCXDUMP cannot recognize the
extended graphics video modes. But you can force PCXDUMP
to dump from these modes with the VIDEO option. Below is a
table with the video modes and the corresponding mode
number for Genoa cards:
GENOA: Mode no. Color Resolution
--------------------------------------
92 (5C hex) 256 640x480
94 (5E hex) 256 800x600
95 (5F hex) 16 1024x768
108 (6C hex) 256 800x600
115 (73 hex) 16 640x480
121 (79 hex) 16 800x600
125 (7D hex) 256 512x512
126 (7E hex) 256 640x400
Option: /WIDE:number
--------------------
If a program uses smooth scroll (that is, defines a
virtual screen bigger than physical display), e.g. like
the COMMANDER KEEN series, you can use the /WIDE option,
and PCXDUMP will try to dump the virtual screen instead of
the physical screen (which is default). Since PCXDUMP
automatically determines the logical screen width (which
is bigger than the physical display width), but has no way
of calculating the logical screen height, you have to
specify how many times higher than the physical display
height the logical screen height is. Let us say you want
to capture the full logical screen of COMMANDER KEEN 4.
This game runs in 320x200 pixels with 16 colors. You do
not have to worry about the logical screen width, since
PCXDUMP will take care of that (actually 512 pixels in
this game). The logical screen height is approx. 600
pixels. Therefore, to dump the logical screen, you should
install PCXDUMP with these options:
PCXDUMP /WIDE:3 (since 200*3 = 600)
If you have access to this game you should try it! To
have any effect, the WIDE values must be in the range
1-5.
NOTE: This option will not have any effect on an EGA
card.
Option: /?
----------
Same as /HELP
Use Under Microsoft Windows
---------------------------
PCXDUMP will work under MS Windows even though it is a DOS
program, with certain limitations. Windows versions prior
to 3.0 are not supported. In order to capture the complete
screen (including active menus, the cursor etc.), you must
run Windows in Standard Mode or Real Mode with the WIN /S
(or /R) command and you MUST install PCXDUMP with the
/STEALTH option BEFORE running Windows. The same capture
hotkeys work as before, although you may wish to choose a
hotkey which does not conflict with any Windows
application accelerator keys. Also be cautious about Super
VGA cards which are supplied with Windows drivers but
which PCXDUMP does not yet support in high resolution
modes. When capturing the Windows screen you will get a
distorted dump if you move the mouse during the grabbing.
If you attempt to run Windows in 386 Enhanced Mode with
PCXDUMP resident and using the /STEALTH option, a message
will appear after the Windows logo asking you to use the
/S switch or to remove PCXDUMP from memory. Once up and
running in 386 Enhanced Mode (PCXDUMP is not installed),
PCXDUMP can be run from within a DOS box. However, the
capture hotkey is only active when the DOS window has
focus, and then only the contents of the window are
captured. When PCXDUMP is run from a DOS-box under
Windows, it is not possible to use the /STEALTH option.
System crashes
--------------
If PCXDUMP crashes your machine when run, or when you
attempt to grab a screen, you should first suspect the
STEALTH base interrupt setting (see /STEALTH for more
details). This is by far the most likely cause of a system
crash, and you can work around it by specifying a
different base interrupt vector or turning STEALTH off.
PCXDUMP and EMM386.EXE, QEMM386.EXE or other memory managers.
------------------------------------------------------------
If you use PCXDUMP together with a resident VESA-driver,
AND you're using a memory manager like EMM386 or QEMM, you
may sometimes get an exception error from your memory
manager. It is because QEMM (or EMM386) does something
weird with the Video BIOS. In order to fix this problem,
you should use the QEMM 'exclude' options to exclude the
Video BIOS area. Do this by including the following in the
QEMM options:
EXCLUDE=C000-C1FF
This problem does not seem to appear with the 386Max
memory manager.
On some systems using EMM386.EXE (from Microsoft) or
QEMM386.EXE (from Quaterdeck) PCXDUMP will generate an
exception error #12 (stack under/overflow) when activated.
The most likely cause is your CONFIG.SYS configuration!
If you have the following line:
STACKS = 0,0
in your CONFIG.SYS file and you get an exception error
from your memory manager, try to increase stacks to:
STACKS = 8,256
This will leave 2 Kb RAM less for applications, but
will save you a lot of trouble in the future!
PCXDUMP and VESA-drivers
------------------------
In case you experience any problem with PCXDUMP and the
VESA-driver for your videocard, I recommend you to get the
great Universal VESA VBE driver by Kendall Bennett. You
can probably download the latest shareware version of the
Universal VESA-package from your local BBS, or you via the
internet using ftp from Simtel20 or garbo. However the
absolute latest version will always be available from the
following ftp sites:
ftp.scitechsoft.com
oak.oakland.edu under /SimTelmsdos/graphics/univbe??.zip
Kendall Bennett
Internet: KendallB@scitechsoft.com
Compuserve: 100237,2213
www: http://www.scitechsoft.com
Known problem
-------------
On some Genoa cards PCXDUMP cannot recognize the extended
graphics video modes. But you can force PCXDUMP to dump
from these modes with the VIDEO option. Please read the
section about the /VIDEO option to see a table over the
extended Genoa video modes.
Where to get PCXDUMP
--------------------
The latest shareware issue of PCXDUMP, which includes the most
up-to-date information on pricing and new features, is always
posted for downloading in these places:
* Ftp sites:
wuarchive.wustl.edu in /mirrors/msdos/graphics/pcxdmp??.zip
oak.oakland.edu in /SimTel/msdos/graphics/pcxdmp??.zip
nic.funet.fi in /pub/msdos/graphics/graphics/pcxdmp??.zip
garbo.uwasa.fi in /pc/graphics/pcxdmp??.zip
* Public Software Library
P.O. Box 35705
Houston, Texas 77235-5705
U.S.A.
* CDV Software
Postfach 2749
D-76014 Karlsruhe
GERMANY
* Danish users:
JOSTI-BBS, Phone: 4738 0524, N81
RAM-SOFT BSS, Phone: 3314 5914, N81
plus several other BBSs around the country.
If this document is more than nine months old when you receive
it, it might not be current. To make sure that you have the
latest information on pricing and availability of new features,
contact the author or look for the latest shareware release of
PCXDUMP in one of the places listed above.
Getting in contact with the author
----------------------------------
If you have any questions, suggestions or you find any bugs,
please contact me at the following address:
Viper Software
Ny Banegaardsgade 51, 3th
DK-8000 Aarhus C
DENMARK
Email: jesperf@daimi.aau.dk
Special thanks goes to:
-----------------------
Helle for being understanding.
Soren for testing, finding bugs, inventing new features and
correcting misspelled words.
Finn Thoegersen and Kendall Bennett for providing information on
various SuperVGA adapters.
APPENDIX A
----------
This appendix shortly describes the /STEALTH technique and why it
sometimes is necessary to reprogram the interrupt controller and
how this is done. Basic knowledge about interrupts is assumed.
PCXDUMP uses INT 8 (the timer) and INT 9 (the keyboard) to check
the keyboard for the hotkey-sequence. If INT 8 or INT 9 for some
reason no longer points to PCXDUMP's code, it will not be
possible to activate PCXDUMP.
Without /STEALTH (nice programs)
---------------------------------
Intr. table
┌────────┐ ┌────────────┐ ┌───────────┐
│ .... │ │ │ │ Some │
┌─────┐ ┌─>│ INT 8 │────>│ PCXDUMP │───>│ program │
│ │ ┌──┴─>│ INT 9 │────>│ │───>│ │
│ CPU │──┘ │ .... │ └────────────┘ └───────────┘
│ │ │ .... │
└─────┘ │ .... │
│ │
Without /STEALTH (unfriendly programs)
---------------------------------------
Intr. table
┌────────┐ ┌────────────┐
│ .... │ │ │
┌─────┐ ┌─>│ INT 8 │───┐ │ PCXDUMP │
│ │ ┌──┴─>│ INT 9 │─┐ │ │ │ ┌───────────┐
│ CPU │──┘ │ .... │ │ │ └────────────┘ │ Some │
│ │ │ .... │ │ └──────────────────>│ program │
└─────┘ │ .... │ └────────────────────>│ │
│ │ └───────────┘
The unfriendly program stole the INT 8 and INT 9 from PCXDUMP and
PCXDUMP cannot be activated. Many games takes complete control
over INT 8 and INT 9, as they like to monopolize the system
resources.
If you install PCXDUMP with the /STEALTH option, things look a
bit different. PCXDUMP has reprogrammed the interrupt controller
to a different set of vectors. When a program steals the keyboard
or timer interrupt it no longer gets first pick, but a fake
hardware interrupt generated by PCXDUMP resident code.
Lets see the situation with the unfriendly program again:
With /STEALTH:216
-----------------
Intr. table
┌────────┐ ┌───────────┐
│ .... │ │ Some │
╔═>│ INT 8 │────────>│ program │
╠═>│ INT 9 │────────>│ │
┌─────┐ ║ │ .... │ └───────────┘
│ │ ║ │ .... │
│ CPU │──┐ ║ │ .... │ ┌───────────┐
│ │ │ ╚════════════════│ │
└─────┘ │ │ .... │ │ PCXDUMP │
└──┬─>│ INT 216│───>│ │
└─>│ INT 217│───>└───────────┘
│ .... │
│ .... │
You now see the beauty of it! No matter how much a program tries
to take over INT 8 and INT 9, PCXDUMP will always have first
pick, since PCXDUMP has instructed the interrupt controller to
send the timer and keyboard interrupt to INT 216 and INT 217
instead of INT 8 and INT 9. PCXDUMP will fake the original INT 8
and INT 9 code AFTER processing the interrupt. This way PCXDUMP
is always first in the interrupt chain.
------------------- End of document ------------------------