| .. | .. | 
|---|
| 31 | 31 |  #define CSW fd_routine[can_use_virtual_dma & 1] | 
|---|
| 32 | 32 |   | 
|---|
| 33 | 33 |   | 
|---|
| 34 |  | -#define fd_inb(port)		inb_p(port)  | 
|---|
| 35 |  | -#define fd_outb(value, port)	outb_p(value, port)  | 
|---|
 | 34 | +#define fd_inb(base, reg)		inb_p((base) + (reg))  | 
|---|
 | 35 | +#define fd_outb(value, base, reg)	outb_p(value, (base) + (reg))  | 
|---|
| 36 | 36 |   | 
|---|
| 37 | 37 |  #define fd_request_dma()	CSW._request_dma(FLOPPY_DMA, "floppy") | 
|---|
| 38 | 38 |  #define fd_free_dma()		CSW._free_dma(FLOPPY_DMA) | 
|---|
| .. | .. | 
|---|
| 77 | 77 |  		st = 1; | 
|---|
| 78 | 78 |  		for (lcount = virtual_dma_count, lptr = virtual_dma_addr; | 
|---|
| 79 | 79 |  		     lcount; lcount--, lptr++) { | 
|---|
| 80 |  | -			st = inb(virtual_dma_port + 4) & 0xa0;  | 
|---|
| 81 |  | -			if (st != 0xa0)  | 
|---|
 | 80 | +			st = inb(virtual_dma_port + FD_STATUS);  | 
|---|
 | 81 | +			st &= STATUS_DMA | STATUS_READY;  | 
|---|
 | 82 | +			if (st != (STATUS_DMA | STATUS_READY))  | 
|---|
| 82 | 83 |  				break; | 
|---|
| 83 | 84 |  			if (virtual_dma_mode) | 
|---|
| 84 |  | -				outb_p(*lptr, virtual_dma_port + 5);  | 
|---|
 | 85 | +				outb_p(*lptr, virtual_dma_port + FD_DATA);  | 
|---|
| 85 | 86 |  			else | 
|---|
| 86 |  | -				*lptr = inb_p(virtual_dma_port + 5);  | 
|---|
 | 87 | +				*lptr = inb_p(virtual_dma_port + FD_DATA);  | 
|---|
| 87 | 88 |  		} | 
|---|
| 88 | 89 |  		virtual_dma_count = lcount; | 
|---|
| 89 | 90 |  		virtual_dma_addr = lptr; | 
|---|
| 90 |  | -		st = inb(virtual_dma_port + 4);  | 
|---|
 | 91 | +		st = inb(virtual_dma_port + FD_STATUS);  | 
|---|
| 91 | 92 |  	} | 
|---|
| 92 | 93 |   | 
|---|
| 93 | 94 |  #ifdef TRACE_FLPY_INT | 
|---|
| 94 | 95 |  	calls++; | 
|---|
| 95 | 96 |  #endif | 
|---|
| 96 |  | -	if (st == 0x20)  | 
|---|
 | 97 | +	if (st == STATUS_DMA)  | 
|---|
| 97 | 98 |  		return IRQ_HANDLED; | 
|---|
| 98 |  | -	if (!(st & 0x20)) {  | 
|---|
 | 99 | +	if (!(st & STATUS_DMA)) {  | 
|---|
| 99 | 100 |  		virtual_dma_residue += virtual_dma_count; | 
|---|
| 100 | 101 |  		virtual_dma_count = 0; | 
|---|
| 101 | 102 |  #ifdef TRACE_FLPY_INT | 
|---|