ViewFinder Guide



Overview

ViewFinder is a video card for the Acorn Risc PC and A7000.

It provides much higher display resolutions and graphics performance than the native video system of the Risc PC. It achieves this by exploiting the advanced video and graphics technology offered by mainstream AGP video cards.

To provide easy access to this guide, it is included in the ViewFinder software. Simply open a Task Window (press CTRL-F12) and enter 'ViewFinderGuide' to read it comfortably.

Selecting screen modes

Screen modes can be selected either by using the standard (or 'old') Display Manager, or by using the ViewFinder Display Manager. The old Display Manager should be used to select any of your 'old' modes (the ones referred to by number, or defined via ModeInfo files). The ViewFinder Display Manager should be used to select the new high resolution modes provided by ViewFinder.

In principle, all your old modes are instantly available through the old Display Manager. There is, however, a restriction. Modes with less than 16 colours (or greys) cannot be selected on ViewFinders that don't use a Radeon type AGP card.

The ViewFinder Display Manager is loaded automatically, and its functions are available through the monitor-like icon on your iconbar. The ViewFinder Display Manager provides an easy way to select your favourite new high resolution modes. And to learn new ones.

It is important to realise that, depending on the type of monitor you use, it may not be possible to display all new high resolution modes available through ViewFinder. The ViewFinder Display Manager provides a default set of modes to get you started, but you will either need to verify that all these modes work on your particular monitor (and delete the ones that don't), or delete them all and start teaching the ViewFinder Display Manager new modes from scratch.

To display the main menu of the ViewFinder Display Manager, click MENU on its iconbar icon.

The '16 greys', '16 colours', '256 greys', '256 colours', '32K colours' and '16M colours' submenus show the currently available set of modes. The modes under '16 greys' are all the modes showing 16 greys, the ones under '16 colours' are all the modes showing 16 colours, and so on. All modes are displayed as e.g. '1600 x 1200, 60 Hz', where 1600 is the horizontal resolution in pixels, 1200 is the vertical resolution in pixels, and 60 is the refresh rate (which is the number of times per second that the monitor renders the display).

All ViewFinder modes are specified using only these three parameters. You no longer need to build or edit complicated RISC OS ModeInfo files to create new modes. In principle, all combinations of x and y resolutions and refresh rate that you can think up are directly available, within reason. The restrictions are :

1) ViewFinder provides a limited range of resolutions and refresh rates. Also, the more pixels or colours are to be displayed, the more limited the range of refresh rates may be (refer to 'Maximum specifications' for more details).

2) Your monitor may not be able to display all the modes that ViewFinder provides. Consult the manual of your monitor for an indication of what ranges of resolutions and refresh rates your monitor supports.

3) The x and y resolutions have to be a multiple of 8 in most cases. Usually, there are additional restrictions, depending on the type of video card used on ViewFinder, and the number of colours displayed. E.g. they may have to be a multiple of 16, 32, or even 64. The rules are somewhat complicated, so they are not explained in detail here.

4) Keep the refresh rate within reasonable limits, i.e. between 50 and 150 Hz.

You can teach the ViewFinder Display Manager new modes in the following way :

1) In the 'Mode' submenu of the old Display Manager, enter 'V X<x resolution> Y<y resolution> <colours> F<refresh rate>', where <x resolution> is the number of pixels required horizontally, <y resolution> is the number of pixels required vertically, <colours> is either 'G16' (for 16 greys), 'C16' (for 16 colours), 'G256' (for 256 greys), 'C256' (for 256 colours), 'C32K' (for 32 thousand colours) or 'C16M' (for 16 million colours), and <refresh rate> is the required refresh rate in Hz. For example, 'V X1600 Y1200 C32K F80' selects a 1600 x 1200 pixel, 32 thousand colour, 80 Hz refresh rate mode.

