supermodel

package: supermodel

title: supermodel(6)

summary: A Sega Model 3 Arcade Emulator

text:
# supermodel(6)

## NAME
Supermodel - A Sega Model 3 Arcade Emulator

## SYNOPSIS
Supermodel [OPTIONS]... [rom file]

Supermodel [rom file]

ROM set must be a valid ZIP file containing a single game.

## DESCRIPTION
Supermodel emulates the Sega Model 3 arcade platform. It uses OpenGL 2.1 and SDL, and can run on Windows, Linux, and Mac OS X. In order to use it, you must legally possess ROM images of Model 3 games. Learning to operate Supermodel will come with a steep learning curve for most people. Before seeking out help, please read /usr/share/doc/supermodel/README.txt

Supermodel is distributed as free software under the terms of the GNU General Public License version 3, included in /usr/share/common-licenses/GPL-3.

The source code may be obtained from the official Supermodel web site:

http://www.Supermodel3.com

## General options
-?, -h, -help, --help Print this help text.

-print-games List supported games and quit.

-game-xml-file=<file> ROM set definition file [Default: Config/Games.xml]

## Core options
-ppc-frequency=<freq> PowerPC frequency in MHz [Default: 50]

-no-threads Disable multi-threading entirely

-gpu-multi-threaded Run graphics rendering in separate thread [Default]

-no-gpu-thread Run graphics rendering in main thread

-load-state=<file> Load save state after starting

## Video Options
-res=<x>,<y> Resolution [Default: 496,384]

-window Windowed mode [Default]

-fullscreen Full screen mode

-wide-screen Expand 3D field of view to screen width

-stretch Fit viewport to resolution, ignoring aspect ratio

-no-throttle Disable 60 Hz frame rate lock

-vsync Lock to vertical refresh rate [Default]

-no-vsync Do not lock to vertical refresh rate

-show-fps Display frame rate in window title bar

-crosshairs=<n> Crosshairs configuration for gun games:

0=none [Default], 1=P1 only, 2=P2 only, 3=P1 & P2

-new3d New 3D engine by Ian Curtis [Default]

-quad-rendering Enable proper quad rendering

-legacy3d Legacy 3D engine (faster but less accurate)

-multi-texture Use 8 texture maps for decoding (legacy engine)

-no-multi-texture Decode to single texture (legacy engine) [Default]

-vert-shader=<file> Load Real3D vertex shader for 3D rendering

-frag-shader=<file> Load Real3D fragment shader for 3D rendering

-vert-shader-fog=<file> Load Real3D scroll fog vertex shader (new engine)

-frag-shader-fog=<file> Load Real3D scroll fog fragment shader (new engine)

-vert-shader-2d=<file> Load tile map vertex shader

-frag-shader-2d=<file> Load tile map fragment shader

-print-gl-info Print OpenGL driver information and quit

## Audio Options
-sound-volume=<vol> Volume of SCSP-generated sound in %, applies only

when Digital Sound Board is present [Default: 100] -music-volume=<vol> Digital Sound Board volume in % [Default: 100]

-balance=<bal> Relative front/rear balance in % [Default: 0]

-flip-stereo Swap left and right audio channels

-no-sound Disable sound board emulation (sound effects)

-no-dsb Disable Digital Sound Board (MPEG music)

## Input Options
-config-inputs Configure keyboards, mice, and game controllers

-print-inputs Prints current input configuration

## Config file
/usr/share/supermodel/Config/Supermodel.ini

## ROM set definition file
/usr/share/supermodel/Config/Games.xml

Configuration file containing default input settings. You must copy it to the folder that Supermodel will be launched (~/your-roms-folder/Config/Supermodel.ini for example).

## TO DO
Supermodel should read the *.ini file from /usr/share/supermodel/Config/ automatically, and it should create NVRAM folder automatically too. Instead, it expects that Config/Supermodel.ini and NVRAM already exists in the folder it is launched. So to workaround it, you need do this before the first launch:

cd ~/your-roms-folder/

cp -r /usr/share/supermodel/Config .

mkdir NVRAM


title: supertux2(6)

text:
# supertux2(6)

## NAME
supertux2 - SuperTux, a classic jump'n'run platformer featuring Tux

## SYNOPSIS
supertux2 [options]

supertux2 [options] level.stl

supertux2 [options] worldmap.stwm

## DESCRIPTION
SuperTux is a classic style 2D platform game. Run and jump through multiple worlds, fighting off enemies by jumping on them, bumping them from below or tossing objects at them, grabbing power-ups and other stuff on the way.

