www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/06/25/12:43:23

Xref: news2.mv.net comp.os.msdos.djgpp:5363
From: Shawn Hargreaves <slh100 AT york DOT ac DOT uk>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: VESA VBE 2
Date: Tue, 25 Jun 1996 10:40:08 +0100
Organization: The University of York, UK
Lines: 32
Message-ID: <Pine.SGI.3.91.960625100819.20657D-100000@tower.york.ac.uk>
NNTP-Posting-Host: tower.york.ac.uk
Mime-Version: 1.0
In-Reply-To: <Pine.OSF.3.91.960625105142.13614A-100000@bud.cc.swin.edu.au>
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

On Tue, 25 Jun 1996, John Joseph Newbigin wrote:

> I have a vesa graphics program written in Borland C which I want to 
> convert to djgpp but I am not sure how to use protected mode vesa.  Do I 
> need to use vesa vbe 2?  Does anyone have any information or sample 
> code?

You can still use your existing VESA 1.x code, with a couple of changes. 
The calls to VESA int 10 functions should be replaced with DPMI 
equivalents (using __dpmi_int()), and you'll need to change the functions 
that return a block of data (get vesa info and get mode info) to use a 
buffer in conventional memory: the libc transfer buffer is good for 
this.

The trouble with VESA 1.x is the speed of the bank switching functions. 
Every time you call __dpmi_int() to switch banks, the cpu has to switch 
to real mode to run the VESA routine, and this is sloooow. VBE 2.0 avoids 
this by giving you access to protected mode bank switching functions, 
which you can copy into your address space and use with a simple 32 bit 
near call.

If you don't have the VBE 2.0 spec, it's on SciTech's web site 
(http://www.scitechsoft.com). For sample code using both VESA 1.x and 
2.0, have a look at my Allegro library...


/*
 *	Shawn Hargreaves.        Why is 'phonetic' spelt with a ph?
 *	Check out Allegro and FED on http://www.york.ac.uk/~slh100/
 */


- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019