home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.disi.unige.it
/
2015-02-11.ftp.disi.unige.it.tar
/
ftp.disi.unige.it
/
pub
/
.person
/
GianuzziV
/
SysOp
/
esame96
/
test1.c
< prev
next >
Wrap
C/C++ Source or Header
|
1996-12-01
|
1KB
|
54 lines
#include <stdlib.h>
#include <sys/types.h>
#include <errno.h>
#include <signal.h>
#include <stdlib.h>
#include <unistd.h>
#include <fcntl.h>
#include <stdio.h>
#include <string.h>
#include <sys/ioctl.h>
#include <fcntl.h>
#include <minix/video.h>
int video;
char *buffer;
char palette[768];
/* Funzione che assegna comodamente tutte e tre le componenti ad un colore */
void setcolor(int c, int r, int g, int b)
{
palette[(c * 3) + 0] = r; /* ogni 3 byte un colore */
palette[(c * 3) + 1] = g;
palette[(c * 3) + 2] = b;
}
int main(void)
{
int c;
/* si alloca il display di 320*200 punti */
if (!(buffer = malloc(320*200)))
{
printf("la RAM... compratela!\n");
exit(0);
}
video = open("/dev/video", O_RDWR); /* apro il device */
/* paciugo la pagina virtuale per vedere qualche cosa (in questo caso
* delle righe)
*/
setcolor(1, 0, 63, 0); /* imposto il colore 1 a verde */
setcolor(0, 63, 0, 0); /* imposto il colore 0 a rosso */
ioctl(video, REFRESH_PALETTE, palette);
for (c = 0; c < 320 * 200; c++)
buffer[c] = c % 16? 0 : 1;
ioctl(video, COPY_BUFFER, buffer);
/*visualizzo la pagina virtuale */
getchar();
close(video);
return 0;
}