delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1997/04/07/15:56:15

From: nitehawk91 AT aol DOT com
Newsgroups: comp.os.msdos.djgpp
Subject: Strange behaviour. Allegro & Cwsdpmi, please help.
Date: 7 Apr 1997 16:08:04 GMT
Organization: AOL Bertelsmann Online GmbH & Co. KG http://www.germany.aol.com
Message-ID: <19970407160700.MAA20976@ladder01.news.aol.com>
NNTP-Posting-Host: ladder01.news.aol.com
Lines: 58
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp

Hello all.

I've got a really strange problem with a programm I wrote.
I'm using DJGPP v2.01, Allegro 2.2, Win95 & MS-DOS 6.22, CWSDPMI release 3 & PMODE 3.07
Now a drescription of the problem :
(see source code below)
If I run my program either in a Win95 Dos Box or under DOS 6.22
using PMODETSR, it works fine. If I use cwsdpmi instead of pmode under Dos 6.22 the programm aborts. I get a message like :
Allegro shutting down
exiting due to SIGSEV...and so on.
I tried symify to locate the functions in which the error occours, but I got only Allegro & DJGPP internal functions, and as the programm runs with PMODE I guess the error has to be somewhere in my
code.
BTW : All other porgrams I wrote not using Allegro work fine with cwsdpmi.

Here's the relevant source :
I'm working on a ModeX screen with an resoulution of 320x200.
The only thing this function has got to do is to fade in a picture.
Some variables are not used now, as this function is not complete yet.
I left them in the code, as they may concern to the error I recieve.

void introduction(void)
{
 BITMAP *Main_Screen; /* = create_bitmap(320,200) DID NOT                                               WORK! I do not know why */

 RGB white = {63,63,63}, black = {0,0,0};
 PALLETE *Main_Pallete, *Mask;
 int i=0;

 Main_Screen = create_bitmap(320,200);
 clear(Main_Screen);

 for (i = 0;i < 255;i++)  /* Fill a palette with black values */
    	(*Mask)[i] = black;

 set_pallete(black_pallete);

/* Load a picture into Main_Screen and blit it to the screen */

 Main_Screen = load_pcx("picture.pcx", *Main_Pallete);

 blit(Main_Screen, screen,0,0,0,0,320,200);

 fade_from(black_pallete,*Main_Pallete,1);

/* Free reserved memory */
 destroy_bitmap(Main_Screen);
}

Hope you can help me. 
I do not know what's going wrong - and I would like to use cwsdpmi.

Thanks in advance !


Matthias

<NiteHawk91 AT aol DOT com>

- Raw text -


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