mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-01-27 06:35:39 +00:00
add support for EXI_READWRITE (only used by USBGecko code)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@1712 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
1d64f66241
commit
6a9f8e766c
@ -18,6 +18,11 @@
|
|||||||
#include "EXI_Channel.h"
|
#include "EXI_Channel.h"
|
||||||
#include "EXI.h"
|
#include "EXI.h"
|
||||||
|
|
||||||
|
#define EXI_READ 0
|
||||||
|
#define EXI_WRITE 1
|
||||||
|
#define EXI_READWRITE 2
|
||||||
|
|
||||||
|
|
||||||
#include "PeripheralInterface.h"
|
#include "PeripheralInterface.h"
|
||||||
#include "../PowerPC/PowerPC.h"
|
#include "../PowerPC/PowerPC.h"
|
||||||
|
|
||||||
@ -250,8 +255,14 @@ void CEXIChannel::Write32(const u32 _iValue, const u32 _iRegister)
|
|||||||
// immediate data
|
// immediate data
|
||||||
switch (m_Control.RW)
|
switch (m_Control.RW)
|
||||||
{
|
{
|
||||||
case 0: m_ImmData = pDevice->ImmRead(m_Control.TLEN + 1); break;
|
case EXI_READ: m_ImmData = pDevice->ImmRead(m_Control.TLEN + 1); break;
|
||||||
case 1: pDevice->ImmWrite(m_ImmData, m_Control.TLEN + 1); break;
|
case EXI_WRITE: pDevice->ImmWrite(m_ImmData, m_Control.TLEN + 1); break;
|
||||||
|
case EXI_READWRITE:
|
||||||
|
/* Only used by USBGecko?
|
||||||
|
pDevice->ImmWrite(m_ImmData, m_Control.TLEN + 1);
|
||||||
|
m_ImmData = pDevice->ImmRead(m_Control.TLEN + 1); */
|
||||||
|
break;
|
||||||
|
|
||||||
default: _dbg_assert_msg_(EXPANSIONINTERFACE,0,"EXI Imm: Unknown transfer type %i", m_Control.RW);
|
default: _dbg_assert_msg_(EXPANSIONINTERFACE,0,"EXI Imm: Unknown transfer type %i", m_Control.RW);
|
||||||
}
|
}
|
||||||
m_Control.TSTART = 0;
|
m_Control.TSTART = 0;
|
||||||
@ -261,8 +272,8 @@ void CEXIChannel::Write32(const u32 _iValue, const u32 _iRegister)
|
|||||||
// DMA
|
// DMA
|
||||||
switch (m_Control.RW)
|
switch (m_Control.RW)
|
||||||
{
|
{
|
||||||
case 0: pDevice->DMARead (m_DMAMemoryAddress, m_DMALength); break;
|
case EXI_READ: pDevice->DMARead (m_DMAMemoryAddress, m_DMALength); break;
|
||||||
case 1: pDevice->DMAWrite(m_DMAMemoryAddress, m_DMALength); break;
|
case EXI_WRITE: pDevice->DMAWrite(m_DMAMemoryAddress, m_DMALength); break;
|
||||||
default: _dbg_assert_msg_(EXPANSIONINTERFACE,0,"EXI DMA: Unknown transfer type %i", m_Control.RW);
|
default: _dbg_assert_msg_(EXPANSIONINTERFACE,0,"EXI DMA: Unknown transfer type %i", m_Control.RW);
|
||||||
}
|
}
|
||||||
m_Control.TSTART = 0;
|
m_Control.TSTART = 0;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user