delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/07/02/08:45:26

Xref: news2.mv.net comp.os.msdos.djgpp:5576
From: massimin AT clipper DOT ens DOT fr (Pascal Massimino)
Newsgroups: comp.os.msdos.djgpp
Subject: bypassing _go32_dpmi_simulate_fcall ?
Date: 2 Jul 1996 10:37:52 GMT
Organization: Ecole Normale Superieure, PARIS, France
Lines: 28
Distribution: world
Message-ID: <4rau60$9ts@nef.ens.fr>
NNTP-Posting-Host: bireme.ens.fr
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

	Hello,

	I'm doing a time-critical 640x480x256 graphic demo,
	and would like save cycles wherever I can to break
	throught the 35FPS wall... I have a nice pointeur
	to a fcall-able VESA bank switching routine my 
	graphic card gave me to replace the 4F05h function 
        of int 10h, and am using _go32_dpmi_simulate_fcall()
	to call it. 
        However, it takes too much time doing the required 
        protocol( setting the _go32_dpmi_registers struct 
        to its correct value, etc... ). 
        Since my code is in ASM, and that I do know 
        what's in my registers, which one I can discard, 
        the ones I must push/pop, etc..., is there a way 
        to avoid all the stuff DPMI is doing on the other
	side of int 31h, and just have it do the fcall, relying
	on caller's correct setting of registers ? Will I have
        to add this function myself in go32, and it recompiled ?
	(or worse: switch to real-mode/TurboC ? :)

	thank you,
				Skal
------------------------------
Pascal Massimino.	 e-mail: Pascal DOT Massimino AT ens DOT fr
http://www.eleves.ens.fr:8080/home/massimin/index.html.en
Ecole Normale Superieure. 45, rue d'Ulm. 75005 Paris.

- Raw text -


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