2015-06-24 19:26:19 -04:00
|
|
|
#pragma once
|
|
|
|
#include "stdafx.h"
|
2015-08-28 21:01:18 -04:00
|
|
|
#include "CPU.h"
|
2015-06-24 19:26:19 -04:00
|
|
|
|
|
|
|
class DisassemblyInfo;
|
|
|
|
|
|
|
|
class Disassembler
|
|
|
|
{
|
|
|
|
private:
|
|
|
|
vector<shared_ptr<DisassemblyInfo>> _disassembleCache;
|
2015-07-01 23:17:14 -04:00
|
|
|
vector<shared_ptr<DisassemblyInfo>> _disassembleMemoryCache;
|
|
|
|
uint8_t* _internalRAM;
|
2015-06-24 19:26:19 -04:00
|
|
|
uint8_t* _prgROM;
|
|
|
|
uint32_t _prgSize;
|
|
|
|
|
|
|
|
public:
|
2015-07-01 23:17:14 -04:00
|
|
|
Disassembler(uint8_t* internalRAM, uint8_t* prgROM, uint32_t prgSize);
|
|
|
|
~Disassembler();
|
2015-06-24 19:26:19 -04:00
|
|
|
|
2015-08-17 19:32:10 -04:00
|
|
|
uint32_t BuildCache(uint32_t absoluteAddr, uint16_t memoryAddr);
|
2015-07-01 23:17:14 -04:00
|
|
|
string GetRAMCode();
|
2015-06-24 19:26:19 -04:00
|
|
|
string GetCode(uint32_t startAddr, uint32_t endAddr, uint16_t &memoryAddr);
|
|
|
|
};
|