void rollerg_main_write(UINT16 address, UINT8 data) { switch (address) { case 0x0010: readzoomroms = data & 0x04; K051316WrapEnable(0, data & 0x20); return; case 0x0020: // watchdog return; case 0x0030: case 0x0031: K053260Write(0, address & 1, data); return; case 0x0040: ZetSetVector(0xff); // ZetRaiseIrq(0); ZetSetIRQLine(0, ZET_IRQSTATUS_ACK); return; } if ((address & 0xfff0) == 0x0200) { K051316WriteCtrl(0, address & 0x0f, data); return; } if ((address & 0xfff0) == 0x0300) { K053244Write(0, address & 0x0f, data); return; } if ((address & 0xf800) == 0x0800) { K051316Write(0, address & 0x7ff, data); return; } if ((address & 0xf800) == 0x1000) { K053245Write(0, address & 0x7ff, data); return; } }
void __fastcall rollerg_sound_write(unsigned short address, unsigned char data) { switch (address) { case 0xc000: case 0xc001: BurnYM3812Write(address & 1, data); return; case 0xfc00: ZetRun(100); ZetNmi(); return; } if (address >= 0xa000 && address <= 0xa02f) { K053260Write(0, address & 0x3f, data); return; } }
void __fastcall parodius_sound_write(UINT16 address, UINT8 data) { switch (address) { case 0xf800: BurnYM2151SelectRegister(data); return; case 0xf801: BurnYM2151WriteRegister(data); return; case 0xfa00: nCyclesDone[1] += ZetRun(100); ZetNmi(); return; } if (address >= 0xfc00 && address <= 0xfc2f) { K053260Write(0, address & 0x3f, data); } }