void __fastcall Wc90b1Write3(UINT16 a, UINT8 d) { switch (a) { case 0xe000: { INT32 BankAddress; BankAddress = 0x8000 + ((d & 0x01) * 0x4000); ZetMapArea(0x8000, 0xbfff, 0, Wc90b1Z80Rom3 + BankAddress); ZetMapArea(0x8000, 0xbfff, 2, Wc90b1Z80Rom3 + BankAddress); MSM5205ResetWrite(0, d & 0x08); return; } case 0xe400: { Wc90b1MSM5205Next = d; return; } case 0xe800: { BurnYM2203Write(0, 0, d); return; } case 0xe801: { BurnYM2203Write(0, 1, d); return; } case 0xec00: case 0xec01: { // ??? return; } default: { bprintf(PRINT_NORMAL, _T("Z80 #3 Write => %04X, %02X\n"), a, d); } } }
void DrvYM2203WritePortA(UINT32, UINT32 d) { MSM5205ResetWrite(0, !(d & 0x01)); }