# HG changeset patch # User Mike Pavone # Date 1371414345 25200 # Node ID 042c4ba4a83898cab514bc8ea2b3d4bbe81810fa # Parent 88fa2ad53e643bbd37910594826cf81431f3a675 Implement writes from 68K to Z80 bank register and make reads from port c control register return 0 again diff -r 88fa2ad53e64 -r 042c4ba4a838 blastem.c --- 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; }