delorie.com/archives/browse.cgi   search  
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 -


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