Mesen-SX/Core/CodeDataLogger.h
NovaSquirrel c0e249e993 Revert "Merge branch 'reformat_code'"
This reverts commit daf3b57e89, reversing
changes made to 7a6e0b7d77.
2021-03-10 11:13:28 -05:00

43 lines
No EOL
1.1 KiB
C++

#pragma once
#include "stdafx.h"
#include "DebugTypes.h"
class CodeDataLogger
{
private:
uint8_t* _cdlData = nullptr;
CpuType _cpuType = CpuType::Cpu;
uint32_t _prgSize = 0;
uint32_t _codeSize = 0;
uint32_t _dataSize = 0;
void CalculateStats();
public:
CodeDataLogger(uint32_t prgSize, CpuType cpuType);
~CodeDataLogger();
void Reset();
uint32_t GetPrgSize();
bool LoadCdlFile(string cdlFilepath, bool autoResetCdl, uint32_t romCrc);
bool SaveCdlFile(string cdlFilepath, uint32_t romCrc);
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);
CpuType GetCpuType(uint32_t absoluteAddr);
void SetCdlData(uint8_t *cdlData, uint32_t length);
void GetCdlData(uint32_t offset, uint32_t length, uint8_t *cdlData);
uint8_t GetFlags(uint32_t addr);
void MarkBytesAs(uint32_t start, uint32_t end, uint8_t flags);
void StripData(uint8_t* romBuffer, CdlStripOption flag);
};