delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1998/04/26/18:26:43

From: BlissComm <BlissComm AT aol DOT com>
Message-ID: <8158561e.3543b438@aol.com>
Date: Sun, 26 Apr 1998 18:24:54 EDT
To: djgpp AT delorie DOT com
Mime-Version: 1.0
Subject: pc memory access

Can anybody solve my confusion?	Was the Intel cpu designed by
Rube Goldberg?

Here's my problem.  I want to write a driver for an i/o board
(DTI-1120 mil-std-1553) that has the usual registers and also
32k or 64k of dual-access ram.  The ram can be set to appear
anywhere from 9000:0000 to d000:0000 depending on where the
video ram is.

How do I access this memory? I can access something here with the
dpmi functions, but it seems to me it's virtual not real memory.
For instance b8000 is where the video text screen image is.  But it
is different memory when accessed from different dos windows.
(I'm using windows 3.11).  In fact all such "dos" memory is different
when I access it from a different window.

What's the difference between outportx() and _farpokex().  I know
I use outport and inport to access i/o registers, but why can't I
use _farpoke and _farpeek?  Can it be that Intel i/o registers aren't
in data space, or is "dos memory" not real memory, or what?

Are outportb() and outp() the same thing?

Can I get two programs running in two dos windows to have
access to the same memory?  I see functions in dpmi.h for this but
they are for DPMI version 1.0 and don't seem to work on my computer.

Thanks in advance,
Steve Bliss


.

- Raw text -


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