Skip to content

Commit

Permalink
WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
emoon committed Feb 21, 2024
1 parent d9de694 commit 29f8b6c
Show file tree
Hide file tree
Showing 5 changed files with 62 additions and 4 deletions.
5 changes: 5 additions & 0 deletions src/debugger/debugger.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@
#include "newcpu.h"
// clang-format on

#include "disassembly_view.h"

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Debugger* Debugger_create() {
Expand Down Expand Up @@ -156,6 +158,7 @@ Debugger* Debugger_create() {
}

debugger->memory_view = new MemoryView();
debugger->d_view = DisassemblyView_create();

return debugger;
}
Expand Down Expand Up @@ -222,6 +225,8 @@ static void draw_debugger_window(Debugger* self) {
}
*/

DisassemblyView_update(self->d_view, "Dummy");

uae_u8* addr = memory_get_real_address(0x00c000000);
self->memory_view->draw_window("Memory View", addr, 512 * 1024);

Expand Down
2 changes: 2 additions & 0 deletions src/debugger/debugger.h
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
struct SDL_Window;
struct SDL_Renderer;
union SDL_Event;
struct DisassemblyView;

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Expand All @@ -16,6 +17,7 @@ struct Debugger {
SDL_Renderer* renderer;
csh capstone;
MemoryView* memory_view;
DisassemblyView* d_view;
};

enum DebuggerMode {
Expand Down
40 changes: 40 additions & 0 deletions src/debugger/disassembly_view.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
#include "disassembly_view.h"
#include <dear_imgui/imgui.h>

struct DisassemblyView {
int foo;
};

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

DisassemblyView* DisassemblyView_create() {
DisassemblyView* view = new DisassemblyView();
return view;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

void DisassemblyView_destroy(DisassemblyView* self) {
delete self;
}

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

void DisassemblyView_update(DisassemblyView* self, const char* name) {
//static bool show_demo_window = true;
//ImGui::ShowDemoWindow(&show_demo_window);

float text_height = ImGui::GetTextLineHeight();

if (ImGui::Begin(title, &open, ImGuiWindowFlags_NoScrollbar)) {
ImGui::BeginChild("##scrolling", ImVec2(00.0f, 0.0f), false, ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoNav);
ImDrawList* draw_list = ImGui::GetWindowDrawList();

ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(0, 0));
ImGui::PushStyleVar(ImGuiStyleVar_ItemSpacing, ImVec2(0, 0));


ImGui::PopStyleVar(2);
}
}

7 changes: 7 additions & 0 deletions src/debugger/disassembly_view.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#pragma once

struct DisassemblyView;

DisassemblyView* DisassemblyView_create();
void DisassemblyView_update(DisassemblyView* self, const char* name);
void DisassemblyView_destroy(DisassemblyView* self);
12 changes: 8 additions & 4 deletions src/debugger/memory_view.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -182,11 +182,15 @@ void MemoryView::draw_contents(void* mem_data_void, size_t mem_size, size_t base
// click would normally be caught as a window-move.
const float height_separator = style.ItemSpacing.y;
float footer_height = opt_footer_extra_height;
if (opt_show_options)

if (opt_show_options) {
footer_height += height_separator + ImGui::GetFrameHeightWithSpacing() * 1;
if (opt_show_data_preview)
footer_height +=
height_separator + ImGui::GetFrameHeightWithSpacing() * 1 + ImGui::GetTextLineHeightWithSpacing() * 3;
}

if (opt_show_data_preview) {
footer_height += height_separator + ImGui::GetFrameHeightWithSpacing() * 1 + ImGui::GetTextLineHeightWithSpacing() * 3;
}

ImGui::BeginChild("##scrolling", ImVec2(0, -footer_height), false,
ImGuiWindowFlags_NoMove | ImGuiWindowFlags_NoNav);
ImDrawList* draw_list = ImGui::GetWindowDrawList();
Expand Down

0 comments on commit 29f8b6c

Please sign in to comment.