delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1993/09/14/01:45:45

From: "Rodney W. Grimes" <rgrimes AT gndrsh DOT cdrom DOT com>
Subject: Accessing real memory (ie, below 1MB) under go32
To: djgpp AT sun DOT soe DOT clarkson DOT edu
Date: Mon, 13 Sep 1993 22:04:37 -0700 (PDT)

> 
> > I am doing cross developement under FreeBSD and DOS using djgpp (wonderful
> > product) and have come up against a problem I need some help with.
> 
> > I can not find out how to allocate a buffer in the lower 1Mb so that I
> > can use int 13 functions 2 and 3 to do low level disk I/O.
> 
> > I have every thing working except for this buffer, are there some magic
> > library calls to setup a bounce buffer in low memory so you can pass
> > a segmented address to the BIOS?
> 
> djgpp 1.11 will allow you to do this.  There is no way to do this in
> 1.10 without changing go32.exe itself.

Could you explain what the following code is about in that case?  This is
from library sources 1.10:
/* DOSMEM.S */
/*
** Copyright (C) 1993 C.W. Sandmann
**
** This file may be freely distributed as long as the author's name remains.
** Extender environment independent way to set up Real area 1Mb access.
** Procedure takes a single argument %eax which contains the real area offset.
** After call, access may be made with "%gs:(%eax)"
*/

There are 3 functions in here that seem to do what I want, but I have not
looked at go32 to see if infact that it will resopond properly to these.
_dosmemsetup:                           /* no params, expected ASM call only */
_dosmemget:                             /* long offset, long len, long *buf */
_dosmemput:                             /* long *buf, long len, long offset */

There also seem to be some TSS hooks in go32 1.10 that deals with this,
could you elaborate on what the above calls do and what the file doutils.asm
in the go32 directories functions are all about?

-- 
Rod Grimes						     rgrimes AT cdrom DOT com

- Raw text -


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