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 -