INLINE void dma_load(void) { /* only process if DMA is enabled */ if (dsp32.pcr & PCR_DMA) { UINT32 addr = dsp32.par | (dsp32.pare << 16); /* 16-bit case */ if (!(dsp32.pcr & PCR_DMA32)) dsp32.pdr = RWORD(addr & 0xfffffe); /* 32-bit case */ else { UINT32 temp = RLONG(addr & 0xfffffc); dsp32.pdr = temp >> 16; dsp32.pdr2 = temp & 0xffff; } /* set the PDF flag to indicate we have data ready */ update_pcr(dsp32.pcr | PCR_PDFs); }
void dsp32c_device::dma_load() { // only process if DMA is enabled if (m_pcr & PCR_DMA) { UINT32 addr = m_par | (m_pare << 16); // 16-bit case if (!(m_pcr & PCR_DMA32)) m_pdr = RWORD(addr & 0xfffffe); // 32-bit case else { UINT32 temp = RLONG(addr & 0xfffffc); m_pdr = temp >> 16; m_pdr2 = temp & 0xffff; } // set the PDF flag to indicate we have data ready update_pcr(m_pcr | PCR_PDFs); }
INLINE void dma_load(dsp32_state *cpustate) { /* only process if DMA is enabled */ if (cpustate->pcr & PCR_DMA) { UINT32 addr = cpustate->par | (cpustate->pare << 16); /* 16-bit case */ if (!(cpustate->pcr & PCR_DMA32)) cpustate->pdr = RWORD(cpustate, addr & 0xfffffe); /* 32-bit case */ else { UINT32 temp = RLONG(cpustate, addr & 0xfffffc); cpustate->pdr = temp >> 16; cpustate->pdr2 = temp & 0xffff; } /* set the PDF flag to indicate we have data ready */ update_pcr(cpustate, cpustate->pcr | PCR_PDFs); }
inline INT32 tms340x0_device::POP() { INT32 ret = RLONG(SP()); SP() += 0x20; return ret; }