Fastgraph
programmer's graphics library

Fastgraph for DOS Frequently Asked Questions

What is a graphics library?
What is the difference between a graphics library and a game engine?
How long has Fastgraph been around?
How fast is Fastgraph?
What games have been written with Fastgraph?
Are there any requirements for releasing a product with Fastgraph?
What is the current version number?
How much does it cost?
Does that include source code?
How much does it cost to upgrade?
What is Fastgraph/Fonts?
What is Fastgraph/Image?
Is Fastgraph required to use the Fonts and Image products?
What do the Fonts and Image products cost?
Are there any package deals?
What is Fastgraph/Light?
What is the difference between Fastgraph/Light and Fastgraph?
Do Fastgraph/Light users get documentation and technical support?
What languages was Fastgraph written in?
What languages does Fastgraph for DOS support?
What compilers does Fastgraph for DOS support?
What 32-bit DOS extenders does Fastgraph support?
What 16-bit DOS extenders does Fastgraph support?
What video modes does Fastgraph for DOS support?
What SVGA chipsets does Fastgraph for DOS support?
Are there any special SVGA considerations for Windows 95 or 98?
What file formats does Fastgraph support?
Why did you remove the GIF functions from Fastgraph 5.0?
Is there a Windows version of Fastgraph?
Does Fastgraph support sound cards?
Does Fastgraph support horizontal scrolling?
Can you tell me a little more about that AAAS book?
Are Ted and Diana related?
So, briefly, what functions are in Fastgraph?
What about Fastgraph for Windows?

What is a graphics library?
A graphics library is a collection of general purpose functions which may be linked into your program. The purpose of Fastgraph is to give you complete control of the video environment, including initializing video memory, manipulating it, displaying images on the screen, changing colors, and so on.

What is the difference between a graphics library and a game engine?
Game engines are usually specific to a particular genre of game and provide medium level functions such as collision detection. A graphics library is general purpose low-level functions which can be used in many different kinds of programs. It so happens that most of our customers use Fastgraph to develop games and educational software.

How long has Fastgraph been around?
Ted started writing Fastgraph in 1987, and it has been under constant construction ever since. Diana used Fastgraph to write her first game in 1987. Fastgraph for DOS became commercially available in 1991, and Fastgraph for Windows in 1995.

How fast is Fastgraph?
It's fast.

What games have been written with Fastgraph?
We do not have exact information on this, but the short answer is LOTS. Many commercial and shareware games have been written with Fastgraph, including arcade games, adventure games, puzzle games, card games, RPG's, and so on. Click here for information about some of the more noteworthy recent releases.

Are there any requirements for releasing a product with Fastgraph?
We only ask that you do not release public domain programs using Fastgraph. Please copyright your software, in your name or in your company's name. You can do this by simply putting "Copyright 1998 John Doe" on your software (for more information consult an attorney or get a good book on the subject). This is for your protection as well as ours. Your software is valuable; you should claim your copyright. We also recommend you register your copyright as appropriate, but that is up to you.

Otherwise, there are no restrictions on the distribution of programs written with Fastgraph. There are no royalties or license fees, and you are not required to mention that you used Fastgraph to write your game (although we think it is nice if you do).

What is the current version number?
We are currently shipping Fastgraph 5.01 for both DOS and Windows.

How much does it cost?
Fastgraph 5.0 costs $299 with no royalties or license fees. Please visit the Fastgraph Product Catalog page for complete pricing information.

Does that include source code?
No. Source code is extra. Call the TGS office for information about source code pricing.

How much does it cost to upgrade?
TGS offers substantial discounts on major upgrades. For example, the cost of upgrading from Fastgraph 4.x to 5.0 is $129. For this price, Fastgraph 4.x customers receive the same items (new manuals, new disks, etc.) in the Fastgraph 5.0 package we sell to new customers for $299. Maintenance updates (for example, version 5.00 to 5.01) are available in patch form at no charge on our web site.

What is Fastgraph/Fonts?
Fastgraph/Fonts is an add-on product that makes it easy to add bitmapped font support to Fastgraph applications. It includes 40 font files in several point sizes, font scaling and conversion utilities, and an interactive font editor. Requires Fastgraph.

