1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-06-25 18:30:07 +00:00

Obtain the background graphics, at least, for G3.

This commit is contained in:
Thomas Harte 2023-02-17 22:47:15 -05:00
parent b62e899039
commit ebc596820e
3 changed files with 7 additions and 2 deletions

View File

@ -343,9 +343,10 @@ void Base<personality>::draw_yamaha(int start, int end) {
case ScreenMode::YamahaText80: draw_tms_text<true>(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);

View File

@ -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<ScreenMode mode> void Base<personality>::fetch_yamaha(LineBuffer &line_
case ScreenMode::Graphics:
case ScreenMode::MultiColour:
case ScreenMode::ColouredText:
case ScreenMode::YamahaGraphics3:
character_fetcher.fetch_tile_name(Storage<personality>::next_event_->id);
break;
@ -539,6 +540,7 @@ template<ScreenMode mode> void Base<personality>::fetch_yamaha(LineBuffer &line_
case ScreenMode::Graphics:
case ScreenMode::MultiColour:
case ScreenMode::ColouredText:
case ScreenMode::YamahaGraphics3:
character_fetcher.fetch_tile_colour(Storage<personality>::next_event_->id);
break;
@ -570,6 +572,7 @@ template<ScreenMode mode> void Base<personality>::fetch_yamaha(LineBuffer &line_
case ScreenMode::Graphics:
case ScreenMode::MultiColour:
case ScreenMode::ColouredText:
case ScreenMode::YamahaGraphics3:
character_fetcher.fetch_tile_pattern(Storage<personality>::next_event_->id);
break;

View File

@ -123,6 +123,7 @@ template <Personality personality> struct Storage<personality, std::enable_if_t<
case ScreenMode::MultiColour:
case ScreenMode::YamahaGraphics1:
case ScreenMode::YamahaGraphics2:
case ScreenMode::YamahaGraphics3: // TODO: possibly? Does this give enough bandwidth for sprites?
next_event_ = character_events.data();
break;