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

1991/0831/pc/devfloppy.c (diff list | history)

1991/0823/sys/src/9/pc/devfloppy.c:26,341991/0831/sys/src/9/pc/devfloppy.c:26,37 (short | long | prev | next)
1991/0727    
	 Fseek=		 0xf,	/* seek cmd */ 
	 Fsense=	 0x8,	/* sense cmd */ 
	 Fread=		 0x66,	/* read cmd */ 
	 Fwrite=	 0x47,	/* write cmd */ 
1991/0831    
	 Fwrite=	 0x45,	/* write cmd */ 
1991/0727    
	 Fmulti=	 0x80,	/* or'd with Fread or Fwrite for multi-head */ 
 
1991/0831    
	Fchanged=	0x3F7,	/* disk changed register */ 
	 Fchange=	 0x80,	/* disk has changed */ 
 
1991/0728    
	DMAchan=	2,	/* floppy dma channel */ 
 
1991/0727    
	/* status 0 byte */ 
1991/0823/sys/src/9/pc/devfloppy.c:281,2861991/0831/sys/src/9/pc/devfloppy.c:284,301
1991/0802    
} 
 
1991/0809    
/* 
1991/0831    
 *  look for a floppy change 
 */ 
void 
floppychange(Drive *dp) 
{ 
	if((inb(Fchanged) & Fchange) == 0) 
		return; 
 
	 
} 
 
/* 
1991/0809    
 *  the floppy is so slow, we always read a cylinder 
 *  at a time and cache the extra bytes. 
 */ 
1991/0823/sys/src/9/pc/devfloppy.c:299,3041991/0831/sys/src/9/pc/devfloppy.c:314,320
1991/0802    
	dp = &floppy.d[c->qid.path & ~Qmask]; 
	switch ((int)(c->qid.path & Qmask)) { 
	case Qdata: 
1991/0831    
		floppychanged(dp); 
1991/0809    
		if(c->offset % dp->t->bytes) 
			errors("bad offset"); 
		if(n % dp->t->bytes) 
1991/0823/sys/src/9/pc/devfloppy.c:343,3481991/0831/sys/src/9/pc/devfloppy.c:359,366
1991/0802    
	dp = &floppy.d[c->qid.path & ~Qmask]; 
	switch ((int)(c->qid.path & Qmask)) { 
	case Qdata: 
1991/0831    
		floppychanged(dp); 
		dp->ccyl = -1; 
1991/0802    
		for(rv = 0; rv < n; rv += i){ 
			i = floppyxfer(dp, Fwrite, aa+rv, c->offset+rv, n-rv); 
			if(i <= 0) 


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