delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1995/07/17/10:54:25

Xref: news-dnh.mv.net comp.os.msdos.djgpp:927
Path: news-dnh.mv.net!mv!news.sprintlink.net!simtel!lll-winken.llnl.gov!enews.sgi.com!decwrl!waikato!comp.vuw.ac.nz!mu.sans.vuw.ac.nz!empty
From: empty AT sans DOT vuw DOT ac DOT nz (Malcolm Taylor)
Newsgroups: comp.os.msdos.djgpp
Subject: Re: Calling VESA paging function w/o DPMI
Date: 17 Jul 1995 05:28:43 GMT
Organization: SANS, Student Access Network System
Lines: 21
References: <3tvkjs$ov7 AT gaea DOT titan DOT org> <3003c669 DOT sandmann AT clio DOT rice DOT edu>
Nntp-Posting-Host: mu.sans.vuw.ac.nz
To: djgpp AT sun DOT soe DOT clarkson DOT edu
Dj-Gateway: from newsgroup comp.os.msdos.djgpp

Charles Sandmann (sandmann AT clio DOT rice DOT edu) wrote:
: >   I'm in the process of writing my own VESA library.  I have everything
: > working, but right now it is calling the VESA window positioning function
: > with _go32_dpmi_simulate_fcall.  This works fine, except that my frame
: > rate is abysmal.  In 320x200, on a 486/33 I can blit something like 170 fps
: > (w/o vertical synch on of course), since I don't have to do any paging. 
: > But in 640x480, my fps drops to about 12.  Since I'm only copying 4.8
: > times as much data, the best I could expect would be 35 or so.  Obviously,
: > there is a very high amount of overhead in calling a dpmi function.

Allocate a Real-mode callback. The simulate_fcall has to create a 
real-mode callback (including allocating dos-memory and copying essential 
code into it) for the function. If you use the allocate real-mode 
callback call (I can't remember the exact name, but it is in dpmi.h) the 
callback will already be allocated. Also try calling the page-switch 
routine in P-mode. This is fairly simple. Add the segment*16+offset and 
get the dos memory selector and  call it (asm call is easiest). P-mode 
calling will not work on all computers however.

Malcolm

- Raw text -


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