## OPTIONS
These programs follow the usual GNU command line syntax, with long options starting with two dashes (`-'). A summary of options is included below.

-h, --help

Show this help message

-v, --version

Show SuperTux version and quit

--verbose

Print verbose messages

--debug

Print extra verbose messages

--log-tinygettext

Show tinygettext logs

--print-datadir

Print SuperTux's primary data directory.

--acknowledgements

Print the licenses of libraries used by SuperTux.

-f, --fullscreen

Run in fullscreen mode

-w, --window

Run in window mode

-g, --geometry WIDTHxHEIGHT

Run SuperTux in given resolution (eg. -g 800x600)

-a, --aspect WIDTH:HEIGHT

Run SuperTux with given aspect ratio (eg. -a 4:3)

-d, --default

Reset video settings to default values (-g 800x600 -a auto -w)

--renderer RENDERER

Render the game using the specified video renderer. Valid values are sdl, opengl20, opengl33, and auto (the default).

--disable-sound

Disable sound effects

--disable-music

Disable music

--edit-level

Open given level in editor

--resave

Loads given level and saves it

--show-fps

Display framerate in levels

--no-show-fps

Do not display framerate in levels

--show-pos

Display player's current position

--no-show-pos

Do not display player's position

--christmas

Enable Christmas mode outside Christmas times

--no-christmas

Disable Christmas mode during Christmas times

--developer

Enable developer features

-s, --debug-scripts

Enable script debugger.

--spawn-pos X,Y

Where in the level to spawn Tux. Only used if [level] is specified.

--sector SECTOR

Spawn Tux in SECTOR

--spawnpoint SPAWNPOINT

Spawn Tux in SPAWNPOINT

--datadir DIR

Set the directory for the games datafiles

--userdir DIR

Set the directory for user data (savegames, etc.)

--repository-url URL

Set the URL to the Add-On repository

## ENVIRONMENT
SUPERTUX2_USER_DIR

Directory for user data (savegames, etc.)

SUPERTUX2_DATA_DIR

Directory for the games datafiles

## FILES
~/.local/share/supertux2, ~/.supertux2

Contains configuration and savegames. Also acts as an overlay of the SuperTux game data path: Files placed here will override or supplement game data files.

## EXAMPLES
To play level /tmp/mylevel.stl in a window of size 800x600, run the program like this:

supertux2 --window --geometry 800x600 /tmp/mylevel.stl

Custom-made levels can be conveniently stored in the overlay data folder.

~/.supertux2/levels/sample_collection/level01.stl

```
(supertux-level

  (version 2)

  (name (_ "Sample Level"))

  (author "Myself")

  ...
```

Make sure to also create an "info" file, so the collection will be recognized by SuperTux.

~/.supertux2/levels/sample_collection/info

```
;SuperTux-Level-Subset
(supertux-level-subset

  (title "Sample Collection")

  (description "")
)
```

For easier distribution, the level collection can be bundled in a Zip archive.

~/.supertux2/sample_collection.zip

```
levels/sample_collection/info
levels/sample_collection/level01.stl

 ...
```

## BUGS
This is a development version, so expect plenty of bugs.

## AUTHOR
This manual page was written by the SuperTux Devel Team and is placed in the public domain.

branch: sisyphus


accel

package: svgalib-devel

title: accel(6)

text:
# accel(6)

## NAME
accel - tests the new style svgalib accelerator interface

## SYNOPSIS
accel

## DESCRIPTION
Test new-style accelerated functions (As of this writing: Ark, Cirrus, Chips & Technologies cards, and Mach32 only). For other cards the demo will not work (well it will complain about missing accelerator support). Don't worry about this.

During the development of the Mach32 new style driver for 1.2.12, this demo was massively extended to check the Mach32 functions.

Upon startup it lists all supported SVGA modes and asks you to enter a number identifying the mode to be tested. The supported subfunctions of vga_accel(3) in this mode are listed and the demo instructs to press <Return> to start the demos.

If supported, all drawing operations are performed in the background.

Then the following tests are performed:

### Positioning tests
These tests were originally intended to check that the accelerator commands work on the proper screen locations. The screen shows 12 (4 x 3) smaller areas with red crosses in the corners. When everything is ok, the drawings should reach right in the corners of the crosses.

A given card may not support all operations listed here. In that case the resp. test area just shows the red crosses. For tests performed, the name of the test is printed below the area. The tests are (from left to right, top to bottom):

1.

A green box is drawn with vga_accel(ACCEL_FILLBOX).

2.

A cross of green lines is drawn with vga_accel(ACCEL_DRAWLINE).

3.

A linux pixmap just fitting into the crosses is drawn with vga_accel(ACCEL_PUTIMAGE).

4.

A pixmap just fitting into the crosses is drawn into the red crosses (by vgagl(5) which may or may not use the accelerator). The pixmap is then copied to a few lines/columns below. Green crosses mark the intended destination position.

5.

Works like 3. but copies to an area above the origin. The accelerator must ensure that the overlapping areas are handled non corrupting. Thus, watch that the copy operation is properly performed.

6.

A green triangle is drawn above the top/left to bottom/right diagonal by use of vga_accel(ACCEL_DRAWHLINELIST).

7.

Certain bitmaps are copied to the screen. In the corners you'll see the digits

0

top/left, green on red.

1

top/right, red on green.

2

bottom/left, black on white.

3

bottom/right, white on black. Note that some black border, not the digit will be aligned to the red crosses.

Finally, a yellow wizard image is drawn into the center. The bit ordering for bitmaps is a bit weird. Please check that the digits are not mirrored or flipped.

8.

This time bitmap transparency is tested by drawing wizard images onto the aforementioned linux pixmap (left to right, top to bottom) in yellow, red, green, and cyan. The background of the yellow wizard is masked out by a black border bitmap. Note that the wizard will not reach into the red corners because the bitmap has some (transparent) border.

9.

The text below this box is copied as a monochrome bitmap from the screen into the corners listed under 7. in the same colors.

10.

Two green rectangles with an edge cut out from the bottom is drawn using vga_accel(ACCEL_POLYLINE).Thereisanintendedbugwhichdrawsthecenterofthe top line twice. If supported, the lower rectangle is drawn in cyan and with the xor raster operation s.t. the buggy point is not drawn thus leaving a pin hole.

11.

vga_accel(ACCEL_POLYHLINE)isusedtodrawsomegreenlineswhichmakesthisarealook like a green box with a cut out, black M-style shape.

12.

A weird green polygon is filled in red with vga_accel(ACCEL_POLYFILLMODE) using the techniques given in vga_accel(3). This needs some offscreen memory. If VGA memory is tight in that resolution the test cannot be performed.

After this screen, you'll have to hit <Return> to continue.

### Raster operations
Again, red cross bordered areas are drawn on the screen, this time for each of the supported raster operations. For ROP_AND and ROP_XOR the areas are filled in white first.

Three overlapping boxes A, B, C are drawn such that you see the following areas.

AAAAAAddddBBBBBB

AAAAAAddddBBBBBB

AAAAAAddddBBBBBB

AAAAeeggggffBBBB

AAAAeeggggffBBBB

AAAAeeggggffBBBB

CCCCCCCC

CCCCCCCC

CCCCCCCC

The pictures should show:

1.

Replace mode. A, B, C are red, green, blue. They just overlap, yielding d - green and e, f, g - blue.

2.

The colors mix using ROP_OR (and a nice color table). The overlapping areas become the additive color mix: d - yellow, e - magenta, f - cyan, and g - white.

3.

ROP_AND is used. The background is filled white first, s.t. there is something in video memory to and with non trivially. We have A, B, C in cyan, magenta, yellow and d, e, f, g in blue, green, red, black.

4.

ROP_XOR is used and the background filled white first too. A, B, C are red, green, blue again, but the overlapping areas d, e, f, g become blue, green, red, white.

5.

ROP_INV is used, s.t. A, B, C are all white and d, e, f, g become black, black, black, white. Note that this is not done by using ROP_XOR and drawing A, B, C in white. Instead A, B, C are drawn in the usual

red, green, blue. However, the accelerator just inverts the memory contens.

If the accelerator supports raster operations for ACCEL_DRAWHLINELIST actually disks (well, ellipses) are drawn instead of boxes.

After this screen, you'll have to hit <Return> to continue.

### Replace QuixDemo
If ACCEL_DRAWLINE is supported, a Quix like bouncing series of lines in varying colors is drawn. The lines are removed from the screen by overdrawing them in black, thus erasing the dots and text on the background.

The test lasts about 5 seconds and some statistics are printed to stdout.

### XOR Mode QuixDemo
As before, but this time all lines are drawn in ROP_XOR mode (if ACCEL_DRAWLINE supports raster operations). Thus the background will not be destroyed this time.

The test lasts about 5 seconds and some statistics are printed to stdout.

### FillBox Demo
The screen is ACCEL_FILLBOX filled with a series of boxes of increasing colors. In truei/high color modes you'll probably only see a series of varying blue tones (because these are at the beginning of the color table and there are soo many of them).

The test lasts about 5 seconds and some statistics are printed to stdout.

### ScreenCopy Demo
Some random dots are drawn on the screen and thirds of the screen contents are moved around using ACCEL_SCREENCOPY.

The test lasts about 5 seconds and some statistics are printed to stdout.

### Scroll Demo
Some random dots are drawn on the screen and moved one line up with ACCEL_SCREENCOPY. In offscreen memory a new line is prepared which will be cleared by ACCEL_FILLBOXandmoveinfrombelow.Thistestrequiressomeoffscreenandwillnot be performed if video memory is very tight.

The test lasts about 5 seconds and some statistics are printed to stdout.

### FillBox with DrawHLineList Demo
Like the FillBox test, but no box fill is done but the screen is filled with a list of horizontal lines drawn with ACCEL_DRAWHLINELIST.

The test lasts about 5 seconds and some statistics are printed to stdout.

### FillBox XOR Mode Demo
Like the FillBox test, but the XOR raster operation is used.

The test lasts about 5 seconds and some statistics are printed to stdout.

### PutBitmap Demo
The screen is filled with bitmasks consisting of tiny vertical lines alternating in red and blue.

The test lasts about 5 seconds and some statistics are printed to stdout.

## SOME DATAPOINTS
Here is a list of speed listings for some cards. Please keep in mind that also the calling overhead for the program is measured. This seems to be esp. true for the QuixDemo.

### Results on a Cirrus GD5434-E with 2Mb:
640x480x256 60 Hz

FillBox: 200.3 Mpixels/s (200.3 Mbytes/s)

ScreenCopy: 51.0 Mpixels/s (51.0 Mbytes/s)

Scroll Demo: 50.5 Mpixels/s (50.5 Mbytes/s)

FillBox XOR: 83.2 Mpixels/s (83.2 Mbytes/s)

320x200x256 70 Hz

FillBox: 200.1 Mpixels/s (200.1 Mbytes/s)

ScreenCopy: 52.3 Mpixels/s (52.3 Mbytes/s)

Scroll Demo: 51.2 Mpixels/s (51.2 Mbytes/s)

FillBox XOR: 87.1 Mpixels/s (87.1 Mbytes/s)

640x480x32K 60 Hz

FillBox: 90.9 Mpixels/s (181.8 Mbytes/s)

ScreenCopy: 23.1 Mpixels/s (46.3 Mbytes/s)

Scroll Demo: 23.0 Mpixels/s (46.1 Mbytes/s)

FillBox XOR: 37.2 Mpixels/s (74.5 Mbytes/s)

640x480x16M (32-bit) 60 Hz

FillBox: 35.5 Mpixels/s (142.3 Mbytes/s)

ScreenCopy: 9.3 Mpixels/s (37.3 Mbytes/s)

Scroll Demo: 9.2 Mpixels/s (37.1 Mbytes/s)

FillBox XOR: 14.6 Mpixels/s (58.6 Mbytes/s)

### On a Cirrus Logic 5426 VLB (50 MHz MCLK):
640x480x256 60 Hz

FillBox: 32.8 Mpixels/s (32.8 Mbytes/s)

ScreenCopy: 16.4 Mpixels/s (16.4 Mbytes/s)

Scroll Demo: 16.3 Mpixels/s (16.3 Mbytes/s)

FillBox XOR: 16.5 Mpixels/s (16.5 Mbytes/s)

640x480x32K 60 Hz

FillBox: 12.2 Mpixels/s (24.4 Mbytes/s)

ScreenCopy: 6.1 Mpixels/s (12.2 Mbytes/s)

Scroll Demo: 6.0 Mpixels/s (12.1 Mbytes/s)

FillBox XOR: 6.1 Mpixels/s (12.2 Mbytes/s)

### Tweaked to 60 MHz MCLK:
640x480x256 60 Hz

FillBox: 42.1 Mpixels/s (42.1 Mbytes/s)

ScreenCopy: 21.0 Mpixels/s (21.0 Mbytes/s)

Scroll Demo: 20.9 Mpixels/s (20.9 Mbytes/s)

FillBox XOR: 21.1 Mpixels/s (21.1 Mbytes/s)

640x480x32K 60 Hz

FillBox: 16.7 Mpixels/s (33.5 Mbytes/s)

ScreenCopy: 8.3 Mpixels/s (16.7 Mbytes/s)

Scroll Demo: 8.3 Mpixels/s (16.7 Mbytes/s)

FillBox XOR: 8.3 Mpixels/s (16.7 Mbytes/s)

### Results on a Mach32 EISA with 2Mb VRAM:
1280x1024x256 60 Hz

Replace QuixDemo: 12.1 Klines/s (6.7 Mpixels/s or 6.7 Mbytes/s)

Xor QuixDemo: 9.9 Klines/s (5.1 Mpixels/s or 5.1 Mbytes/s)

FillBox: 75.4 Mpixels/s (75.4 Mbytes/s)

ScreenCopy: 26.4 Mpixels/s (26.4 Mbytes/s)

Scroll Demo: 28.7 Mpixels/s (28.7 Mbytes/s)

FillBox with DrawHlineList: 73.1 Mpixels/s (73.1 Mbytes/s)

FillBox XOR: 37.9 Mpixels/s (37.9 Mbytes/s)

PutBitmap: 15.6 Mpixels/s (15.6 Mbytes/s)

1024x768x64K 72Hz

Replace QuixDemo: 12.3 Klines/s (5.2 Mpixels/s or 10.5 Mbytes/s)

Xor QuixDemo: 9.0 Klines/s (5.1 Mpixels/s or 10.3 Mbytes/s)

FillBox: 37.6 Mpixels/s (75.2 Mbytes/s)

ScreenCopy: 13.2 Mpixels/s (26.4 Mbytes/s)

Scroll Demo: 13.2 Mpixels/s (26.4 Mbytes/s)

FillBox with DrawHlineList: 37.0 Mpixels/s (74.0 Mbytes/s)

FillBox XOR: 18.9 Mpixels/s (37.8 Mbytes/s)

PutBitmap: 15.2 Mpixels/s (30.5 Mbytes/s)

You're encouraged to send in more data. This demo is part of svgalib and can be found in the demos/ subdirectory of the original svgalib distribution. However, it is not installed in the system by default, s.t. it is unclear where you can find it if your svgalib was installed by some linux distribution. Even then, when you have the demo on your system, you probably won't have the sources s.t. it is only of limited use for you.

In case of any such problem, simply get an svgalib distribution from the net. You even don't need to install it. Just make in the demos/ subdirecty. As of this writing, svgalib-1.2.12.tar.gz is the latest version and can be retrieved by ftp from sunsite.unc.edu at /pub/Linux/libs/graphics and tsx-11.mit.edu at /pub/linux/sources/libs which will most probably be mirrored by a site close to you.

## SEE ALSO
svgalib(7), vgagl(7), libvga.config(5), vga_accel(3), threed(6), bg_test(6), eventtest(6), forktest(6), fun(6), keytest(6), mousetest(6), scrolltest(6), speedtest(6), spin(6), testaccel(6), testgl(6), testlinear(6), vgatest(6), plane(6), wrapdemo(6)

## AUTHOR
This manual page was edited by Michael Weller <eowmob@exp-math.uni-essen.de>. The demo and most of its documentation is due to Harm Hanemaayer <H.Hanemaayer@inter.nl.net>.


title: bg_test(6)

summary: test the background mode of svgalib

text:
# bg_test(6)

## NAME
bg_test - test the background mode of svgalib

## SYNOPSIS
bg_test [linear]

## DESCRIPTION
Tests the enhanced support of recent svgalibs to draw while switched to the background. Draws a small centered white box then waits until you switch to another vc. Draws some outer box frame around it while background, which you can see when you switch back to it. For obvious reasons, your version of svgalib must have BACKGROUND support enabled (which is the default as of this writing). When finished, press any key to end bg_test.

The demo uses a G320x200x256 mode or the one you set with SVGALIB_DEFAULT_MODE.

If you specify the linear parameter the demo will use vgagl(7) and vga_setlinearaddressing(3) to test linear mode in background.

This demo is part of svgalib and can be found in the demos/ subdirectory of the original svgalib distribution. However, it is not installed in the system by default, s.t. it is unclear where you can find it if your svgalib was installed by some linux distribution. Even then, when you have the demo on your system, you probably won't have the sources s.t. it is only of limited use for you.

In case of any such problem, simply get an svgalib distribution from the net. You even don't need to install it. Just make in the demos/ subdirecty. As of this writing, svgalib-1.2.12.tar.gz is the latest version and can be retrieved by ftp from sunsite.unc.edu at /pub/Linux/libs/graphics and tsx-11.mit.edu at /pub/linux/sources/libs which will most probably be mirrored by a site close to you.

## SEE ALSO
svgalib(7), vgagl(7), libvga.config(5), vga_runinbackground(3), threed(6), accel(6), eventtest(6), forktest(6), fun(6), keytest(6), mousetest(6), scrolltest(6), speedtest(6), spin(6), testaccel(6), testgl(6), testlinear(6), vgatest(6), plane(6), wrapdemo(6)

## AUTHOR
This manual page was edited by Michael Weller <eowmob@exp-math.uni-essen.de>. The exact source of the referenced demo as well as of the original documentation is unknown.

It is very likely that both are at least to some extent are due to Harm Hanemaayer <H.Hanemaayer@inter.nl.net>.

Occasionally this might be wrong. I hereby asked to be excused by the original author and will happily accept any additions or corrections to this first version of the svgalib manual.


eventtest

title: eventtest(6)

summary: test the waitevent function of svgalib

text:
# eventtest(6)

## NAME
eventtest - test the waitevent function of svgalib

## SYNOPSIS
eventtest

## DESCRIPTION
This is a kind of an upgraded keytest(6) and mousetest(6) demo using the vga_waitevent(3) function.

Use mouse to move cursor. <1>-<9>, <0> to set the cursor size. <Space> to change the cursor color. Left button to draw. Right button or <Q> to bailout.

The cursor goes on/off every half second by usage of a timeout passed to vga_waitevent(3). Every 5 seconds a string from a child process (the time) arrives asynchronously and is displayed by the frontend. This comes in through a pipe(2) which is monitored by vga_waitevent(2).

You can set a videomode to use by setting the environment variable SVGALIB_DEFAULT_MODE to a number (see vgatest for a list) or a string like G0x1x2 where you replace 0 with desired x resolution, 1 with the desired y rez, and 2 with the desired number of colors (2, 16, 256, 32K, 64K, 16M, 16M4). Again, only certain choices are available, see vgatest for a list.

In case nothing is selected, G320x200x256 is choosen.

This demo is part of svgalib and can be found in the demos/ subdirectory of the original svgalib distribution. However, it is not installed in the system by default, s.t. it is unclear where you can find it if your svgalib was installed by some linux distribution. Even then, when you have the demo on your system, you probably won't have the sources s.t. it is only of limited use for you.

In case of any such problem, simply get an svgalib distribution from the net. You even don't need to install it. Just make in the demos/ subdirecty. As of this writing, svgalib-1.2.12.tar.gz is the latest version and can be retrieved by ftp from sunsite.unc.edu at /pub/Linux/libs/graphics and tsx-11.mit.edu at /pub/linux/sources/libs which will most probably be mirrored by a site close to you.

## SEE ALSO
svgalib(7), vgagl(7), libvga.config(5), vga_waitevent(3), threed(6), accel(6), bg_test(6), forktest(6), fun(6), keytest(6), mousetest(6), scrolltest(6), speedtest(6), spin(6), testaccel(6), testgl(6), testlinear(6), vgatest(6), plane(6), wrapdemo(6)

## AUTHOR
This manual page was edited by Michael Weller <eowmob@exp-math.uni-essen.de>. The demos as well as the vga_waitevent(3) function is due to him.


forktest

title: forktest(6)

summary: tests the vga_safety_fork() function.

text:
# forktest(6)

## NAME
forktest - tests the vga_safety_fork() function.

## SYNOPSIS
forktest

## DESCRIPTION
This is a copy of the keytest(6) demo (look there). However, it uses vga_safety_fork(3) to start a background process to restore the console in case the fore ground process crashes. It removes all automatic restore functions of svgalib. Thus, in case you kill this program with kill(1) or <Ctrl>-C, only the background process will save your system from being hosed up.

You can set a videomode to use by setting the environment variable SVGALIB_DEFAULT_MODE to a number (see vgatest for a list) or a string like G0x1x2 where you replace 0 with desired x resolution, 1 with the desired y rez, and 2 with the desired number of colors (2, 16, 256, 32K, 64K, 16M, 16M4). Again, only certain choices are available, see vgatest for a list.

In case nothing is selected, G320x200x256 is choosen.

This demo is part of svgalib and can be found in the demos/ subdirectory of the original svgalib distribution. However, it is not installed in the system by default, s.t. it is unclear where you can find it if your svgalib was installed by some linux distribution. Even then, when you have the demo on your system, you probably won't have the sources s.t. it is only of limited use for you.

In case of any such problem, simply get an svgalib distribution from the net. You even don't need to install it. Just make in the demos/ subdirecty. As of this writing, svgalib-1.2.12.tar.gz is the latest version and can be retrieved by ftp from sunsite.unc.edu at /pub/Linux/libs/graphics and tsx-11.mit.edu at /pub/linux/sources/libs which will most probably be mirrored by a site close to you.

## SEE ALSO
svgalib(7), vgagl(7), libvga.config(5), vga_safety_fork(3), threed(6), accel(6), bg_test(6), eventtest(6), fun(6), keytest(6), mousetest(6), scrolltest(6), speedtest(6), spin(6), testaccel(6), testgl(6), testlinear(6), vgatest(6), plane(6), wrapdemo(6)

## AUTHOR
This manual page was edited by Michael Weller <eowmob@exp-math.uni-essen.de>. The exact source of the referenced demo as well as of the original documentation is unknown.

It is very likely that both are at least to some extent are due to Harm Hanemaayer <H.Hanemaayer@inter.nl.net>.

Occasionally this might be wrong. I hereby asked to be excused by the original author and will happily accept any additions or corrections to this first version of the svgalib manual.


fun

title: fun(6)

summary: draw pixels accumulating in clusters

text:
# fun(6)

## NAME
fun - draw pixels accumulating in clusters

## SYNOPSIS
fun

## DESCRIPTION
Random moving pixels accumulate in clusters. Uses virtual screens for frame animation. This uses basic VGA functionality and works only in 320x200x256.

Hit <Ctrl>-C to abort. The bottom row shows all largest cluster and its size), frames drawn, and (after some time) average frames per second. Once the screen is filled, a new random setup is run.

This demo is part of svgalib and can be found in the demos/ subdirectory of the original svgalib distribution. However, it is not installed in the system by default, s.t. it is unclear where you can find it if your svgalib was installed by some linux distribution. Even then, when you have the demo on your system, you probably won't have the sources s.t. it is only of limited use for you.

In case of any such problem, simply get an svgalib distribution from the net. You even don't need to install it. Just make in the demos/ subdirecty. As of this writing, svgalib-1.2.12.tar.gz is the latest version and can be retrieved by ftp from sunsite.unc.edu at /pub/Linux/libs/graphics and tsx-11.mit.edu at /pub/linux/sources/libs which will most probably be mirrored by a site close to you.

## SEE ALSO
svgalib(7), vgagl(7), libvga.config(5), threed(6), accel(6), bg_test(6), eventtest(6), forktest(6), keytest(6), mousetest(6), scrolltest(6), speedtest(6), spin(6), testaccel(6), testgl(6), testlinear(6), vgatest(6), plane(6), wrapdemo(6)

## AUTHOR
This manual page was edited by Michael Weller <eowmob@exp-math.uni-essen.de>. The exact source of the referenced demo as well as of the original documentation is unknown.

It is very likely that both are at least to some extent are due to Harm Hanemaayer <H.Hanemaayer@inter.nl.net>.

Occasionally this might be wrong. I hereby asked to be excused by the original author and will happily accept any additions or corrections to this first version of the svgalib manual.


joytest

title: joytest(6)

text:
# joytest(6)

## NAME
joytest - test the svgalib joystick package in text mode

## SYNOPSIS
joytest number

## DESCRIPTION
This demo program tries to open the joystick with the given number and calibrates it. The user is prompted to press <Return> after which any state change of the joystick is reported until the program is killed.

This demo is part of svgalib and can be found in the demos/ subdirectory of the original svgalib distribution. However, it is not installed in the system by default, s.t. it is unclear where you can find it if your svgalib was installed by some linux distribution. Even then, when you have the demo on your system, you probably won't have the sources s.t. it is only of limited use for you.

In case of any such problem, simply get an svgalib distribution from the net. You even don't need to install it. Just make in the demos/ subdirecty. As of this writing, svgalib-1.3.0.tar.gz is the latest version and can be retrieved by ftp from sunsite.unc.edu at /pub/Linux/libs/graphics and tsx-11.mit.edu at /pub/linux/sources/libs which will most probably be mirrored by a site close to you.

## CAVEATS
The functions used by this demo are only available in ELF versions of svgalib. Due to backwards compatibility issues it cannot be used with shared a.out libs.

## SEE ALSO
svgalib(7), vgagl(7), libvga.config(5), threed(6), accel(6), bg_test(6), eventtest(6), forktest(6), fun(6), keytest(6), scrolltest(6), speedtest(6), spin(6), testaccel(6), testgl(6), testlinear(6), vgatest(6), plane(6), wrapdemo(6), vgatest(6), mjoytest(6), joystick_init(3), joystick_close(3), joystick_update(3), joystick_sethandler(3), joystick_setdefaulthandler(3), joystick_getnumaxes(3), joystick_getnumbuttons(3), joystick_getaxis(3), joystick_getbutton(3), joystick_button1(3), joystick_getb1(3), joystick_x(3), joystick_getx(3).

## AUTHOR
The svgalib joystick handler was mostly done by Daniel Engstr\"om <daniel.engstrom@riksnett.no>. Multiple joystick, VC switching support and code to glue it into svgalib by Michael Weller <eowmob@exp-math.uni-essen.de>. Part of the code is based on code from C. Smith and Vojtech Pavlik.


keytest

title: keytest(6)

text:
# keytest(6)

## NAME
keytest - tests the svgalib raw keyboard functions

## SYNOPSIS
keytest

## DESCRIPTION
A program to test the low-level keyboard interface. This uses basic VGA functionality (or an svga mode you specify). Works only in 256 color modes.

Cursor keys or keypad <1>, <2>, <3>, <4>, <5>, <6>, <7>, <8>, and <9> move the cursor. Keypad <0> or <Enter> changes color. <Q> or <Ctrl>-C quits. (autoquit after 60 seconds).

Note that the svgalib diagonal <7>, <9>, <1>, and <3> keypad keys emulation is flawed in that it emulates the vertical/horizontal keys. If one of these is pressed too, it's release confuses svgalib.

The top pixel line shows a blue pixel for each key which is reported to be pressed.

You can set a videomode to use by setting the environment variable SVGALIB_DEFAULT_MODE to a number (see vgatest for a list) or a string like G0x1x2 where you replace 0 with desired x resolution, 1 with the desired y rez, and 2 with the desired number of colors (2, 16, 256, 32K, 64K, 16M, 16M4). Again, only certain choices are available, see vgatest for a list.

In case nothing is selected, G320x200x256 is choosen.

This demo is part of svgalib and can be found in the demos/ subdirectory of the original svgalib distribution. However, it is not installed in the system by default, s.t. it is unclear where you can find it if your svgalib was installed by some linux distribution. Even then, when you have the demo on your system, you probably won't have the sources s.t. it is only of limited use for you.

In case of any such problem, simply get an svgalib distribution from the net. You even don't need to install it. Just make in the demos/ subdirecty. As of this writing, svgalib-1.2.12.tar.gz is the latest version and can be retrieved by ftp from sunsite.unc.edu at /pub/Linux/libs/graphics and tsx-11.mit.edu at /pub/linux/sources/libs which will most probably be mirrored by a site close to you.

## SEE ALSO
svgalib(7), vgagl(7), libvga.config(5), threed(6), accel(6), bg_test(6), eventtest(6), forktest(6), fun(6), mousetest(6), scrolltest(6), speedtest(6), spin(6), testaccel(6), testgl(6), testlinear(6), vgatest(6), plane(6), wrapdemo(6)

## AUTHOR
This manual page was edited by Michael Weller <eowmob@exp-math.uni-essen.de>. The exact source of the referenced demo as well as of the original documentation is unknown.

It is very likely that both are at least to some extent are due to Harm Hanemaayer <H.Hanemaayer@inter.nl.net>.

Occasionally this might be wrong. I hereby asked to be excused by the original author and will happily accept any additions or corrections to this first version of the svgalib manual.


title: mach32info(6)

text:
# mach32info(6)

## NAME
mach32info - read out configuration information of a Mach32

## SYNOPSIS
mach32info {info|force}

## DESCRIPTION
mach32info prints out almost all the info about your mach32 card from configuration registers and Mach32 EEPROM. It also measures the Mach32 clocks. A completely idle system is required when these measurements are being performed. During these measurements, the video signals will be screwed up for about 3-4 seconds.

If your monitor does not switch off when getting a video signal it can't stand (fixed freq. monitors) better switch it off before starting mach32info. Your computer will beep when it is finished probing. You can redirect the 'stdout' of mach32info to some file for viewing the results easier or mailing them.

Do not redirect 'stderr' as you won't hear the beep.

This tool is part of svgalib. Although it's output maybe useful to debug Xfree86 Mach32 Servers, I am NOT related to Xfree86! Please do not send me (Michael Weller) any Xfree86 bug reports! Thanx in advance.

Note that this tool comes without any warranty! Use it at your own risk!

Warning, this tool does not check for VC changes etc.. Just let it run in its own virtual console as root and don't try to fool it. Actually this is due to it not using svgalib at all but simply accessing the Mach32.

Please report any problems with running mach32info or with configuring the svgalib(7)'s Mach32 driver to Michael Weller <eowmob@exp-math.uni-essen.de>. Include the results from running this test with your report.

## OPTIONS
info

print out the configuration information. Without info mach32info prints a usage message (looking almost like this manpage ;-)).

force

The force option disables the sanity check that tries to detect the presence of the mach32 prior to printing the information. Do not use this option unless you are really, really sure that you have a Mach32 compatible vga card installed.

This utility is part of svgalib and can be found in the mach32/ subdirectory of the original svgalib distribution. However, it is not installed by default, s.t. it is unclear where you can find it if your svgalib was install by a linux distribution.

In case of any such problem, simply get an svgalib distribution from the net. You don't need to install it. Just make in the mach32/ subdirecty. As of this writing, svgalib-1.2.12.tar.gz is the latest version and can be retrieved by ftp from sunsite.unc.edu at /pub/Linux/libs/graphics and tsx-11.mit.edu at /pub/linux/sources/libs which will most probably be mirrored by a site close to you.

## SEE ALSO
svgalib(7), svgalib.mach32(7), vgagl(7), libvga.config(5).

## AUTHOR
This manual page was edited by Michael Weller <eowmob@exp-math.uni-essen.de>. He also wrote the referenced utility as well as of the original documentation.


mjoytest

title: mjoytest(6)

text:
# mjoytest(6)

## NAME
mjoytest - test the svgalib joystick package in graphics mode

## SYNOPSIS
mjoytest [-j joystick] [[-m] video mode]

## DESCRIPTION
This demo program utilizes joysticks 0 and 1 in graphics mode.

If you specify a joystick number, only this is used. The demo separates the screen in two parts where you can move a cursor around with the resp. joystick. Pressing button 2 changes the color, pressing button 1 draws.

It also prints the current joystick position to the screen.

Internally the demo also shows the use of custom joystick handlers and how to recalibrate a joystick in graphics mode (press key <1> and <2> respectively.

After the demo runs and the joysticks are initialized it is possible to share the joysticks with another application (as long as it releases the joysticks upon a VC switch as well).

Pressing <Q> exits.

## BUGS
After a vc switch the demo occasionally hangs in vga_waitevent(3) not timing out (hence the joysticks block). It is not clear if it is a conceptional problem or bug in vga_waitevent(3) or the kernel. Simply press any key to revive the demo.

## NOTES
This demo is part of svgalib and can be found in the demos/ subdirectory of the original svgalib distribution. However, it is not installed in the system by default, s.t. it is unclear where you can find it if your svgalib was installed by some linux distribution. Even then, when you have the demo on your system, you probably won't have the sources s.t. it is only of limited use for you.

In case of any such problem, simply get an svgalib distribution from the net. You even don't need to install it. Just make in the demos/ subdirecty. As of this writing, svgalib-1.3.0.tar.gz is the latest version and can be retrieved by ftp from sunsite.unc.edu at /pub/Linux/libs/graphics and tsx-11.mit.edu at /pub/linux/sources/libs which will most probably be mirrored by a site close to you.

## CAVEATS
The functions used by this demo are only available in ELF versions of svgalib. Due to backwards compatibility issues it cannot be used with shared a.out libs.

## SEE ALSO
svgalib(7), vgagl(7), libvga.config(5), threed(6), accel(6), bg_test(6), eventtest(6), forktest(6), fun(6), keytest(6), scrolltest(6), speedtest(6), spin(6), testaccel(6), testgl(6), testlinear(6), vgatest(6), plane(6), wrapdemo(6), vgatest(6), joytest(6), joystick_init(3), joystick_close(3), joystick_update(3), joystick_sethandler(3), joystick_setdefaulthandler(3), joystick_getnumaxes(3), joystick_getnumbuttons(3), joystick_getaxis(3), joystick_getbutton(3), joystick_button1(3), joystick_getb1(3), joystick_x(3), joystick_getx(3).

## AUTHOR
The svgalib joystick handler was mostly done by Daniel Engstr\"om <daniel.engstrom@riksnett.no>. Multiple joystick, VC switching support and code to glue it into svgalib by Michael Weller <eowmob@exp-math.uni-essen.de>. Part of the code is based on code from C. Smith and Vojtech Pavlik.


mousetest

title: mousetest(6)

summary: tests the svgalib mouse driver

text:
# mousetest(6)

## NAME
mousetest - tests the svgalib mouse driver

## SYNOPSIS
mousetest

## DESCRIPTION
A simple program to test mouse functionality. This uses basic VGA functionality (or an svga mode you specify, you should stick to 256 color modes).

The proper setup mouse should move the cursor (drawing spots in the current color). Left button changes color, right button (or <Ctrl>-C) aborts.

You can set a videomode to use by setting the environment variable SVGALIB_DEFAULT_MODE to a number (see vgatest for a list) or a string like G0x1x2 where you replace 0 with desired x resolution, 1 with the desired y rez, and 2 with the desired number of colors (2, 16, 256, 32K, 64K, 16M, 16M4). Again, only certain choices are available, see vgatest for a list.

In case nothing is selected, G320x200x256 is choosen.

This demo is part of svgalib and can be found in the demos/ subdirectory of the original svgalib distribution. However, it is not installed in the system by default, s.t. it is unclear where you can find it if your svgalib was installed by some linux distribution. Even then, when you have the demo on your system, you probably won't have the sources s.t. it is only of limited use for you.

In case of any such problem, simply get an svgalib distribution from the net. You even don't need to install it. Just make in the demos/ subdirecty. As of this writing, svgalib-1.2.12.tar.gz is the latest version and can be retrieved by ftp from sunsite.unc.edu at /pub/Linux/libs/graphics and tsx-11.mit.edu at /pub/linux/sources/libs which will most probably be mirrored by a site close to you.

## SEE ALSO
svgalib(7), vgagl(7), libvga.config(5), threed(6), accel(6), bg_test(6), eventtest(6), forktest(6), fun(6), keytest(6), scrolltest(6), speedtest(6), spin(6), testaccel(6), testgl(6), testlinear(6), vgatest(6), plane(6), wrapdemo(6)

## AUTHOR
This manual page was edited by Michael Weller <eowmob@exp-math.uni-essen.de>. The exact source of the referenced demo as well as of the original documentation is unknown.

It is very likely that both are at least to some extent are due to Harm Hanemaayer <H.Hanemaayer@inter.nl.net>.

Occasionally this might be wrong. I hereby asked to be excused by the original author and will happily accept any additions or corrections to this first version of the svgalib manual.


plane

title: plane(6)

summary: draw a 3 dimensional plane

text:
# plane(6)

## NAME
plane - draw a 3 dimensional plane

## SYNOPSIS
plane

## DESCRIPTION
A greyscale-shaded rendered-on-the-fly turbo-prop that you can rotate and scale however you like.

The demo prompts your for a mode to be used and several details. Just follow the instructions on the screen and make your selections.

Once the program runs you can use the following keys:

<Q> and <A>, <Z> and <X>, <O> and <P>

to rotate the plane around the space axes.

<T> and <V>, <F> and <G>, <W> and <S>

to move up, down, north, south, east, west. (world view only)

<Space>

to toggle rendering vs. wire frame.

<W> and <S>

to scale in non-world view compilation -- see plane.h

<1> and <2>

to change rotation increment.

<3> through <9>

to change surface density.

<R>

to change shading method.

<C>

to quit the program.

<I>

to reset the rotation to the startup values.

This demo is part of svgalib and can be found in the threeDkit/ subdirectory of the original svgalib distribution. However, it is not installed in the system by default, s.t. it is unclear where you can find it if your svgalib was installed by some linux distribution. Even then, when you have the demo on your system, you probably won't have the sources s.t. it is only of limited use for you.

In case of any such problem, simply get an svgalib distribution from the net. You even don't need to install it. Just make in the threeDkit/ subdirectory. As of this writing, svgalib-1.2.12.tar.gz is the latest version and can be retrieved by ftp from sunsite.unc.edu at /pub/Linux/libs/graphics and tsx-11.mit.edu at /pub/linux/sources/libs which will most probably be mirrored by a site close to you.

## SEE ALSO
svgalib(7), vgagl(7), libvga.config(5), triangle(3), striangle(3), wtriangle(3), swtriangle(3), trisetcolorlookup(3), trigetcolorlookup(3), trisetdrawpoint(3), threedkit(7), vgatest(6), threed(6), accel(6), bg_test(6), eventtest(6), forktest(6), fun(6), keytest(6), mousetest(6), scrolltest(6), speedtest(6), spin(6), testaccel(6), testgl(6), testlinear(6), wrapdemo(6)

## AUTHOR
This manual page was edited by Michael Weller <eowmob@exp-math.uni-essen.de>. The demos, the initial documentation and the whole threedkit stuff was done by Paul Sheer <psheer@icon.co.za>.

Paper mail:

Paul Sheer

P O BOX 890507

Lyndhurst

Johannesburg 2106

South Africa

Donations (by check or postal order) will be appreciated and will encourage further development of this software. However this is strictly on a voluntary basis where this software falls under the GNU LIBRARY GENERAL PUBLIC LICENSE.


printftest

title: printftest(6)

summary: tests the vgagl gl_printf function

text:
# printftest(6)

## NAME
printftest - tests the vgagl gl_printf function

## SYNOPSIS
printftest x y

## DESCRIPTION
This test utility reads keys from the keyboard and displays them on the screen at pixel position (x, y) using gl_printf(3). It must be linked with the ELF svgalib libraries.

You can set a videomode to use by setting the environment variable SVGALIB_DEFAULT_MODE to a number (see vgatest for a list) or a string like G0x1x2 where you replace 0 with desired x resolution, 1 with the desired y rez, and 2 with the desired number of colors (2, 16, 256, 32K, 64K, 16M, 16M4). Again, only certain choices are available, see vgatest for a list.

In case nothing is selected, G320x200x256 is choosen.

This demo is part of svgalib and can be found in the demos/ subdirectory of the original svgalib distribution. However, it is not installed in the system by default, s.t. it is unclear where you can find it if your svgalib was installed by some linux distribution. Even then, when you have the demo on your system, you probably won't have the sources s.t. it is only of limited use for you.

In case of any such problem, simply get an svgalib distribution from the net. You even don't need to install it. Just make in the demos/ subdirecty. As of this writing, svgalib-1.2.12.tar.gz is the latest version and can be retrieved by ftp from sunsite.unc.edu at /pub/Linux/libs/graphics and tsx-11.mit.edu at /pub/linux/sources/libs which will most probably be mirrored by a site close to you.

## SEE ALSO
svgalib(7), vgagl(7), libvga.config(5), threed(6), accel(6), bg_test(6), eventtest(6), forktest(6), fun(6), mousetest(6), scrolltest(6), speedtest(6), spin(6), testaccel(6), testgl(6), testlinear(6), vgatest(6), plane(6), wrapdemo(6)

## AUTHOR
This manual page was edited by Michael Weller <eowmob@exp-math.uni-essen.de>. The exact source of the referenced demo as well as of the original documentation is unknown.

It is very likely that both are at least to some extent are due to Harm Hanemaayer <H.Hanemaayer@inter.nl.net>.

Occasionally this might be wrong. I hereby asked to be excused by the original author and will happily accept any additions or corrections to this first version of the svgalib manual.


scrolltest

title: scrolltest(6)

text:
# scrolltest(6)

## NAME
scrolltest - tests some scrolling algorithms with svgalib

## SYNOPSIS
scrolltest

## DESCRIPTION
Smooth scrolling demo. Uses three different techniques. Useful for testing Mode X functionality (not that I would recommend it over 320x240x256 linear). Press <Space> to cycle through the demos.

The demos works only in 320x240x256 for the first 2 tests and with 320x200x256 in the last. Demos 1 & 3 use a virtual screen buffer, mode 2 (jumpy) works on screen. This is more a skeleton if you want to write some animation program, rather than a nice demo.

Shows frames per second (multiplied by 10) for method 1 & 3. Thus works also a kind of memory speed tester

This demo is part of svgalib and can be found in the demos/ subdirectory of the original svgalib distribution. However, it is not installed in the system by default, s.t. it is unclear where you can find it if your svgalib was installed by some linux distribution. Even then, when you have the demo on your system, you probably won't have the sources s.t. it is only of limited use for you.

In case of any such problem, simply get an svgalib distribution from the net. You even don't need to install it. Just make in the demos/ subdirecty. As of this writing, svgalib-1.2.12.tar.gz is the latest version and can be retrieved by ftp from sunsite.unc.edu at /pub/Linux/libs/graphics and tsx-11.mit.edu at /pub/linux/sources/libs which will most probably be mirrored by a site close to you.

## SEE ALSO
svgalib(7), vgagl(7), libvga.config(5), threed(6), accel(6), bg_test(6), eventtest(6), forktest(6), fun(6), keytest(6), mousetest(6), speedtest(6), spin(6), testaccel(6), testgl(6), testlinear(6), vgatest(6), plane(6), wrapdemo(6)

## AUTHOR
This manual page was edited by Michael Weller <eowmob@exp-math.uni-essen.de>. The exact source of the referenced demo as well as of the original documentation is unknown.

It is very likely that both are at least to some extent are due to Harm Hanemaayer <H.Hanemaayer@inter.nl.net>.

Occasionally this might be wrong. I hereby asked to be excused by the original author and will happily accept any additions or corrections to this first version of the svgalib manual.


speedtest

title: speedtest(6)

text:
# speedtest(6)

## NAME
speedtest - tests the speed of memory access under svgalib

## SYNOPSIS
speedtest

## DESCRIPTION
Video memory speed tester. Selects the given mode and makes linear screen accesses. Prints the overall run time of the test and deduces the speed with which the CPU can transfer data to the cards memory.

The demo gives a list of modes supported and prompts your for an integer indentifying the mode to test.

This demo is part of svgalib and can be found in the demos/ subdirectory of the original svgalib distribution. However, it is not installed in the system by default, s.t. it is unclear where you can find it if your svgalib was installed by some linux distribution. Even then, when you have the demo on your system, you probably won't have the sources s.t. it is only of limited use for you.

In case of any such problem, simply get an svgalib distribution from the net. You even don't need to install it. Just make in the demos/ subdirecty. As of this writing, svgalib-1.2.12.tar.gz is the latest version and can be retrieved by ftp from sunsite.unc.edu at /pub/Linux/libs/graphics and tsx-11.mit.edu at /pub/linux/sources/libs which will most probably be mirrored by a site close to you.

## SEE ALSO
svgalib(7), vgagl(7), libvga.config(5), threed(6), accel(6), bg_test(6), eventtest(6), forktest(6), fun(6), keytest(6), mousetest(6), scrolltest(6), spin(6), testaccel(6), testgl(6), testlinear(6), vgatest(6), plane(6), wrapdemo(6)

## AUTHOR
This manual page was edited by Michael Weller <eowmob@exp-math.uni-essen.de>. The exact source of the referenced demo as well as of the original documentation is unknown.

It is very likely that both are at least to some extent are due to Harm Hanemaayer <H.Hanemaayer@inter.nl.net>.

Occasionally this might be wrong. I hereby asked to be excused by the original author and will happily accept any additions or corrections to this first version of the svgalib manual.


spin

title: spin(6)

text:
# spin(6)

## NAME
spin - test a 6-dimension mouse or pointer device with svgalib

## SYNOPSIS
spin

## DESCRIPTION
Another mouse test program. This is the first svgalib program to use the 6-dimensional mouse routines. It draws a wireframe spheroid on the screen which can be moved left/right, up/down, in/out, or rotated along the x, y, or z axes.

Button bindings are:

A - Decrease Sensitivity (Right Mouse Button)

B - Change color (Middle Mouse Button)

C - Increase Sensitivity (Left Mouse Button)

D - Increase Number of Sides

E - Decrease Number of Sides

F - Quit (<Ctrl>-C)

If you only have a two dimensional mouse with three or fewer buttons you will only be able to move the mouse in two dimensions (left/right and in/out) and will not be able to move up/down or spin the spheroid. Note: the initial mouse sensitivity is optimised for the Spacetec series of controllers, which are much more sensitive than the usual mouse. Increasing the sensitivity is advised for users of other types of devices.

The demo works always in mode 320x200x256. It prompts your for an integer, the number of sides the sphere has (the higher the smoother looks the spere).

This demo is part of svgalib and can be found in the demos/ subdirectory of the original svgalib distribution. However, it is not installed in the system by default, s.t. it is unclear where you can find it if your svgalib was installed by some linux distribution. Even then, when you have the demo on your system, you probably won't have the sources s.t. it is only of limited use for you.

In case of any such problem, simply get an svgalib distribution from the net. You even don't need to install it. Just make in the demos/ subdirecty. As of this writing, svgalib-1.2.12.tar.gz is the latest version and can be retrieved by ftp from sunsite.unc.edu at /pub/Linux/libs/graphics and tsx-11.mit.edu at /pub/linux/sources/libs which will most probably be mirrored by a site close to you.

## SEE ALSO
svgalib(7), vgagl(7), libvga.config(5), mouse_setposition_6d(3), threed(6), accel(6), bg_test(6), eventtest(6), forktest(6), fun(6), keytest(6), mousetest(6), scrolltest(6), speedtest(6), testaccel(6), testgl(6), testlinear(6), vgatest(6), plane(6), wrapdemo(6)

## AUTHOR
This manual page was edited by Michael Weller <eowmob@exp-math.uni-essen.de>. The exact source of the referenced demo as well as of the original documentation is unknown.

It is very likely that both are at least to some extent are due to Harm Hanemaayer <H.Hanemaayer@inter.nl.net>.

Occasionally this might be wrong. I hereby asked to be excused by the original author and will happily accept any additions or corrections to this first version of the svgalib manual.


svidtune

title: svidtune(6)

text:
# svidtune(6)

## NAME
svidtune - tunes svgalib modes

## SYNOPSIS
svidtune mode

## DESCRIPTION
mode is an svgalib mode number for the mode to be tuned. The number of colours is irrelevant, but the mode must be supported by the hardware.

svidtune displays the mode timing parameters, and a rectangle around the screen. You can then adjust the parameters to have the display tuned properly.

Please note that modelines (and this program) only affects display when the driver uses the timing.c interface. Specifically, it has no affect on the VESA driver.

## KEYS
l,r,d,u move the displayed portion of the screen left, right, down or up.

w,n increase or decrease the screens horizontal size.

s,o increase or decrease the screens vertical size.

p print the current modeline to the standard error.

P print the current modeline to the config file, so it will be used by svgalib from now on.

q quit

## BUGS
The program does not test that the modes remain within the monitor limits.

## SEE ALSO
vga_getcurrenttiming(3), vga_changecurrenttiming(3), libvga.config(5)

## AUTHOR
This man page was written by Matan Ziv-Av.


testaccel

title: testaccel(6)

text:
# testaccel(6)

## NAME
testaccel - test the old style blitter functions and vga_ext_set()

## SYNOPSIS
testaccel [ -nowait ] [ { all | videomodes... } ]

## DESCRIPTION
Program to test the old blitter functions in a screen mode. Checks the 8-bit wide color lookup tables on Mach32's with type 2 DACs as well. [I think '6bpp' and '8bpp' are silly names for the 8-bit LUT thing -- bpp is bits per pixel, in the framebuffer - HH :-)]

After each test it waits for a key press except when -nowait is given.

You can specify names of modes to test on the command line or specify all to loop over all svgalib modes.

The program will run on any card, however, most of the tests can only be performed on a Mach32.

The subtest are in turn:

1 -

For each 256 color mode the program sees if it is possible to enable a special mode with 8 bits per color in the RGB lookup table. If so, for example 256 different shades of blue can be implemented. The program displays as much blue shades as possible in a shade from dark (left) to bright (right) and some text in an opposite direction on top of it. In case 56 different shades are supported, the screen is divided and shows a rough 64 shades scale (ordinary vga) on top and the smooth shade below. Right now 256 different shades are only possible on a Mach32 with RAMDAC of type 2. For modes with few pixels only, the program might fail to print the text properly and will 'wrap' it around the screen edges.

2 -

Draws a bouncing 'linux' logo stopping after a fixed amount of 1 pixel steps. Uses vga_bitblt(3) on the image plus a one pixel outline in border color to move the pixel around the screen. The Mach32 is very fast in this discipline.

3 -

Draws filled rectangles using vga_fillblt(3). At first a series of larger to smaller centered rectangles is drawn to fill the screen. For 256 or less color modes these will use a sequence of 256 random colors. For 32K or more color modes it will use colors 0 up too, however, you'll usually just see a repeating series of blues (limitations of monitor/human eye, the blue's differ not enough for the eye to see). Then a bunch of random boxes in random places is drawn overwriting each other. The Mach32 is very fast in this discipline.

4 -

Draws small fish bitmaps and then larger linux logos in random positions using vga_imageblt(3). They just overlap each other The Mach32 is poor in this discipline. If you have a linear frame buffer enabled, it is used instead to perform this function (even if the program does not use a linear frame buffer otherwise). Usually this is twice as fast for Mach32.

5 -

Use vga_hlinelistblt(3) o do some simple polygon fills: squares, circles, diamonds of random sizes, positions and colors. Again, the Mach32 is very fast in this discipline, but somehow slowed down by the imperfect prototype of this function. Again, the polygons just overlap each other. The resp. tests will only be performed where supported by the hardware. For Mach32 this means only SVGA 256, 32K, 64K color modes. The linear frame buffer emulated vga_imageblt(3) works for all SVGA modes though.

The program prints the number of pixels drawn and the time required plus the resulting rate of pixels per second. For Mach32 the rate depends on the amount of screen accesses (2 per pixel move for vga_bitblt(3), 1 per pixel move for vga_fillblt(3) and vga_hlinelistblt(3); also twice bytes are affected for 32K, 64K color modes). On a non VRAM card you'll also note the effect of the memory access caused by the generation of the video frames (more colors/rez/sync rates => less speed). Also, higher modes draw more pixels per call, thus less call and setup overhead.

Here are the rates for my card on an almost idle 486 EISA system which should be fairly optimal (2MB VRAM EISA Mach32) except maybe the linear frame buffer emulated imageblt which might be faster on PCI card:

Testing mode 1: G320x200x16...

Dacwidth test not applicable.

Testing mode 2: G640x200x16...

Dacwidth test not applicable.

Testing mode 3: G640x350x16...

Dacwidth test not applicable.

Testing mode 4: G640x480x16...

Dacwidth test not applicable.

Testing mode 5: G320x200x256...

Warning: Resolution too small, displayed text is

probably scrambled.

Has support for CLUT width 8 bit

Testing mode 6: G320x240x256...

Dacwidth test not applicable.

Testing mode 7: G320x400x256...

Dacwidth test not applicable.

Testing mode 8: G360x480x256...

Dacwidth test not applicable.

Testing mode 9: G640x480x2...

Dacwidth test not applicable.

Testing mode 10: G640x480x256...

Has support for CLUT width 8 bit

Has BitBlt: 176610000 Pixels in 6.49 seconds -> 27.21 Megapels

Has FillBlt: 217884171 Pixels in 4.55 seconds -> 47.89 Megapels

Has ImageBlt: 17085000 Pixels in 3.07 seconds -> 5.57 Megapels

Has HlineLst: 20192124 Pixels in 0.57 seconds -> 35.42 Megapels

Testing mode 11: G800x600x256...

Has support for CLUT width 8 bit

Has BitBlt: 176610000 Pixels in 6.65 seconds -> 26.56 Megapels

Has FillBlt: 343102613 Pixels in 6.23 seconds -> 55.07 Megapels

Has ImageBlt: 17085000 Pixels in 3.06 seconds -> 5.58 Megapels

Has HlineLst: 33166399 Pixels in 0.78 seconds -> 42.52 Megapels

Testing mode 12: G1024x768x256...

Has support for CLUT width 8 bit

Has BitBlt: 176610000 Pixels in 6.88 seconds -> 25.67 Megapels

Has FillBlt: 603141286 Pixels in 9.78 seconds -> 61.67 Megapels

Has ImageBlt: 17085000 Pixels in 3.07 seconds -> 5.57 Megapels

Has HlineLst: 52958845 Pixels in 1.08 seconds -> 49.04 Megapels

Testing mode 13: G1280x1024x256...

Has support for CLUT width 8 bit

Has BitBlt: 176610000 Pixels in 7.10 seconds -> 24.87 Megapels

Has FillBlt: 1063820849 Pixels in 16.16 seconds -> 65.83 Megapels

Has ImageBlt: 17085000 Pixels in 3.07 seconds -> 5.57 Megapels

Has HlineLst: 95798478 Pixels in 1.75 seconds -> 54.74 Megapels

Testing mode 14: G320x200x32K...

Dacwidth test not applicable.

Has BitBlt: 176610000 Pixels in 12.30 seconds -> 14.36 Megapels

Has FillBlt: 41317334 Pixels in 3.61 seconds -> 11.45 Megapels

Has ImageBlt: 17085000 Pixels in 5.93 seconds -> 2.88 Megapels

Has HlineLst: 3411068 Pixels in 0.23 seconds -> 14.83 Megapels

Testing mode 15: G320x200x64K...

Dacwidth test not applicable.

Has BitBlt: 176610000 Pixels in 12.29 seconds -> 14.37 Megapels

Has FillBlt: 42351016 Pixels in 4.12 seconds -> 10.28 Megapels

Has ImageBlt: 17085000 Pixels in 5.93 seconds -> 2.88 Megapels

Has HlineLst: 3561694 Pixels in 0.23 seconds -> 15.49 Megapels

Testing mode 16: G320x200x16M...

Dacwidth test not applicable.

Has ImageBlt: 17085000 Pixels in 8.83 seconds -> 1.93 Megapels

Testing mode 17: G640x480x32K...

Dacwidth test not applicable.

Has BitBlt: 176610000 Pixels in 13.38 seconds -> 13.20 Megapels

Has FillBlt: 217723964 Pixels in 7.95 seconds -> 27.39 Megapels

Has ImageBlt: 17085000 Pixels in 5.94 seconds -> 2.88 Megapels

Has HlineLst: 19579110 Pixels in 0.74 seconds -> 26.46 Megapels

Testing mode 18: G640x480x64K...

Dacwidth test not applicable.

Has BitBlt: 176610000 Pixels in 13.37 seconds -> 13.21 Megapels

Has FillBlt: 221608034 Pixels in 8.28 seconds -> 26.76 Megapels

Has ImageBlt: 17085000 Pixels in 5.93 seconds -> 2.88 Megapels

Has HlineLst: 21048202 Pixels in 0.79 seconds -> 26.64 Megapels

Testing mode 19: G640x480x16M...

Dacwidth test not applicable.

Has ImageBlt: 17085000 Pixels in 8.82 seconds -> 1.94 Megapels

Testing mode 20: G800x600x32K...

Dacwidth test not applicable.

Has BitBlt: 176610000 Pixels in 13.97 seconds -> 12.64 Megapels

Has FillBlt: 357205415 Pixels in 12.22 seconds -> 29.23 Megapels

Has ImageBlt: 17085000 Pixels in 5.92 seconds -> 2.89 Megapels

Has HlineLst: 34391335 Pixels in 1.16 seconds -> 29.65 Megapels

Testing mode 21: G800x600x64K...

Dacwidth test not applicable.

Has BitBlt: 176610000 Pixels in 13.97 seconds -> 12.64 Megapels

Has FillBlt: 348943970 Pixels in 11.87 seconds -> 29.40 Megapels

Has ImageBlt: 17085000 Pixels in 5.93 seconds -> 2.88 Megapels

Has HlineLst: 34510200 Pixels in 1.17 seconds -> 29.50 Megapels

Testing mode 22: G800x600x16M...

Dacwidth test not applicable.

Has ImageBlt: 17085000 Pixels in 8.83 seconds -> 1.93 Megapels

Testing mode 23: G1024x768x32K...

Dacwidth test not applicable.

Has BitBlt: 176610000 Pixels in 14.60 seconds -> 12.10 Megapels

Has FillBlt: 608000981 Pixels in 18.62 seconds -> 32.65 Megapels

Has ImageBlt: 17085000 Pixels in 5.93 seconds -> 2.88 Megapels

Has HlineLst: 53767429 Pixels in 1.72 seconds -> 31.26 Megapels

Testing mode 24: G1024x768x64K...

Dacwidth test not applicable.

Has BitBlt: 176610000 Pixels in 14.60 seconds -> 12.10 Megapels

Has FillBlt: 601666798 Pixels in 18.80 seconds -> 32.00 Megapels

Has ImageBlt: 17085000 Pixels in 5.92 seconds -> 2.89 Megapels

Has HlineLst: 52037798 Pixels in 1.67 seconds -> 31.16 Megapels

Testing mode 32: G720x348x2...

Dacwidth test not applicable.

Testing mode 33: G320x200x16M32...

Dacwidth test not applicable.

Has ImageBlt: 17085000 Pixels in 11.60 seconds -> 1.47 Megapels

Testing mode 34: G640x480x16M32...

Dacwidth test not applicable.

Has ImageBlt: 17085000 Pixels in 11.62 seconds -> 1.47 Megapels

Testing mode 35: G800x600x16M32...

Dacwidth test not applicable.

Has ImageBlt: 17085000 Pixels in 11.62 seconds -> 1.47 Megapels

This demo is part of svgalib and can be found in the demos/ subdirectory of the original svgalib distribution. However, it is not installed in the system by default, s.t. it is unclear where you can find it if your svgalib was installed by some linux distribution. Even then, when you have the demo on your system, you probably won't have the sources s.t. it is only of limited use for you.

In case of any such problem, simply get an svgalib distribution from the net. You even don't need to install it. Just make in the demos/ subdirecty. As of this writing, svgalib-1.2.12.tar.gz is the latest version and can be retrieved by ftp from sunsite.unc.edu at /pub/Linux/libs/graphics and tsx-11.mit.edu at /pub/linux/sources/libs which will most probably be mirrored by a site close to you.

## SEE ALSO
svgalib(7), vgagl(7), libvga.config(5), vga_ext_set(3), vga_bitblt(3), vga_fillblt(3), vga_hlinelistblt(3), vga_imageblt.3 threed(6), accel(6), bg_test(6), eventtest(6), forktest(6), fun(6), keytest(6), mousetest(6), scrolltest(6), speedtest(6), spin(6), testgl(6), testlinear(6), vgatest(6), plane(6), wrapdemo(6)

## AUTHOR
This manual page was edited by Michael Weller <eowmob@exp-math.uni-essen.de>. He also wrote thise demo and it's documentation.


testgl

title: testgl(6)

summary: test the vgagl library

text:
# testgl(6)

## NAME
testgl - test the vgagl library

## SYNOPSIS
testgl

## DESCRIPTION
Demo program for vgagl(7) framebuffer library. Runs in any mode preset from the environment.

First draws pixels in random locations, then random boxes, then random lines and finally some bit image in random locations (all just over the previous drawings).

Then the test is repeated clipping the screen output to a smaller screen portion (using a vgagl(7) function). Finally a (lousy) 'rotating' linux logo is shown in the top left quadrant and then is drawn over the whole screen. Depending on internal development state of svgalib, it may use an accelerator for some of the functions.

You can set a videomode to use by setting the environment variable SVGALIB_DEFAULT_MODE to a number (see vgatest for a list) or a string like G0x1x2 where you replace 0 with desired x resolution, 1 with the desired y rez, and 2 with the desired number of colors (2, 16, 256, 32K, 64K, 16M, 16M4). Again, only certain choices are available, see vgatest for a list.

In case nothing is selected, G320x200x256 is choosen.

This demo is part of svgalib and can be found in the demos/ subdirectory of the original svgalib distribution. However, it is not installed in the system by default, s.t. it is unclear where you can find it if your svgalib was installed by some linux distribution. Even then, when you have the demo on your system, you probably won't have the sources s.t. it is only of limited use for you.

In case of any such problem, simply get an svgalib distribution from the net. You even don't need to install it. Just make in the demos/ subdirecty. As of this writing, svgalib-1.2.12.tar.gz is the latest version and can be retrieved by ftp from sunsite.unc.edu at /pub/Linux/libs/graphics and tsx-11.mit.edu at /pub/linux/sources/libs which will most probably be mirrored by a site close to you.

## SEE ALSO
svgalib(7), vgagl(7), libvga.config(5), threed(6), accel(6), bg_test(6), eventtest(6), forktest(6), fun(6), keytest(6), mousetest(6), scrolltest(6), speedtest(6), spin(6), testaccel(6), testlinear(6), vgatest(6), plane(6), wrapdemo(6)

## AUTHOR
This manual page was edited by Michael Weller <eowmob@exp-math.uni-essen.de>. The exact source of the referenced demo as well as of the original documentation is unknown.

It is very likely that both are at least to some extent are due to Harm Hanemaayer <H.Hanemaayer@inter.nl.net>.

Occasionally this might be wrong. I hereby asked to be excused by the original author and will happily accept any additions or corrections to this first version of the svgalib manual.


testlinear

title: testlinear(6)

summary: test a linear frame buffer

text:
# testlinear(6)

## NAME
testlinear, lineart - test a linear frame buffer

## SYNOPSIS
testlinear

## DESCRIPTION
Program to test linear addressing on Cirrus cards and on Mach32 (and other cards which may support it).

Selects 640x480x256 and tries to enable a linear frame buffer (its virtual address is printed). Fills the screen in some color, then draws pixels in random positions.

For Cirrus cards some direct hardware access is then made for highspeed screen access. Except for the last (Cirrus only) test no speeds are printed, but you are welcome to use 'time' to measure it. The program draws 714400 one byte pixels plus a forced 1s delay and various rand() calls for the pixels.

The testlinear demo needs a few presses of <Return> after each minimal demo step. Even when it does not prompt for it. When it appears to be stuck, just press <Return>.

The lineart demo is the same, but it accepts a command line with an arbitrary number of modes. The modes may be either mode numbers or names, or both. For example,

lineart 11 17 G800x600x32k 22

will give a display of mode 11. If a key is pressed mode 17 will appear, followed by mode 20 and 22 as succesive keys are pressed.

This demo is part of svgalib and can be found in the demos/ subdirectory of the original svgalib distribution. However, it is not installed in the system by default, s.t. it is unclear where you can find it if your svgalib was installed by some linux distribution. Even then, when you have the demo on your system, you probably won't have the sources s.t. it is only of limited use for you.

In case of any such problem, simply get an svgalib distribution from the net. You even don't need to install it. Just make in the demos/ subdirecty. As of this writing, svgalib-1.2.12.tar.gz is the latest version and can be retrieved by ftp from sunsite.unc.edu at /pub/Linux/libs/graphics and tsx-11.mit.edu at /pub/linux/sources/libs which will most probably be mirrored by a site close to you.

## SEE ALSO
svgalib(7), vgagl(7), libvga.config(5), threed(6), accel(6), bg_test(6), eventtest(6), forktest(6), fun(6), keytest(6), mousetest(6), scrolltest(6), speedtest(6), spin(6), testaccel(6), testgl(6), vgatest(6), plane(6), wrapdemo(6)

## AUTHOR
This manual page was edited by Michael Weller <eowmob@exp-math.uni-essen.de>. The exact source of the referenced demo as well as of the original documentation is unknown.

It is very likely that both are at least to some extent are due to Harm Hanemaayer <H.Hanemaayer@inter.nl.net>.

Occasionally this might be wrong. I hereby asked to be excused by the original author and will happily accept any additions or corrections to this first version of the svgalib manual.


threed

title: threed(6)

summary: The svgalib 3d demo

text:
# threed(6)

## NAME
threed - The svgalib 3d demo

## SYNOPSIS
3d

## DESCRIPTION
Well, the 3d demo...

I, Michael, the current svgalib maintainer, do not have any source for it.

Thus, you may experience weird problems with new svgalib versions and you need installed a.out libc and svgalib versions. Also the demo is known to be buggy in several aspects. Thus, do not panic if it appears not to work for you.

If it works in a certain mode for you be happy and play around with it. For example, with recent svgalibs, 3d is unable to initialize the mouse if not started directly in a linux console for unknown reasons.

Otherwise: Don't worry at all.

### Here's the author's (Harm's) info about it:
There's also a 3d demo binary included in this directory. It has been in a similar state for several months now, but I'm planning to get some work done (although it probably won't be the amazing multi-player networked 3D lightsource-shaded real-time VGA virtual reality simulation). I'll release the source code at some point (when it has some degree of flexibility). I'm sorry that there's no scene description file; it will come. So now you know you can do this kind of thing in Linux. And it's practically 100% C code.

You can set the graphics mode to be used with the SVGALIB_DEFAULT_MODE environment variable (e.g. G640x480x256). All linear 256 color, 32K color and 16M color modes are supported, with page flipping used if available. Planar 256 color VGA modes also work. This should do 800x600 full screen 3D animation at near 10 fps with a good system. Request: Please report if page flipping goes wrong on a particular chipset (e.g. ET4000, Trident) in 320x200x256. Also 32-bit pixel truecolor modes don't work correctly, this will be fixed. The user interface is somewhat primitive at this point:

- Use the mouse to rotate.

- Left button accelerates, right decelerates.

- Press <W> to move upwards, <S> to go down again.

- Use <R> and <F> to control the zoom factor.

- <q> or <Ctrl>-C exits.

Note that the light source rotates quickly at an infinite distance. This is not something that will easily occur naturally (as far as I know)...

This demo is part of svgalib and can be found in the demos/ subdirectory of the original svgalib distribution. However, it is not installed in the system by default, s.t. it is unclear where you can find it if your svgalib was installed by some linux distribution. Even then, when you have the demo on your system, you probably won't have the sources s.t. it is only of limited use for you.

In case of any such problem, simply get an svgalib distribution from the net. You even don't need to install it. Just make in the demos/ subdirecty. As of this writing, svgalib-1.2.12.tar.gz is the latest version and can be retrieved by ftp from sunsite.unc.edu at /pub/Linux/libs/graphics and tsx-11.mit.edu at /pub/linux/sources/libs which will most probably be mirrored by a site close to you.

## BUGS
Countless.

In addition, source is still not available. Sorry, I just don't have it.

## SEE ALSO
svgalib(7), vgagl(7), libvga.config(5), accel(6), bg_test(6), eventtest(6), forktest(6), fun(6), keytest(6), mousetest(6), scrolltest(6), speedtest(6), spin(6), testaccel(6), testgl(6), testlinear(6), vgatest(6), plane(6), wrapdemo(6)

## AUTHOR
This manual page was edited by Michael Weller <eowmob@exp-math.uni-essen.de>. The demo and most of it's documentation is due to Harm Hanemaayer <H.Hanemaayer@inter.nl.net>.


vgatest

title: vgatest(6)

text:
# vgatest(6)

## NAME
vgatest - makes basic tests on any svgalib graphics mode

## SYNOPSIS
vgatest

## DESCRIPTION
Mode test program. First the program gives a list of the supported modes, then you enter a number and vgatest displays a test pattern in that mode.

The test pattern consists of a sequence of crosses (in different colors, if the mode support has different colors) in the top left corner.

Below you see either four horizontal color bars (white, red, green, and blue with increasing intensity from left to right) or vertical stripes.

If the mode has 32K or more colors, six squares will appear on top of that, each showing some different smooth color shades

The whole pattern is enclosed in a white border around the edge of the screen.

See below for details of the test pattern in case you need to verify that it is being displayed correctly or diagnose a problem with the display.

It also shows some details from vga_getmodeinfo(3).

To terminate the display and exit the program, hit any key. If that key is 'd', vgatest dumps the values of all the SVGA registers to Standard Output, in the manner of vga_dumpregs() before exiting.

This demo is part of svgalib and can be found in the demos/ subdirectory of the original svgalib distribution. However, it is not installed in the system by default, s.t. it is unclear where you can find it if your svgalib was installed by some linux distribution. Even then, when you have the demo on your system, you probably won't have the sources s.t. it is only of limited use for you.

In case of any such problem, simply get an svgalib distribution from the net. You even don't need to install it. Just make in the demos/ subdirecty. As of this writing, svgalib-1.2.12.tar.gz is the latest version and can be retrieved by ftp from sunsite.unc.edu at /pub/Linux/libs/graphics and tsx-11.mit.edu at /pub/linux/sources/libs which will most probably be mirrored by a site close to you.

### The Test Pattern
Here are the details of the test pattern that vgatest displays.

The screen is surrounded by a white frame which is at the very edges of the screen and one pixel thick.

At the top of the screen is a set of 16 overlapping crosses, lined up horizontally 5 pixels apart. Each cross is composed of a one pixel thick line sloping down at 45 degrees and one sloping up at 45 degrees meeting in the center. The top of each of these lines is at the 11th raster line on the screen and the bottom is at the 90th, so the crosses are 80 lines high. The leftmost pixel of the crosses is in the 11th column of the screen and the rightmost is in the 165th column. The lines are in multiple colors, but each line is one color (except where it intersects another line).

Below the crosses are either 4 horizontal bands of color or vertical bars. If the mode has 2 or 16 colors, you get the vertical bars. If the mode has 256, 32K, 64K, or 16M colors, you get the horizontal bands of color.

For a 2 color mode, the vertical bars are are one pixel wide white bars, spaced 4 pixels apart all the way across the screen on a black background. The first white bar is in the 3rd column. (But don't forget the white border described above).

For a 16 color mode, the vertical bars are one pixel wide and contiguous, filling the 3rd column from the left through the 3rd column from the right. The bars cycle through each of the 16 colors from left to right.

The vertical bars start in the 101st raster line and end in the 3rd line from the bottom of the screen.

For a higher color mode, the color bands fill the 3rd column from the left through the 3rd column from the right. (leaving a column of black and the aforementioned white border at the edges). The bands are all the same height with nothing between them. They are as large as will fit starting in the 101st line of the screen and ending at or before the 3rd line from the bottom. So depending on the number of lines on the screen, there are 1, 2, 3, or 4 black lines between the lowest bar and the white bottom border.

The hues of the bands are, from top to bottom, white, red, green, and blue. Each band goes from zero to maximal brightness from left to right.

In addition to the color bands, for a mode with 32K or more colors, six squares, 64 pixels on a side are arranged in a matrix centered on the screen, spaced 32 pixels apart. They replace any other part of the test pattern. These are actual squares only if your monitor displays square pixels in this mode, i.e. 64 columns is the same length as 64 lines. Normal monitors, properly adjusted, display square pixels for 1024 x 768 modes, but may not for other geometries.

Each square contains 4096 different colors, one pixel per color, in smooth transition. In each top square, one color component (red, green, or blue) is zero another varies linearly in the vertical direction and the other varies linearly in the Y direction. The bottom squares are the same except that one color component is maximum instead of zero.

## SEE ALSO
svgalib(7), vgagl(7), libvga.config(5), vga_getmodeinfo(3), threed(6), accel(6), bg_test(6), eventtest(6), forktest(6), fun(6), keytest(6), mousetest(6), scrolltest(6), speedtest(6), spin(6), testaccel(6), testgl(6), testlinear(6), plane(6), wrapdemo(6)

## AUTHOR
This manual page was edited by Michael Weller <eowmob@exp-math.uni-essen.de>. The exact source of the referenced demo as well as of the original documentation is unknown.

It is very likely that both are at least to some extent are due to Harm Hanemaayer <H.Hanemaayer@inter.nl.net>.

Occasionally this might be wrong. I hereby asked to be excused by the original author and will happily accept any additions or corrections to this first version of the svgalib manual.


wrapdemo

title: wrapdemo(6)

text:
# wrapdemo(6)

## NAME
wrapdemo - demonstrates surface wrapping of pixmaps

## SYNOPSIS
wrapdemo

## DESCRIPTION
Demonstrates surface wrapping of pixmaps by wrapping a picture or Susanna Rubens around a 3-dimensional ball.

The demo prompts your for a mode to be used and several details. Just follow the instructions on the screen and make your selections.

Once the program runs you can use the following keys:

<Q> and <A>, <Z> and <X>, <O> and <P>

to rotate the plane around the space axes.

<T> and <V>, <F> and <G>, <W> and <S>

to move up, down, north, south, east, west. (world view only)

<Space>

to toggle rendering vs. wire frame.

<W> and <S>

to scale in non-world view compilation -- see plane.h

<1> and <2>

to change rotation increment.

<3> through <9>

to change surface density.

<R>

to change shading method.

<C>

to quit the program.

<I>

to reset the rotation to the startup values.

This demo is part of svgalib and can be found in the threeDkit/ subdirectory of the original svgalib distribution. However, it is not installed in the system by default, s.t. it is unclear where you can find it if your svgalib was installed by some linux distribution. Even then, when you have the demo on your system, you probably won't have the sources s.t. it is only of limited use for you.

In case of any such problem, simply get an svgalib distribution from the net. You even don't need to install it. Just make in the threeDkit/ subdirectory. As of this writing, svgalib-1.2.12.tar.gz is the latest version and can be retrieved by ftp from sunsite.unc.edu at /pub/Linux/libs/graphics and tsx-11.mit.edu at /pub/linux/sources/libs which will most probably be mirrored by a site close to you.

## SEE ALSO
svgalib(7), vgagl(7), libvga.config(5), triangle(3), striangle(3), wtriangle(3), swtriangle(3), trisetcolorlookup(3), trigetcolorlookup(3), trisetdrawpoint(3), threedkit(7), vgatest(6), threed(6), accel(6), bg_test(6), eventtest(6), forktest(6), fun(6), keytest(6), mousetest(6), scrolltest(6), speedtest(6), spin(6), testaccel(6), testgl(6), testlinear(6), plane(6)

## AUTHOR
This manual page was edited by Michael Weller <eowmob@exp-math.uni-essen.de>. The demos, the initial documentation and the whole threedkit stuff was done by Paul Sheer <psheer@icon.co.za>.

Paper mail:

Paul Sheer

P O BOX 890507

Lyndhurst

Johannesburg 2106

South Africa

Donations (by check or postal order) will be appreciated and will encourage further development of this software. However this is strictly on a voluntary basis where this software falls under the GNU LIBRARY GENERAL PUBLIC LICENSE.


tetrix

package: tetrix

title: tetrix(6)

summary: Tetris\-like game with TUI graphics

text:
# tetrix(6)

## NAME
tetrix - Tetris-like game with TUI graphics

## SYNOPSIS
tetrix [pause-ms]

## DESCRIPTION
A clone of the Tetris game. Documentation for the commands is on-screen. The optional argument is an initial delay in milliseconds between moves; the game tries to default to a reasonable value.

## FILES
/tmp/.TetScores

Scores file.

## AUTHORS
Originally written by Quentin Neill some time after the release of the original Tetris in 1988. Visual user interface and color support by Eric S. Raymond <esr@thyrsus.com>, 1994.


tetzle

package: tetzle

title: tetzle(6)

summary: tetromino jigsaw puzzle game

text:
# tetzle(6)

## NAME
tetzle - tetromino jigsaw puzzle game

## SYNOPSIS
tetzle [options] [files]

## DESCRIPTION
Tetzle is a jigsaw puzzle game that uses tetrominoes for the pieces. Any image can be imported and used to create puzzles with a wide range of sizes. Games are saved automatically, and you can select between currently in progress games.

## OPTIONS
-h, --help

Displays help on commandline options.

--help-all

Displays help including Qt specific options.

-v, --version

Displays version information.

files

Images to add to the choose game dialog.

## SEE ALSO
qt6options(7)

## REPORTING BUGS
Report bugs to <tetzle@bugs.gottcode.org>.

## COPYRIGHT
Copyright © 2008-2025 Graeme Gott

Free use of this software is granted under the terms of the GNU General Public License version 3 (GPLv3). There is NO WARRANTY, to the extent permitted by law.

## AUTHOR
Graeme Gott <graeme@gottcode.org>.


tornado

package: tornado

title: tornado(6)

summary: clone of the original C64 game.

text:
# tornado(6)

## NAME
tornado - clone of the original C64 game.

## SYNOPSIS
tornado [--connect IP|--demo|--help|--server|--version]

## DESCRIPTION
The object of the game tornado is to destroy your opponents house with the powers of rain, snow, hail, lightning and the tornado.

After the game is started the two player enter their names. If you leave the field blank the computer will take the player's part. You can see two houses with each player name in the corner below it and a cloud on top of the screen, the sky. The player whose turn it is has an asterisk * next to his name.

From the menu in the center of the screen each player now picks a weather phenomenon. A second box will appear where you can enter the aim you would like to use. You may have noticed the value Windspeed in the mid bottom of the screen by now. Ideally you would take aim 2 if windspeed is -2 for example and then your rain/hail/snow/tornado would go straight down the cloud. However, it's chosen randomly if the rain appears on the left side of the cloud or the right side, so aiming might be not that easy as it looks like.

If you hit your opponent's house (or your own) the percentage counter will decrease depending on how much damage you did. If the counter is down to 0% the player loses the game.

The keys you can use in the game are:

s selects snow

Snow is a defensive weapon. If you hit a house with snow it creates a coating that hail cannot destroy. Only rain can be used to destroy that layer of snow. Lightning and tornado are not effected.

r selects rain

Destroys one row of the house. Can be used to melt a row of snow.

h selects hail

This will destroy two rows of the house, but cannot destroy a snow coating.

l selects lightning

Splits the house into two pieces. Not influenced by wind.

t selects tornado

Not as effective as lightning but the tornado goes straight to the bottom of the house as well.

q quits the game

o show the highscores

c show current player scores

## OPTIONS
You can start the game with the following command line options:

--connect IP, The game will connect to the server with the given host (IP or hostname).

--demo, Self running demo mode.

--help, Short help screen.

--server, Starts the game in server mode and waits for a connecting client.

--version, Shows the program version and exits.

## FILES
/usr/bin/tornado

/usr/man/man6/tornado.6

/var/games/tornado.scores

/usr/local/share/locale/de/LC_MESSAGES/tornado.mo

/usr/local/share/locale/fr/LC_MESSAGES/tornado.mo

## NOTES
When you run the game in network mode you should have the same game versions on client and server side. Versions prior 1.0pre4 won't work at all due to the lack of network capability. The game will start with different versions, but it will probably crash at any time, if there are too many differences in the two versions.

The Tornado game server runs on port 3000 TCP. (defined in main.c)

## BUGS
Destroying your own house will increase your score as well. :^)

## AUTHOR
Oliver Feiler <kiza@kcore.de>


trackballs

package: trackballs-data

title: trackballs(6)

text:
# trackballs(6)

## NAME
Trackballs - marble game similar to the classic arcade game 'Marble Madness'

## SYNOPSIS
trackballs [-w] [-m] [-y] [-f] [-e -l<level> -t<level>] [-r<width>] [-s<sensitivity>] ...

## DESCRIPTION
Trackballs is a simple game inspired by the classic Atari 1980's arcade game 'Marble Madness' (later released by Electronic Arts for the Amiga and other platforms).

By steering a marble ball through a labyrinth filled with sharp objects, pools of acid and other obstacles the player collects points. When the ball passes through the goal it continues to the next, more difficult track - unless the time runs out.

It should be noted that this game is _not_ intended to be a replica of Marble Madness but rather merely inspired by it. For instance the game uses 3D graphics even though the original game had no real use for it. Also the game is fully programmable with a scripting extension (Guile), and includes a level editor with which to easily create new levels.

## OPTIONS
-h , --help

Display usage information.

-l , --level

Start from level.

-w , --windowed

Run in window (Default is fullscreen)

-m , --mute

Mute sound.

-y , --low-memory

Attempt to conserve memory usage

-s , --sensitivity

Mouse sensitivity, default 1.0

-f , --fps

Displays framerate

-v , --version

Indicate the current version number

-9 , --debug-joystick

Debug joystick status

-j , --repair-joystick

Correct for bad joysticks

-t , --touch

Updates a map to the latest format

## ENVIRONMENT
GUILE_LOAD_PATH

Specifies the directory where the guile files are

TRACKBALLS

Specifies a preferred share directory; this is ignored if invalid

## FILES
/usr/bin/trackballs

The executable file for trackballs

/usr/share/trackballs

Necessary shared files for trackballs

/usr/share/locale

Location of the locale files, if applicable

/usr/share/doc/trackballs

Detailed package documentation

~/.trackballs/

Per user settings directory

## EXAMPLE
To run this program the standard way type:

trackballs

To disable audio and start in windowed mode

trackballs -m -w

Alternatively you can test a level with:

trackballs -l steep

## NOTES
Full documentation for the game and the editor can be found in the detailed package documentation or at https://trackballs.github.io/docs/index.html

## AUTHORS
See the AUTHORS.md file in the source package for a detailed list of authors.


trophy

package: trophy-gamedata

title: trophy(6)

summary: A 2D car racing action game.

text:
# trophy(6)

## NAME
trophy — A 2D car racing action game.

## SYNOPSIS
trophy

## DESCRIPTION
trophy is a single-player racing game for Linux. Even though the goal is basically to finish the laps as the first, trophy is an action game which offers much more than just a race. Lots of extras enable "unusual" features for races such as shooting, putting mines and many others.

## CONTROLS
Arrow Up

Accelerate.

Arrow Down

Decelerate. Don't use.

Arrow Left

Steer to the left.

Arrow Right

Steer to the right.

A

Turbo. Boosts speed while pressed (as long as there still is turbo fuel left). Use it to overtake other cars or catch up if you've fallen behind.

C

Drop bomb. Bombs will explode after a second. Use it to damage other cars.

X

Shoot. Fires your machinegun straight ahead. Make sure you are pointed towards another car.

Space

Horn. Useless but fun anyway.

Escape

Stop race, go back to previous menu or quit game.

## FILES
~/trophy/

Contains the game saves

## AUTHOR
trophy has been written by Andrew Mustun, Matthieu Lecesne and Colin Pitrat

This manual page was written by Guus Sliepen <guus@sliepen.warande.net> and Matthieu Lecesne


tuxpuck

package: tuxpuck

title: tuxpuck(6)

summary: Shufflepuck Cafe Clone

text:
# tuxpuck(6)

## NAME
tuxpuck - "Shufflepuck Cafe" Clone

## SYNOPSIS
tuxpuck

## DESCRIPTION
Anyone remember "Shufflepuck Cafe" for the Amiga/AtariST?

I do.

TuxPuck is a shufflepuck game written in C using SDL. The player moves a pad around a board and tries to shoot down the puck through the opponents defense.

## OPTIONS
This program does not take any command line arguments.

## CONFIG FILE
The config file ".tuxpuckrc" is located in your home directory. It is automatically written when the game quits.

## CONFIG FILE FORMAT
Just "TAG VALUE", each option seperated by Returns.

## CONFIG FILE OPTIONS
SOUND 1 = ON, 0 = OFF

FULLSCREEN 1 = ON, 0 = OFF

MOUSESPEED between 1 and 10, 1 slowest, 10 fastest

## IN-GAME CONTROL
MOUSE Move the pad

f Toggle fullscreen mode

F1 Toggle sound

F5 Decrease mouse speed

F6 Increase mouse speed

## AUTHOR
The TuxPuck game was written by Jacob "noork" Kroon, <d00jkr@efd.lth.se>. This manual page was written by Sven Velt <sven@velt.de>.


typespeed

package: typespeed

title: typespeed(6)

text:
# typespeed(6)

## NAME
typespeed - Test your typing speed and get your fingers' CPS.

## SYNOPSIS
typespeed [OPTION]

## DESCRIPTION
Typespeed gives your fingers' cps (total and correct), typoratio and some points to compare with your friends.

Typespeed's idea is ripped from ztspeed (a dos game made by Zorlim). Idea of the game should be clear to anyone, just type and type it fast or be a loser.

## USAGE
The basics are simple: words, which are extracted out of a specified word list, fly from the left to the right. Your task is in any case to write them down before they reach the right side and disappear, in which case your miss counter will be increased. Should you have missed 10 words, the game will end. Each correct input will increase your high score, where one character of the word is exactly one point, i.e. a longer word results in more points. Your total CPS and your correct CPS are displayed during game play. Total CPS means all your input, whereas correct CPS only counts characters, that you have entered to write a correct word. To enter the words, you can also use emacs-like control sequences (^A jumps to the beginning of the string, ^B goes back one character, ^E jumps to the end of string, ^F moves cursor one position to the left (except cursor is at end of string), ^K deletes all characters behind cursor, ^U clears input field). Should you have enabled cheat mode (you can see CHE in status line then), you don't have to complete your input by pressing ENTER or SPACE.

If you have played typespeed with these default rules far too long and you want something new, you can create your own rule sets! There are three rule sets supplied since 0.6.1:

The first rule contains default settings. You can play this mode when you don't supply any options and just start the game. In this mode, speed will increase whenever you enter a correct word. At the end of the game, you can get a rank in your top 10 list for the specified word list.

Settings have changed in 0.6.0. If you want to play with old rules (typespeed 0.4.4 - 0.5.3), you can choose classic.

The third rule set is training - speed won't increase.

If you have other ideas, you can supply your own rule set or change the settings in menu "Game Rules". Feel free to send in some fancy rules.

Also, you can play typespeed in multiplayer. In this mode you can play against one opponent over TCP/IPv4. Both sides can choose a word list, should you type in a correct word and your opponent can handle more words (based upon his current stat), there is a possibility that your typed word will be thrown into his game. But remember, the same goes for you! In this mode, no rank can be achieved in your (or opponent's) top 10 list. During multiplayer, you cannot press CURSOR UP to pause the game, instead CURSOR UP will immediately result in a game over. You cannot play custom rule sets in multiplayer.

## OPTIONS
--cheat

This will enable the cheat, which wraps words instantly when they are written correctly. You don't need to press space/enter. It is another question if this "cheat" actually helps...

--client=addr

Start typespeed in client mode (where addr is network address of server) Typespeed will try to connect to the given address and start network play.

--netlog=file

For debugging purposes. The whole network data is written into file. If you have issues with network gaming, attach this file to a bug report mail.

--nocolors

Turns off the curses colors. It can be a more clear way to play the game in some situations.

--port=port

Tells what TCP/IPv4 port will typespeed be using in the network play. The default port is 6025.

--server

Start typespeed in server mode. Typespeed will wait for other player to connect.

--help

Little explanation of the parameters.

## CONFIGURATION FILES
/etc/typespeedrc

$HOME/.typespeed/config

In these files, you can specify the location of directories for game rules and word lists. You can also activate cheat mode in these files if you write "cheat = yes". If you create a configuration file in your home directory, you must also create a file called $HOME/.typespeed/score. All your personal high scores are stored in this file, not anymore in system wide high score file. This is needed to prevent malicious users to pretend to have 1000 points in e.g. words.eng whereby directory for word lists has been changed. In order to compete with system-wide users, you have to remove your personal configuration file.

## WORD LISTS
If you would like to create your own word list, you have to follow these simple rules:

The first line contains the description that will be listed in word list selection menu. You cannot use more than 60 characters.

A word list must consist of at least 22 different words, i.e. no duplicated words. The words must not be longer than 19 characters. Should they be longer, they won't be parsed; instead they are silently dropped. Words must not contain escape sequences, tabs or spaces. These words will be dropped, too.

Blank lines will be ignored.

If you would like to see your created word list included into next release, please send me an e-mail (tobias@bugol.de).

## NOTES
Do not use typespeed version 0.5.2 or higher with a version < 0.5.2. The usage of network control words has been changed, so you could not end games.

If you have used typespeed < 0.6.0 and you wish to use your high scores in newer versions, you have to convert them into new format. convert can be used for this task. convert takes two arguments: the old high score directory and the new high score file. Due to changed high score file format, it is expected that converted scores (especially cps) differ.

## AUTHORS
Written by Jani Ollikainen <bestis@iki.fi>, Jaakko Manelius <jman@iki.fi>, and Tobias Stoeckmann <tobias@bugol.de>.

## REPORTING BUGS
Report bugs to <tobias@bugol.de>.

## COPYRIGHT
Copyright (C) 1999-2003 Jani Ollikainen <bestis@iki.fi>

Jaakko Manelius <jman@iki.fi>

Copyright (C) 2006-2007 Tobias Stoeckmann <tobias@bugol.de>

Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.