From 7aa8728b395a3549a6842f01e7bebbb9cf0a5aac Mon Sep 17 00:00:00 2001 From: Thomas Harte Date: Sat, 18 Feb 2023 21:50:12 -0500 Subject: [PATCH] Reimagine G3 for sprite mode 2. --- Components/9918/Implementation/Fetch.hpp | 10 ++++++++-- Components/9918/Implementation/Storage.hpp | 3 ++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/Components/9918/Implementation/Fetch.hpp b/Components/9918/Implementation/Fetch.hpp index aed89ab7b..d476c98df 100644 --- a/Components/9918/Implementation/Fetch.hpp +++ b/Components/9918/Implementation/Fetch.hpp @@ -522,7 +522,6 @@ template void Base::fetch_yamaha(LineBuffer &line_ case ScreenMode::Graphics: case ScreenMode::MultiColour: case ScreenMode::ColouredText: - case ScreenMode::YamahaGraphics3: character_fetcher.fetch_tile_name(Storage::next_event_->id); break; @@ -541,7 +540,6 @@ template void Base::fetch_yamaha(LineBuffer &line_ case ScreenMode::Graphics: case ScreenMode::MultiColour: case ScreenMode::ColouredText: - case ScreenMode::YamahaGraphics3: character_fetcher.fetch_tile_colour(Storage::next_event_->id); break; @@ -571,7 +569,15 @@ template void Base::fetch_yamaha(LineBuffer &line_ case ScreenMode::Graphics: case ScreenMode::MultiColour: case ScreenMode::ColouredText: + character_fetcher.fetch_tile_pattern(Storage::next_event_->id); + break; + case ScreenMode::YamahaGraphics3: + // As per comment elsewhere; my _guess_ is that G3 is slotted as if it were + // a bitmap mode, with the three bytes that describe each column fitting into + // the relevant windows. + character_fetcher.fetch_tile_name(Storage::next_event_->id); + character_fetcher.fetch_tile_colour(Storage::next_event_->id); character_fetcher.fetch_tile_pattern(Storage::next_event_->id); break; diff --git a/Components/9918/Implementation/Storage.hpp b/Components/9918/Implementation/Storage.hpp index 7e9278180..bb27678ba 100644 --- a/Components/9918/Implementation/Storage.hpp +++ b/Components/9918/Implementation/Storage.hpp @@ -110,10 +110,11 @@ template struct Storage