The S3ViRGE.card driver is a P96 driver that implements the interface
between the openpci.library and the S3ViRGE.chip low-level driver. Thus,
technically, this driver offers everything the S3ViRGE.chip driver does,
namely panning, screen dragging, mode mixing, sprites and overlays.
It supports also aperture switching and big- and little endian modes
due to the two aperture windows the S3 chip has to offer. Unfortunately,
due to limitations of the PCI infrastructure, it does not offer native
planar modes. Planar is only possible through P96 emulation.
At this time, the driver is not yet tested on the S3ViRGE/DX which has
a different PCI ID, but is also recognized by this driver. Feedback is
appreciated.
While in general any version of OpenPCI should do, the S3Virge is a
very early PCI design and does not require access of all of its
registers in the PCI space until the chip has been "woken up". The
wake-up sequence requires access to the legacy IO region the 1.x
releases of OpenPCI unfortunately to not grant access to. Thus,
updated versions are necessary, such as the openpci implementation
of the same author currently under development.
Note that many PCI cards available on the PC market *do not* route
the interrupt of the S3 chip to the PCI connector. Thus, vertical
blank interrupts are not available by default, until enabled by
INTERRUPT=Yes in the tool types of the driver.
You may also require a new version P96Prefs that recognizes the
ID of the chip, to be available soon.
----------------------------------------------------------------------
Changes for release 43.43:
- This is the first version.
----------------------------------------------------------------------
Changes for release 43.67:
- This driver now supports multiple identical cards in the system
and continues scanning for cards until a non-reserved card is
found.
----------------------------------------------------------------------
Installation:
- Receive an alpha version of the openpci.library of the author,
e.g. from a1k.org. The currently available 1.x version are
likely *not* sufficient.
- Copy S3ViRGE.card to LIBS:Picasso96/
- If not already present in the system, install P96 with the
included installer, and select the CVision3D as graphics card.
- Ensure that S3ViRGE.chip of the official P96 version is
also available in LIBS:Picasso96.
- Take the CVision3D monitor icon, and edit its
tool types with the workbench. Add or modify the following
tool type:
BOARDTYPE=S3ViRGE
- Rename the icon to S3ViRGE.
- Reboot the system, and start either Picasso96Mode or
P96Prefs (preferred).
- For P96Prefs, select the S3ViRGE 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.
- For the Picasso96Mode program, you need to create the
desired modes manually.
The following additional tool types are recognized by the
driver and can be added to the driver icon either by the
workbench:
INTERRUPT=<yes|no>
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=<clock in Mhz>
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=<yes|no>
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.
FASTDRAWLINE=<yes|no>
Enables (with "yes") or disables (with "no") support for the
hardware line drawer of the S3 chip. While considered faster,
it may actually not perform better than the software renderer
in P96, and due to defects in the hardware, is not available
in all modes anyhow. The current chip driver should support
it correctly if set to YES. This is also the default.
----------------------------------------------------------------------
The THOR-Software Licence (v3, January 2nd 2021)
This License applies to the computer programs known as the "S3ViRGE.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.richteralumni.tu-berlin.de
----------------------------------------------------------------------
Thomas Richter,
August 2024.
|