// Called externally from debug.cpp void ForceEventUpdates(const uint32 timestamp) { next_king_ts = KING_Update(timestamp); next_pad_ts = FXINPUT_Update(timestamp); next_timer_ts = FXTIMER_Update(timestamp); next_adpcm_ts = SoundBox_ADPCMUpdate(timestamp); //printf("Meow: %d\n", CalcNextTS()); PCFX_V810.SetEventNT(CalcNextTS()); //printf("FEU: %d %d %d %d\n", next_pad_ts, next_timer_ts, next_adpcm_ts, next_king_ts); }
uint16 FXINPUT_Read16(uint32 A, const v810_timestamp_t timestamp) { FXINPUT_Update(timestamp); uint16 ret = 0; A &= 0xC2; //printf("Read: %04x\n", A); if(A == 0x00 || A == 0x80) { int w = (A & 0x80) >> 7; if(latched[w]) ret = 0x8; else ret = 0x0; }
int32 MDFN_FASTCALL pcfx_event_handler(const v810_timestamp_t timestamp) { if(timestamp >= next_king_ts) next_king_ts = KING_Update(timestamp); if(timestamp >= next_pad_ts) next_pad_ts = FXINPUT_Update(timestamp); if(timestamp >= next_timer_ts) next_timer_ts = FXTIMER_Update(timestamp); if(timestamp >= next_adpcm_ts) next_adpcm_ts = SoundBox_ADPCMUpdate(timestamp); #if 1 assert(next_king_ts > timestamp); assert(next_pad_ts > timestamp); assert(next_timer_ts > timestamp); assert(next_adpcm_ts > timestamp); #endif return(CalcNextTS()); }