Mercurial > repos > blastem
comparison vdp.c @ 2414:dc05f1805921
Fix out of bound read from mode4_address_map in TMS modes
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Thu, 04 Jan 2024 23:31:54 -0800 |
parents | efd2242c2c23 |
children | b0408f38f464 |
comparison
equal
deleted
inserted
replaced
2413:64cf80e683aa | 2414:dc05f1805921 |
---|---|
3696 //Graphics II | 3696 //Graphics II |
3697 uint16_t mask = context->type > VDP_SMS2 ? address & 0x1800 : 0x1800; | 3697 uint16_t mask = context->type > VDP_SMS2 ? address & 0x1800 : 0x1800; |
3698 address &= 0x2000; | 3698 address &= 0x2000; |
3699 address |= context->vcounter << 5 & mask; | 3699 address |= context->vcounter << 5 & mask; |
3700 } | 3700 } |
3701 address |= context->col_1 << 3; | 3701 address |= context->col_1 << 3 & 0x7F8; |
3702 if (context->regs[REG_MODE_2] & BIT_M2) { | 3702 if (context->regs[REG_MODE_2] & BIT_M2) { |
3703 //Multicolor | 3703 //Multicolor |
3704 address |= context->vcounter >> 2 & 0x3; | 3704 address |= context->vcounter >> 2 & 0x3; |
3705 } else { | 3705 } else { |
3706 address |= context->vcounter & 0x7; | 3706 address |= context->vcounter & 0x7; |