1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-07-04 18:29:40 +00:00

Enable sprite reuse and toggle to inactive when visible region is over.

This commit is contained in:
Thomas Harte 2021-10-31 16:52:48 -07:00
parent 2c1f2edcf2
commit 4e66017205
2 changed files with 4 additions and 2 deletions

View File

@ -1008,7 +1008,8 @@ bool Chipset::Sprite::advance(int y) {
// and proceed to FetchData0.
case DMAState::FetchData1:
if(y == v_stop_) {
dma_state_ = DMAState::Stopped;
dma_state_ = DMAState::FetchStart;
active = false;
return false;
}
set_image_data(1, ram_[pointer_[0]]);

View File

@ -145,12 +145,13 @@ class Chipset: private ClockingHint::Observer {
uint16_t v_start_ = 0, v_stop_ = 0;
enum class DMAState {
Stopped,
FetchStart,
FetchStopAndControl,
WaitingForStart,
FetchData1,
FetchData0,
Stopped
} dma_state_ = DMAState::FetchStart;
} sprites_[8];