2) Press RETURN. The mode will now be selected for the first time. If there is no display, or it looks garbled, the mode is out of range for either ViewFinder or your monitor. In that case, press and shortly hold down both ALT keys and HOME to return to the previous mode, and try again, using different parameters.

3) Now go to the 'Changes' submenu of the ViewFinder Display Manager. This now shows something like 'Add 1600x1200,80Hz', indicating the specifications of the current mode. Click on this to add the mode to your favourites. The mode is added to the relevant submenu only (depending on the selected number of colours or greys). If 'C16' or 'G16' was used, the mode is added to both the '16 greys' and '16 colours' submenus. The same goes for 'G256' and 'C256'.

Repeat steps 1 through 3 to add more modes until you are satisfied with the set you have.

Should you want to, you can delete modes in the following way :

1) In the 'Changes' submenu of the ViewFinder Display Manager, click on 'Delete modes'. You are now in 'delete mode' (remember to revert to 'select mode', see point 3 !).

2) Now simply click on a mode (as if you were selecting it) to delete it.

3) Once you have finished deleting modes, revert to 'select mode' by clicking on 'Select modes' in the 'Changes' submenu.

Your selection of modes is stored in the file '<Choices$Dir>.ViewFinder.Modes'. It is recommended that you make a backup of this file once you have finished building your mode set, so you can restore it if it becomes corrupted or is deleted by accident.

Note that you can click on '16 greys', '16 colours' etc. directly (i.e. without going into the submenu). This reselects the current mode, but changes the colour depth to what you clicked on. This is not only useful for quickly switching between colour depths, but also speeds up adding modes (whenever, for a certain resolution and refresh rate combination, you want to add all colour depths).

Screen mode limitations

Monitors vary widely in their abilities to display screen modes. Your monitor may not be able display all the modes that ViewFinder can produce. Also, the video card used on ViewFinder has its own restrictions, which limit it to certain combinations of resolution, colour depth, and refresh rate.

The ViewFinder software is aware of most of these restrictions and tries to revert to sensible defaults if a mode you specify exceeds known limitations. Specifically when it concerns refresh and line rates.

By default, generous limits are assumed. Ideally, ViewFinder should be aware of the exact limitations of your monitor. You can specify them via the ViewFinder software update utility. In fact, it is highly recommended that you do.

Performance

The performance of the graphics system under ViewFinder, as you will experience, varies. This is because many graphics operations are executed more quickly than before, and some more slowly.

ViewFinder's strength is that it can speed up the execution of many graphics operations, sometimes by a factor of 50 or more (!), by exploiting the graphics acceleration functions offered by the AGP video card. A few of the most important ones are : moving or filling rectangular pixel areas, drawing plain monochrome text, and drawing lines.

ViewFinder's weakness is in direct access to the screen memory. This is slower than under the native video system because it can only be accessed somewhat indirectly, via the (relatively slow) podule bus. The most important graphics operation that is slowed down because of this, is font drawing. Font drawing doesn't lend itself well to acceleration, and, unfortunately, needs to access the screen memory a lot, to merge or blend font characters with the existing background.

The performance observed when using an application will vary depending on the frequencies and types of graphics operations used by the application to draw its graphics. In most cases, ViewFinder's graphics acceleration will provide increased performance.

Please note that, due to restrictions of the accelerator hardware, acceleration of graphics operations in 16 colour modes is more difficult to achieve than in 256, 32K or 16M colour modes. If you have a ViewFinder fitted with a 'Mach 64' based AGP card, special trickery ensures that rectangle copy, rectangle fill, and cached sprite plots are only slightly slower than expected, and only line drawing is not accelerated at all. If you have a ViewFinder fitted with a 'Rage 128' based AGP card, however, very little can be accelerated in 16 colour modes.

Sleeping VIDC

When ViewFinder is active, the native video system of the Risc PC is basically inactive. But it still provides a display via the regular VGA output. When an 'old' mode is selected, the native video system and ViewFinder display the same resolution and colour depth. However, when a 'ViewFinder' mode is selected (using the ViewFinder Display Manager or using the 'V' option in *WimpMode commands), the native video system of the Risc PC is set to the lowest available resolution at that colour depth. This frees up native (screen) memory.

