Курсовая работа: Аркадна гра "гольф" з елементами трьохвимірної поверхні
}
void SetPalette(void)
{
register int i;
register int j;
#define DEPTH(X) max((((X)*(3-j))/3), 3)
for (j = 0; j<4; j++)
for (i = 0; i<64; i+=4)
{
if (i+j > 0)
{
disable();
outportb(0x3c8, (i >> 2)+64*j);
outportb(0x3c9, 0);
outportb(0x3c9, 0);
outportb(0x3c9, DEPTH(2*i/3));
enable();
}
disable();
outportb(0x3c8, (i >> 2)+64*j+16);
outportb(0x3c9, DEPTH(i/2+10));
outportb(0x3c9, DEPTH(i/4+10));
outportb(0x3c9, DEPTH(i/6+10));
enable();
disable();
outportb(0x3c8, (i >> 2)+64*j+32);
outportb(0x3c9, DEPTH(max(63/2+10-i,0)));
outportb(0x3c9, DEPTH(min(64/4+10+3*i/4,63)));
outportb(0x3c9, DEPTH(max(63/6+10-i,0)));