mirror of
https://github.com/devinacker/bsnes-plus.git
synced 2025-04-02 10:52:46 -04:00
32 lines
1 KiB
C++
32 lines
1 KiB
C++
class CpuDisasmProcessor : public DisasmProcessor {
|
|
public:
|
|
enum Source { CPU, SA1 };
|
|
|
|
CpuDisasmProcessor(Source, SymbolMap*);
|
|
|
|
void setSource(Source);
|
|
|
|
virtual class SymbolMap *getSymbols();
|
|
|
|
virtual uint32_t getBusSize();
|
|
virtual uint32_t findStartLineAddress(uint32_t currentAddress, uint32_t linesBelow);
|
|
virtual void findKnownRange(uint32_t currentAddress, uint32_t &startAddress, uint32_t &endAddress, uint32_t ¤tAddressLine, uint32_t &numLines);
|
|
virtual bool getLine(DisassemblerLine &result, uint32_t &address);
|
|
virtual void analyze(uint32_t address);
|
|
virtual string getBreakpointBusName();
|
|
virtual uint32_t getCurrentAddress();
|
|
|
|
virtual uint8_t usage(uint32_t address);
|
|
virtual uint8_t read(uint32_t address);
|
|
virtual void write(uint32_t address, uint8_t data);
|
|
|
|
private:
|
|
Source source;
|
|
|
|
SymbolMap *symbols;
|
|
uint8_t *usagePointer;
|
|
|
|
uint32_t decode(uint32_t type, uint32_t address, uint32_t pc);
|
|
void setOpcodeParams(DisassemblerLine &result, SNES::CPU::Opcode &opcode, uint32_t address);
|
|
|
|
};
|