bsnes-plus/bsnes/ui-qt/debugger/disassembler/processor/sfx_processor.hpp
2019-09-06 22:31:31 -04:00

24 lines
900 B
C++

class SfxDisasmProcessor : public DisasmProcessor {
public:
SfxDisasmProcessor(SymbolMap*);
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 &currentAddressLine, uint32_t &numLines);
virtual bool getLine(DisassemblerLine &result, 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:
SymbolMap *symbols;
uint32_t decode(uint32_t type, uint32_t address, uint32_t pc);
void setOpcodeParams(DisassemblerLine &result, SNES::SuperFX::Opcode &opcode, uint32_t address);
};