void parodius_main_write(UINT16 address, UINT8 data) { switch (address) { case 0x3fc0: K052109RMRDLine = data & 0x08; return; case 0x3fc4: nDrvRomBank[1] = data; return; case 0x3fc8: ZetSetVector(0xff); ZetSetIRQLine(0, ZET_IRQSTATUS_ACK); return; case 0x3fcc: case 0x3fcd: K053260Write(0, address & 1, data); return; } if ((address & 0xf800) == 0x0000) { if (nDrvRomBank[1] & 1) { DrvPalRAM[((nDrvRomBank[1] & 0x04) << 9) + address] = data; } else { DrvBankRAM[address] = data; } return; } if ((address & 0xfff0) == 0x3fa0) { K053244Write(0, address & 0x0f, data); return; } if ((address & 0xfff0) == 0x3fb0) { K053251Write(address & 0x0f, data); return; } if ((address & 0xf800) == 0x2000) { if (nDrvRomBank[1] & 0x02) { K053245Write(0, address & 0x7ff, data); return; } } if (address >= 0x2000 && address <= 0x5fff) { K052109Write(address - 0x2000, data); } }
void supratk_write(unsigned short address, unsigned char data) { switch (address) { case 0x5fc0: K052109RMRDLine = data & 0x08; return; case 0x5fc4: videobank = data; return; case 0x5fd0: BurnYM2151SelectRegister(data); return; case 0x5fd1: BurnYM2151WriteRegister(data); return; } if ((address & 0xf800) == 0x0000) { if (videobank & 0x02) { DrvPalRAM[((videobank & 4) << 9) + address] = data; return; } else if (videobank & 0x01) { K053245Write(0, address, data); return; } DrvBankRAM[address] = data; return; } if ((address & 0xfff0) == 0x5fa0) { K053244Write(0, address & 0x0f, data); return; } if ((address & 0xfff0) == 0x5fb0) { K053251Write(address & 0x0f, data); return; } if ((address & 0xc000) == 0x4000) { K052109Write(address & 0x3fff, data); return; } }
void rollerg_main_write(unsigned short address, unsigned char 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 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); ZetSetIRQLine(0, CPU_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; } }