static WRITE32_HANDLER( dsp_flags_w ) { /* write the data through */ jaguardsp_ctrl_w(2, offset, data, mem_mask); /* if they were clearing the A2S interrupt, see if we are headed for the spin */ /* loop with R22 != 0; if we are, just start spinning again */ if (cpu_getactivecpu() == 2 && !(mem_mask & 0x0000ff00) && (data & 0x400)) { /* see if we're going back to the spin loop */ if (!(data & 0x04000) && activecpu_get_reg(JAGUAR_R22) != 0) { UINT32 r30 = activecpu_get_reg(JAGUAR_R30) & 0xffffff; if (r30 >= 0xf1b124 && r30 <= 0xf1b126) jaguar_dsp_suspend(); } } }
static WRITE32_HANDLER( dsp_flags_w ) { /* write the data through */ jaguardsp_ctrl_w(space->machine->device("audiocpu"), offset, data, mem_mask); /* if they were clearing the A2S interrupt, see if we are headed for the spin */ /* loop with R22 != 0; if we are, just start spinning again */ if (space->cpu == space->machine->device("audiocpu") && ACCESSING_BITS_8_15 && (data & 0x400)) { /* see if we're going back to the spin loop */ if (!(data & 0x04000) && cpu_get_reg(space->cpu, JAGUAR_R22) != 0) { UINT32 r30 = cpu_get_reg(space->cpu, JAGUAR_R30) & 0xffffff; if (r30 >= 0xf1b124 && r30 <= 0xf1b126) jaguar_dsp_suspend(space->machine); } } }