Mail Archives: djgpp/1998/05/08/03:45:58
From: | "Mark Allanson" <mallanso AT echidna DOT stu DOT cowan DOT edu DOT au>
|
Newsgroups: | comp.os.msdos.djgpp
|
Subject: | HELP: VESA Mapping Linear frame buffer in inline assembler
|
Date: | Fri, 8 May 1998 15:23:53 +0800
|
Organization: | Edith Cowan University
|
Lines: | 34
|
Message-ID: | <6iubuf$6ir$1@news.cowan.edu.au>
|
NNTP-Posting-Host: | whtstump.stu.cowan.edu.au
|
To: | djgpp AT delorie DOT com
|
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp
|
Im having trouble mapping the Linear Frame buffer for VESA video modes, i
set the video mode fine but when i try and map the physical address of the
linear frame buffer to a linear address i am stuck! :(
i tried using the __dpmi_physical_address_mapping function but alas with no
success.. i want to try it in assembler, my only problem is that i cant
figure out how to use inline assembler properly! any help there would be
appreciated..
here is an example of what i am trying to do
/* CUT */
__dpmi_meminfo lfbmap; // mem info struct
lfbmap.size = 4096*1024; // size of the memory in
bytes.. 4M
lfbmap.address = LFBmapping.PhysBasePtr; // the phys address to
map
return(__dpmi_physical_address_mapping(&lfbmap));
/* CUT */
the structure LFBmapping is the structure returned by vesa get mode info
call.. PhysBasePtr is the address of the LFB
should this work? i know its not, can anyone please shed some light as to
why?
Regards, Mark
- Raw text -