plan 9 kernel history: overview | file list | diff list

1991/0724/pc/vga.c (diff list | history)

1991/0723/sys/src/9/pc/vga.c:9,161991/0724/sys/src/9/pc/vga.c:9,32 (short | long | prev | next)
1991/0723    
{ 
	GRX=		0x3CE,		/* index to graphics registers */ 
	GR=		0x3CF,		/* graphics registers 0-8 */ 
1991/0724    
	SRX=		0x3C4,		/* index to sequence registers */ 
	SR=		0x3C5,		/* sequence registers 0-7 */ 
1991/0723    
}; 
 
1991/0724    
void 
srout(int reg, int val) 
{ 
	outb(SRX, reg); 
	outb(SR, val); 
} 
 
void 
grout(int reg, int val) 
{ 
	outb(GRX, reg); 
	outb(GR, val); 
} 
 
1991/0723    
/* 
 *  look at VGA registers 
 */ 
1991/0723/sys/src/9/pc/vga.c:17,291991/0724/sys/src/9/pc/vga.c:33,51
1991/0723    
void 
vgainit(void) 
{ 
1991/0724    
	uchar *display; 
1991/0723    
	int i; 
	uchar x; 
 
	for(i = 0; i < 9; i++){ 
		outb(GRX, i); 
		x = inb(GR); 
		print("GR%d == %ux\n", i, x); 
	} 
	panic("for the hell of it"); 
1991/0724    
	srout(2, 0x0f);		/* enable all 4 color planes */ 
	srout(4, 0x08);		/* quad mode */ 
	grout(5, 0x40);		/* pixel bits are sequential */ 
	grout(6, 0x01);		/* graphics mode - display starts at 0xA0000 */ 
 
	for(;;); 
	display = (uchar*)(0xA0000 | KZERO); 
	for(i = 0; i < 128*1024; i++) 
		display[i] = 0x00; 
 
	for(i = 0; i < 4*640; i++) 
		display[i] = 0xff; 
1991/0723    
} 


source code copyright © 1990-2005 Lucent Technologies; see license
Plan 9 distribution
comments to russ cox (rsc@swtch.com)