sys_time_get_current_time fixed, CALL_FUNC draft

This commit is contained in:
Nekotekina 2015-07-06 02:21:15 +03:00
parent 22e1da5e76
commit 83321c5be7
46 changed files with 385 additions and 351 deletions

View file

@ -11,7 +11,6 @@
#include "Emu/SysCalls/lv2/sys_spu.h"
#include "Emu/SysCalls/lv2/sys_event_flag.h"
#include "Emu/SysCalls/lv2/sys_event.h"
#include "Emu/SysCalls/lv2/sys_time.h"
#include "Emu/Cell/SPUDisAsm.h"
#include "Emu/Cell/SPUThread.h"
@ -22,6 +21,8 @@
#include <cfenv>
extern u64 get_timebased_time();
const g_spu_imm_table_t g_spu_imm;
class spu_inter_func_list_t
@ -179,7 +180,7 @@ void SPUThread::InitRegs()
ch_event_mask = 0;
ch_event_stat = {};
ch_dec_start_timestamp = get_time(); // ???
ch_dec_start_timestamp = get_timebased_time(); // ???
ch_dec_value = 0;
run_ctrl = {};
@ -599,7 +600,7 @@ u32 SPUThread::get_ch_value(u32 ch)
case SPU_RdDec:
{
return ch_dec_value - (u32)(get_time() - ch_dec_start_timestamp);
return ch_dec_value - (u32)(get_timebased_time() - ch_dec_start_timestamp);
}
case SPU_RdEventMask:
@ -965,7 +966,7 @@ void SPUThread::set_ch_value(u32 ch, u32 value)
case SPU_WrDec:
{
ch_dec_start_timestamp = get_time();
ch_dec_start_timestamp = get_timebased_time();
ch_dec_value = value;
return;
}