From: tmurez AT nospam DOT planete DOT net (Thibaut Murez) Newsgroups: comp.os.msdos.djgpp Subject: VESA and more generally using dpmi to access VIDEO Memory Date: Thu, 26 Nov 1998 20:11:56 +0100 Organization: Planete.net, France Lines: 29 Message-ID: NNTP-Posting-Host: numeris-bdx-9.planete.net X-Newsreader: Anawave Gravity v2.00 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Reply-To: djgpp AT delorie DOT com Hi while i was building a vesa lib using nasm and djgpp i had big troubles to use LFB. I made it work but it did only on my computer and under dos...So i looked for any mystake but i haven't found one :( Then i built a lib to write string in text modes directly in video memory...First i tried to map the memory area but it never worked...When i used the function __dpmi_segment_to_descriptor it worked really fine...That's why i have tried to use this function on 0xa000 segment...And my lib worked fine...Then i used the physical memory mapping function and it didn't work anymore so i was wondering whether i was performing all steps to map memory. Here 's a snippet : WORD VideoSelector; this works : VideoSelector=__dpmi_segment_to_descriptor(0xa000); this doesn't work : __dpmi_meminfo LFB; VideoSelector=__dpmi_allocate_ldt_descriptors(1); LFB.size=0xffff; LFB.address=0xa0000000l; __dpmi_physical_address_mapping(&LFB); __dpmi_set_segment_base_address(VideoSelector, LFB.address); __dpmi_set_segment_limit(VideoSelector, LFB.size); What have i forgotten ?? thanks in advance (i apologize for my mistakes but i'm a french froggy :) )