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 or . 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 or and arrow keys to control frame position. Press Keypad 5 to adjust horizontal panning (described below) BOTH MOUSE and KEYBOARD: Press to dump graphic within frame. Press 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" + . 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+, 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 ------------------------