# HG changeset patch # User Michael Pavone # Date 1661311286 25200 # Node ID 90297f1fb3fec3a6fe6497ae43fcd2d120ded705 # Parent dc4268a778bca5792fb0d7bb69a0af3b4ba48597 Fix implementation of semi-broken sprite zoom on SMS1 diff -r dc4268a778bc -r 90297f1fb3fe vdp.c --- a/vdp.c Mon Aug 22 23:21:16 2022 -0700 +++ b/vdp.c Tue Aug 23 20:21:26 2022 -0700 @@ -702,9 +702,6 @@ uint32_t size = (context->regs[REG_MODE_2] & BIT_SPRITE_SZ) ? 16 : 8; uint32_t ysize = size; uint8_t zoom = context->type != VDP_GENESIS && (context->regs[REG_MODE_2] & BIT_SPRITE_ZM); - if (context->type == VDP_SMS && context->slot_counter <= 4) { - zoom = 0; - } if (zoom) { ysize *= 2; } @@ -814,9 +811,6 @@ address = mode4_address_map[address]; --context->sprite_draws; uint8_t zoom = context->type != VDP_GENESIS && (context->regs[REG_MODE_2] & BIT_SPRITE_ZM); - if (context->type == VDP_SMS && context->sprite_draws < 4) { - zoom = 0; - } uint32_t tile_address = context->vdpmem[address] * 32 + (context->regs[REG_STILE_BASE] << 11 & 0x2000); if (context->regs[REG_MODE_2] & BIT_SPRITE_SZ) { tile_address &= ~32;