// // Created by william on 1/6/24. // #ifndef NESEMULATOR_MEMORY_VIEW_H #define NESEMULATOR_MEMORY_VIEW_H #include #include "../include/types.h" #define MEMORY_VIEW_HEIGHT 19 #define MEMORY_VIEW_WIDTH 56 #define MEMORY_VIEW_LINE_COUNT 0xf #define MEMORY_VIEW_LINE_BYTE_COUNT 0xf #define MEMORY_VIEW_BYTE_COUNT 0xff #define MEMORY_VIEW_DIRECTION_UP 1 #define MEMORY_VIEW_DIRECTION_DOWN (-1) typedef struct memory_view { PANEL *panel; byte *ram; address base_address; char cursor_x; char cursor_y; } MemoryView; void memory_view_init(MemoryView *view, ram ram); void memory_view_print(MemoryView *view); void memory_view_goto(MemoryView *view, address target); void memory_view_scroll(MemoryView *view, char direction); void memory_view_move_cursor(MemoryView *view, char horizontal, char vertical); void memory_view_set_cursor_addr(MemoryView *view, address target); #endif //NESEMULATOR_MEMORY_VIEW_H