|  | 
| 
 Defines | 
| #define | MAXDMA   8 | 
| #define | DMA_SIZE   (64*1024) | 
| #define | LOW_BYTE(x)   (x & 0x00FF) | 
| #define | HI_BYTE(x)   ((x & 0xFF00) >> 8) | 
| 
 Functions | 
| void | dma_start (t_dma *dmas, u_char channel, u_char mode) | 
| void | dma_stop (u_char channel) | 
| u_int | dma_remain (u_char channel) | 
| void | sys_dma_register (t_tcb *caller) | 
| void | sys_dma_unregister (t_tcb *caller) | 
| void | sys_dma_reset (t_tcb *caller) | 
| void | sys_dma_dump (t_tcb *caller) | 
| void | do_dmasrv_syscall () | 
| void | dmasrv_syscall () | 
| void | create_dmasrv () | 
| int | main (int argc, char **argv) | 
| 
 Variables | 
| t_dma_info | info | 
| t_dma | dmas [MAXDMA] | 
| u_char | mask_reg [MAXDMA] = {0x0A, 0x0A, 0x0A, 0x0A, 0xD4, 0xD4, 0xD4, 0xD4} | 
| u_char | mode_reg [MAXDMA] = {0x0B, 0x0B, 0x0B, 0x0B, 0xD6, 0xD6, 0xD6, 0xD6} | 
| u_char | clear_reg [MAXDMA] = {0x0C, 0x0C, 0x0C, 0x0C, 0xD8, 0xD8, 0xD8, 0xD8} | 
| u_char | page_port [MAXDMA] = {0x87, 0x83, 0x81, 0x82, 0x8F, 0x8B, 0x89, 0x8A} | 
| u_char | addr_port [MAXDMA] = {0x00, 0x02, 0x04, 0x06, 0xC0, 0xC4, 0xC8, 0xCC} | 
| u_char | count_port [MAXDMA] = {0x01, 0x03, 0x05, 0x07, 0xC2, 0xC6, 0xCA, 0xCE} |