To maximize the amount of memory that is freed, you might like to add the following mode to your monitor definition file :

# 640 x 40 (72Hz)
startmode
mode_name:640 x 40
x_res:640
y_res:40
pixel_rate:31500
h_timings:40,128,0,640,0,24
v_timings:3,28,220,40,220,9
sync_pol:3
endmode

But note that under RISC OS 4.02 and later, the amount of memory used by the native video system is always either 1 or 2 MB, rendering this special mode ineffective.

Dual input monitors

If you are using a dual input monitor that automatically switches to an active signal, it is possible to arrange almost instant access to actual native video modes (i.e. as if ViewFinder was disabled). There is no need to reboot the machine with 'V' pressed (or '*Configure ViewFinderEnable 0' issued).

To use this feature, connect your monitor to both the regular and ViewFinder's video output, and configure your ViewFinder as follows :

*Configure ViewFinderBlankVIDC 1
*Configure ViewFinderDualOutput 1

ViewFinder output mode is selected by default. You can switch to native output mode simply by clicking Adjust on the iconbar icon of the ViewFinder Display Manager. Switching back to ViewFinder output mode is done in the same way. Switching output mode reselects the Wimp mode that was most recently used in the new output mode (or mode 28 initially). The iconbar icon of the ViewFinder Display Manager changes to indicate the new output mode. Selecting a mode via the ViewFinder Display Manager will automatically switch to ViewFinder output mode.

If you are in native output mode, only 'VIDC' modes are available, including 2 and 4 colour modes.

To disable output mode switching, issue :

*Configure ViewFinderDualOutput 0

Star commands

Several new *-commands are available (enter '*Help ViewFinder' to list them). Note that *ViewFinderMode and *ViewFinderPreviousMode should not be used directly. They are only described for completeness.

*ViewFinderGuide

Displays this guide.

*ViewFinderInformation

Displays some miscellaneous information about your ViewFinder.

*ViewFinderMonitorDetails

Shows various monitor details. The highest resolution advertised by the monitor (via its EDID) is listed, and how it is connected (via VGA or DVI). If it is connected via DVI, the origin of the monitor's native resolution and timing as used by ViewFinder is indicated as well ('usr' means you specified it via the software update utility, 'std' or 'det' means you didn't but ViewFinder deduced it from the EDID (if 'det', this included detailed timing), and 'def' means that defaults were assumed (1280 x 1024, 60 Hz)).

*ViewFinderMode <arguments>

Is basically the same as '*WimpMode <arguments>', except that it is executed by the ViewFinder software instead of the Wimp, and supports the 'V' option to indicate that the mode is a 'ViewFinder mode' (i.e. a new high resolution mode that is not supported by the native video system). In fact, *WimpMode itself is aliased to *ViewFinderMode by the ViewFinder software, so it can intercept all *WimpMode commands.

*ViewFinderPreviousMode

Is used by the ViewFinder Display Manager to reselect the previous mode when it detects 'ALT-ALT-HOME'. Refer to 'Selecting screen modes' for more information.

*ViewFinderCacheContents

Shows the contents and usage statistics of the sprite cache.

*ViewFinderTVOutModes

Shows the available TV-out modes (Radeon equipped ViewFinders only). Refer to 'Support for TV-out' for more information.

Configuration commands

Several new *Configure commands are available (enter '*Help ViewFinder' to list them). All of them require a reboot of the machine to activate their effect.

*Configure ViewFinderEnable <value>

Enables (value 1) or disables (value 0) ViewFinder. Configuration commands, however, will always be available. '*Configure ViewFinderEnable 0' is the more 'permanent' version of holding down the 'V' key when booting your machine (which disables ViewFinder only temporarily, until the next reboot).

