From: Larry Swanson Newsgroups: comp.os.msdos.djgpp,rec.games.programmer Subject: weirdd32 bit lines in VESA 2.0 Date: Fri, 30 May 1997 21:08:23 -0500 Organization: MidWest Communications, Inc. Lines: 49 Message-ID: <338F8816.43DF28C6@mwci.net> NNTP-Posting-Host: dial-33.man.mwci.net Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk I finally figured out how to access the linear frame buffer in VESA using DJGPP.(I'm using 640x480x16M and far pointers) I am trying to make a short little demo that will make lines start from the corner and converging in the center. I could do it start at black and fading to red so I copied my code and changed it so it would start at black and fade to blue. When I plot lines from (639,0) to (640-loop,320) and from (639,479) to (640-loop,320) it will plot the Line but then the line to rhe right of it will be black, which is not what I want. I have tested my put pixel code at all corners of the screen and with all 3 primary colors and it always worked right. I have no idea what else to check for(it works when my lines go from the left side of the screen to the middle) and I would really aprreciate someon looking at this and hopefully pointing ou a blatant error or assumption. PS-It makes no difference to me if you respond by email or by newsgroup. PPS Thank you my code is here: color_add=0x00010000l; color=0x00000000; for(loop=0;loop<80;loop++){ Line(0,0,loop,240,color); Line(0,479,loop,240,color); Line(639,0,640-loop,240,color); Line(639,479,640-loop,240,color); color+=color_add; } for(loop=80;loop<321;loop++){ Line(0,0,loop,240,color); Line(0,479,loop,240,color); Line(639,479,640-loop,240,color); Line(639,0,640-loop,240,color); Line(0,0,320,loop-80,color); Line(639,0,320,loop-80,color); Line(0,479,320,560-loop,color); Line(639,479,320,560-loop,color); if(color>=0x00ff0000) color_add= - 0x00010000l;//when i try blue it is -0x1; if(color<=0x00010000) color_add= 0x00010000l;//when i try blue it is 0x1; color+=color_add; }