Board index » delphi » VESA under DPMI...Please no Real Mode Stuff

VESA under DPMI...Please no Real Mode Stuff

Quote
ldeb...@ibm.net wrote:

>   I was wondering if anybody has a get VESA information routine that works
> under DPMI please NO REAL mode stuff I already have that and have tried the
> stuff in SWAG which also fails under DPMI.

Well, wait a few time... we'll going to release our unit VideoHi.PAS
for VESA Mode 101h (640x480x256) in Protected Mode (only!)...

Goodbye

--
-=!------------------------------------------------------------------------!=-
 Have a look at our WWW-Page http://www.informatik.uni-oldenburg.de/~virtech/
 Get the latest games, programs and demos from vIRtECH!  Get cool SOURCE CODE
 (Pascal/x86asm).  Have a look at our CPC Page or just make a journey through
 the BUNKR.   ATTENTION: The SOURCE of our PC Spiel Pinball is now available!

 

Re:VESA under DPMI...Please no Real Mode Stuff


On 24 Apr 1996 ldeb...@ibm.net wrote:

Quote
>   I was wondering if anybody has a get VESA information routine that works
> under DPMI please NO REAL mode stuff I already have that and have tried the
> stuff in SWAG which also fails under DPMI.

Isn't DPMI just a way of accessing/using memory?    I don't see how it
could affect VESA stuff.

Re:VESA under DPMI...Please no Real Mode Stuff


In article <Pine.SOL.3.91.960424234059.15385B-100...@fan1.fan.nb.ca> Jeff Patterson <aa...@fan.nb.ca> writes:

Quote
>On 24 Apr 1996 ldeb...@ibm.net wrote:
>>   I was wondering if anybody has a get VESA information routine that works
>> under DPMI please NO REAL mode stuff I already have that and have tried the
>> stuff in SWAG which also fails under DPMI.
>Isn't DPMI just a way of accessing/using memory?    I don't see how it
>could affect VESA stuff.

Because the VESA (v1.2) calls return real-mode pointers which are
essentially meaningless under protected mode.  DPMI complicates the use of
real-mode interrupts.  Hence the reason that a majority of VESA (and general
video code) doesn't work well or doesn't work at all under PM.

--
Scott F. Earnest           | We now return you to our regularly scheduled
sc...@whiplash.res.cmu.edu | chaos and mayhem. . . .

Re:VESA under DPMI...Please no Real Mode Stuff


Quote
Ansgar Scherp <scherp.ans...@informatik.uni-oldenburg.de> wrote:
>ldeb...@ibm.net wrote:

>>   I was wondering if anybody has a get VESA information routine that works
>> under DPMI please NO REAL mode stuff I already have that and have tried the
>> stuff in SWAG which also fails under DPMI.

Try the following:

ftp://webworldinc.com/joejared/pmapi002.zip.

All units, including the intr function work in dpmi mode or real mode.
To run an interrupt in real mode, you need to follow example codes by
allocating global memory and supplying a real mode address as needed.

Re:VESA under DPMI...Please no Real Mode Stuff


Quote
Jeff Patterson <aa...@fan.nb.ca> wrote:
>On 24 Apr 1996 ldeb...@ibm.net wrote:
>>   I was wondering if anybody has a get VESA information routine that works
>> under DPMI please NO REAL mode stuff I already have that and have tried the
>> stuff in SWAG which also fails under DPMI.
>Isn't DPMI just a way of accessing/using memory?    I don't see how it
>could affect VESA stuff.

DMA access and interrupts may sometimes require  dos calls due to real
mode styles of handling:

Example:

        Occasionally, programmers liking 0 aligned allocations, increment the
segment and zero the offset.  While this works in real mode, in
protected mode you get a GP exception.  If a VESA driver has a problem
with protected mode, it could be because of either of the above
reasons.  DMA to my knowledge is 20 bits, meaning that you need a
global allocation to transfer the data.  In today's CPU's, DMA
transfers have little difference in speed with rep mov instructions.

http://www.webworldinc.com/joejared/index.htm
ftp://webworldinc.com/joejared/
--- Fidoknot v1.0
* Origin: Yorba Linda, CA (joeja...@webworldinc.com) BP8.0 please... Not everyone uses Windoze.

Re:VESA under DPMI...Please no Real Mode Stuff


sc...@whiplash.res.cmu.edu (Scott F. Earnest) wrote:

Quote
>Because the VESA (v1.2) calls return real-mode pointers which are
>essentially meaningless under protected mode.  DPMI complicates the use of
>real-mode interrupts.  Hence the reason that a majority of VESA (and general
>video code) doesn't work well or doesn't work at all under PM.

ModeXP.zip works just fine in real or protected mode.  If this is the
entire problem, a unit in PMAPI???.zip will solve it.
http://www.webworldinc.com/joejared/index.htm
ftp://webworldinc.com/joejared/
--- Fidoknot v1.0
* Origin: Yorba Linda, CA (joeja...@webworldinc.com) BP8.0 please... Not everyone uses Windoze.

Re:VESA under DPMI...Please no Real Mode Stuff


Quote
In article <4lp7sg$...@www1.hlc.net> joeja...@webworldinc.com (Joe Jared) writes:
>sc...@whiplash.res.cmu.edu (Scott F. Earnest) wrote:
>>Because the VESA (v1.2) calls return real-mode pointers which are
>>essentially meaningless under protected mode.  DPMI complicates the use of
>>real-mode interrupts.  Hence the reason that a majority of VESA (and general
>>video code) doesn't work well or doesn't work at all under PM.
>ModeXP.zip works just fine in real or protected mode.  If this is the
>entire problem, a unit in PMAPI???.zip will solve it.
>http://www.webworldinc.com/joejared/index.htm
>ftp://webworldinc.com/joejared/

I got this message via e-mail and tried to write back, but it bounced.

Roughly what I said was:

A major problem is that real mode addressing and protected mode addressing
are not compatible.  Real mode uses a segment:offset addressing scheme which
is fairly easy to deal with.  PM uses selector:offset addressing, which is
different, and not directly compatible with RM addressing.

VESA is not like Mode X.  Some of the VESA (1.2) calls require and/or return
a real mode address.  Trying to call these functions directly under
protected mode results in invalid, meaningless pointers.  Mode X doesn't
generally use any BIOS calls.  These tweaked modes are accomplished by
changing the hardware registers, which I think is supported under protected
mode.  The only other issue is video segment addressing.  Since BP7 is the
only compiler that does PM, the code probably makes use of the SegXXXX
variables (which contain the proper selector values in PM).

I wouldn't mind if somebody else wrote the code to do this.  I'm working on
my own RM VESA library, and what I've read of getting RM-dependent BIOS
calls to work in PM makes the job look really ugly.

Quote
>--- Fidoknot v1.0
>* Origin: Yorba Linda, CA (joeja...@webworldinc.com) BP8.0 please... Not
>everyone uses Windoze.

--
Scott F. Earnest           | We now return you to our regularly scheduled
sc...@whiplash.res.cmu.edu | chaos and mayhem. . . .

Re:VESA under DPMI...Please no Real Mode Stuff


I have vorked a bit with the data transfer problem with VESA, and have
come up with a unit which compiles under DPMI as well as real.
(conditional compilation)
It is however taylored to Knight Softs's VESA256 package.

It is indeed tricky under DPMI, as You have to use INT 31h calls to call
simple INT 10h procedures in order to get anything back.

...........................................................................
Jan H. Hviid
Danish Defence Research Establishment
Ryvangs Alle 1,  P.O box 2715           Email : j...@ddre.dk
DK - 2100 Copenhagen O.
Denmark
...........................................................................

Quote
On Sat, 27 Apr 1996, Scott F. Earnest wrote:
> In article <4lp7sg$...@www1.hlc.net> joeja...@webworldinc.com (Joe Jared) writes:

> >sc...@whiplash.res.cmu.edu (Scott F. Earnest) wrote:

> I wouldn't mind if somebody else wrote the code to do this.  I'm working on
> my own RM VESA library, and what I've read of getting RM-dependent BIOS
> calls to work in PM makes the job look really ugly.

Other Threads