Thread View: alt.msdos.programmer
2 messages
2 total messages
Started by Bill Wang
Thu, 06 Dec 1990 16:31
ATI VGA Wonder and TP
Author: Bill Wang
Date: Thu, 06 Dec 1990 16:31
Date: Thu, 06 Dec 1990 16:31
16 lines
943 bytes
943 bytes
Does anyone have experience to use ATI VGA wonder graphics boards with
its super VGA capabilities in Turbo Pascal? Any hints and drivers
would be greatly appreciated.
Bill Wang
US Mail = Psychology Department, Indiana University, Bloomington, IN 47405
UUCP = {rutgers, att, ames}!iuvax!wcwang
Internet = wcwang@iuvax.cs.indiana.edu
--
Bill Wang
US Mail = Psychology Department, Indiana University, Bloomington, IN 47405
UUCP = {rutgers, att, ames}!iuvax!wcwang
Internet = wcwang@iuvax.cs.indiana.edu
Re: ATI VGA Wonder and TP
Author: J.A. MacDonald
Date: Sun, 09 Dec 1990 21:53
Date: Sun, 09 Dec 1990 21:53
70 lines
2783 bytes
2783 bytes
In article <76816@iuvax.cs.indiana.edu> wcwang@iuvax.cs.indiana.edu (Bill Wang) writes:
>
>
>
>Does anyone have experience to use ATI VGA wonder graphics boards with
>its super VGA capabilities in Turbo Pascal? Any hints and drivers
>would be greatly appreciated.
>
I've written several image display programs now for the ATI VGAWonder
board in Turbo Pascal. There are several ways to get at it. The simplest
is to use the DOS unit's register type variable, then load up the
registers and make a call to interrupt 10h using the Intr($10, regs)
procedure.
The other way is to write routines that will directly access the
board's memory. This would involve sending bank switching commands
directly to the port and then writing to the memory with the Mem array.
While much more complicated to use, the second method is much faster.
The drawback is that it becomes very board specific (I.e. specific to
the ATI VGA Wonder board). If you use the 10h interrupt calls the code
becomes much more portable to other boards.
For information on programming the registers look up the Intr
procedure in the TP manuals. Also get a copy of Ralf Brown's interrupt
list by ftp. This incredible list has all the ATI VGA Wonder stuff in it
(along with Hords of other stuff).
Here's an example of a procedure to put a pixel to the screen:
Program Display_Image;
Uses
Dos;
Var
regs : Register;
Procedure Init_Screen(mode : byte);
begin
With regs do begin
AH := $00; { set video mode }
AL := mode;
end;
Intr ($10, regs);
end;
Procedure Put_Pixel(x,y : word; dn : byte);
begin
With regs do begin
AH := $0C; { Write dot to screen }
AL := dn; { colour of dot to write }
BH := $00; { display page }
CX := x; { column, 0 at left }
DX := y; { row, 0 at top }
end;
Intr ($10, regs);
end;
etc.......
Hope this helps.
J.A. MacDonald
Real BMWs have two wheels...
===============================================================
jay-m@equinox.unr.edu | I lit out from Reno
jay@chaos.unr.edu | I was trailed by twenty hounds...
===============================================================
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads