delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1994/01/17/11:15:44

Date: Mon, 17 Jan 1994 10:37:51 EST
From: MCARDLEB%AM DOT mrgate AT woods DOT uml DOT edu
To: DJGPP AT SUN DOT SOE DOT CLARKSON DOT EDU
Subject: Retry: Problem with go32 and 386max memory manager

My first attempt to report this failed rather miserably - sorry.
I wanted to report a problem I first suspected was from my memory manager but
I suspect it is a go32 problem now.  I recently got the go32 1.11main1 version
and the 2.57gcc binaries to build programs.  The compiler/linker works fine
and I can run programs that put the screen in graphics mode (vga and tseng4kn)
but when I try to use a line (or any other kind of graphics drawing tool)
I get a "general protetion fault at eip=151e" .  I get this with the djtst111
files and with my test program below.
Now I hear that QEMM has an auto/on feature that has to be turned on all the
time and I suppose 386max has this "feature" too but I think the 1.11main1
is the cause because if I run the program with the go32 1.09 version I get
no problems.
  I am using 386max version 7.0 on a Hauppauge4860 25Mhz motherboard with 
14Megs ram and a Hercules Dynamite Pro 1Meg graphics card. If there is any
other information you need please feel free to ask.
	Bruce McArdle

ps: I think the delay(x) function is not counting milliseconds correctly. It
seems to count in 1/2 millisecond per one x.

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
compiled with "gcc program.c -lgrx -lpc"
+++++++++++++++++++++++++ cut this out *************************************

#include <stdio.h>
#include <grx.h>
#include <pc.h>
main()
{
int x,y;
printf("hello\n");
sound(1000);
delay(1000);
sound(0);
GrSetMode(GR_width_height_graphics,1024,768,256);
printf("middle\n");
sound(2000);
delay(1000);
sound(0);
printf("after middle\n");
GrLine(0,0,1023,767,GrWhite());
sound(3000);
delay(1000);
sound(0);

GrSetMode(GR_default_text);
printf("end start of timer\n");
sound(4000);
delay(2000);
sound(0);
printf("end of timer 2s\n");
for (x=0,y=0;x<=1000;x++)
        {
        /*sound(x);
        delay(x);
        sound(0);*/
        y=y+x;
        }
printf("%d",y);


}

- Raw text -


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