delorie.com/archives/browse.cgi   search  
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 -


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