Mercurial > repos > blastem
changeset 1917:b91c35bce3e9
Top bits of address register should be cleared on partial command word write. Fixes Mona in 344 bytes demo
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Fri, 03 Apr 2020 23:47:17 -0700 |
parents | 6ece1e2c7a15 |
children | 6fdac0108e47 |
files | vdp.c |
diffstat | 1 files changed, 3 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/vdp.c Thu Apr 02 20:41:26 2020 -0700 +++ b/vdp.c Fri Apr 03 23:47:17 2020 -0700 @@ -3732,7 +3732,9 @@ } } else { uint8_t mode_5 = context->regs[REG_MODE_2] & BIT_MODE_5; - context->address = (context->address &0xC000) | (value & 0x3FFF); + //contrary to what's in Charles MacDonald's doc, it seems top 2 address bits are cleared + //needed for the Mona in 344 Bytes demo + context->address = value & 0x3FFF; context->cd = (context->cd & 0x3C) | (value >> 14); if ((value & 0xC000) == 0x8000) { //Register write