mirror of
https://github.com/TomHarte/CLK.git
synced 2025-01-29 04:33:04 +00:00
Route other holdover TMS modes through the Yamaha logic.
This commit is contained in:
parent
dbfc9a14aa
commit
bbccc5d6d6
@ -366,7 +366,11 @@ void TMS9918<personality>::run_for(const HalfCycles cycles) {
|
||||
break;
|
||||
default:
|
||||
// This covers both MultiColour and Graphics modes.
|
||||
next_line_buffer.fetch_mode = FetchMode::Character;
|
||||
if constexpr (is_yamaha_vdp(personality)) {
|
||||
next_line_buffer.fetch_mode = FetchMode::Yamaha;
|
||||
} else {
|
||||
next_line_buffer.fetch_mode = FetchMode::Character;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -338,9 +338,12 @@ void Base<personality>::draw_yamaha(int start, int end) {
|
||||
#define Dispatch(x) case ScreenMode::x: draw_yamaha<ScreenMode::x>(line_buffer, start, end); break;
|
||||
if constexpr (is_yamaha_vdp(personality)) {
|
||||
switch(line_buffer.screen_mode) {
|
||||
// These modes look the same as on the TMS.
|
||||
// Modes that are the same (or close enough) to those on the TMS.
|
||||
case ScreenMode::Text: draw_tms_text<false>(start >> 2, end >> 2); break;
|
||||
case ScreenMode::YamahaText80: draw_tms_text<true>(start >> 1, end >> 1); break;
|
||||
case ScreenMode::MultiColour:
|
||||
case ScreenMode::ColouredText:
|
||||
case ScreenMode::Graphics: draw_tms_character(start >> 2, end >> 2); break;
|
||||
|
||||
Dispatch(YamahaGraphics3);
|
||||
Dispatch(YamahaGraphics4);
|
||||
|
Loading…
x
Reference in New Issue
Block a user