What is Fastgraph/Image?
Fastgraph/Image is an add-on product that provides functions and utilities for managing resource files containing images and other files. While the product was designed to manage and display BMP, PCX, JPEG, FLI/FLC, and pixel run files stored in resource files, Fastgraph/Image can be used with any type of file, including bitmaps, text files, and Fastgraph/Fonts font files.

Besides making your product distribution cleaner, Fastgraph/Image resource files save disk space normally lost to disk sectoring. Fastgraph/Image comes with a library manager to conveniently add and remove files in a resource file. The resource files are indexed for quick access. Requires Fastgraph.

Is Fastgraph required to use the Fonts and Image products?
Yes.

What do the Fonts and Image products cost?
Fastgraph/Fonts and Fastgraph/Image cost $69 each, or $118 if you purchase both products at the same time.

Are there any package deals?
If you already have Fastgraph, you can buy the Fonts and Image products together for $118. That saves you $20. If you want to buy all three products (Fastgraph, Fastgraph/Fonts, and Fastgraph/Image), we call that the Fastgraph Graphics Power Pack and sell it for $399.

Specially-priced DOS and Windows bundles are available for all products. Please visit the Fastgraph Product Catalog page for complete pricing information.

What is Fastgraph/Light?
Fastgraph/Light is the shareware version of Fastgraph.

What is the difference between Fastgraph/Light and Fastgraph?
The biggest difference is the TSR driver, called FGDRIVER.EXE, which must be loaded into memory before any programs linked with Fastgraph/Light may be run. Fastgraph/Light supports real mode only, while Fastgraph includes libraries for real mode, 16-bit protected mode, and 32-bit protected mode. Also, the light version does not include the world space and software character functions.

Do Fastgraph/Light users get documentation and technical support?
The documentation is archived and distributed online (or on disk) with Fastgraph/Light. Everybody gets technical support.

What languages was Fastgraph written in?
All of Fastgraph is written in assembly language, except for the few functions which expect floating point parameters. Those are written in the language of the supported compiler.

What languages does Fastgraph for DOS support?
Fastgraph for DOS supports C/C++, Fortran, Basic, Pascal, and ASM. Some programmers have found ways to use Fastgraph with other languages, such as FoxPro and Turbo Prolog, but we do not guarantee support of those languages and cannot offer technical support for them.

What compilers does Fastgraph for DOS support?
Borland C++ (version 2.0 or later)
Borland Pascal (version 7.0 or later)
MetaWare High C/C++ (version 3.0 or later)
Microsoft BASIC PDS (version 7.0 or 7.1)
Microsoft C/C++ (version 5.1 or later)
Microsoft FORTRAN (version 4.0 or later)
Microsoft FORTRAN PowerStation (version 1.0 or later)
Microsoft QuickBASIC (version 4.0 or later)
Microsoft QuickC (version 2.0 or later)
Microsoft Visual Basic for DOS (version 1.0 or later)
Microsoft Visual C++ (version 1.0 or later)
Microsoft Visual C++ 32-bit Edition (version 1.0 or later)
Turbo C (version 2.0 or later)
Turbo C++ (version 1.0 or later)
Turbo Pascal (version 6.0 or later)
Watcom C/C++ (version 9.5 or later)
Watcom C32 for DOS (version 9.5 or later)
Zortech C++ (version 3.0 or later)

What 32-bit DOS extenders does Fastgraph support?
Borland PowerPack for DOS
CauseWay
DOSXMSF (Fortran PowerStation)
FlashTek X-32
Phar Lap TNT Dos-Extender SDK
Phar Lap TNT Dos-Extender Lite
Rational Systems DOS/4G
Rational Systems DOS/4GW
Rational Systems DOS/4GW Professional

What 16-bit DOS extenders does Fastgraph support?
Blinker
Borland Pascal 7 (built-in DPMI extender)
Borland PowerPack for DOS
Phar Lap 286|Dos-Extender SDK
Phar Lap 286|Dos-Extender Lite
Rational Systems DOS/16M

