Message-Id: <36B9E7D5.855F0B98@cableol.co.uk> Date: Thu, 04 Feb 1999 18:32:53 +0000 From: Allens X-Mailer: Mozilla 4.04 [en] (Win95; I) Mime-Version: 1.0 To: djgpp AT delorie DOT com Subject: Re: Ultra-newbie needs ultra-help References: <19990204071933 DOT 10404 DOT qmail AT hotmail DOT com> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Reply-To: djgpp AT delorie DOT com The only problem I can think of is that allegro does not support your graphics card. What card is it? Peter Allen Stephen Gordon wrote: > > I am trying to learn how to program in DJGPP. I have only just started. > I have a > P200 with Win95, and have downloaded DJGPP v2.8.1 and Allegro v3.1 (as > well > as RHIDE). My problem is that my program, which is supposed to display > the > Mandelbrot set on screen in 256 colors, only does it in 16. The source > is below as > it's fairly short, and the strange thing is that it works properly on my > other more > powerful computer which also runs Win95. > Any suggestions? (I can't find this in the FAQs) > > Stephen Gordon > > PS. I don't know any assembler. > > Source code below > ________________________________________________________________ > > #include "allegro.h" > > int main() > { > PALLETE pallete; > BITMAP *m_map; > RGB temp; > int x, y, c; > float a, b, aa, bb, m, n; > > allegro_init(); > install_keyboard(); > set_gfx_mode(GFX_AUTODETECT, 800, 600, 0, 0); > set_color_depth(8); > > m_map = create_bitmap(800,600); > > /* first set the pallete to black to hide what we are doing */ > for (c=0; c<255; c++){ > pallete[c].r=0; > pallete[c].g=0; > pallete[c].b=0; > } > > pallete[1].r=255; > pallete[1].g=255; > pallete[1].b=255; > set_pallete(pallete); > > /* draw the M-set onto the memory-map */ > for (y=0; y<600; y++){ > for (x=0; x<800; x++){ > a=b=c=aa=bb=0; > m=(2*(x-399.5)/399.5)-.5; > n=(2*(y-299.5)/299.5); > while (((a*a+b*b)<4)&&(c<256)){ > aa=a*a-b*b+m; > bb=2*a*b+n; > a=aa; > b=bb; > c++; > } > putpixel (m_map, x, y, c); > if (y==(int)(0.75*x)) > putpixel (screen, x, y, 1); > } > } > > blit(m_map, screen, 0, 0, 0, 0, 800, 600); > > /* fill our pallete with a gradually altering sequence of colors */ > for (c=0; c<64; c++) { > pallete[c].r = c; > pallete[c].g = 0; > pallete[c].b = 0; > } > for (c=64; c<128; c++) { > pallete[c].r = 127-c; > pallete[c].g = c-64; > pallete[c].b = 0; > } > for (c=128; c<192; c++) { > pallete[c].r = 0; > pallete[c].g = 191-c; > pallete[c].b = c-128; > } > for (c=192; c<256; c++) { > pallete[c].r = 0; > pallete[c].g = 0; > pallete[c].b = 255-c; > } > /* animate the image by rotating the pallete */ > while (!keypressed()) { > temp = pallete[255]; > for (c=255; c>0; c--) > pallete[c] = pallete[c-1]; > pallete[0] = temp; > set_pallete(pallete); > } > > return 0; > } > > ______________________________________________________ > Get Your Private, Free Email at http://www.hotmail.com