Category : Assembly Language Source Code
Archive   : GRAPHX11.ZIP
Filename : GRAPHX11.DOC

 
Output of file : GRAPHX11.DOC contained in archive : GRAPHX11.ZIP

GRAPHX.LIB Version 1.10
A product of Bigsoft Industries
Released 25 November 1986

A library of object modules for linking to assembly programs
using Hercules monochrome graphics.

INTRODUCTION
This library contains object modules ready for linking to main
assembly programs. GRAPHX.LIB includes routines for setting
graphics and text modes, clearing the screen, plotting points,
and drawing lines. Specifically, these subroutines are inten-
ded for use with the Hercules Graphics Card, with 720 X 348
resolution.

How to use GRAPHX.LIB:
GRAPHX.LIB is a simple object library and is used like any
other. The LINK program (provided with DOS and with the
Microsoft Macro Assembler) is called:

A>link
Object Modules [.OBJ]: filename.ext+fil2.ext+...
Run File [filename.EXE]:
List File [NUL.MAP]:
Libraries [.LIB]: graphx

Words of wisdom:
Before using this graphics software you should use the HGC.COM
program to set the Card to full configuration thusly:

A>hgc full

HGC.COM was provided on the diskette that came with the Hercules
Graphics Card, and should be in your system directory or some
other convenient place.
Also, GRAPHX.LIB Version 1.10 is for use only with page 0 (video
RAM locations B000:0000 to B000:7FFF) of the PC's video buffer.

Note:
This software is intended for the public domain and is to be
used at your own risk. Bigsoft Industries is not in any way
affiliated with Hercules Computer Technology, Inc. Any cor-
respondence on this product should be sent to

Bigsoft Industries
264 Putting Green Rd.
Trumbull, CT 06611

Donations would be extremely welcome and would help insure that
Bigsoft continues to produce quality products.

Trademarks: Hercules -Hercules Computer Technology, Inc.
Microsoft Macro Assembler -Microsoft Corporation.

Notes on release of Version 1.10:
This is a minor revision but the error corrected was
a severe one: the ds register was not restored at the end of
the lin??? routines. This is a disastrous boo-boo and with
reddened ears we humbly corrected it. Now we can TRULY claim
"all registers are restored".

Coming in early 1987 from Bigsoft Industries:

A graphics library for TURBO Pascal programs using Hercules
graphics mode. Yes, you (and we) will be able to CHEAPLY
write all sorts of great graphics programs in the cuddly
TURBO enviornment. See you then!

TURBO Pascal is a trademark of Borland International.

REFERENCE

------------------------------------------------------------------------------

CLSGR
Clear the graphics screen

USAGE: call clsgr

IN: Nothing.

OUT: Nothing.

All registers are preserved.

EXAMPLE:call clsgr

-----------------------------------------------------------------------------

HCMODE
Sets the Graphics Card for graphics or text mode

USAGE: call hcmode

IN: The al register should be set to a nonzero
value for graphics mode and to zero for text
mode.

OUT: Nothing.

All registers are preserved.

EXAMPLE:mov al,01
call hcmode
.
.
(code for graphics mode)
.
.
mov al,00
call hcmode
.
.
(code for text mode)

---------------------------------------------------------------------------

LINOFF
Erases a line

USAGE: call linoff

IN: Parameters x1,y1,x2,y2 should be pushed onto
the stack immediately before calling LINOFF,
in the order above.

OUT: Nothing.

All registers are preserved.

EXAMPLE:push x1
push y1
push x2
push y2
call linoff

-------------------------------------------------------------------------------

LINSET
Draws a line

USAGE: call linset

IN: Parameters x1,y1,x2,y2 should be pushed onto
the stack immediately before calling LINSET,
in the order above.

OUT: Nothing.

All registers are preserved.

EXAMPLE:push x1
push y1
push x2
push y2
call linset

-------------------------------------------------------------------------------

LINSTX
Draws a line using XOR

USAGE: call linstx

IN: Parameters x1,y1,x2,y2 should be pushed onto
the stack immediately before calling LINOFF,
in the order above.

OUT: Nothing.

All registers are preserved.

EXAMPLE:push x1
push y1
push x2
push y2
call linstx

------------------------------------------------------------------------------

PTSET
Plots a point

USAGE: call ptset

IN: The x coordinate should be in si and the
y coordinate should be in di.

OUT: Nothing.

All registers are preserved.

EXAMPLE:mov si,xval
mov di,yval
call ptset

-----------------------------------------------------------------------------

PTSETX
Plots a point using XOR

USAGE: call ptsetx

IN: The x coordinate should be in si and the
y coordinate should be in di.

OUT: Nothing.

All registers are preserved.

EXAMPLE:mov si,xval
mov di,yval
call ptsetx

-----------------------------------------------------------------------------

PTOFF
Erases a point

IN: The x coordinate should be in si and the
y coordinate should be in di.

OUT: Nothing.

All registers are preserved.

EXAMPLE:mov si,xval
mov di,yval
call ptoff

-----------------------------------------------------------------------------