Mail Archives: djgpp/1998/05/08/06:49:00
From: | "Rob van Berkel" <rvberkel AT EuroNet DOT NL>
|
Newsgroups: | comp.os.msdos.djgpp
|
Subject: | Re: HELP: VESA Mapping Linear frame buffer in inline assembler
|
Date: | 8 May 1998 10:41:36 GMT
|
Organization: | EuroNet Internet
|
Lines: | 20
|
Message-ID: | <6iunh0$1ev@news.euro.net>
|
References: | <6iubuf$6ir$1 AT news DOT cowan DOT edu DOT au>
|
NNTP-Posting-Host: | i049.ztm.euronet.nl
|
To: | djgpp AT delorie DOT com
|
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp
|
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 -