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 -