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

1992/1110/pc/vga.c (diff list | history)

1992/1109/sys/src/9/pc/vga.c:241,2471992/1110/sys/src/9/pc/vga.c:241,247 (short | long | prev | next)
1992/1109    
	else 
		vgascreen.ldepth = 0; 
1992/1106    
	vgascreen.base = (void*)SCREENMEM; 
	vgascreen.width = (maxx*(1<<ldepth))/32; 
1992/1110    
	vgascreen.width = (maxx*(1<<vgascreen.ldepth))/32; 
1992/1106    
	vgascreen.r.max = Pt(maxx, maxy); 
	vgascreen.clipr.max = vgascreen.r.max; 
 
1992/1109/sys/src/9/pc/vga.c:252,2581992/1110/sys/src/9/pc/vga.c:252,258
1992/1106    
	gscreen.width = (maxx*(1<<ldepth))/32; 
1992/0603    
	gscreen.r.max = Pt(maxx, maxy); 
1992/0604    
	gscreen.clipr.max = gscreen.r.max; 
1992/1106    
	len = gscreen.width * 4 * maxy; 
1992/1110    
	len = gscreen.width * BY2WD * maxy; 
1992/1109    
	if(gscreen.base){ 
		free(gscreen.base); 
		gscreen.base = ((ulong*)smalloc(len+2*1024))+256; 
1992/1109/sys/src/9/pc/vga.c:271,2771992/1110/sys/src/9/pc/vga.c:271,277
1992/0603    
void 
1991/0730    
screeninit(void) 
1991/0723    
{ 
1992/0711    
	int i; 
1992/1110    
	int i, x; 
1991/0730    
	ulong *l; 
1991/0723    
 
1992/0527    
	setmode(&mode12); 
1992/1109/sys/src/9/pc/vga.c:300,3071992/1110/sys/src/9/pc/vga.c:300,317
1992/1106    
		conf.maxx = MAXX; 
	if(conf.maxy == 0) 
		conf.maxy = MAXY; 
                 
	setscreen(conf.maxx, conf.maxy, conf.ldepth); 
1992/1110    
 
	/* 
	 *  set up default grey scale color map 
	 */ 
	outb(CMWX, 0); 
	for(i = 0; i < 16; i++){ 
		x = (i*63)/15; 
		outb(CM, x); 
		outb(CM, x); 
		outb(CM, x); 
	} 
1991/0723    
} 
1991/0727    
 
1992/1106    
/* 
1992/1109/sys/src/9/pc/vga.c:341,3471992/1110/sys/src/9/pc/vga.c:351,357
1992/1108    
screenupdate(void) 
{ 
	uchar *sp, *hp; 
1992/1109    
	int y, len, incs, inch, bits; 
1992/1110    
	int y, len, incs, inch, bits, off; 
1992/1108    
	Rectangle r; 
 
	r = mbb; 
1992/1109/sys/src/9/pc/vga.c:360,3691992/1110/sys/src/9/pc/vga.c:370,380
1992/1108    
		r.max.y = gscreen.r.max.y; 
 
1992/1109    
	bits = 1<<vgascreen.ldepth; 
1992/1108    
	sp = (uchar*)gaddr(&gscreen, r.min); 
	hp = (uchar*)gaddr(&vgascreen, r.min); 
1992/1109    
	len = (r.max.x*bits + 31)/32 - (r.min.x*bits)/32; 
1992/1108    
	len *= BY2WD; 
1992/1110    
	off = (r.min.x*bits)>>(3-vgascreen.ldepth); 
	hp = (uchar*)(vgascreen.base+(r.min.y*vgascreen.width)) + off; 
	off <<= gscreen.ldepth - vgascreen.ldepth; 
	sp = (uchar*)(gscreen.base+(r.min.y*gscreen.width)) + off; 
	len = (r.max.x*bits + 7)/8 - (r.min.x*bits)/8; 
1992/1108    
	if(len <= 0) 
		return; 
 
1992/1109/sys/src/9/pc/vga.c:446,4521992/1110/sys/src/9/pc/vga.c:457,462
1991/1228    
		} 
	} 
1992/1106    
	rs.max = Pt(gscreen.r.max.x, out.pos.y+defont0.height); 
	unlock(&screenlock); 
	mbbrect(rs); 
	screenupdate(); 
1991/0730    
} 
1992/1109/sys/src/9/pc/vga.c:454,4601992/1110/sys/src/9/pc/vga.c:464,470
1991/0730    
int 
screenbits(void) 
{ 
	return 1;	/* bits per pixel */ 
1992/1110    
	return 1<<gscreen.ldepth;	/* bits per pixel */ 
1991/0730    
} 
 
1992/1106    
 


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