Short: Voodoo P96 driver Author: thomas.richter@alumni.tu-berlin.de (Thomas Richter) Uploader: thomas richter alumni tu-berlin de (Thomas Richter) Type: driver/video Version: 43.165 Requires: P96 >= 3.3.0, OpenPCI >= 2.0, AmigaOs 3.0 Architecture: m68k-amigaos >= 3.0 The Voodoo.card driver is a P96 driver implementation for the Voodoo 2,3,4-5 3dfx graphic cards for PCI bridge boards. This driver adds support for the latest P96 versions and as such offers panning, screen dragging, mode mixing and overlay windows (also called Picture-in-Picture, "PiP"). Due to limitations of the hardware, only 16 bit Hi-color screen modes can dragged, but the video modes of the background screen are not limited, i.e. one can drag Hi-color screens to reveal a chunky or true-color screen in the background. As for P96 screens in general, the foreground screen cannot be dragged if there is no background, or the foreground screen uses panning. The driver supports all features the card offers: Accelerated rectangle filling, rectangle inversion, copying, line drawing, and pattern fill, also conversion from planar to chunky is accelerated. The card also offers a hardware sprite used as mouse pointer. At this time, the driver is not yet tested on the Voodoo 2 and Voodoo 4/5, thus feedback is appreciated. This driver is based on OpenPCI, found at: http://bvernoux.free.fr/DevPCI.php unfortunately not available on Aminet. As OpenPCI does not seem to formulate license conditions, it cannot be included in this distribution. ---------------------------------------------------------------------- Changes for release 43.165: - The return code for the interrupt server was not right and did not indicate that a card interrupt was actually not present, blocking other interrupts on the same handler chain. - The BltPattern drawing primitive did not handle the INVERSVID draw mode correctly. ---------------------------------------------------------------------- This driver is provided to the Amiga community as contribution and gift in return to the A4000 I had the honor to receive. Thanks a lot, folks! Here is something in return. ---------------------------------------------------------------------- Installation: - Download OpenPCI from http://bvernoux.free.fr/openpci2.1_beta4_081009.zip unzip and copy the openpci.library to LIBS: if not yet already present there. - Copy Voodoo.card to LIBS:Picasso96/ - If not already present in the system, install P96 with the included installer, but do not select any graphics card. The P96 installer will then place a file "Generic" in DEVS:Monitors. - Take this, or any other P96 monitor icon, and edit its tool types with the workbench. Add or modify the following tool type: BOARDTYPE=Voodoo - Rename the icon to Voodoo. - Reboot the system, and start either Picasso96Mode or P96Prefs (preferred). - For P96Prefs, select the Voodoo monitor and press on "Add Default Modes", then edit the modes to your liking. In particular, for low resolution modes, it may be necessary to adjust the horizontal or vertical frame size (the first two numbers on the right-hand side of the window) to adjust the horizontal and vertical refresh rates to match the requirements of the monitor. P96Prefs 47.15 and above perform these steps automatically when creating modes for the VA2000. - For the Picasso96Mode program, you need to create the desired modes manually. - Note that the modes of older Voodoo drivers cannot be used directly as its drivers indicate the board type incorrectly. They are associated to the Prometheus board (sic!). To reuse such modes, select them in P96Prefs, use "Copy" from the "Edit" menu, and "Paste" them into the new settings. The following additional tool types are recognized by the driver and can be added to the driver icon either by the workbench: INTERRUPT= Enables or disables usage of the vertical blank interrupt of the board. Not all PCI bridge boards may support this. If present, screen operations can be synchronized to the screen, avoiding tearing. MEMORYCLOCK= allows to select the memory clock in Mhz. Useful values are between 100 and 220. Generally, there is no need to play with this tooltype as the correct memory clock is taken from the VESA Bios of the card. DISPLAYCHAIN= Enables (with "yes") or disables (with "no") support for switching monitors. The card itself does not offer a VGA switch, but if you connect the VGA output of the card with one input of your monitor, and the native Amiga output with another input, the inactive output will be disabled, allowing smart monitors to switch between the outputs. This may be used as a poor-men's' VGA switch. ---------------------------------------------------------------------- The THOR-Software Licence (v3, January 2nd 2021) This License applies to the computer programs known as the "Voodoo.card". The "Program", below, refers to such program. The "Archive" refers to the package of distribution, as prepared by the author of the Program, Thomas Richter. Each licensee is addressed as "you". The Program and the data in the archive are freely distributable under the restrictions stated below, but are also Copyright (c) Thomas Richter. Distribution of the Program, the Archive and the data in the Archive by a commercial organization without written permission from the author to any third party is prohibited if any payment is made in connection with such distribution, whether directly (as in payment for a copy of the Program) or indirectly (as in payment for some service related to the Program, or payment for some product or service that includes a copy of the Program "without charge"; these are only examples, and not an exhaustive enumeration of prohibited activities). However, the following methods of distribution involving payment shall not in and of themselves be a violation of this restriction: (i) Distributing the Program on a physical data carrier (e.g. CD-ROM, DVD, USB-Stick, Disk...) provided that: a) the Archive is reproduced entirely and verbatim on such data carrier, including especially this licence agreement; b) the data carrier is made available to the public for a nominal fee only, i.e. for a fee that covers the costs of the data carrier, and shipment of the data carrier; c) a data carrier with the Program installed is made available to the author for free except for shipment costs, and d) provided further that all information on said data carrier is redistributable for non-commercial purposes without charge. Redistribution of a modified version of the Archive, the Program or the contents of the Archive is prohibited in any way, by any organization, regardless whether commercial or non-commercial. Everything must be kept together, in original and unmodified form. Limitations. THE PROGRAM IS PROVIDED TO YOU "AS IS", WITHOUT WARRANTY. THERE IS NO WARRANTY FOR THE PROGRAM, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF THIRD PARTY RIGHTS. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. IF YOU DO NOT ACCEPT THIS LICENCE, YOU MUST DELETE THE PROGRAM, THE ARCHIVE AND ALL DATA OF THIS ARCHIVE FROM YOUR STORAGE SYSTEM. YOU ACCEPT THIS LICENCE BY USING OR REDISTRIBUTING THE PROGRAM. Thomas Richter Note that this program is also available under license from individual Computers, Jens Schönfeld GmbH. ---------------------------------------------------------------------- Send ideas, improvements, bug reports (please as concrete as possible) to: Thomas Richter EMail: thomas.richter@alumni.tu-berlin.de ---------------------------------------------------------------------- Thomas Richter, June 2024.