// // Created by william on 12/07/24. // #include #include "nametable_window.h" #define NAMETABLE_BANK_SIZE 0x0400 #define NW_WIDTH (NW_ROW_TILE_COUNT * PATTERN_DRAW_SIZE) #define NW_HEIGHT (NW_ROW_COUNT * PATTERN_DRAW_SIZE) void nametable_window_init(NesNametableWindow *window) { int win_size = pattern_display_get_size(NW_ROW_TILE_COUNT); window->sdl_context = window_init("Nametable", win_size, win_size, NW_SCALE); window->texture = SDL_CreateTexture(window->sdl_context.renderer, SDL_PIXELFORMAT_ARGB8888, SDL_TEXTUREACCESS_STREAMING, NW_WIDTH, NW_HEIGHT); } void nametable_window_uninit(NesNametableWindow *window) { SDL_DestroyTexture(window->texture); window_uninit(window->sdl_context); } void nametable_window_update(NesNametableWindow *window, byte *nametable_0, byte *nametable_1) { byte **nametables[2]; nametables[0] = &nametable_0; nametables[1] = &nametable_1; } void nametable_window_render(NesNametableWindow *window) { SDL_RenderClear(window->sdl_context.renderer); SDL_RenderCopy(window->sdl_context.renderer, window->texture, NULL, NULL); } void nametable_window_present(NesNametableWindow *window) { SDL_RenderPresent(window->sdl_context.renderer); }