mirror of
https://github.com/TomHarte/CLK.git
synced 2025-01-29 04:33:04 +00:00
Reimagine G3 for sprite mode 2.
This commit is contained in:
parent
270c5dfe85
commit
7aa8728b39
@ -522,7 +522,6 @@ 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;
|
||||
|
||||
@ -541,7 +540,6 @@ 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;
|
||||
|
||||
@ -571,7 +569,15 @@ template<ScreenMode mode> void Base<personality>::fetch_yamaha(LineBuffer &line_
|
||||
case ScreenMode::Graphics:
|
||||
case ScreenMode::MultiColour:
|
||||
case ScreenMode::ColouredText:
|
||||
character_fetcher.fetch_tile_pattern(Storage<personality>::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<personality>::next_event_->id);
|
||||
character_fetcher.fetch_tile_colour(Storage<personality>::next_event_->id);
|
||||
character_fetcher.fetch_tile_pattern(Storage<personality>::next_event_->id);
|
||||
break;
|
||||
|
||||
|
@ -110,10 +110,11 @@ 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;
|
||||
|
||||
case ScreenMode::YamahaGraphics3: // TODO: verify; my guess is that G3 is timed like a bitmap mode
|
||||
// in order to fit the pattern for sprite mode 2. Just a guess.
|
||||
default:
|
||||
next_event_ = sprites_enabled_ ? sprites_events.data() : no_sprites_events.data();
|
||||
break;
|
||||
|
Loading…
x
Reference in New Issue
Block a user