Diff for /np2/i386c/Attic/dmap.c between versions 1.3 and 1.6

version 1.3, 2004/03/06 18:25:36 version 1.6, 2005/02/08 09:57:26
Line 1 Line 1
 #include        "compiler.h"  
 #include        "cpucore.h"  
 #include        "pccore.h"  
 #include        "iocore.h"  
 #include        "dmap.h"  
   
   #error  move: /mem/dmax86.c
 void dmap(void) {  
   
         DMACH   ch;  
         REG8    bit;  
         UINT32  addr;  
   
         if (dmac.working) {  
                 ch = dmac.dmach;  
                 bit = 1;  
                 do {  
                         if (dmac.working & bit) {  
                                 // DMA working !  
                                 if (!ch->leng.w) {  
                                         dmac.stat |= bit;  
                                         dmac.working &= ~bit;  
                                         ch->proc.extproc(DMAEXT_END);  
                                 }  
                                 ch->leng.w--;  
                                 addr = ch->adrs.d;  
                                 if (necio.port0439 & 4) {  
                                         addr = ch->adrs.d & 0xffffff;  
                                 }  
                                 ch->adrs.d += ((ch->mode & 0x20)?-1:1);  
                                 switch(ch->mode & 0x0c) {  
                                         case 0x00:              // verifty  
                                                 ch->proc.inproc();  
                                                 break;  
   
                                         case 0x04:              // port->mem  
                                                 i286_memorywrite(addr, ch->proc.inproc());  
                                                 break;  
   
                                         default:  
                                                 ch->proc.outproc(i286_memoryread(addr));  
                                                 break;  
                                 }  
                         }  
                         ch++;  
                         bit <<= 1;  
                 } while(bit & 0x0f);  
         }  
 }  
   

Removed from v.1.3  
changed lines
  Added in v.1.6


RetroPC.NET-CVS <cvs@retropc.net>