IBM-PC executable notes for POV-Ray Ver 2.10 ----------------------------------------------------------------------------- Please read thru this file *completely*, it contains several hints & tips for getting POV-Ray running smoothly on various systems. See IBMPC.DOC for IBM-PC specific command line options and file conversion information. Please note that this doc file is specific to the POV-Ray executable compiled with Intels "Code Builder" 32bit extended DOS compiler. Exectables compiled with other "C" compilers will *** NOT *** run or behave as described in this document. POVMOD is also a utility that is specifically for the "Code Builder" compile. ---------------------------- General Notes ---------------------------- This is a 32 bit protected mode version of POV-Ray. It has been compiled for 32 bit protected mode with Intels 386/486 Code Builder Kit. Please Note: It *ABSOLUTELY REQUIRES* the following: 80386SX, 80386DX, 80486DX/SX or Pentium Based machine. This version will run on any machine with, or without, a CoProcessor. If no CoProcessor is detected a protected mode 387 emulator will be loaded and used. If a CoProcessor is detected the emulator will not be loaded and the CoProcessor will be utilized. (See OS/2 & Windows notes below for further info on CoProcessors & those environments.) An 80387SX, 80387DX or a 80487SX will give a *significant* boost in speed. It can be as much as 10x faster, even more in some cases. For those that are curious about the speed difference between CoProcessor and no CoProcessor you can force the use of the floating point emulator linked into POV-Ray by typing: SET NO87=NO COPROCESSOR at the DOS command line. The CoProcessor in your machine will not be used for traces while this is set. After enough torture you can re-enable the CoProcessor by typing SET NO87= at the DOS command line. (With being the "ENTER" or "RETURN" key on your keyboard.) AT LEAST 2 Megs of RAM is required, *preferably*, & strongly urged, is 4 Megs. (The more the better though, POV-Ray will use all that is available. ) (Note: Some machines may require more than 2 megs of RAM to run the program.) A Hard Disk is preferred. Since a Virtual Memory Manager is linked into the program the disk can be used as swap space much like what Windows 3.x (TM) does to add additional "memory". (See POVMOD.DOC for notes on how to modify the amount of hard disk space that will be used by the Virtual Memory Manager. This is *NOT* dynamic and must be adjusted according to your individual systems available resources.) The program *WILL NOT RUN* on 8088, 8086, 80186 or 80286 based systems! If you get a large message at start-up about an incompatible extended program in operation and recommending reboot, *REBOOT* your machine IMMEDIATELY, --- Don't continue! (Push RESET) File corruption can result if you continue. (This according to Intel Doc's) Then restart with a "bare" system, I.E. no TSR's & no memory managers. You can usually track down the offending program by REMing out all programs and then adding them back into your autoexec.bat &/or config.sys files one at a time. This version of POV-Ray was compiled with Intel's "Code Builder Kit" version 1.1ax. There have been several enhancements to the compiler since version 1.0. The most important being that POV-Ray will now run with most XMS/EMS memory managers loaded. In most cases it will run with QEMM, 386^MAX, EMM386, HIMEM as well as DOS 5.0's DOS=HIGH. Being a 32 bit protected mode program, this compile of POV-Ray will sometimes expose problems with systems that wont show up under normal DOS usage. One common problem is machine lockups or stopping with a "parity error" or "NO ROM BASIC" message. This is most often caused by defective or marginal RAM in the "extended" portion of memory. DOS normally doesn't use this area and will often work fine, even though some of your machines RAM is bad. There are several memory testing utilities on the market that will test RAM quite well. ------ Generally the commercial programs will be more effective in ID'ing bad RAM than shareware. Sometimes the problem can also be that the RAM CMOS setup "wait states" are set too low for the access speed of the RAM used. Occasionally it can be something as simple as oxidation on the connection pads of a couple SIMM units that may cause problems. Some VCPI applications may still be incompatible with this compile of POV-Ray. It will not run directly under DesqView, DV/X. DesqView/QEMM supports VCPI applications & requires that it have access to the CPU control registers which is not allowed (directly) in a DPMI environment. This compile of POV-Ray supports the DPMI 0.9 spec. QEMM in combination with it's DPMI host accessory, QDPMI, may give a boost in performance on some machines. Make sure that your swap file defined for QDPMI is large enough to supply any memory requests POV-Ray might make. Generally it is a good idea to set the swap size equal to or larger than the region size specified with the POVMOD utility. (3072K as distributed.) See POVMOD.DOC for more information on configuring the region size to suit your machines available resources. ----------------------------------- User Reported Problems ----------------------------------- Problems have been reported by some individuals using file deletion tracking TSR's. (For recovering deleted/erased files) Since POV-Ray uses a "random access" swap file and reconfigures many of the ways things are done by the CPU it's self, it is probably a *very* good idea to DISABLE these types of programs prior to running POV-Ray. Also, it is prudent to make sure your swap file is placed on an UNCOMPRESSED drive. (I.E. don't use Stacker, SuperStor, DoubleSpace etc. on the partition your swap file is in. POV-Ray will locate it's swap file in the root directory of your C: drive by default. See POVMOD.DOC for instructions on how to change the location that POV-Ray will use for it's swap file.) Some individuals have experienced problems running under DR DOS 6.0 with it's PC-KWIK cache active. You may have to disable the caching when using PC-KWIK (under any operating system) with POV-Ray. From PC-KWIK corporation document, 'PC-KWIK Technical Issues "Summer '92"': PC-KWIK is unable to recognize memory requests from programs using VCPI or DPMI protocols ... For programs [that use VCPI or DPMI] it is necessary to reduce the size of the cache and disable lending. Since POV-Ray is a DPMI client program it may have problems with PC-KWIK. PC-KWIK's feature that allows memory to be loaned from the cache memory to other applications is what may cause problems. PC-KWIK [the program] does not track any memory allocated or used by a DPMI host, and may loan this memory, possibly causing corruption of the DPMI driver, resulting in a system crash or reboot. This problem seems to exist thru version 5.01. PC-KWIK Corp is reported to be aware of the problem. When using PC-KWIK with POV-Ray you should either make sure that you have enough memory in your computer so that lending will not occur, reduce the size of your cache, (both difficult since POV-Ray will use different amounts of memory, depending on the image) OR, (best) completely disable PC-KWIK's lending feature or remove PC-KWIK it's self when using POV-Ray. Some individuals have reported problems running version 1.0 of POV-Ray on newer 80486DX2/66 based machines with Vesa Local Buss'. (Lockups etc.) In these cases running the program under a DPMI server such as OS/2 2.x, Win 3.1, or, for straight DOS use, QEMM-386 with it's QDPMI add-on installed seems to eliminate the problems. POV-Ray 2.0 was compiled with a version of the compiler that is 2 revisions newer & may or may not exhibit this problem. The problem seems to be related to specific chipsets or mother board designs since most DX2/66's don't seem to have the problem. (In fact the distribution EXE files were compiled on one & work fine on it.) --------------------------------- OS/2 2.x Notes --------------------------------- NOTE: A CoProcessor *MUST* be installed in your machine for this program to run well under OS/2 2.x. The FPU emulator linked into POV-Ray cannot be used & OS/2's "built in" FPU emulator is unavailable in a VDM. Note: The program -may- run in a VDM under OS/2 2.1 (it would not under OS/2 2.0) with no CoProcessor installed but timed tests have put it at almost 300X slower than with a CoProcessor installed. It's best to have the CoProcessor. To run the program under IBM's OS/2 2.x set DPMI_MEMORY_LIMIT under the DOS SETTINGS for the session (Windowed or Full Screen) to a value GREATER THAN or EQUAL to the REGION SIZE set in the POV-Ray executable. (See POVMOD.DOC for more information on setting the region size.) In all cases POV-Ray may be run in a DOS window under OS/2 2.x if the image render to screen support is disabled. The +v1 command line option may be used to monitor the current line being rendered in this case. You may now also use the +d1 POV-Ray option to force the render to screen mode to be set to the IBM standard 320x200x256 mode. (VGA mode 13) No matter what the *image* resolution is the display window will be 320x200. Using this option will give you a scaled render to a WPS window on the OS/2 desktop! However, due to the image being scaled,the image may appear blocky, colors may be slightly off, and the render to screen dithering may cause "pattern" aliasing. (NOTE: The +d1 option is *all* that may be virtualized reliably by OS/2 to the DeskTop. Other modes & VESA modes will produce unpredictable results, depending on the OS/2 video driver in use on your machine.) Also, something in the way OS/2 virtualizes the image to the DeskTop seems to cause 3 or 4 lines of the image in the window to not be displayed with some drivers. They are evenly spaced, blank, horizontal lines. It is still quite useful for following the progress of your image though. The complete render to screen support CAN be used in a **FULL SCREEN** DOS session. However, you may find that you have video sync and/or color (palette) problems if you attempt to switch to another session or the DeskTop during the render, **especially** when using HiColor or TrueColor modes. POV-Ray addresses the video HW directly, bypassing all of OS/2 2.x's video support, thus OS/2 cant "track" what has been done and may not be able to reset the palette and Horiz/Vert sync correctly. ----------------------------- Windows Notes ----------------------------- POV-Ray will run under Windows 3.x as a DOS task in 386 ENHANCED MODE. (See the OS/2 comments above for similar Video restrictions.) IMPORTANT: A CoProcessor *MUST* be installed in your machine to run this program "stand alone" under Windows 3.x. Windows traps the interrupt the emulator uses and will not allow it to run. In order to run POV-Ray under Windows 3.x in a machine with NO COPROCESSOR installed in it a Windows support file must be added to your system. Locate the VEMD.386 file included with POV-Ray. This file must be copied to your Windows directory and Windows must be configured to use it. Your SYSTEM.INI file (found in your Windows directory) needs a device=path\vemd.386 statement. (Where path is the drive and path to the directory containing VEMD.386) Do the following to add this support: Edit your SYSTEM.INI file in the following way to add the statement in the [386Enh] section of the SYSTEM.INI file. For example if VEMD.386 is in your Windows directory on your C: drive you would look for [386Enh] and add this after it but before any further [xxxx] definitions: device=C:\Windows\Vemd.386 Case is not significant. The statement can be added anywhere in the [386Enh] section of your SYSTEM.INI file. When running under Windows 3.x the program will work fine as a background task. It's best to set the program up to use the +v1 text option. The render to screen (+dxx) may not work for large images, in a window, under Windows. Render to screen may be used in a full screen session. (See OS/2 notes about possible video problems.) Also note that in multitasking environments, the trace time reported at the end of the run may not accurately reflect the time it took to *actually* create the image. ----------------------------- General DPMI Host Notes ----------------------------- When running this program under a DPMI host such as OS/2 2.x in a DOS VDM, Windows 3.x, QEMM+QDPMI or 386Max, the **host** must be configured to provide for any memory requests that POV-Ray may make. For instance, if you are running this program under QEMM with it's QDPMI DPMI host add-on installed you must configure QDPMI to provide a swap file of sufficient size to meet the parameters set with the POVMOD utility. If you have configured POV-Ray for a Region Size of 10 Megs QDPMI's swap file should be set at least that high to make sure QDPMI will be able to provide it. See Q&A.DOC and POVMOD.DOC for more information. Support for POV-Ray 2.0 may be obtained on CompuServe in the Graphics Developers Forum (GO GRAPHDEV), on America On Line in the PC GRAPHICS forum and on several BBS's around the USA. See POVINFO.DOC for further information on obtaining help with POV-Ray. ----------------------------- Display Notes ----------------------------- The display options have been updated & improved for this version of POV-Ray. However, direct hardware render to screen in HiColor modes is supported only on the following SVGA display adapters: Tseng 4000 based cards with Sierra and Sierra compatible Cirrus DAC's. (15 bit Color) ATI VGAWonder XL HiColor. (15 bit Color) Diamond SpeedSTAR 24X. (15 and 24 bit Color) These are the _only_ cards that *hardware* HiColor render to screen is supported on! All is not lost for users of other adapters though!!! Other cards may be supported thru the VESA 1.1/1.2 spec. If your card has a VESA BIOS installed (in ROM or as a TSR) you may be able to use the HiColor, and/or the TrueColor (24bit), modes that way. Use +dGH for a HiColor VESA display and +dGT for a TrueColor VESA display. Of course your SVGA cards VESA BIOS ** MUST ** support these modes!!!! Some cards may have HiColor and TrueColor modes available at the *hardware* level but their VESA implementations *** MAY NOT SUPPORT IT!! ***. Check with your specific cards manufacturer for possible updates/upgrades. An alternative is to locate a shareware program called UNIVBE by Kendall Bennett. It is capable of adding VESA 1.2 support, including HiColor and **in some cases** TrueColor, to many properly equipped SVGA cards. (Of course your card must -already- support the HiColor/TrueColor 15/16bit or 24bit modes in it's hardware.) It does not work for every case but does provide an option to be tried. UNIVBE will autodetect what chipset is used on your SVGA card and install the appropriate VESA TSR as outlined in the following excerpt from the UniVBE Docs: **************************************************************************** The Universal VESA VBE will run on any 80x86 based IBM PC compatible running MSDOS. Currently the Universal VESA VBE supports the following SuperVGA cards (note that not all of these have been fully tested): - ATI Technologies 18800, 28800 - Ahead A & B - Chips & Technologies 82c451/452/453 - Everex - Genoa Systems GVGA - OAK Technologies OTI-037C, OTI-067, OTI-077, OTI-087 - Paradise PVGA1A, WD90C00/10/11/20/21/30/31 - NCR 77C20/21/22E - Trident 88/8900 - Video7 V7VGA versions 1-5 - Tseng Labs ET3000, ET4000, ET4000/W32 - AcuMos AVGA2 - S3 86c911/924/801/805/928 - Advance Logic AL2101 SuperVGA - MXIC 86010 SuperVGA - Primus 2000 SuperVGA - RealTek 3106 SuperVGA - Cirrus Logic CL-GD 5420, 5422, 5424, 5426, 5428 **************************************************************************** It has even worked to add VESA HiColor support to my ET4000 based SpeedSTAR+ HiColor in a DOS VDM under OS/2 2.1! It's available in the IBM Programmers Forum (GO IBMPRO) on Compuserve as UVBE42.ZIP. It's also available on AOL in the PC Hardware forum as ???????? . Source code for VESA support may be FTP'ed via InterNET from: godzilla.cgl.rmit.oz.au (131.170.14.2): kjb/MGL/univbe??.zip It's now shareware, priced at $15 + shipping. NOTE: Some T4000 based cards may have problems running in HiColor modes at less than 640x400 resolution. My revision C5 Diamond Computers SpeedSTAR+ HiColor works fine in the 320x200 mode, most cards *do* seem to, although it's not an "advertised" mode for some vendors. (It's not part of the spec from TSENG labs, various manufacturers add it on their own. Diamond & STB are known support it.) Some cards may _simply not work_ in those modes. NOTE: Due to the unavailability of a protected mode TIGA driver LIB, this version of POV-Ray does *NOT* support any TIGA/Truecolor boards at present. The following should work under most conditions, although some machines seem to have problems with certain combinations of these products. Generally the latest versions of these programs are required. ---------------------------------- Compatibility With Memory Managers ---------------------------------- POV-Ray can execute with the following memory managers and configurations active: Qualitas' 386MAX V6.0/V6.01d DOS 5.0/6.x's EMM386 DOS 5.0/6.x's DOS=HIGH (See note below.) Quarterdeck's QEMM-386 V6.00 and higher Helix Software's NETROOM V2.2 ------ 386MAX ------ If you use the EMS=n option, set n to a value greater than 0 to enable services required by POV-Ray. If you use the EXT=n option, set n to a value greater than 0 because extended memory is required to run POV-Ray. ----------- DOS 5.0/6.x ----------- You can run under the DOS 5.0/6.x DOSSHELL without the Task Swapper enabled. If you attempt to execute when the Task Swapper is enabled, you receive the following message: DOS Extender: Error X0116: Cannot execute with DOSSHELL's task swapper enabled. If you use the DOS=HIGH configuration, some machines may require use of a memory manager, such as EMM386 (HiMem may be used alone here as it does the actual management, EMM386 is not required. See next paragraph.), QEMM-386, NETROOM, Windows, or 386MAX, to ensure proper handling of the A20 address line. Some systems (mostly Intel486(TM) processor-based) can exhibit problems relating to proper handling of the A20 address line when executing under DOS 5.0 with DOS=HIGH and the HIMEM.SYS memory manager. To work around these problems, use the /machine:2 option in the device=HIMEM.SYS command in your config.sys file; if problems still exist, remove the DOS=HIGH configuration. -------- QEMM-386 -------- Because extended memory is required to run POV-Ray, do not use the NOXMS option. If you use the DOS=HIGH configuration for DOS 5.0, do not use the QEMM-386 OFF option: this option disables services necessary for proper handling of the A20 address line, as explained above. Note that the QEMM-386 RAM option overrides the OFF option. Note: Quarterdeck's DPMI server for QEMM may give a slight improvement in rendering speed on some machines when installed. QDPMI is available for QEMM owners many BBS' & OnLine services. It comes with newer versions. ---------------------------------------- Compatibility With Disk-caching Programs ---------------------------------------- POV-Ray can execute with the following disk-caching programs: Microsoft's SMARTDrive Multisoft's Super PC-KWIK (See PC-KWIK notes above!) Qualitas' QCache HyperWare's HyperDisk It has also been reported that POVRAY will run fine with the PC-Tools "PC-CACHE" program installed. Some problems have been reported by users of PC-KWIK..... Again, recent versions of the programs are the best ones to use. -------------------------------------- Floating-point Emulator Error Messages -------------------------------------- The floating-point emulator linked into the POV-Ray executable can emit the following error messages. NPX Emulator: Error X0000: Not supported under this DPMI host. See Section 1 in these release notes for a list of supported memory managers. This message formerly read "The emulator is not supported under this DPMI host yet!" NPX Emulator: Error X0001: VEMD.386 not installed - Unable to install emulator. VEMD.386 Emulator not installed. Check for proper setup of your WIN.INI file as explained earlier in this doc file. This message formerly read "VEMD.386 not installed; unable to install the emulator!" NPX Emulator: Error X0002: DPMI Host Get Coprocessor Status failed. An error occurred while trying to initialize the system FPU. Have fun! Bill Pulver For questions specific to the operation of *this* compile of POV-Ray I can be reached at the following "addresses". If you use any of the InterNET gateways to these services please include your "return address" in the body of your message. I have received several messages thru CIS's InterNET gateway over the last year & had my repeated attempts to respond bounced by the mail server. Perhaps CIS is not keeping the originating info intact?? I apologize to anyone that sent me messages & thought I was ignoring them. I tried to respond to *all* the messages I received. CIS : 70405,1152 <---- Most often used. InterNET: 70405.1152@compuserve.com AOL : BPulver Less often used: Delphi : BILLP Prodigy : NCCJ93A Genie : B.Pulver 1/29/94 Parts of this document are from the Intel Code Builder support docs. From Intel Document number 485213-001. Copyright 1992, Intel Corporation. All rights reserved. Code Builder and Intel486 are trademarks and Intel is a registered trademark of Intel Corporation. Borland and Turbo Assembler are registered trademarks of Borland International, Inc. Microsoft is a registered trademark and Windows is a trademark of Microsoft Corporation. QEMM-386 is a trademark of Quarterdeck Office Systems. NETROOM is a registered trademark of Helix Software Company. Qualitas and 386MAX are registered trademarks and QCache is a trademark of Qualitas, Inc. Easy-OMF is a trademark of Phar Lap Software, Inc. PC-KWIK is a registered trademark of Multisoft Corporation. HyperWare and HyperDisk are trademarks of Roger Cross.