diff --git a/Components/9918/Implementation/Draw.hpp b/Components/9918/Implementation/Draw.hpp index 3ebcafe0f..c8f62d3ad 100644 --- a/Components/9918/Implementation/Draw.hpp +++ b/Components/9918/Implementation/Draw.hpp @@ -343,9 +343,10 @@ void Base::draw_yamaha(int start, int end) { case ScreenMode::YamahaText80: draw_tms_text(start >> 1, end >> 1); break; case ScreenMode::MultiColour: case ScreenMode::ColouredText: + case ScreenMode::YamahaGraphics3: // TODO: does this make sense?3 case ScreenMode::Graphics: draw_tms_character(start >> 2, end >> 2); break; - Dispatch(YamahaGraphics3); +// Dispatch(YamahaGraphics3); Dispatch(YamahaGraphics4); Dispatch(YamahaGraphics5); Dispatch(YamahaGraphics6); diff --git a/Components/9918/Implementation/Fetch.hpp b/Components/9918/Implementation/Fetch.hpp index 82344ac95..4ab2a2425 100644 --- a/Components/9918/Implementation/Fetch.hpp +++ b/Components/9918/Implementation/Fetch.hpp @@ -132,7 +132,7 @@ struct CharacterFetcher { colour_base = base->colour_table_address_; colour_name_shift = 6; - if(buffer.screen_mode == ScreenMode::Graphics) { + if(buffer.screen_mode == ScreenMode::Graphics || buffer.screen_mode == ScreenMode::YamahaGraphics3) { // If this is high resolution mode, allow the row number to affect the pattern and colour addresses. pattern_base &= bits<13>(AddressT(((y & 0xc0) << 5))); colour_base &= bits<13>(AddressT(((y & 0xc0) << 5))); @@ -521,6 +521,7 @@ 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; @@ -539,6 +540,7 @@ 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; @@ -570,6 +572,7 @@ template void Base::fetch_yamaha(LineBuffer &line_ case ScreenMode::Graphics: case ScreenMode::MultiColour: case ScreenMode::ColouredText: + case ScreenMode::YamahaGraphics3: 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 835586065..814dc4565 100644 --- a/Components/9918/Implementation/Storage.hpp +++ b/Components/9918/Implementation/Storage.hpp @@ -123,6 +123,7 @@ template struct Storage