What video modes does Fastgraph for DOS support?
Fastgraph 5.0 supports the following text and graphics modes:
40x25 color text
80x25 color text
80x25 monochrome text
320x200 16-color VGA
640x200 16-color VGA
640x350 monochrome VGA
640x350 16-color VGA
640x480 2-color VGA
640x480 16-color VGA
800x600 16-color SVGA
1024x768 16-color SVGA
1280x1024 16-color SVGA
320x200 256-color VGA
320x200 256-color "mode X" VGA
320x240 256-color "mode X" VGA
320x400 256-color "mode X" VGA
320x480 256-color "mode X" VGA
640x400 256-color SVGA
640x480 256-color SVGA
800x600 256-color SVGA
1024x768 256-color SVGA
1280x1024 256-color SVGA
320x200 64K high color SVGA
640x400 64K high color SVGA
640x480 64K high color SVGA
800x600 64K high color SVGA
1024x768 64K high color SVGA
1280x1024 64K high color SVGA
320x200 16.7M true color SVGA
640x400 16.7M true color SVGA
640x480 16.7M true color SVGA
800x600 16.7M true color SVGA
1024x768 16.7M true color SVGA
1280x1024 16.7M true color SVGA

What SVGA chipsets does Fastgraph for DOS support?
Fastgraph 5.0 provides native support for 85 SVGA chipsets, plus VESA BIOS support. Here is a list of the supported SVGA chipsets:
3Dfx Voodoo Banshee
3Dlabs Permedia
Acer Labs 3100 series
Ahead V5000A
Ahead V5000B
Alliance ProMotion 3210/6410
Alliance ProMotion 6422/AT24/AT3D
AMD Geode
ARK Logic 1000/2000
ATI 18800
ATI 18800-1
ATI 28800/38800
ATI mach32 (68800)
ATI mach64 CX/GX
ATI mach64 CT/ET/GT/VT
ATI Rage128/Radeon
Avance Logic 2101
Avance Logic 2201
Avance Logic 2228/2301
Chips & Technologies 82c450/82c453
Chips & Technologies 82c451/82c455/82c456/82c457
Chips & Technologies 82c452
Chips & Technologies 64000 series
Chips & Technologies 65510/65520/65525/65530
Chips & Technologies 65535
Chips & Technologies 65540/65545
Chips & Technologies 65548
Chips & Technologies 65550/65560/68550/69000 series
Cirrus Logic 5402
Cirrus Logic 5420
Cirrus Logic 5422/5424/5426/5428/5429
Cirrus Logic 5430/5440/5480 series
Cirrus Logic 5460 (Laguna) series
Cirrus Logic 6200 series
Cirrus Logic 6245
Cirrus Logic 6400 series
Cirrus Logic 7540 series
Compaq QVision 1024/1280
Cyrix MediaGX
Diamond Viper with Weitek P9000
Genoa 6000 series
Hualon (HMC) 86304/86314
Hualon (HMC, Topro) 86508
IMS TwinTurbo-128
Integraphics IGA1680/1682
Intel i740
Intel 810/815
Macronix (MXIC) 86000/86010
Macronix (MXIC) 86200/86250/86251
Matrox MGA 64
Matrox MGA 1x64SG/2x64W/G100/G200/G4xx/G550
NCR 77C21/77C22
NCR 77C22E
NCR 77C32BLT
NeoMagic 2000 series
Number Nine Imagine-128 / Ticket to Ride
nVidia NV1 / SGS-Thomson STG2000
nVidia Riva 128 / SGS-Thomson STG3000
nVidia Riva TNT / GeForce
Oak OTI-067
Oak OTI-077
Oak OTI-087
Oak 64000 series
OPTi 82c264/82c265/82c268
Paradise PVGA1a
Paradise WD90C00/WD90C10
Paradise WD90C11/WD90C30
Paradise WD90C24/WD90C26
Paradise WD90C31
Paradise WD90C33
Paradise WD9710
Realtek 3100 series
Rendition V1000
Rendition V2100/V2200
S3 86C801/86C805
S3 86C911/86C924
S3 86C928
S3 Vision/Trio/ViRGE/Savage series
Sierra 15064 (Falcon64)
Silicon Motion (SMI) Lynx series
SiS 300/305
SiS 315
SiS 6200/6300 series
Trident 8800
Trident 8900/8900B/8900C/9000
Trident 8900CL/8900D/9000C
Trident 9200/9400/9600/9700/9800 series
Tseng ET3000
Tseng ET4000AX
Tseng ET4000/W32
Tseng ET6000
UMC 85C408/85C418
Video7
Weitek 5286/P9100
VESA

