outb( cMASKPORT[chan], 0x04 | (chan & 0x3) ); // mask channel\r
outb( cCLEARPORT[chan], 0x00 );\r
outb( cMODEPORT[chan], (0x44 + (!read)*4) | (chan & 0x3) );\r
outb( cMASKPORT[chan], 0x04 | (chan & 0x3) ); // mask channel\r
outb( cCLEARPORT[chan], 0x00 );\r
outb( cMODEPORT[chan], (0x44 + (!read)*4) | (chan & 0x3) );\r
outb( cMASKPORT[chan], chan & 0x3 ); // unmask channel\r
dma_addresses[chan] = (char*)DMA_ADDRESS(chan);\r
dma_addresses[chan] += KERNEL_BASE;\r
outb( cMASKPORT[chan], chan & 0x3 ); // unmask channel\r
dma_addresses[chan] = (char*)DMA_ADDRESS(chan);\r
dma_addresses[chan] += KERNEL_BASE;\r