delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2002/02/18/21:45:05

X-Authentication-Warning: delorie.com: mailnull set sender to djgpp-bounces using -f
From: "Marp" <marp AT 0 DOT 0 DOT 0 DOT 0>
Newsgroups: comp.os.msdos.djgpp
Subject: Re: Question about movedata
Date: Mon, 18 Feb 2002 21:38:58 -0500
Organization: MindSpring Enterprises
Lines: 35
Message-ID: <a4sdr2$miu$1@slb7.atl.mindspring.net>
References: <20020218212013 DOT 13574 DOT 00003023 AT mb-mv DOT aol DOT com>
NNTP-Posting-Host: 9e.fc.1f.12
X-Server-Date: 19 Feb 2002 02:38:26 GMT
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 5.50.4807.1700
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4807.1700
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

"Captainpita" <captainpita AT aol DOT com> wrote in message
news:20020218212013 DOT 13574 DOT 00003023 AT mb-mv DOT aol DOT com...

<snip>

> source_selector = _my_ds();
> movedata(source_selector,tempd,0XB800,x,len);
>

<snip>
>
>  x is the offset into the color video area that starts are 0XB800
>  len is how many bytes to move
>
>   What did I hose up?   Any ideas out there?

The problem is is that 0xb800 is not a selector for the area of memory
you're trying to access. DJGPP provides a selector (called _dos_ds) you can
use for this purpose. You must also convert the segment:offset pair into a
linear address using the formula segment * 16 + offset.Your function call to
movedata should look more like this:

movedata(source_selector, tempd, _dos_ds, 0xb800 * 16 + x, len);

You can replace 0xb800 * 16 with 0xb8000 if you wish.

Hope this helps.

>
> Confused in Vermont
>
>
>


- Raw text -


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