Are there any special SVGA considerations for Windows 95 or 98?
The chipset autodetection process in fg_svgainit() will properly identify the SVGA chipset for programs run from Windows 95 and Windows 98 full-screen DOS sessions. It will also detect most SVGA chipsets for programs launched directly from Windows (for example, from the Start/Run menu, the Windows 95 Explorer, or a windowed DOS session). However, for some combinations of SVGA chipsets and Windows display drivers, fg_svgainit() will not recognize the chipset (and instead will default to VESA) when programs are launched directly from Windows.

There are two solutions to this problem. One, of course, is to have the user run the program from a full-screen DOS session rather than a windowed DOS session (to switch from windowed to full-screen DOS, press Alt+Enter). The better solution is to have the program switch to the equivalent of a full-screen DOS session before calling fg_svgainit(). The easiest way to do this is first select a standard VGA graphics mode with fg_setmode(19), then call fg_svgainit(), and finally set the desired SVGA video mode.

What file formats does Fastgraph support?
Fastgraph supports display and creation of BMP, PCX, and pixel run files, and display of JPEG and FLI/FLC (flic) files.

Why did you remove the GIF functions from Fastgraph 5.0?
Both Unisys and and IBM are claiming patents on the LZW technology, which is the cornerstone of GIF file compression. Now Unisys is requiring a royalty on any program that compresses or decompresses GIF files. If you write a program that uses Fastgraph to read or write a GIF file, you could owe royalties to Unisys. We are opposed to paying royalties to Unisys. We are opposed to software patents in general. We recommend you avoid using the GIF functions.

However, we recognize that some customers may still need to use GIF files, even if it means paying royalties to Unisys. For these customers we have created a freeware library offering the GIF functionality from Fastgraph 4.x and Fastgraph/Image 2.x (this library works with the Fastgraph 5.0 for DOS product family). Click here to download the Fastgraph 5.0 freeware GIF library.

Is there a Windows version of Fastgraph?
Certainly! You can get more info about FGW from the Fastgraph for Windows FAQ. Windows versions of Fastgraph/Fonts and Fastgraph/Image are available, too.

Does Fastgraph support sound cards?
No. We recommend you use a sound toolkit for that.

Does Fastgraph support horizontal scrolling?
Not directly, but there are ways to do it. For an explanation, see Diana's book, Action Arcade Adventure Set, published by the Coriolis Group.

Can you tell me a little more about that AAAS book?
The award-winning book documents a game engine for a side-scroller game. It includes the various editors including a level editor, sprite editor, and palette manager, as well as code for smooth scrolling and sprite animation. AAAS is now out of print, but an online version is available.

Are Ted and Diana related?
They are married.

