/*Copyright (C) Aleksandr G. Chukhlebov...
...alexc@miacom.net
SGFX...6 function BASM unit for Borland Turbo C++ 3.0
...X,Y...640x480
...x256 color
...
message: does any one know how to write a pixel directly to the video
memory?
*/
#include
#include
#include
#define VIDEO 0x10
union REGS regs;
//------------------------------------------------------------------------
int getmaxx(void)
{
return 639;
}
//------------------------------------------------------------------------
int getmaxy(void)
{
return 479;
}
//------------------------------------------------------------------------
int getmaxcolor(void)
{
return 255;
}
//------------------------------------------------------------------------
void setsvga(void)
{
regs.x.ax = 0x4f02;
regs.x.bx = 0x101;
int86(VIDEO, ®s, ®s);
}
//------------------------------------------------------------------------
void settext(void)
{
regs.x.ax = 0x0003;
int86(VIDEO, ®s, ®s);
}
//------------------------------------------------------------------------
void putpixel(unsigned int x,unsigned int y,unsigned char color)
{
regs.h.ah = 0x0c;
regs.h.al = color;
regs.x.cx = x;
regs.x.dx = y;
regs.x.bx = 0x01;
int86(VIDEO, ®s, ®s);
}
//------------------------------------------------------------------------
void main(void)
{
setsvga();
randomize();
do
{
putpixel(random(getmaxx()),
random(getmaxy()),
random(getmaxcolor()));
}
while(!kbhit());
settext();
}