I've actually have loaders for 320x200x256 with sources. I will see if I can find something in your desired mode ;)

0

Bernard_LeeCommented: 1998-09-16

Try searching the internet for the stuff. "x2ftp.oulu.fi" is one of the best resources on graphics and games programming. While I can not promise you will find what you want, you will get both explanation of PCX and BMP file format.

p.s PCX and BMP and others file format exists in x2ftp.oulu.fi in the directory /msdos/programming/format

{ Read The next 4 Bytes(Longint) which is the length of the BMP }
blockread(FileVar, BMPSizeY, 4);

{ Read The next 2 Bytes(Word) for the number of Bits per plane }
blockread(FileVar, BitsPerPlane, 2);

{ Read The next 2 Bytes(Word) for the number of Bits per pixel }
{ Bits per pixel example }
{ Lets say the value is 8, that means 8 Bits per pixel, in other }
{ words that means 256 Colors }
{ 8-Bits is a Byte(256 Values) }
{ 16-Bits is a Word(65536 Values) }
{ 24-Bits is a Lonting(-2 Million to 2 Million, Roughly) }
blockread(FileVar, BitsPerPixel, 2);

{ Then, (Finally) we load the 3rd part, which is the graphic }
{ The graphic is saved funny, I don't know why the people who }
{ designed the BMP saved from left-right, down-up. Instead of }
{ left-right, up-down. I guess they wanted to be different }
{ Ok, lets draw it }

{ Sorry Miliance, The one above was not tested
and it does not work }
{ So here is the working version }
{ You will have to set the screen mode yourself though }
{ If you want a program and a driver of 256 colors (.BGI) }
{ I can give you one. }

{ Read The next 4 Bytes(Longint) which is the length of the BMP }
blockread(FileVar, BMPSizeY, 4);

{ Read The next 2 Bytes(Word) for the number of Bits per plane }
blockread(FileVar, BitsPerPlane, 2);

{ Read The next 2 Bytes(Word) for the number of Bits per pixel }
{ Bits per pixel example }
{ Lets say the value is 8, that means 8 Bits per pixel, in other }
{ words that means 256 Colors }
{ 8-Bits is a Byte(256 Values) }
{ 16-Bits is a Word(65536 Values) }
{ 24-Bits is a Lonting(-2 Million to 2 Million, Roughly) }
blockread(FileVar, BitsPerPixel, 2);

{ Then, (Finally) we load the 3rd part, which is the graphic }
{ The graphic is saved funny, I don't know why the people who }
{ designed the BMP saved from left-right, down-up. Instead of }
{ left-right, up-down. I guess they wanted to be different }
{ Ok, lets draw it }