void __fastcall SupermanZ80Write(unsigned short a, unsigned char d) { switch (a) { case 0xe000: case 0xe001: case 0xe002: case 0xe003: BurnYM2610Write(a & 3, d); return; case 0xe200: tc0140_slave_port_w(d); return; case 0xe201: tc0140_slave_comm_w(d); return; case 0xf200: SupermanBankSwitch(d); return; } }
void __fastcall RastanZ80Write(unsigned short a,unsigned char d) { switch (a) { case 0xb000: { UINT8 *rom = MSM5205ROM; int len = 0x10000; int start = d << 8; int end; /* look for end of sample */ end = (start + 3) & ~3; while (end < len && *((unsigned int *)(&rom[end])) != 0x08080808) end += 4; MSM5205Play(start,(end-start)*2,0); } return; case 0xc000: return; case 0xd000: return; case 0x9000: BurnYM2151SelectRegister(d); return; case 0x9001: BurnYM2151WriteRegister(d); return; case 0xa000: tc0140_slave_port_w(d); return; case 0xa001: tc0140_slave_comm_w(d); return; default: bprintf(PRINT_NORMAL, _T("z80write %x\n"),a); } }
void __fastcall twinhawkZ80Write(unsigned short a,unsigned char d) { switch (a) { case 0xe000: BurnYM2151SelectRegister(d); return; case 0xe001: BurnYM2151WriteRegister(d); return; case 0xe200: tc0140_slave_port_w(d); return; case 0xe201: tc0140_slave_comm_w(d); return; case 0xf200: twinhawkBankSwitch(0,d); default: return; } }