www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1994/03/01/10:39:16

From: kunst AT prl DOT philips DOT nl
Subject: Re: Communication between djgpp-applications and Windows-application
To: r_bock AT FRUST1 DOT STAR DOT BOSCH DOT DE (Rene Bock)
Date: Tue, 1 Mar 1994 15:34:51 +0100 (MET)
Cc: djgpp AT sun DOT soe DOT clarkson DOT edu (DJGPP users list)

> 
> Thanks a lot!
> 
> >  You can use common memory (method 1) below the dreadful 640k barrier.
> >  This memory can be accessed from a DJGPP program by using calls to
> >  dosmemget() and dosmemput(). This will work inside a Windows DOS box.
> >  This seems to me the most straightforward approach to reach your goal.
> >  Common memory in the order of 100 bytes doesn't eat away too much of
> >  your precious 640k memory.
> 
> 
> Is there any documentation about the use of dosmemget() and dosmemput()?

#include <go32.h>

void dosmemget(int offset, int length, void *buffer);
void dosmemput(const void *buffer, int length, int offset);

offset = absolute DOS address, e.g. 0x004C8  (seg<<4 + offset)
length = # bytes to be transferred
buffer = pointer to DJGPP program data buffer (protected mode)

> How about accessing the common memory from my Windows application?

I'm no Windows expert, but it should be something like
  char far *addr = MK_FP (seg, offset);
where seg:offset is the absolute memory address (8086 notation).

> 
> 
> Regards
> 
> 	Rene'
> 
> 
> 
> 
> 
> 
> 
> 
> 
> -------------------------------------------------------------------------------
> 
> Rene' Bock (OIV2-3449)            Telenorma GmbH           D-60277 Frankfurt/M
> 
>                          Tel   : +49+69-7505-3449
> 			 Fax   : +49+69-7505-6422
>                          E-Mail: r_bock AT star DOT bosch DOT de
> 


- Raw text -


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