*Configure ViewFinderAcceleration <value>

Enables (value 1) or disables (value 0) acceleration of graphics operations. In normal circumstances, it should always be set to enabled.

*Configure ViewFinderDMASpeed <number>

Allows selection of the DMA (Direct Memory Access) speed used by ViewFinder, where <number> is 0, 1, 2 or 3. 0 completely disables use of DMA, which is currently only needed when ViewFinder is used in conjunction with a Kinetic card from Castle Technology. 1, 2 or 3 select increasingly higher DMA speeds. In normal circumstances, 3 can be used without any problems.

*Configure ViewFinderBlankVIDC <value>

Permanently blanks the native video output (value 1) or leaves it alone (value 0). Permanent blanking may be useful if your monitor is connected to both the native and ViewFinder's video output. Without it, you may have to switch from the native to ViewFinder's video output on every reboot (because, in practice, the monitor will always 'see' the native video output first, and stick with it until you manually switch to ViewFinder's video output). If the native video output is not connected to your monitor, use '*Configure ViewFinderBlankVIDC 0'.

*Configure ViewFinderDualOutput

Is described under 'Dual input monitors'.

*Configure ViewFinderDVIEnable and *Configure ViewFinderDVIScaling

Are described under 'Support for DVI'.

System variables

One new system variable is available.

ViewFinder$Enable

Is always defined, and is "1" if ViewFinder is enabled, or "0" if it is disabled.

One application of this variable is in automatically selecting your default desktop mode. To arrange this, edit the file :

<Choices$Dir>.Boot.PreDesk.Configure.VRAM (if you have VRAM fitted), or
<Choices$Dir>.Boot.PreDesk.Configure.NoVRAM (if you have no VRAM fitted), or
<Choices$Dir>.Boot.PreDesk.WimpMode (if you have a very recent Boot application)

(or it may be located yet somewhere else, depending on your version of RISC OS).

This file contains a line similar to :

WimpMode X1280 Y1024 C256

This selects your default desktop mode (as configured with the Boot application). To select a 'ViewFinder mode' instead (which is only available if ViewFinder is enabled), change the line to (for example)

If "<ViewFinder$Enable>"="1" Then WimpMode V X1600 Y1200 C256 F75 Else WimpMode X1280 Y1024 C256

(this is one line, from the 'If' to the second 'C256'). Change the 'X1600 Y1200 C256 F75' part of the line to suit your preference.

Maximum specifications

The following table gives a rough indication of the 'maximum' screen modes (in terms of resolution and refresh rate) obtainable with ViewFinder. It assumes connection via VGA. For connection via DVI, the maximum is 1920 x 1200 x 16M x 60 Hz (per monitor). If a table field is blank, ViewFinder cannot display the relevant screen mode. Use '*ViewFinderInformation' to determine the chipset of your ViewFinder's AGP card.

A = ViewFinder with 'Mach 64' chipset AGP card (Rage XL, 1 DRAM chip)
B = ViewFinder with 'Mach 64' chipset AGP card (all others)
C = ViewFinder with 'Rage 128' chipset AGP card
D = ViewFinder with 'Radeon' chipset AGP card

A B C D
1280 x 1024 x 16, 256 or 32K colours 100+ 100+ 100+ 100+
1280 x 1024 x 16M colours 87 100+ 100+ 100+
1600 x 1200 x 16, 256 or 32K colours 90 90 90 90
1600 x 1200 x 16M colours 62 80 90 90
1920 x 1440 x 16, 256 or 32K colours 75 75 75 75
1920 x 1440 x 16M colours 75 75
2048 x 1536 x 16, 256 or 32K colours 68 68 72 75
2048 x 1536 x 16M colours 67 70

Note that 'Mach 64' chipset AGP cards cannot actually display 2048 x 1536 screen modes, because 2032 pixels is their maximum horizontal resolution.

Support for DVI

ViewFinders fitted with a Radeon type AGP card that has a DVI connector may support connection via DVI instead of VGA (but this is not guaranteed unless you have bought an explicitly DVI capable ViewFinder). Connection via DVI provides the sharpest possible display (because DVI uses digital signalling, whereas VGA uses analogue signalling, which is susceptible to subtle errors that occur during transfer and/or interpretation).

Proceed as follows :

1) Update your ViewFinder software. This allows you to specify your monitor's native resolution (or, if the resolution is not listed by the software update utility, specify exact timing parameters (contact Windfall for details)). Consult your monitor's documentation to determine its native resolution.