So, briefly, what functions are in Fastgraph?
fg_allocate() Create a virtual video page
fg_alloccms() Create a logical page in conventional memory
fg_allocems() Create a logical page in expanded memory
fg_allocxms() Create a logical page in extended memory
fg_arc() Draw a circular arc in screen space
fg_arcw() Draw a circular arc in world space
fg_automode() Determine best standard VGA video mode
fg_bestmode() Determine best video mode with requested resolution
fg_bmphead() Read a BMP file header into a 54-byte buffer
fg_bmpmode() Determine the optimal video mode for displaying a BMP image
fg_bmppal() Read the palette information from a BMP file
fg_bmpsize() Return the width and height of a BMP image
fg_box() Draw an unfilled rectangle in screen space
fg_boxdepth() Define pixel depth of unfilled rectangles
fg_boxw() Draw an unfilled rectangle in world space
fg_boxx() Draw an unfilled XOR rectangle in screen space
fg_boxxw() Draw an unfilled XOR rectangle in world space
fg_button() Return joystick button status
fg_capslock() Determine state of CapsLock key
fg_chgattr() Apply display attribute to existing characters
fg_chgtext() Display characters using existing display attributes
fg_chipset() Return active SVGA chipset name string
fg_circle() Draw an unfilled circle in screen space
fg_circlef() Draw a filled circle in screen space
fg_circlefw() Draw a filled circle in world space
fg_circlew() Draw an unfilled circle in world space
fg_clipdcb() Display a direct color bitmap, with clipping
fg_clipmap() Display a monochrome bitmap, with clipping
fg_clipmask() Display a masking map, with clipping
fg_clpimage() Display a palette-based bitmap, with clipping
fg_clprect() Display a filled rectangle in screen space, with clipping
fg_clprectw() Display a filled rectangle in world space, with clipping
fg_clprectx() Display a filled XOR rectangle in screen space, with clipping
fg_colors() Return virtual buffer or video mode color depth
fg_copypage() Transfer contents of one video page to another
fg_cursor() Define cursor visibility in text modes
fg_dash() Draw dashed line in screen space
fg_dashrel() Draw relative dashed line in screen space
fg_dashrw() Draw relative dashed line in world space
fg_dashw() Draw dashed line in world space
fg_defcolor() Assign a color value to a virtual color index
fg_defpages() Define SVGA banks for extended video pages
fg_defpal() Set up default palette for direct color modes
fg_dispfile() Display standard or packed pixel run file
fg_display() Display standard pixel run map
fg_displayp() Display packed pixel run map
fg_draw() Draw solid line in screen space
fg_drawdcb() Display a direct color bitmap, without clipping
fg_drawmap() Display a monochrome bitmap, without clipping
fg_drawmask() Display a masking map, without clipping
fg_drawrel() Draw relative solid line in screen space
fg_drawrelx() Draw relative XOR line in screen space
fg_drawrw() Draw relative solid line in world space
fg_drawrxw() Draw relative XOR line in world space
fg_draww() Draw solid line in world space
fg_drawx() Draw XOR line in screen space
fg_drawxw() Draw XOR line in world space
fg_drect() Draw dithered rectangle in screen space
fg_drectw() Draw dithered rectangle in world space
fg_drwimage() Display a palette-based bitmap, without clipping
fg_egacheck() Determine EGA information (obsolete function)
fg_ellipse() Draw unfilled ellipse in screen space
fg_ellipsef() Draw filled ellipse in screen space
fg_ellipsew() Draw unfilled ellipse in world space
fg_ellipsfw() Draw filled ellipse in world space
fg_erase() Fill video page with color 0 pixels
fg_fadein() Gradually replace visual page contents with hidden page contents
fg_fadeout() Gradually replace visual page contents with current color
fg_fillpage() Fill video page with pixels of the current color
fg_findpage() Find available virtual or logical page number
fg_findrgb() Find closest matching color in an array of RGB values
fg_fixdiv() Divide two fixed point quantities
fg_fixed() Convert floating point value to its fixed point equivalent
fg_fixmul() Multiply two fixed point quantities
fg_fixtrig() Return the fixed point cosine and sine of a given angle
fg_flicdone() Terminate low-level flic file processing
fg_flichead() Read a flic file header into a 128-byte buffer
fg_flicmode() Determine the optimal video mode for playing a flic file
fg_flicopen() Open flic file for low-level processing
fg_flicplay() Play one or more frames in a flic file
fg_flicsize() Return the width and height of a flic image
fg_flicskip() Advance one or more frames while playing a flic file
fg_flipdcb() Display a reversed direct color bitmap, with clipping
fg_flipmask() Display a reversed masking map, with clipping
fg_float() Convert fixed point value to its floating point equivalent
fg_flood() Flood fill closed screen space region, with clipping
fg_floodw() Flood fill closed world space region, with clipping
fg_flpimage() Display a reversed palette-based bitmap, with clipping
fg_fontsize() Enable 8x8, 8x14, or 8x16 ROM font
fg_freepage() Release virtual or logical video page
fg_getaddr() Return address of active video page
fg_getattr() Return display attribute of specified character cell
fg_getbanks() Low-level interface to Fastgraph's SVGA kernel
fg_getblock() Retrieve block of pixels for display with fg_putblock()
fg_getchar() Return character value of specified character cell
fg_getclip() Return clipping limits
fg_getclock() Return number of clock ticks since midnight
fg_getcolor() Return current color or display attribute
fg_getdacs() Read RGB values of consecutive color registers
fg_getdcb() Retrieve a direct color bitmap
fg_getentry() Return video page type and address
fg_gethpage() Return the hidden video page number
fg_getimage() Retrieve a palette-based bitmap
fg_getindex() Return color value assigned to a virtual color index
fg_getkey() Read a keystroke (wait for one if necessary)
fg_getlines() Return number of text rows per video page
fg_getmap() Retrieve a monochrome bitmap
fg_getmaxx() Return maximum x coordinate in screen space
fg_getmaxy() Return maximum y coordinate in screen space
fg_getmode() Return current video mode number
fg_getpage() Return active video page number
fg_getpixel() Return the color value of a specified pixel
fg_getrgb() Read RGB values of the specified color register
fg_getview() Return viewport extremes and position
fg_getvpage() Return visual video page number
fg_getworld() Return world space limits
fg_getxbox() Return width set by fg_boxdepth()
fg_getxjoy() Return horizontal position of specified joystick
fg_getxjust() Return horizontal string justification setting
fg_getxpos() Return horizontal position of graphics cursor
fg_getybox() Return height set by fg_boxdepth()
fg_getyjoy() Return vertical position of specified joystick
fg_getyjust() Return vertical string justification setting
fg_getypos() Return vertical position of graphics cursor
fg_gouraud() Draw a Gouraud-shaded convex polygon
fg_hush() Stop asynchronous sound now
fg_hushnext() Stop asynchronous sound after current iteration
fg_imagebuf() Define size and address of internal image buffer
fg_imagesiz() Determine bitmap size in bytes
fg_initems() Initialize expanded memory for logical pages
fg_initjoy() Initialize joysticks
fg_initpm() Initialize Fastgraph's protected mode kernel
fg_initw() Initialize world space
fg_initxms() Initialize extended memory for logical pages
fg_inside() Determine if point lies inside a convex polygon
fg_intjoy() Return joystick position analogous to keyboard codes
fg_intkey() Read a keystroke (don't wait if none available)
fg_invdcb() Invert a direct color bitmap
fg_invert() Invert any bitmap
fg_jpegbuf() Specify the buffer size and address for displaying JPEG files
fg_jpeghead() Read a JPEG file header into a 10-byte buffer
fg_jpegmem() Return the number of bytes required for the fg_jpegbuf() buffer
fg_jpegmode() Determine the optimal video mode for displaying a JPEG image
fg_jpegsize() Return the width and height of a JPEG image
fg_justify() Define string justification settings
fg_kbinit() Initialize Fastgraph's low-level keyboard handler
fg_kblast() Return scan code for last key processed by low-level handler
fg_kbreset() Reset Fastgraph's low-level keyboard handler
fg_kbtest() Check if requested (or any) key is pressed or released
fg_loadpcx() Display a PCX file in a virtual buffer
fg_locate() Establish text cursor position
fg_makebmp() Create a BMP file
fg_makepcx() Create a PCX file
fg_makeppr() Create a packed pixel run file
fg_makespr() Create a standard pixel run file
fg_maprgb() Map RGB components to color or palette value
fg_measure() Benchmark the system speed
fg_memavail() Determine amount of conventional memory available to DOS
fg_memory() Determine amount of video memory present
fg_modename() Return mode description string for specified mode
fg_mouse256() Define 256-color mouse cursor
fg_mousebut() Return mouse button press/release counts and position
fg_mousecur() Define text mode mouse cursor
fg_mousedcb() Define high color or true color mouse cursor
fg_mousefin() Terminate mouse processing
fg_mouseini() Initialize the mouse
fg_mouselim() Define mouse extents
fg_mousemov() Move mouse cursor to specified position
fg_mousepos() Return mouse position information
fg_mouseptr() Define mouse cursor shape and appearance
fg_mousesiz() Define mouse cursor size (32-bit libraries only)
fg_mousespd() Define speed of mouse movement
fg_mousevis() Define mouse cursor visibility
fg_move() Establish graphics cursor position
fg_move3d() Build 3D transformation matrix for absolute or relative move
fg_moverel() Establish graphics cursor position relative to current position
fg_moverw() Establish relative graphics cursor position in world space
fg_movew() Establish graphics cursor position in world space
fg_music() Play sequence of musical tones
fg_musicb() Play sequence of musical tones concurrent with other activity
fg_numlock() Determine state of NumLock key
fg_pack() Convert 256-color bitmap to 16-color bitmap
fg_pagesize() Return video page size in bytes
fg_paint() Flood fill closed screen space region, without clipping
fg_paintw() Flood fill closed world space region, without clipping
fg_palette() Define value of a color register using old RGB format
fg_palettes() Define value of first 16 color registers using old RGB format
fg_pan() Perform hardware panning in screen space
fg_panw() Perform hardware panning in world space
fg_pattern() Define display pattern for pixel run maps or pixel run files
fg_pcxhead() Read a PCX file header into a 128-byte buffer
fg_pcxmode() Determine the optimal video mode for displaying a PCX image
fg_pcxpal() Read the palette information from a PCX file
fg_pcxrange() Return PCX image extents
fg_pcxsize() Return PCX image dimensions
fg_playing() Determine if asynchronous sound is in progress
fg_point() Display a pixel in screen space, with clipping
fg_pointw() Display a pixel in world space, with clipping
fg_pointx() Display an XOR pixel in screen space, with clipping
fg_pointxw() Display an XOR pixel in world space, with clipping
fg_polyedge() Specify if fg_polyfill() includes right/bottom edge pixels
fg_polyfill() Draw a filled polygon in screen space
fg_polygon() Draw an unfilled polygon in screen space (separate x,y arrays)
fg_polygonw() Draw an unfilled polygon in world space (separate x,y arrays)
fg_polyline() Draw an unfilled polygon in screen space (single x,y array)
fg_polyoff() Define offset applied to polygon vertices
fg_print() Display a string in screen space, without clipping
fg_printc() Display a string in screen space, with clipping
fg_project() Project 3D (x,y,z) points to 2D (x,y) screen space points
fg_putblock() Display block of pixels retrieved with fg_getblock()
fg_putdcb() Display a direct color bitmap with no transparent pixels
fg_putimage() Display a palette-based bitmap with no transparent pixels
fg_putpixel() Display a pixel in screen space, without clipping
fg_quiet() Stop continuous asynchronous sound started with fg_sound()
fg_rect() Draw a filled rectangle in screen space
fg_rectw() Draw a filled rectangle in world space
fg_rectx() Draw an XOR rectangle in screen space
fg_reset() Erase screen and restore screen attributes
fg_resize() Change dimensions of all video pages
fg_restore() Copy rectangular region from hidden page to active page
fg_restorew() World space version of fg_restore()
fg_resume() Restart suspended asynchronous music
fg_revdcb() Display a reversed direct color bitmap, without clipping
fg_revimage() Display a reversed palette-based bitmap, without clipping
fg_revmask() Display a reversed masking map, without clipping
fg_rotate() Perform arbitrary bitmap rotation
fg_rotate3d() Build 3D transformation matrix for absolute/relative rotation
fg_rotdcb() Rotate a direct color bitmap
fg_rotsize() Determine the dimensions of a rotated bitmap
fg_save() Copy rectangular region from active page to hidden page
fg_savew() World space version of fg_save()
fg_scale() Scale a 256-color bitmap
fg_scaledcb() Scale a direct color bitmap
fg_scrlock() Determine state of ScrollLock key
fg_scroll() Vertically scroll a region of the active video page
fg_setangle() Define angle of rotation for software characters
fg_setattr() Define display attribute for text modes
fg_setbanks() Low-level interface to Fastgraph's SVGA kernel
fg_setcaps() Define state of CapsLock key
fg_setclip() Define clipping limits in screen space
fg_setclipw() Define clipping limits in world space
fg_setcolor() Define current color
fg_setdacs() Define RGB values of consecutive color registers
fg_setentry() Manually define video page type and address
fg_setfunc() Define logical operation for 16-color graphics modes
fg_sethpage() Establish the hidden video page
fg_setlines() Extend 80-column text mode to 25, 43, or 50 lines
fg_setmode() Establish video mode and initialize Fastgraph's internals
fg_setnum() Define state of NumLock key
fg_setpage() Establish the active video page
fg_setratio() Define aspect ratio for software characters
fg_setrgb() Define RGB values of the specified color register
fg_setsize() Define height of software characters in screen space
fg_setsizew() Define height of software characters in world space
fg_setview() Define viewport extremes and position
fg_setvpage() Establish the visual video page
fg_setworld() Define world space coordinate system
fg_shear() Shear a 256-color bitmap
fg_sheardcb() Shear a direct color bitmap
fg_showbmp() Display a BMP file
fg_showflic() Play an FLI or FLC file
fg_showjpeg() Display a JPEG file
fg_showpcx() Display a PCX file
fg_showppr() Display a packed pixel run file
fg_showspr() Display a standard pixel run file
fg_sound() Produce tone of specified frequency and duration
fg_sounds() Play series of tones concurrent with other activity
fg_split() Enable or disable a split screen environment
fg_stall() Wait the specified number of delay units
fg_suspend() Suspend asynchronous music started with fg_musicb()
fg_svgainit() Autodetect SVGA chipset and initialize Fastgraph's SVGA kernel
fg_svgastat() Return SVGA information
fg_svgaver() Return SVGA kernel version number
fg_swchar() Display software characters
fg_swlength() Determine width of a string of software characters
fg_swtext() Scaled down version of fg_swchar()
fg_tcdefine() Define transparency attribute for any color
fg_tcmask() Define transparency attributes for first 16 colors
fg_tcxfer() Version of fg_transfer() that supports transparent pixels
fg_testmode() Determine if requested video mode is available
fg_texmap() Draw a texture-mapped convex polygon
fg_text() Display a string in character space, without clipping
fg_textc() Display a string in character space, with clipping
fg_texture() Define texture bitmap for fg_texmap()
fg_transfer() Copy rectangular region from one video page to another
fg_unmaprgb() Extract RGB color components from an encoded color value
fg_unpack() Convert 16-color bitmap to 256-color bitmap
fg_vbaddr() Return virtual buffer address
fg_vballoc() Create virtual buffer of specified size, automatic allocation
fg_vbclose() Close the active virtual buffer
fg_vbcopy() Copy rectangular region between virtual buffers
fg_vbcut() Copy rectangular region from active video page to virtual buffer
fg_vbdefine() Create virtual buffer of specified size, manual allocation
fg_vbdepth() Define virtual buffer color depth in bits per pixel
fg_vbfree() Release a virtual buffer handle and free its memory
fg_vbhandle() Return handle of active virtual buffer
fg_vbinit() Initialize Fastgraph's virtual buffer environment
fg_vbopen() Makes an existing virtual buffer the active virtual buffer
fg_vbpaste() Copy rectangular region from virtual buffer to active video page
fg_vbscale() Version of fg_vbpaste() that performs scaling
fg_vbsize() Return amount of memory needed for a virtual buffer
fg_vbtccopy() Version of fg_vbcopy() that supports transparent pixels
fg_vbtcxfer() Version of fg_vbpaste() that supports transparent pixels
fg_vbundef() Release a virtual buffer handle
fg_version() Return Fastgraph version number
fg_vgastate() Save or restore VGA state
fg_view3d() Define the 3D viewport and projection ratio
fg_waitfor() Wait the requested number of clock ticks
fg_waitkey() Wait for any keystroke
fg_waitvr() Enable or disable vertical retrace synchronization
fg_where() Return text cursor position
fg_xalpha() Translate screen space x coordinate to character space column
fg_xconvert() Translate character space column to screen space x coordinate
fg_xscreen() Translate world space x coordinate to screen space
fg_xview() Translate horizontal viewport coordinate to screen space
fg_xworld() Translate screen space x coordinate to world space
fg_yalpha() Translate screen space y coordinate to character space row
fg_yconvert() Translate character space row to screen space y coordinate
fg_yscreen() Translate world space y coordinate to screen space
fg_yview() Translate vertical viewport coordinate to screen space
fg_yworld() Translate screen space y coordinate to world space

What about Fastgraph for Windows?
Click here for frequently-asked questions about Fastgraph for Windows.

 

Product Catalog | Price List | Windows FAQ | Windows CE FAQ | DOS FAQ
Demos | Patches | Games | More Games | Diana's Reprints
Quotes | Links | Contact Information | Orders
Fastgraph Home Page

 

Copyright © 2007 Ted Gruber Software, Inc. All Rights Reserved.