1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-07-10 12:29:01 +00:00

Corrects occasional TMS sprite glitching.

This commit is contained in:
Thomas Harte 2017-12-12 22:19:33 -05:00
parent 7bc1bcd493
commit 5d0c33d545

View File

@ -204,14 +204,15 @@ void TMS9918::run_for(const HalfCycles cycles) {
} }
// Four more access windows: no collection. // Four more access windows: no collection.
if(access_pointer_ >= 15 && access_pointer_ < 19) if(access_pointer_ >= 15 && access_pointer_ < 19) {
access_pointer_ = std::min(19, access_slot); access_pointer_ = std::min(19, access_slot);
// Start new sprite set if this is location 19. // Start new sprite set if this is location 19.
if(access_pointer_ == 19) { if(access_pointer_ == 19) {
active_sprite_set_ ^= 1; active_sprite_set_ ^= 1;
sprite_sets_[active_sprite_set_].active_sprite_slot = 0; sprite_sets_[active_sprite_set_].active_sprite_slot = 0;
sprites_stopped_ = false; sprites_stopped_ = false;
}
} }
// Then eight access windows fetch the y position for the first eight sprites. // Then eight access windows fetch the y position for the first eight sprites.