Beispiel #1
0
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;
	}
}
Beispiel #3
0
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);
	}
}