www.delorie.com/archives/browse.cgi | search |
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: | <MPG.10c7c628d7c67f2898969b@news> |
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 :) )
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |