Esempio n. 1
0
void scontra_main_write(unsigned short address, unsigned char data)
{
	switch (address)
	{
		case 0x1f80:
			if (thunderx) {
				thunderx_videobank(data);
			} else {
				scontra_bankswitch(data);
			}
		return;

		case 0x1f84:
			*soundlatch = data;
		return;

		case 0x1f88:
			ZetSetIRQLine(0, ZET_IRQSTATUS_ACK);
		return;

		case 0x1f8c:
			// watchdog
		return;

		case 0x1f98:
			thunderx_1f98_w(data);
		return;
	}

	if (address < 0x4000) {
		K052109_051960_w(address & 0x3fff, data);
		return;
	}
}
Esempio n. 2
0
void gbusters_main_write(unsigned short address, unsigned char data)
{
	switch (address)
	{
		case 0x1f80:
			set_ram_bank(data);
		return;

		case 0x1f84:
			*soundlatch = data;
		return;

		case 0x1f88:
			ZetSetVector(0xff);
			ZetSetIRQLine(0, ZET_IRQSTATUS_ACK);

		return;

		case 0x1f8c:
			// watchdog
		return;

		case 0x1f98:
			K052109RMRDLine = data & 0x01;
		return;
	}

	if ((address & 0xc000) == 0x0000) {
		K052109_051960_w(address & 0x3fff, data);
		return;
	}
}
Esempio n. 3
0
void bottom9_main_write(unsigned short address, unsigned char data)
{
    switch (address)
    {
    case 0x1f80:
        bankswitch(data);
        return;

    case 0x1f90:
    {
        K052109RMRDLine      =  data & 0x04;
        bottom9_video_enable = ~data & 0x08;
        zoomreadroms         =  data & 0x10;
        K052109_selected     =  data & 0x20;
    }
    return;

    case 0x1fa0:
        // watchdog
        return;

    case 0x1fb0:
        *soundlatch = data;
        return;

    case 0x1fc0:
        ZetSetVector(0xff);
        ZetSetIRQLine(0, ZET_IRQSTATUS_ACK);
        return;
    }

    if ((address & 0xfff0) == 0x1ff0) {
        K051316WriteCtrl(0, address & 0x0f, data);
        return;
    }

    if (K052109_selected == 0) {
        if ((address & 0xf800) == 0x0000) {
            K051316Write(0, address & 0x7ff, data);
            return;
        }

        if ((address & 0xf800) == 0x2000) {
            DrvPalRAM[address & 0x7ff] = data;
            return;
        }
    }

    if ((address & 0xc000) == 0x0000) {
        K052109_051960_w(address & 0x3fff, data);
        return;
    }
}
Esempio n. 4
0
void crimfght_main_write(UINT16 address, UINT8 data)
{
	switch (address)
	{
		case 0x3f8c:
			*soundlatch = data;
			ZetSetVector(0xff);
			ZetSetIRQLine(0, ZET_IRQSTATUS_ACK);
		break;
	}

	if (address >= 0x2000 && address <= 0x5fff) {
		K052109_051960_w(address - 0x2000, data);
		return;
	}
}
Esempio n. 5
0
void aliens_main_write(UINT16 address, UINT8 data)
{
	switch (address)
	{
		case 0x5f88:
			set_ram_bank(data & 0x20);
			K052109RMRDLine = data & 0x40;
		return;

		case 0x5f8c:
			*soundlatch = data;
			ZetSetVector(0xff);
			ZetSetIRQLine(0, ZET_IRQSTATUS_ACK);

			//ZetRaiseIrq(0xff);
		return;
	}

	if ((address & 0xc000) == 0x4000) {
		K052109_051960_w(address & 0x3fff, data);
		return;
	}
}