- Implemented ARM9Interpreter & ARM9DisAsm.

- Implemented MemoryBlockLE & DynamicMemoryBlockLE.
- Implemented CPUDecoder.
This commit is contained in:
DH 2013-11-05 20:12:18 +02:00
parent 0b35be32a4
commit 6b22e7d90a
31 changed files with 475 additions and 177 deletions

View file

@ -16,6 +16,8 @@ CPUThread::CPUThread(CPUThreadType type)
, m_sync_wait(false)
, m_wait_thread_id(-1)
, m_free_data(false)
, m_dec(nullptr)
, m_is_step(false)
{
}
@ -94,11 +96,6 @@ bool CPUThread::Sync()
int CPUThread::ThreadStatus()
{
if(m_is_step)
{
return CPUThread_Step;
}
if(Emu.IsStopped())
{
return CPUThread_Stopped;
@ -109,6 +106,11 @@ int CPUThread::ThreadStatus()
return CPUThread_Break;
}
if(m_is_step)
{
return CPUThread_Step;
}
if(Emu.IsPaused() || Sync())
{
return CPUThread_Sleeping;
@ -223,6 +225,7 @@ void CPUThread::Stop()
Reset();
DoStop();
Emu.CheckStatus();
delete m_dec;
wxGetApp().SendDbgCommand(DID_STOPED_THREAD, this);
}
@ -276,7 +279,7 @@ void CPUThread::Task()
continue;
}
DoCode();
m_dec->DecodeMemory(PC + m_offset);
NextPc();
if(status == CPUThread_Step)