1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-07-04 18:29:40 +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.
if(access_pointer_ >= 15 && access_pointer_ < 19)
if(access_pointer_ >= 15 && access_pointer_ < 19) {
access_pointer_ = std::min(19, access_slot);
// Start new sprite set if this is location 19.
if(access_pointer_ == 19) {
active_sprite_set_ ^= 1;
sprite_sets_[active_sprite_set_].active_sprite_slot = 0;
sprites_stopped_ = false;
// Start new sprite set if this is location 19.
if(access_pointer_ == 19) {
active_sprite_set_ ^= 1;
sprite_sets_[active_sprite_set_].active_sprite_slot = 0;
sprites_stopped_ = false;
}
}
// Then eight access windows fetch the y position for the first eight sprites.