home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HOT Scene Stuff
/
hotscenestuffzyklop1996.iso
/
demos
/
sunknown
/
vx.h
< prev
next >
Wrap
C/C++ Source or Header
|
1994-03-26
|
1KB
|
42 lines
// VX_C
// A class implementing a virtual 320x240x16/160x240x256 screen in mode x.
#include "global.h"
// DEFINES:
#define VRAMSIZE 19200
// VGA-registers:
#define AC_INDEX 0x03c0
#define MISC_OUTPUT 0x03c2
#define SC_INDEX 0x03c4
#define GC_INDEX 0x03ce
#define CRTC_INDEX 0x03d4
#define INPUT_STATUS_0 0x03da
#define MAP_MASK 0x02
#define READ_MAP 0x04
#define BIT_MASK 0x08
// MACROS:
#define FROMLATCHES asm mov dx,GC_INDEX; asm mov ax,BIT_MASK;asm out dx,ax
#define FROMREGISTER asm mov dx,GC_INDEX+1;asm mov al,0xff;asm out dx,al
// CLASS DECLARATION:
class vx_C
{
word offset;
public:
void setoffset(word newoffset);
void frame(void);
void writepixel(word pos, byte plane, byte color);
void putpixel(word x,word y,byte color)
{writepixel(offset+x/4+80*y,x&3,color);};
byte getpixel(word x,word y);
void setrgb(byte color, byte r, byte g, byte b);
void blockfill(word start,word end, byte data);
};