int32 psf_gen(int16 *buffer, uint32 samples) { int i; for (i = 0; i < samples; i++) { psx_hw_slice(); SPUasync(384); } spu_pOutput = (char *)buffer; SPU_flushboot(); psx_hw_frame(); return AO_SUCCESS; }
int CounterSPURun(void) { u32 cycles; if(psxRegs.cycle<last) { cycles=0xFFFFFFFF-last; cycles+=psxRegs.cycle; } else cycles=psxRegs.cycle-last; if(cycles>=16) { if(!SPUasync(cycles)) return(0); last=psxRegs.cycle; } return(1); }
int CounterSPURun(void) { u32 cycles; if (upse_r3000_cpu_regs.cycle < last) { cycles = 0xFFFFFFFF - last; cycles += upse_r3000_cpu_regs.cycle; } else cycles = upse_r3000_cpu_regs.cycle - last; if (cycles >= 16) { if (!SPUasync(cycles)) return (0); last = upse_r3000_cpu_regs.cycle; } return (1); }
int32_t spx_execute(InputPlayback *playback) { int i, run = 1; while (!stop_flag) { if (old_fmt && (cur_event >= num_events)) run = 0; else if (cur_tick >= end_tick) run = 0; if (run) { for (i = 0; i < 44100 / 60; i++) { spx_tick(); SPUasync(384, (void *) playback); } } } return AO_SUCCESS; }
void CALLBACK ZN_SPUupdate(void) { SPUasync( cpu_clock / 1000 ); }