delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/05/09/08:15:28

From: "Mark Allanson" <mallanso AT echidna DOT stu DOT cowan DOT edu DOT au>
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

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");


- Raw text -


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