39 lines
No EOL
904 B
C++
39 lines
No EOL
904 B
C++
#pragma once
|
|
#include "stdafx.h"
|
|
#include "DebugTypes.h"
|
|
|
|
class MemoryManager;
|
|
|
|
class CodeDataLogger
|
|
{
|
|
private:
|
|
MemoryManager *_memoryManager;
|
|
uint8_t *_cdlData = nullptr;
|
|
uint32_t _prgSize = 0;
|
|
uint32_t _codeSize = 0;
|
|
uint32_t _dataSize = 0;
|
|
|
|
void CalculateStats();
|
|
|
|
public:
|
|
CodeDataLogger(uint32_t prgSize, MemoryManager* memoryManager);
|
|
~CodeDataLogger();
|
|
|
|
void Reset();
|
|
|
|
bool LoadCdlFile(string cdlFilepath);
|
|
bool SaveCdlFile(string cdlFilepath);
|
|
|
|
void SetFlags(int32_t absoluteAddr, uint8_t flags);
|
|
|
|
CdlRatios GetRatios();
|
|
|
|
bool IsCode(uint32_t absoluteAddr);
|
|
bool IsJumpTarget(uint32_t absoluteAddr);
|
|
bool IsSubEntryPoint(uint32_t absoluteAddr);
|
|
bool IsData(uint32_t absoluteAddr);
|
|
uint8_t GetCpuFlags(uint32_t absoluteAddr);
|
|
|
|
void SetCdlData(uint8_t *cdlData, uint32_t length);
|
|
void GetCdlData(uint32_t offset, uint32_t length, SnesMemoryType memoryType, uint8_t *cdlData);
|
|
}; |