42 const uint8_t &enable, &y_expansion;
52 y_expansion(regs[0x17]) {}
59 memset(mc_base, 0,
sizeof(mc_base));
70 for (
unsigned int i = 0;
i < SPRITES;
i++,
mask <<= 1)
73 mc[
i] = (mc[
i] + 3) & 0x3f;
83 for (
unsigned int i = 0;
i < SPRITES;
i++,
mask <<= 1)
88 if (mc_base[
i] == 0x3f)
99 exp_flop ^= dma & y_expansion;
107 for (
unsigned int i = 0;
i < SPRITES;
i++)
121 const uint8_t y = rasterY & 0xff;
123 for (
unsigned int i = 0;
i < SPRITES;
i++,
mask <<= 1)
125 if ((enable &
mask) && (y == regs[(
i << 1) + 1]) && !(dma &
mask))
143 for (
unsigned int i = 0;
i < SPRITES;
i++,
mask <<= 1)
145 if (!(data &
mask) && !(exp_flop &
mask))
Definition EventCallback.h:36
void checkExp()
Definition sprites.h:97
void checkDisplay()
Definition sprites.h:105
void updateMcBase()
Definition sprites.h:80
void checkDma(unsigned int rasterY, uint8_t regs[0x40])
Definition sprites.h:119
void updateMc()
Definition sprites.h:67
bool isDma(unsigned int val) const
Definition sprites.h:168
void lineCrunch(uint8_t data, unsigned int lineCycle)
Definition sprites.h:140