Mercurial > repos > blastem
changeset 405:042c4ba4a838
Implement writes from 68K to Z80 bank register and make reads from port c control register return 0 again
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Sun, 16 Jun 2013 13:25:45 -0700 |
parents | 88fa2ad53e64 |
children | b1bc1947d949 |
files | blastem.c |
diffstat | 1 files changed, 10 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/blastem.c Sun Jun 16 11:59:45 2013 -0700 +++ b/blastem.c Sun Jun 16 13:25:45 2013 -0700 @@ -520,6 +520,13 @@ } else { ym_address_write_part1(gen->ym, value); } + } else if (location == 0x6000) { + gen->z80->bank_reg = (gen->z80->bank_reg >> 1 | value << 8) & 0x1FF; + if (gen->z80->bank_reg < 0x80) { + gen->z80->mem_pointers[1] = (gen->z80->bank_reg << 15) + ((char *)gen->z80->mem_pointers[2]); + } else { + gen->z80->mem_pointers[1] = NULL; + } } else { printf("68K write to unhandled Z80 address %X\n", location); exit(1); @@ -661,6 +668,9 @@ case 0x5: value = gamepad_2.control; break; + case 0x6://PORT C control + value = 0; + break; default: value = 0xFF; }