summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorStenzek <stenzek@gmail.com>2016-01-31 23:00:40 +1000
committerStenzek <stenzek@gmail.com>2016-01-31 23:52:40 +1000
commite75d37ec364d2af6eb242556a39db6276db81bb6 (patch)
tree7bb64f6c3856b3191828eac776aac3784f218feb /Source/Core
parentccc70a98f32f91d94f5362331818aaaacb537a69 (diff)
EXI: Fix crash when loading save states with BBA activated
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/Core/HW/EXI_DeviceEthernet.cpp7
-rw-r--r--Source/Core/Core/HW/EXI_DeviceEthernet.h3
2 files changed, 5 insertions, 5 deletions
diff --git a/Source/Core/Core/HW/EXI_DeviceEthernet.cpp b/Source/Core/Core/HW/EXI_DeviceEthernet.cpp
index 0b6b903f28..7a0b2b7f65 100644
--- a/Source/Core/Core/HW/EXI_DeviceEthernet.cpp
+++ b/Source/Core/Core/HW/EXI_DeviceEthernet.cpp
@@ -20,7 +20,7 @@
CEXIETHERNET::CEXIETHERNET()
{
- tx_fifo = new u8[1518];
+ tx_fifo = new u8[BBA_TXFIFO_SIZE];
mBbaMem = new u8[BBA_MEM_SIZE];
mRecvBuffer = new u8[BBA_RECV_SIZE];
@@ -206,9 +206,8 @@ void CEXIETHERNET::DMARead(u32 addr, u32 size)
void CEXIETHERNET::DoState(PointerWrap &p)
{
- p.Do(mBbaMem);
- // TODO ... the rest...
- ERROR_LOG(SP1, "CEXIETHERNET::DoState not implemented!");
+ p.DoArray(tx_fifo, BBA_TXFIFO_SIZE);
+ p.DoArray(mBbaMem, BBA_MEM_SIZE);
}
bool CEXIETHERNET::IsMXCommand(u32 const data)
diff --git a/Source/Core/Core/HW/EXI_DeviceEthernet.h b/Source/Core/Core/HW/EXI_DeviceEthernet.h
index 16e7815c5c..59a72224d5 100644
--- a/Source/Core/Core/HW/EXI_DeviceEthernet.h
+++ b/Source/Core/Core/HW/EXI_DeviceEthernet.h
@@ -159,7 +159,8 @@ enum
{
BBA_NUM_PAGES = 0x10,
BBA_PAGE_SIZE = 0x100,
- BBA_MEM_SIZE = BBA_NUM_PAGES * BBA_PAGE_SIZE
+ BBA_MEM_SIZE = BBA_NUM_PAGES * BBA_PAGE_SIZE,
+ BBA_TXFIFO_SIZE = 1518
};
enum