Mail Archives: djgpp/1999/12/11/12:47:42
From: | "Valkir" <jfd50 AT videotron DOT ca>
|
Newsgroups: | comp.os.msdos.djgpp
|
Subject: | need help for this vesa library
|
Lines: | 31
|
X-Priority: | 3
|
X-MSMail-Priority: | Normal
|
X-Newsreader: | Microsoft Outlook Express 5.00.2314.1300
|
X-MimeOLE: | Produced By Microsoft MimeOLE V5.00.2314.1300
|
Message-ID: | <ztu44.4554$ij1.55351@wagner.videotron.net>
|
Date: | Sat, 11 Dec 1999 10:52:39 -0500
|
NNTP-Posting-Host: | 24.200.151.149
|
X-Complaints-To: | abuse AT videotron DOT net
|
X-Trace: | wagner.videotron.net 944927711 24.200.151.149 (Sat, 11 Dec 1999 10:55:11 EST)
|
NNTP-Posting-Date: | Sat, 11 Dec 1999 10:55:11 EST
|
To: | djgpp AT delorie DOT com
|
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp
|
Reply-To: | djgpp AT delorie DOT com
|
hello!
I'm trying to fill my vesa info structure with a virtual call to a real
mode. When I try to just call a 13h mode with my function, it work really
well. but when I try to fall the struc, nothing work. could someone help me?
I think I tried everything expect the good solution...
MyVesaInfo is the struc with the vesa header,
and VirtualStruct is the virtual structure with wall the register.
MyVesaInfo = (VesaInfo *)(AdrVesaInfo << 4);
memset(MyModeInfo,0,52); ///ResteModeInfo
memset(VirtualStruct,0,52); ///Reset VirtualStruc
VirtualStruct->es = AdrVesaInfo; ///Move the ady of my structure into es
VirtualStruct->edi=0; ///move 0!
VirtualStruct->eax = 0x4F00; ///move interupy 4F00 for the vesa
screen
asm("movl %1,%%edi ///Move the virtual structure
movb $0x10,%%bl ///Interupt 10h for screen
movl $0x300,%%eax ///Interupt 300h for the virtual mode
xorl %%ecx,%%ecx ///cx=0
int $0x31" ///Interupt 31h for the dpmi mode
:
:"g"(VirtualStruct)
:"ax","di","cx","bx","dx");
I thanks you really much cause if you answer to this I would be very happy
:o)
- Raw text -