1#ifndef YAZE_APP_EMU_DEBUG_DISASSEMBLY_VIEWER_H_
2#define YAZE_APP_EMU_DEBUG_DISASSEMBLY_VIEWER_H_
12#include "imgui/imgui.h"
64 const std::vector<uint8_t>& operands,
65 const std::string& mnemonic,
66 const std::string& operand_str);
73 void Render(uint32_t current_pc,
const std::vector<uint32_t>& breakpoints);
148 const std::vector<uint32_t>& breakpoints);
Advanced disassembly viewer with sparse storage and interactive features.
void RenderContextMenu(uint32_t address)
void Clear()
Clear all recorded instructions.
~DisassemblyViewer()=default
bool IsAvailable() const
Check if the disassembly viewer is available.
std::vector< uint32_t > GetSortedAddresses() const
Get sorted list of addresses for rendering.
void JumpToAddress(uint32_t address)
Jump to a specific address in the viewer.
void SetRecording(bool enabled)
Enable/disable recording (for performance)
std::string FormatHexDump(const DisassemblyEntry &entry) const
std::map< uint32_t, DisassemblyEntry > instructions_
bool show_execution_counts_
ImVec4 GetMnemonicColor(const DisassemblyEntry &entry) const
void TrimToSize(size_t target_size)
Clear old instructions to save memory.
void RecordInstruction(uint32_t address, uint8_t opcode, const std::vector< uint8_t > &operands, const std::string &mnemonic, const std::string &operand_str)
Record an instruction execution.
uint32_t scroll_to_address_
size_t GetInstructionCount() const
Get the number of unique instructions recorded.
bool PassesFilter(const DisassemblyEntry &entry) const
void SetAutoScroll(bool enabled)
Set whether to auto-scroll to current PC.
ImVec4 GetAddressColor(const DisassemblyEntry &entry, uint32_t current_pc) const
DisassemblyViewer()=default
void RenderDisassemblyTable(uint32_t current_pc, const std::vector< uint32_t > &breakpoints)
bool ExportToFile(const std::string &filepath) const
Export disassembly to file.
void Render(uint32_t current_pc, const std::vector< uint32_t > &breakpoints)
Render the disassembly viewer UI.
void SetMaxInstructions(size_t max)
Set maximum number of instructions to keep.
uint32_t selected_address_
Main namespace for the application.
Represents a single disassembled instruction with metadata.
std::vector< uint8_t > operands