From 0fb6ea819075c21cbc9b88b4e4b91c4ad138e3e9 Mon Sep 17 00:00:00 2001 From: Jaby Date: Sun, 4 Feb 2024 21:43:11 -0500 Subject: [PATCH] Adjust DrawArea for NTSC --- src/Library/src/BootLoader/gpu_boot.cpp | 3 ++- src/Library/src/GPU/gpu.cpp | 6 ++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/Library/src/BootLoader/gpu_boot.cpp b/src/Library/src/BootLoader/gpu_boot.cpp index 95d0c97e..e8713589 100644 --- a/src/Library/src/BootLoader/gpu_boot.cpp +++ b/src/Library/src/BootLoader/gpu_boot.cpp @@ -75,6 +75,7 @@ namespace JabyEngine { } void display_logo() { + static constexpr uint16_t TexturePageHeight = 256; const auto bytes_ready = decompress_logo(); // Upload SplashScreen picture @@ -86,7 +87,7 @@ namespace JabyEngine { SJIS::load_clut(BIOS_Font::CLUTLoadPos); // Duplicate DisplayBuffer content - ::JabyEngine::GPU::internal::copy_vram_to_vram({PositionU16::create(0, Display::Height), SizeU16::create(Display::Width, Display::Height)}, PositionU16::create(0, 0)); + ::JabyEngine::GPU::internal::copy_vram_to_vram({PositionU16::create(0, TexturePageHeight), SizeU16::create(Display::Width, TexturePageHeight)}, PositionU16::create(0, 0)); Display::enable(); } diff --git a/src/Library/src/GPU/gpu.cpp b/src/Library/src/GPU/gpu.cpp index 43ece9cd..85a84d1e 100644 --- a/src/Library/src/GPU/gpu.cpp +++ b/src/Library/src/GPU/gpu.cpp @@ -39,11 +39,13 @@ namespace JabyEngine { } uint32_t Display :: exchange_buffer_and_display() { - const uint16_t draw_area_y = (PublicDisplay::Height*PublicDisplay::current_id); + static constexpr uint16_t TexturePageHeight = 256; + + const uint16_t draw_area_y = (TexturePageHeight*PublicDisplay::current_id); GPU::internal::set_draw_area(GPU::PositionU16::create(0, draw_area_y)); PublicDisplay::current_id ^= 1; - GPU_IO::GP1.write(GPU_IO::Command::DisplayArea(GPU::PositionU16::create(0, static_cast((PublicDisplay::Height*PublicDisplay::current_id))))); + GPU_IO::GP1.write(GPU_IO::Command::DisplayArea(GPU::PositionU16::create(0, static_cast((TexturePageHeight*PublicDisplay::current_id))))); return draw_area_y; }