2) Enable DVI output by issuing '*Configure ViewFinderDVIEnable 1'.

3) Switch your machine off.

4) Connect ViewFinder and your monitor via DVI.

5) Switch your machine on.

Always try to use screen modes with a resolution equal to the native resolution of your monitor. Higher resolution screen modes may not be displayed correctly. Lower resolution modes will be scaled to your monitor's native resolution by either the monitor itself (issue '*Configure ViewFinderDVIScaling 0'), or the AGP card (issue '*Configure ViewFinderDVIScaling 1').

The refresh rate of all screen modes is fixed. It is 60 Hz for all the standard choices in the ViewFinder software update utility. There is not usually any need for higher refresh rates (and at 1920 x 1200 it is not even possible, since it consumes all of the bandwidth available via single-link DVI).

Support for dual-head

ViewFinders fitted with a Radeon type AGP card that has a second VGA or DVI connector have dual-head capability (your display spread across two monitors).

Proceed as follows :

1) Connect your second monitor to the second VGA or DVI connector.

2) Ensure you have nothing connected to the TV-out connector.

3) Power up or hard reset your computer (note that doing this before you connect your second monitor will make dual-head fail to work).

4) Manually select your modes (in the future, the ViewFinder Display Manager may be used for this, but at this time it cannot).

Note that the second monitor will be referred to as 'head 2', and your main or first monitor as 'head 1'.

Now, from the 'Mode' submenu of the 'old' Display Manager, enter (e.g.) 'V X2560 Y1024 C256 F75 SR'. Both monitors should now display one half of a 2560 x 1024, 256 colour desktop. Use 'SL' instead of 'SR' if head 2 is to the left side of head 1 (so it should display the left side of the desktop instead of the right side). You can make both heads display different resolutions as well, e.g. add 'X1600' after the 'SR' or 'SL' to make head 2 display 1600 pixels horizontally (head 1 will display the rest), or e.g. 'X1024 Y768' to make it display 1024 x 768 pixels.

If you use DVI output, you should aim to select only modes that display the exact native resolution of your monitor(s). E.g. if you have two monitors connected to ViewFinder via DVI, one 1920 x 1200 native resolution and one 1280 x 1024 native resolution, then you would normally use just the one dual-head mode 'V X3200 Y1200 SR X1280 Y1024' (assuming the lower resolution monitor is to the right of the other).

Support for TV-out

ViewFinders fitted with a Radeon type AGP card that has a TV-out connector may have TV-out capability (simultaneous display on a monitor as well as a TV).

Proceed as follows :

1) Connect your TV to the TV-out connector.

2) Switch on your TV and ensure that the relevant video input is selected.

3) Power up or hard reset your computer (note that doing this before you connect your TV will make TV-out fail to work).

4) From the desktop, open a Task Window (press CTRL-F12), and enter 'ViewFinderTVOutModes'. This will list the available TV-out modes.

5) Pick a TV-out mode (e.g. number 6), and enter 'WimpMode T6 C256' (you can choose from C16, G16, C256, G256, C32K and C16M, as for regular modes).

6) Your display will switch to the relevant resolution and colour depth and the image should now also appear on your TV.

Known problems and limitations

The following is a summary of known problems and limitations. A few of them may be solved by future versions of the ViewFinder software, but most should be considered to be permanent 'caveats'.