From: "Mark Allanson" Newsgroups: comp.os.msdos.djgpp Subject: Re: HELP: VESA Mapping Linear frame buffer in inline assembler Date: Sat, 9 May 1998 18:25:48 +0800 Organization: Edith Cowan University Lines: 29 Message-ID: <6j1avk$45o$1@news.cowan.edu.au> References: <6iubuf$6ir$1 AT news DOT cowan DOT edu DOT au> <6iunh0$1ev AT news DOT euro DOT net> NNTP-Posting-Host: whtstump.stu.cowan.edu.au To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk and then the linear frame buffer would be mapped to where? :) ... how would i write to it.. ive tried so many ways.. but i always get nice GPF's Ive been stressing over this for ages now, its REALLY bugging me.. heh hmm anyway thanks for the help.. ill try some more with your code! >I guess you should first allocate a descriptor. Maybe this examplecode I use >helps... > >if ((ldt_sel = __dpmi_allocate_ldt_descriptors(1)) == -1) > usage("error allocating ldt_descriptor"); >memset(&mi,0,sizeof(mi)); >mi.address = MMIOBase; >mi.size = MMIOSize; > >if (__dpmi_physical_address_mapping(&mi) == -1) > usage("error mapping physical address"); >if (__dpmi_lock_linear_region(&mi) == -1) > usage("error locking ldt_descriptor"); >if (__dpmi_set_segment_base_address(ldt_sel, mi.address) == -1) > usage("error setting ldt segment base"); >if (__dpmi_set_segment_limit(ldt_sel, mi.size - 1) == -1) > usage("error setting ldt segment limit");