VESA under DPMI...Please no Real Mode Stuff 
Author Message
 VESA under DPMI...Please no Real Mode Stuff

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.

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.*-*-*.com/ ~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!



Wed, 18 Jun 1902 08:00:00 GMT  
 VESA under DPMI...Please no Real Mode Stuff


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.


Wed, 18 Jun 1902 08:00:00 GMT  
 VESA under DPMI...Please no Real Mode Stuff

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.

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



Wed, 18 Jun 1902 08:00:00 GMT  
 VESA under DPMI...Please no Real Mode Stuff

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.

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.



Wed, 18 Jun 1902 08:00:00 GMT  
 VESA under DPMI...Please no Real Mode Stuff

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.

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



Wed, 18 Jun 1902 08:00:00 GMT  
 VESA under DPMI...Please no Real Mode Stuff


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



Wed, 18 Jun 1902 08:00:00 GMT  
 VESA under DPMI...Please no Real Mode Stuff

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/

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

>everyone uses Windoze.

--
Scott F. Earnest           | We now return you to our regularly scheduled



Wed, 18 Jun 1902 08:00:00 GMT  
 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

DK - 2100 Copenhagen O.
Denmark
...........................................................................

Quote:



> 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.



Wed, 18 Jun 1902 08:00:00 GMT  
 
 [ 8 post ] 

 Relevant Pages 

1. Vesa unit for all 256 and 65K color modes (protected,real mode)

2. VESA Windows (paging) function in DPMI mode

3. DPMI App talking to Real Mode driver

4. VESA LFB & Flat real mode

5. Real Problems in the DPMI-Mode

6. tspa357c.zip Turbo Pascal 7.0 real mode units for (real:-) programmers

7. tspa3570.zip Turbo Pascal 7.0 real mode units for (real:-) programmers

8. tspa3570.zip Turbo Pascal 7.0 real mode units for (real:-) programmers

9. Protected mode VS Real mode ???

10. Real Mode from Protected Mode: Accessing an RMode TSR from PMode

11. Protected mode vs. Real mode

12. Real mode Interrupts and pointers in Protected Mode

 

 
Powered by phpBB® Forum Software