Category : Printer + Display Graphics
Archive   : MVPP2.ZIP
Filename : EXAMPLE.C

 
Output of file : EXAMPLE.C contained in archive : MVPP2.ZIP
/*
This Turbo C Code example is an example of a program that simply
loads the SVGA256 device driver, goes into graphics mode, loads an
image from disk (one with a palette), and displays it.

Function Load256Image will load an image file and place it in the variable
pointer image. If you are a registered user feel free to use Load256Image
in your programs.

To run this demonstration, you will need to have Turbo C as well as the
SVGA256.BGI device driver. This driver is available as shareware,
through Jordan Hargave (see ReadMe.Doc), but it is also distributed with
MVP Paint. You have to have a VGA monitor for this example to run,
however, Super VGA is not at all required.
*/

#include
#include
#include
#include
#include
#include

#define VGA320X200 0

int huge DetectVGA256(void);
unsigned char *load256image(char *filename);

void main(void)
{
int gd=DETECT, gm, i;
unsigned char *image;

installuserdriver("SVGA256",DetectVGA256);
initgraph(&gd,&gm,"");

image=load256image("moon.vga");

putimage(0,0,image,COPY_PUT);

getch();
closegraph();
free(image);
}

int huge DetectVGA256(void)
{
return(0);
}

unsigned char *load256image(char *filename)
{
int fp, color;
unsigned int xsize, ysize, vgasize;
long size;
unsigned char *image;

fp=open(filename, O_RDONLY | O_BINARY);
size=filelength(fp);
image=malloc(size);
read(fp,image,size);
close(fp);

xsize=*(image+0)+*(image+1)*256;
ysize=*(image+2)+*(image+3)*256;
vgasize=imagesize(0,0,xsize,ysize);

if (size > vgasize)
{
for (color=0; color < 256; color++)
{
outportb(0x3C8,color);
outportb(0x3C9,*(image+vgasize+(color*3)+0));
outportb(0x3C9,*(image+vgasize+(color*3)+1));
outportb(0x3C9,*(image+vgasize+(color*3)+2));
}
image=realloc(image,vgasize);
}
return(image);
}


  3 Responses to “Category : Printer + Display Graphics
Archive   : MVPP2.ZIP
Filename : EXAMPLE.C

  1. Very nice! Thank you for this wonderful archive. I wonder why I found it only now. Long live the BBS file archives!

  2. This is so awesome! 😀 I’d be cool if you could download an entire archive of this at once, though.

  3. But one thing that puzzles me is the “mtswslnkmcjklsdlsbdmMICROSOFT” string. There is an article about it here. It is definitely worth a read: http://www.os2museum.com/wp/mtswslnk/