notaz.gp2x.de
/
pcsx_rearmed.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
psxbios: unbreak input
[pcsx_rearmed.git]
/
libpcsxcore
/
new_dynarec
/
emu_if.c
diff --git
a/libpcsxcore/new_dynarec/emu_if.c
b/libpcsxcore/new_dynarec/emu_if.c
index
06612db
..
e21003c
100644
(file)
--- a/
libpcsxcore/new_dynarec/emu_if.c
+++ b/
libpcsxcore/new_dynarec/emu_if.c
@@
-248,8
+248,6
@@
static void ari64_reset()
// (HLE softcall exit and BIOS fastboot end)
static void ari64_execute_until()
{
// (HLE softcall exit and BIOS fastboot end)
static void ari64_execute_until()
{
- schedule_timeslice();
-
evprintf("ari64_execute %08x, %u->%u (%d)\n", psxRegs.pc,
psxRegs.cycle, next_interupt, next_interupt - psxRegs.cycle);
evprintf("ari64_execute %08x, %u->%u (%d)\n", psxRegs.pc,
psxRegs.cycle, next_interupt, next_interupt - psxRegs.cycle);
@@
-262,6
+260,7
@@
static void ari64_execute_until()
static void ari64_execute()
{
while (!stop) {
static void ari64_execute()
{
while (!stop) {
+ schedule_timeslice();
ari64_execute_until();
evprintf("drc left @%08x\n", psxRegs.pc);
}
ari64_execute_until();
evprintf("drc left @%08x\n", psxRegs.pc);
}
@@
-272,6
+271,7
@@
static void ari64_execute_block(enum blockExecCaller caller)
if (caller == EXEC_CALLER_BOOT)
stop++;
if (caller == EXEC_CALLER_BOOT)
stop++;
+ next_interupt = psxRegs.cycle + 1;
ari64_execute_until();
if (caller == EXEC_CALLER_BOOT)
ari64_execute_until();
if (caller == EXEC_CALLER_BOOT)
@@
-297,7
+297,8
@@
static void ari64_notify(enum R3000Anote note, void *data) {
case R3000ACPU_NOTIFY_BEFORE_SAVE:
break;
case R3000ACPU_NOTIFY_AFTER_LOAD:
case R3000ACPU_NOTIFY_BEFORE_SAVE:
break;
case R3000ACPU_NOTIFY_AFTER_LOAD:
- ari64_reset();
+ if (data == NULL)
+ ari64_reset();
psxInt.Notify(note, data);
break;
}
psxInt.Notify(note, data);
break;
}