36 lines
1.4 KiB
C
36 lines
1.4 KiB
C
|
/****************************************************************************
|
||
|
* *
|
||
|
* Project64 - A Nintendo 64 emulator. *
|
||
|
* http://www.pj64-emu.com/ *
|
||
|
* Copyright (C) 2012 Project64. All rights reserved. *
|
||
|
* *
|
||
|
* License: *
|
||
|
* GNU/GPLv2 http://www.gnu.org/licenses/gpl-2.0.html *
|
||
|
* *
|
||
|
****************************************************************************/
|
||
|
#pragma once
|
||
|
|
||
|
#include <stdafx.h>
|
||
|
|
||
|
struct DMALOGENTRY
|
||
|
{
|
||
|
uint32_t romAddr;
|
||
|
uint32_t ramAddr;
|
||
|
uint32_t length;
|
||
|
};
|
||
|
|
||
|
class CDMALog
|
||
|
{
|
||
|
private:
|
||
|
vector<DMALOGENTRY> m_Log;
|
||
|
|
||
|
public:
|
||
|
void AddEntry(uint32_t romAddr, uint32_t ramAddr, uint32_t length);
|
||
|
void ClearEntries();
|
||
|
size_t GetNumEntries();
|
||
|
DMALOGENTRY* GetEntryByIndex(uint32_t index);
|
||
|
DMALOGENTRY* GetEntryByRamAddress(uint32_t ramAddr);
|
||
|
DMALOGENTRY* GetEntryByRamAddress(uint32_t ramAddr, uint32_t* lpRomAddr, uint32_t* lpOffset);
|
||
|
DMALOGENTRY* GetEntryByRomAddress(uint32_t romAddr);
|
||
|
DMALOGENTRY* GetEntryByRomAddress(uint32_t romAddr, uint32_t* lpRamAddr, uint32_t* lpOffset);
|
||
|
};
|