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