aboutsummaryrefslogtreecommitdiff
path: root/src/DSi_NDMA.cpp
diff options
context:
space:
mode:
authorArisotura <thetotalworm@gmail.com>2022-01-07 14:00:43 +0100
committerGitHub <noreply@github.com>2022-01-07 14:00:43 +0100
commite665e25bd3ea4b9af932e182b1c93e77b762ccb0 (patch)
tree06b5ceb336e42868806113cbf1f45add2b56a3e8 /src/DSi_NDMA.cpp
parentc4cd9da674bcfb8dca89086ce3ffa2d3b03438eb (diff)
Custom path support (#1333)
also including: * getting rid of shitty strings * all new, cleaner ROM handling code * base for DSi savestates * GBA slot addons (for now, memory cart)
Diffstat (limited to 'src/DSi_NDMA.cpp')
-rw-r--r--src/DSi_NDMA.cpp26
1 files changed, 25 insertions, 1 deletions
diff --git a/src/DSi_NDMA.cpp b/src/DSi_NDMA.cpp
index 37d5018..1c3b94a 100644
--- a/src/DSi_NDMA.cpp
+++ b/src/DSi_NDMA.cpp
@@ -63,7 +63,31 @@ void DSi_NDMA::Reset()
void DSi_NDMA::DoSavestate(Savestate* file)
{
- // TODO!
+ char magic[5] = "NDMx";
+ magic[3] = '0' + Num + (CPU*4);
+ file->Section(magic);
+
+ file->Var32(&SrcAddr);
+ file->Var32(&DstAddr);
+ file->Var32(&TotalLength);
+ file->Var32(&BlockLength);
+ file->Var32(&SubblockTimer);
+ file->Var32(&FillData);
+ file->Var32(&Cnt);
+
+ file->Var32(&StartMode);
+ file->Var32(&CurSrcAddr);
+ file->Var32(&CurDstAddr);
+ file->Var32(&SubblockLength);
+ file->Var32(&RemCount);
+ file->Var32(&IterCount);
+ file->Var32(&TotalRemCount);
+ file->Var32(&SrcAddrInc);
+ file->Var32(&DstAddrInc);
+
+ file->Var32(&Running);
+ file->Bool32(&InProgress);
+ file->Bool32(&IsGXFIFODMA);
}
void DSi_NDMA::WriteCnt(u32 val)