2024-01-07 16:20:37 -05:00
|
|
|
//
|
|
|
|
// Created by william on 1/6/24.
|
|
|
|
//
|
|
|
|
|
|
|
|
#ifndef NESEMULATOR_MEMORY_VIEW_H
|
|
|
|
#define NESEMULATOR_MEMORY_VIEW_H
|
|
|
|
|
|
|
|
#include <panel.h>
|
|
|
|
#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
|
2024-01-09 14:46:20 -05:00
|
|
|
#define MEMORY_VIEW_DIRECTION_DOWN (-1)
|
2024-01-07 16:20:37 -05:00
|
|
|
|
|
|
|
typedef struct memory_view {
|
|
|
|
PANEL *panel;
|
2024-01-09 14:46:20 -05:00
|
|
|
byte *ram;
|
2024-01-07 16:20:37 -05:00
|
|
|
address base_address;
|
2024-01-09 14:46:20 -05:00
|
|
|
char cursor_x;
|
|
|
|
char cursor_y;
|
2024-01-07 16:20:37 -05:00
|
|
|
} MemoryView;
|
|
|
|
|
|
|
|
void memory_view_init(MemoryView *view, ram ram);
|
|
|
|
|
2024-01-09 14:46:20 -05:00
|
|
|
void memory_view_print(MemoryView *view);
|
2024-01-07 16:20:37 -05:00
|
|
|
|
2024-01-09 14:46:20 -05:00
|
|
|
void memory_view_goto(MemoryView *view, address target);
|
2024-01-07 16:20:37 -05:00
|
|
|
|
2024-01-09 14:46:20 -05:00
|
|
|
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);
|
2024-01-07 16:20:37 -05:00
|
|
|
|
|
|
|
#endif //NESEMULATOR_MEMORY_VIEW_H
|