[comp.lang.pascal] Graphics and Exec

gt0652b@prism.gatech.EDU (I don't know man, he was just here) (03/25/91)

Hi, I am trying to write a graphical interface that also has a command line.
My problem is that when I try to set things up to run a Dos command, my
egavga driver won't run.

	for graphics, i need to uses initgraph(GrDriver, grmode?)

	for dos, I need to use the compiler directive
	      {$M 20000,0,0}

The problem is that when I include the above compiler directive my 
graphics procedures report that egavga was not installed.

Any help would be greatly appreciated


-- 
*****************************************************************************
* Joshua I. Guttman	   (404)355-3908 Home      **    Norm Is Lord! 	    *
* gt0652b@prism.gatech.edu (404)355-0001 Business  ************************** 
* josh@triad.com           (404)242-1922 Triad Technologies                 *

dave@tygra.UUCP (David Conrad) (03/27/91)

In article <24959@hydra.gatech.EDU> gt0652b@prism.gatech.EDU (I don't know man, he was just here) writes:
>Hi, I am trying to write a graphical interface that also has a command line.
>My problem is that when I try to set things up to run a Dos command, my
>egavga driver won't run.
>
>	for graphics, i need to uses initgraph(GrDriver, grmode?)
>
>	for dos, I need to use the compiler directive
>	      {$M 20000,0,0}
>
>The problem is that when I include the above compiler directive my 
>graphics procedures report that egavga was not installed.
>

Initgraph (and many other graph routines such as fonts and fills) use space
on the heap.  You cannot {$M ?, 0, 0} and have them work.  On the other hand,
DOS needs some memory to run in, so you can't {$M ?, 0, 655360} and use Exec.
The solution is to reserve some heap, but also leave some memory for DOS.
Why don't you try something like {$M 20000, 32768, 65536} (note that some
minumum heap space must be present, this helps insure successful Initgraph.)

Dave Conrad
sharkey!tygra!dave
-- 
=  CAT-TALK Conferencing Network, Computer Conferencing and File Archive  =
-  1-313-343-0800, 300/1200/2400/9600 baud, 8/N/1. New users use 'new'    - 
=  as a login id.  AVAILABLE VIA PC-PURSUIT!!! (City code "MIDET")        =
   E-MAIL Address: dave%tygra@sharkey.cc.umich.edu