DMA master reset register now clears the status register;
Implemented DMA mask reset register.
This commit is contained in:
10
src/dma.c
10
src/dma.c
@@ -117,9 +117,14 @@ void dma_write(uint16_t addr, uint8_t val, void *priv)
|
||||
|
||||
case 0xd: /*Master clear*/
|
||||
dma.wp = 0;
|
||||
dma.stat = 0;
|
||||
dma.m = 0xf;
|
||||
return;
|
||||
|
||||
case 0xe: /*Mask reset*/
|
||||
dma.m = 0;
|
||||
return;
|
||||
|
||||
case 0xf: /*Mask write*/
|
||||
dma.m = val & 0xf;
|
||||
return;
|
||||
@@ -194,9 +199,14 @@ void dma16_write(uint16_t addr, uint8_t val, void *priv)
|
||||
|
||||
case 0xd: /*Master clear*/
|
||||
dma16.wp = 0;
|
||||
dma16.stat = 0;
|
||||
dma16.m = 0xf;
|
||||
return;
|
||||
|
||||
case 0xe: /*Mask reset*/
|
||||
dma16.m = 0;
|
||||
return;
|
||||
|
||||
case 0xf: /*Mask write*/
|
||||
dma16.m = val&0xf;
|
||||
return;
|
||||
|
Reference in New Issue
Block a user