mirror of
https://github.com/RaySollium99/picodrive.git
synced 2025-09-05 15:27:46 -04:00
improved sh2 clock handling, bug fixing + small improvement to drc emitters
This commit is contained in:
parent
f5939109c4
commit
2fa02d5a63
8 changed files with 77 additions and 62 deletions
|
@ -84,7 +84,7 @@ int sh2_irl_irq(SH2 *sh2, int level, int nested_call)
|
|||
// do this to avoid missing irqs that other SH2 might clear
|
||||
int vector = sh2->irq_callback(sh2, level);
|
||||
sh2_do_irq(sh2, level, vector);
|
||||
sh2->m68krcycles_done += C_SH2_TO_M68K(*sh2, 13);
|
||||
sh2->m68krcycles_done += C_SH2_TO_M68K(sh2, 13);
|
||||
}
|
||||
else
|
||||
sh2->test_irq = 1;
|
||||
|
|
|
@ -72,9 +72,9 @@ typedef struct SH2_
|
|||
|
||||
#define CYCLE_MULT_SHIFT 10
|
||||
#define C_M68K_TO_SH2(xsh2, c) \
|
||||
((int)((c) * (xsh2).mult_m68k_to_sh2) >> CYCLE_MULT_SHIFT)
|
||||
((int)((long long)(c) * (xsh2)->mult_m68k_to_sh2) >> CYCLE_MULT_SHIFT)
|
||||
#define C_SH2_TO_M68K(xsh2, c) \
|
||||
((int)((c + 3) * (xsh2).mult_sh2_to_m68k) >> CYCLE_MULT_SHIFT)
|
||||
((int)((long long)(c+3) * (xsh2)->mult_sh2_to_m68k) >> CYCLE_MULT_SHIFT)
|
||||
|
||||
int sh2_init(SH2 *sh2, int is_slave, SH2 *other_sh2);
|
||||
void sh2_finish(SH2 *sh2);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue