Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Posting-Version: version B 2.10.2 9/17/84; site cwruecmp.UUCP
Path: utzoo!watmath!clyde!burl!ulysses!ucbvax!decvax!cwruecmp!cmf
From: cmf@cwruecmp.UUCP (Carl Fongheiser)
Newsgroups: net.micro.pc
Subject: Re: Digital Research GEM
Message-ID: <1281@cwruecmp.UUCP>
Date: Mon, 15-Jul-85 01:35:30 EDT
Article-I.D.: cwruecmp.1281
Posted: Mon Jul 15 01:35:30 1985
Date-Received: Wed, 17-Jul-85 20:02:17 EDT
References: <132@cybavax.UUCP> <10000009@unido.UUCP>
Reply-To: cmf@cwruecmp.UUCP (Carl Fongheiser)
Organization: CWRU Dept. Computer Eng., Cleveland, OH
Lines: 28

You can get to GEM services through almost any language, provided two
things:

	1. You can get to assembly language (or otherwise execute INT
	   instructions)

	2. You can force excess memory to be deallocated through DOS.
	   Some languages may do this for you.  Many do not.

GEM services are accessed by loading up some parameter arrays, loading the
addresses of these arrays into registers, and executing an INT instruction
(I don't remember the number offhand).  The reason memory must be deallocated
is that some GEM services do memory allocation, and by default, DOS allocates
all available memory to an application when it is run.

I hope this answers your questions.


						Carl Fongheiser
						...!decvax!cwruecmp!cmf
						cmf%case@CSnet-relay.ARPA