PCem

changeset 64:4bde4cf3074b

Implemented DMA controller disable, PC2086/3086 self test works properly.
author TomW
date Sun Dec 29 16:05:24 2013 +0000
parents 91fb7c44ae30
children 1a5a5f832cf3
files src/dma.c
diffstat 1 files changed, 7 insertions(+), 1 deletions(-) [+]
line diff
     1.1 --- a/src/dma.c	Sun Dec 29 15:33:29 2013 +0000
     1.2 +++ b/src/dma.c	Sun Dec 29 16:05:24 2013 +0000
     1.3 @@ -252,12 +252,15 @@
     1.4  {
     1.5          uint16_t temp;
     1.6  
     1.7 +	if (dma.command & 0x04)
     1.8 +		return DMA_NODATA;
     1.9 +		
    1.10          if (!AT)
    1.11                  refreshread();
    1.12          
    1.13          if (channel < 4)
    1.14          {
    1.15 -                if (dma.m & (1 << channel))
    1.16 +		if (dma.m & (1 << channel))
    1.17                          return DMA_NODATA;
    1.18                  if ((dma.mode[channel] & 0xC) != 8)
    1.19                          return DMA_NODATA;
    1.20 @@ -317,6 +320,9 @@
    1.21  
    1.22  int dma_channel_write(int channel, uint16_t val)
    1.23  {
    1.24 +	if (dma.command & 0x04)
    1.25 +		return DMA_NODATA;
    1.26 +
    1.27          if (!AT)
    1.28                  refreshread();
    1.29