State saving is now consistent with the Zelda UCode. We can now save, load, and still hear sound

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3503 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
XTra.KrazzY 2009-06-20 10:24:49 +00:00
parent 4292962ea2
commit 22a6533f7f
4 changed files with 19 additions and 0 deletions

View File

@ -783,3 +783,17 @@ int CUCode_Zelda::DumpAFC(u8* pIn, const int size, const int srate)
}
void CUCode_Zelda::DoState(PointerWrap &p) {
p.Do(m_MailState);
p.Do(m_PBMask);
p.Do(m_NumPBs);
p.Do(m_PBAddress);
p.Do(m_MaxSyncedPB);
p.Do(m_PBs);
p.Do(m_readOffset);
p.Do(m_NumberOfFramesToRender);
p.Do(m_CurrentFrameToRender);
p.Do(m_numSteps);
p.Do(m_step);
p.Do(m_Buffer);
}

View File

@ -140,6 +140,7 @@ public:
void CopyPBsFromRAM();
void CopyPBsToRAM();
void DoState(PointerWrap &p);
int AFCdecodebuffer(char *input, signed short *out, short * histp, short * hist2p, int type = 9);

View File

@ -19,6 +19,7 @@
#define _UCODES_H
#include "Common.h"
#include "ChunkFile.h"
#define UCODE_ROM 0x0000000
#define UCODE_INIT_AUDIO_SYSTEM 0x0000001
@ -41,6 +42,8 @@ public:
virtual void Update(int cycles) = 0;
virtual void MixAdd(short* buffer, int size) {}
virtual void DoState(PointerWrap &p) {}
protected:
CMailHandler& m_rMailHandler;
};

View File

@ -225,6 +225,7 @@ void Shutdown()
void DoState(unsigned char **ptr, int mode)
{
PointerWrap p(ptr, mode);
CDSPHandler::GetInstance().GetUCode()->DoState(p);
}